Liste des magazines disponibles sur AMIGALAND.COM
The retail price is $_179.95, and Mimetics said it would ship the week after the show. Roger Powell's MIDI program, Texture, has been "Amigaized," so it looks less like an IBM PC program. The list price is 5199. WordPerfect Corporation reported tremendous sales of Amiga WordPerfect. They plan to convert other products to the Amiga. They reportedly recouped their Amiga porting investment in the first month of sales. Xerox is still using the Amiga to demonstrate its color printers. Hewlett-Packard supplied Commodore with several HP Paintjet printers for the booth. Both HP and Xerox were using preliminary versions of the AmigaDOS 1.3 printer drivers. The new drivers bring as much as a six-fold increase in printing time over the AmigaDOS 1.2 printer drivers. Progressive Peripherals showed a slew of new Amiga products. They had their own booth, apart from Commodore. They showed a prototype realtime video digitizer, scheduled to sell for less than 5500. It digitizes to its own memory, then downloads the data to the Amiga through the parallel port. Other hardware plans include a genlock and various products for the Amiga 500, including several memory boards, an external drive that is much smaller than the Commodore drive, and a 68020/68881 enhancement. Progressive is not short on software, either. P!Xmate is an image processing program for manipulating IFF images. It converts between resolutions, as well as accomplishing more advanced techniques, such as edge detection and image enhancement. PIXmate is very fast because it uses the blitter for many operations. Progressive also showed demos of two CAD programs, an accounting program, a disk management program, and a program to let you use Commodore 64 peripherals on the Amiga.
Click image to download PDF
ST 5 ..90 2806.42,36?? 3 i77 353962813.5001 5.00 280642.55 ?'?3177 35 396 0:015.50 01 5.SO 680 6 42,55 7} . «£¦ t Cr 38 9,65 344 KSO 63 6 143 40 441 2643.00 03 9 .65 344 5 74.50 6? 148 40 441 2643.00 03 0 6c 344 0 7450 67 C 4 V ,5 05 6.55 3- *M 53 3 180 32 373 3005.45 OS 6 .55 325 7 62.65 51. ; 80 82 873 3005.45 05 6 .55 325 7 62.85 57 80 45 7 } 55 583 1355.34 05 8 .44 256 3 27,55 60 4 140 53 588 1951734 05 8 44 266 3 27.55 SO 4140 58lit 1355.34 05 8 M 286 3 27255 £ 1 28520 3710 30 06 8.78 325 5 1 0.05 822184 28 5203710.30 06 S.78 3255 130582 2134 25$ 20371530 06 3 ,73 325 5 10.05 82 ¦¦ 35 323
2315.50 01 5.00 280 6 42,55 7 7 3 177 353362815,5001 5 30 886 6 42.55773177 36 393 2315.50 01 5.00 280642,55 77 5 4Q 441 26--? 00 m 9,65 344 6 74.50 63 6 143 40 441 2643,00 00 9.65 344 6 74 50 63 6148 40 441 2643.00 08 9.65 344 6 74.50 68 5 32 378 ? ;05.‘ 5 05 6 .55 325 7 62 :5 55 3 = -:. 6T1''-N* - - ':w 28 520 3710.30 06 ? 35 398 2815.50 01 j 40 441 2643.0003 ; 32378 3005.45 05 i 80 450 2300-10 05 i 86 620 3710.20 OS
• : 85 306 2615.50 01
8. 53 294 3 90.21 451163 SO 450
6. 78 326 5 10.05 32 PIGS 26 520
5. 90 280 8 42.56 77 3 17 35 396 8 .55 344 6 74.50 53 8 148 40
5. 5-5 325 7 88,86 58 3 130 32 378; . : m 30364$ 05 5,55 325 8
180 823783005.4608 U,. 83 1 8 40 r - 03 0 43 3- 6 -4 m 35 } 58
5881 $ 56.34 05 8 ,44 266 3 27,55 50 4140 58 5881955.34 05 0
.55 325 7 82 86 58 2130 38 378 3005-45 06 5.65 825 7 83.85 58
1- 285203? 10-30OS 3,78 825 510.06B22 184 20 6200710.30 06
8.44 366 3 27.5550 4140 58 SS81 $ 55.34 05 8,44 266 3 27J5 9C ¦
35305 2615.80 01 5.90 250642.55 77 3 177 35 306 2315,50 01
5.73 325 5 10.0582 2134 25 580 3? 10-30 06 3,73 3255:9.9532 j
40 441 2643.00 09 9.65 344 6 74,60636 148 40441 2643.00 00
8.90 280 6 42.85 77 3177 35383 2015.80 01 5,90 260 6 4 2,55 77
) 32 373 3005.45 05 6 .56 3257 ¦ 65 53 3 130 32 3703005,45 05
9.65 344 5 74 50 63 614g 40 441 8843.00 00 9,05 344 6 74.50 62
j 80 450 2300.10 05 3.53 29 3 3. 45 7163 80 450 2300.10 95
6.55 325 7 62.35 53 3180 32 373 3005.45 05 6.56 325 7 62.85 63
1 36620 3710.30 05 6 .76 3 6 0,,.,.S22 134 26 520 8710.30 05
3.63 294 3 90,21 45 7 1|| 80 4502300,1008 3,53 204309.21 45 ;
35 896281550 01 5,00 25 ''6 77 3 177 36396 8815.50 01 8.76 325
510.05 32 3164 26 520 3710,30 05 6.75 325510,0533 i 40 441
2543.00 09 0 .55 344 5; -. 83 3 148 40 441 2343,00 09 5.90 230
6 48.55 77 3 177 35 396 28:5.50 01 5,30 280 0 48.55 77 ) 32
378 3005.45 05 6.56 3 7 37 58 3180 32$ ; fta PfPO 65:0!84!
0B0**?'74.50 88 ine on Spreadsheets ; 68 583 1 $ 55.34 05 8 .44
w * BO 4 140 56 565": 956.34UJLr)M £5, a ,55 53 3U1J||J
UA2£Li5£0,53 023-462.35 58 ! 255203710-3000 6 .76 3255
D.D5622184 285203710.3006 8 .44 266 3 27.55 50 4 140 58.5831
$ 55.3405 8 ,44 256327.5550 35 396 2315.60 01 5,90 280642,55773
177 353852615.50 01 5.76 325 5 1005 82 2 184 28 520 371030 06
5.76 325 510.0582 40 441 2643 00 09 9 .65 344 6 74.50 63 6
146 40 441 2643.00 03 6 .30 280 6 42.55 77 3 17? 35 336
2815.50 01 5,90 280 6 42.55 77 32 378 8005.45 05 6 .55 328 7
62.65 58 3 180 32 376 3905.45 05 $ .65 344 6 74-50 63 6 140
4-9 441 2643.0002 9.65 344 6 74,50 63 SO 450 2300 10 06 6,53
234 399,21 45 7163 80 4501399.10 05 6.55 325 7 62.35 56 3 180
32 376 3005.4505 6,55 628 7 82.B558 26 630 3710 20 OS 6 .78
325 5 10.05 82.2184 26 520 3710.30 36 6 .53 294 3 90 21 45 7
153 SO 450 2300-10 05 8.53 294 3 99,21 46 “Open the pod bay
doors, HAL...” Programmers cast their vote!
Right now, leading software developers are hard at work on the next generation of Amiga® products. To add the spectacular sound effects we've all come to expect from Amiga software, they are overwhelmingly choosing one sound recording package... FutureSound. As one developer put it, "FutureSound should be standard equipment for the Amiga."
FutureSound the clear winner... Why has FutureSound become the clear choice for digital sound sampling on the Amiga? The reason is obvious: a hardware design that has left nothing out. FutureSound includes two input sources, each with its own amplifier, one for a microphone and one for direct recording; input volume control; high speed 8-bit parallel interface, complete with an additional printer port; extra filters that take care of everything from background hiss to interference from the monitor, and of course, a microphone so that you can begin recording immediately.
What about software?
FutureSound transforms your Amiga into a powerful, multi-track recording studio. Of course, this innovative software package provides you with all the basic recording features you expect.
But with FutureSound, this is just the beginning. A forty-page manual will guide you through such features as variable sampling rates, visual editing, mixing, special effects generation, and more. A major software publisher is soon to release a simulation with an engine roar that will rattle your teeth.
This incredible reverberation effect was designed with FutureSound’s software.
Question: What can a 300 pound space creature do with these sounds?
Answer: Anything he wants.
Since FutureSound is IFF compatible (actually three separate formats are supported) your sounds can be used by most Amiga sound applications. With FutureSound and Deluxe Video Construction Set from Electronic Arts, your video creations can use the voice of Mr. Spock, your mother-in-law, or a disturbed super computer.
Programming support is also provided.
Whether you're a "C" programming wiz or a Sunday afternoon BASIC hacker, all the routines you need are on the non-copy protected diskette.
Your Amiga dealer should have FutureSound in stock. If not, just give us a call and for $ 175 VISA, MasterCard or COD) we'i! Send one right out to you. Ahead warp factor one!
Applied Visions, Inc., Suite 2200, One Kendall Square Cambridge, MA 02139 (617)494-5417 Amiga is a registered trademark of Commodore-Amiga. Inc. Deluxe Video Construction Set is a trademark of Electronic Arts. Inc. DELIVERS ULTIMATE GRAPHICS POWER Bring the world into your Amiga with Digi-View, the 4096 color video digitizer. In seconds you can capture any photograph or object your video camera can see in full color and with clarity never before available on a home computer. Digi-View’s advanced features include:
• Dithering routines give up to 100,000 apparent colors on screen
• NewTek’s exclusive Enhanced Hold-and-Modify mode allows for
exceptionally detailed images Digitize images in any number of
colors from 2 to 4096 Print, animate, transmit, store, or
manipulate images with available IFF compatible programs
Digitize in all Amiga resolution modes (320x200,320x400,
640x200, 640x400) “Digi-View sets new standards for graphics
hardware”- nfoliVoWd Digi-View is available now at your local
Amiga dealer or call: 1-800-843-8934 ONLY $ 199.95 Volume 3,
Number 1 CONTENTS 51 13 Modula-2 Programming by Steve
Faiwiszewski 99 A new contender bursts onto the Modula-2 scene!
The Amicus Network by John Foust 117 Public domain update, Commodore politics, and developer info.
Amazing Departments From the Editor 4 Amazing Mail 6 C Animation Part IV by Michael Swinger 54 Just when you thought it was safe to go back in the C waters... Forth! By Jon Bryan 66 Sorting out CHIP and FAST memory on the Amiga.
The Big Picture by Warren Ring 69 Daring assembler language programming: Cli system calls and manipulating disk files.
Bug Bytes by John Steiner 77 Don't miss the latest upgrades and insidious bugs!
Roomers by The Bandito 90 AmigaDOS 1.3? 80386-based BridgeBoard for the A2000? And more!
As 1 See It by Eddie Churchill 91 Opinions, observations and the birth of a new software generation.
68000 Assembly Language Programming by Chris Martin 93 "Create a multi-color screen without using Intuition routines."
Amazing Columns AmigaNoles by Richard Rac Digital music generation on the Amiga.
Amazing Features Amicus Network Special Report: Fall COMDEX by John Foust 18 Commodore at COMDEX and new products.
The Ultimate Video Accessory: Part II by Larty White 36 Spice up your videos with quality Amiga graphics.
Life: Part II by Gerald Hull 45 "A detailed look at efficient use of the Amiga blitter."
FormatMasten Professional Disk Formatting Engine by Carl Mann 59 Put Batch language to work on the drudgery of disk formatting.
Bsprcad by Bryan Catley 79 A full-featured AmigaBASIC spreadsheet you can program!
AmigaForum Transcript ed. By Richard Rae 111 Zoom in on Commodore Amiga's Dave Haynic.
Amazing Reviews Haicalc Review by Chuck Raudonis 8 "A straightforward, easy to use, functional spreadsheet VIP Professional Review by Suzanne Mitchell Easy stock portfolio management on the Amiga.
Money Mentor Review by Stephen Kemp 24 A personal finance system beyond your checkbook.
35mm SLIDES FROM YOUR ARTWORK!
Fyolific Inc, Available Now!
* i [distortion free Jills in raster lines crisp bright colors,
converts all IFF files Non_ CustoH graphic ai-t and i I
510 each for veur 1st to dth slides, 5 to S slides 58,50 Over- IQ slides-SB.OG Add 52.00 Top shipping.
New Vonk residents add sales tax.
Call (212) 777-7609 FOR DETAILS Ask for llenc--or write TRU-IMAGE
P. O. Box GOO, Cooper Station New York, N.Y. 10276 $ 475.00
• « i iridtAiin cl j POWER+SIMPLICITY=PRODUCTIVITY Joyce Hicks
Doris Gamble Robert James Hicks Virginia Terry Hicks Robert
Gamble Don Hicks Ernest P. Vtveiros Jr.
Ernest P. ViveirosSr.
Richard Roe Keith M. Conforti John D. Fastino Michael T, Cabral Karen P. Granger John Foust Mark Thibault Rico A. Conforti Keven Desmarais See our SIMPLICITY.. .
Intelligent Function Keys make our programs extremely user friendly, provide maximum screen area always display all relevant commands, avoids excessive cursor movement and screen flashing between menu & drawing, guides user through operation, minimizes training time VISIT US AT L.A. AmiExpo WESTIN BONAVENTURE HOTEL 404 S. Figueroa St., Los Angeles. CA JAN. 16-18, 1988 ORDER OR CALL FOR DETAILS 1008 W. Soulhgate Ave., Fullerton. CA 92635 Tel: (714) 447-0792 Tele*: 5106016526 PROLIFIC CALIF Western Union Easy Link Mail Bo* 62935949 TRY OUR DEMO DISKS FOH $ 15 EACH.
Also from Prolific Inc., 4 full feature AMIGA™ Macro Cross Assemblers for Z80, 6809, 8085 & 8051.
See our SIMPLICITY PRO-ASM PRO-ASM $ 85.00 Advertising Soles & Editorial 1-617-678-4200 Special ffianks to: iynn Hathaway Donna Pelodeau Traci Desmarais Pilar Medeiros Donna Thibault Betsy Piper at Tech Plus, Amazing Computing™ (ISSN 0886-9480) is published by PiM Publications, Inc..
P. O. Box 869. Fall River, MA 02722.
Subscriptions: in the U.S. 12 issues for $ 24.00: in Canada & Mexico. $ 30.00: Overseas: $ 35.00. Printed in the U.S.A. Copyright© 1987, 1988 by PiM Publications.
Inc. All rights reserved.
First Class or Air Mail rates available upon request.
PiM Publications, Inc. maintains the right to refuse any advertising.
PiM Publications. Inc. is not obligated to return unsolicited materials. All materials requesting return must be received with a Self Addressed Stamped Mailer.
Publisher: Circulation Manager: Asst, to the Publisher: Corporate Trainer: Traffic Manager: Managing Editor: Submissions Editor: Hardware Editor: Music & Sound Editor: Art Director: Advertising Manager: Senior Copy Editor: Copy Editor: Amicus & PDS Editor: Production Manager: Production Assistant: Production Ass is font: Feel our POWER. . .
• Variable template size
• A to E paper size
• Extensive Library included
• Auto device number with Zone control
• Gate swapping
• Single click change to negative logic
• Innovative weight assignment
• Auto page reference
• Dynamic error checking
• Creates BOM, Spare Part List, Net List, Error report, etc
• Supports printers & plotters
• Supports Laser Printer
• Back annotation from PCS layout
• Move. Rubber and lots more Feel our POWER
• Includes multi-pass Assembler, Linker, and Serial Down Load
• Generates relocatable Object Code Module
• Nested Macro
• Includes Files DEALER INQUIRY INVITED PRO-BOARD:
• .025 inch grid
• .001 inch grid Library
• 12 mil trace, 13 mil space
• Produce 1, 2, 4 layer PCB
• Provides silk screen
• Auto coordinates assignment
• Auto produces power and grid layers
• Single line auto route
• Optional Net List Input for guided route, no need to look at
• Prioritized route
• Dynamic error checking
• Supports printers, plotters and Gerber photo plotters
• Copy, Repeat and lots more Feel our POWER
• Conditional Assembling
• Rich set of directives
• Global and External Variables
• Data format includes Binary, Motorola Hex, Intel Hex, and Tek
Hex AMIGA TM trade mark of Commodore Inc. From The Editor: Hello
New Amiga Owners!
This issue of Amazing Computing™ should be seen by more new Amiga users than any previous issue, The reason is the increase in advertising produced through the Christmas season by Commodore Business Machines for the neatly packaged Amiga 500. The Amiga 500 is apparently Commodore's choice as a high- end "home" computer.
Although the advertisements appeared to concentrate heavily on the high graphics of the Amiga 500 (spelled "GAMES"), many consumers have been able to look past the obvious and view the Amiga as a tool for all types and styles of creativity. These new users arc seeing the Amiga with many new word processors, sound digitizing and music tools, calculating programs, databases, as well as graphics software now available.
The Amiga is a complete machine, offering many uses in a variety of directions. Whether you are using an Amiga 500 or the highly expandable Amiga 2000, you have a computer which has the opportunity to expand with you. But, nothing can happen until you know your machine.
Learn CLI In the first issue of Amazing Computing™ (almost two years ago), we published, for the first time anywhere, a directory for the Command Line Interface. We followed with more instructions on moving through the subterranian layer of your Amiga. CLI is not simply an additional option for your Amiga; it is a serious disk operating system that lies beneath the casual and easy to use Workbench.
There are still a great many Public Domain Software disks and commercial programs that make use of the
CLI. Even a simple file save, or directory search through a word-
proccssor, requires a minimal knowledge of CLI.
Understand the Entire System Do not stop at simply knowing how to master your Amiga's inner workings.
You must also fully understand the workings of software and hardware peripherals. Mastering a new environment is what drives many users to spend late nights in front of a computer screen, and what inevitably causes some users to place their machines in a secure spot at the rear of the closet.
Becoming proficient at anything takes time and energy. Since the Amiga is a "personal computer," that commitment comes from you. Understanding will be a result of you learning a new approach to an old problem.
Define Your Problem Concentrating on a small nusiancc, which the computer can solve for you, gives you incentive to complete the task. Establish realistic goals and understand both the problem and your tools.
Some of the easiest, yet best, computer uses for a beginner include performing a list of activities, keeping a simple inventory or producing a small monthly mailing. By selecting a small problem and working through it, you will have shown a mastery of the Amiga, even on a simple level. From this success, you will want to attempt more difficult solutions. Be cautious and choose your problem well. Choosing increasingly difficult problems establishes a series of problems, solutions, and successes. Remember, "Nothing yields success like success."
Involve Your Family The term Computer Widow (now also Widower) was coined several years ago with the first big push of computers into the consumer market. Men and women became so involved with their new toys, they fell victim to a narrow vision of the world. Their hours were spent between their computers and all the things which got in the way of their computers. Spouses and small children beware! Naturally, this did not yield open acceptance of the computer by family members.
Open resentment of the computer resulted, with a constant distrust of any new software or accessory, no matter how ncccessary.
The simple answer is to involve the family. With the Amiga, there are many levels of activity and ability.
From simple music to advanced MIDI, word processing to page layout, playing arcade games to designing arcade games, paint programs to CAD CAM systems, simple spreadsheets to advanced relational databases, the Amiga offers the variety to keep any member of the family occupied with a love of his own. This will, however, require users to share, which can result in even more problems.
Involving other family members transforms the Amiga from an intruder to a family activity a point of interest which can spark even better understanding between family members and create a reservoir of Amiga specialists in your home.
Amigas were developed as problem solvers. They are there to make living easier, to simplify tasks, and yield enjoyment. To use these tools, we must have a clear, uncluttered understanding of the tool, the problem, and our solution. Computers not only make people more productive, but they can make us better people.
Sincerely, Don Hicks Managing Editor Money Mentor has a New Engine Climb Aboard the new "C" version of Money Mentor'" tor the ride of your life.
Speed is your ticket to faster data input and dazzling graphics output. If your destination is better control of your personal finances, there's no faster way to get there than with Money Mentor’".
A unique system called "Smart Scrolls" handles a diversity of tedious data entry functions and can save 70% of the typing typically required for entry.
Money Mentor’" features:
• Net Worth Statement
• 200 budget categories
• 30 integrated accounts: checking, cash, saving and credit
• Elaborate search routine allows editing of transactions
according to your specific guidelines.
• Automatic check printing
• Automatic Account Balancing.
• Colorful graphic reports illustrating actual versus budgeted
• Over 50 reports from which to choose.
Let Money Mentor1" put youHinances on the right track,., FAST!
I SEDONA SOFTWARE 11844 Rancho Benardo Rd; Ste. 20 San Diego, CA 92128 To order, '’jjjjw call (619) 451-0151 Amazing Mail: Dear Amazing Computing, I was rather surprised to see that in your chart comparing word processors [’’Not Three of a Kind" by Geoff Gamble, Amazing Computing, V2.ll], you listed ProWrite as not being multitasking! Of course, it is multitasking. It throws up its own screen, and is quite well-behaved in its memory management. I have had
VI. 2 running simultaneously with WorkBcnch 1.2, Deluxe Paintl,
and MaxiPlan, each of which has its own screens. I have also
had it multitasking with PagcSctter and MaxiPlan.
I have 1.5 meg (via the Insider), and only when I run out of memory do I run into problems. Saving to ASDC s recoverable RAM disk vdO: while running these applications makes moving stuff between them pretty quick and easy. If that ain't multitasking, what is?
Hopefully in the future, software writers will incorporate testing for memory availability before trying to grab memory, so that lock-up or crashing won't be the norm for out-of- memory conditions on the Amiga.
Currently I use ASLClockPlus, a PD program by Roy Laufer, which indicates both chip & expansion memory, as well as space still available on your disks, and date & time in a title barsized window. Although ProWrite and MaxiPlan have such a memory display feature, some of my software doesn't, so always knowing what's left comes in handy.
I'm a new subscriber, and very glad to sec the quality coverage in your mag.
Keep up the good work, and let's see some more Desktop Publishing articles.
Tom Roberts Maine Although at press time we were not able to contact Geoff Gamble, from the description of your system, it is possible to guess at the problem. Unfortunately, there is no real standard Amiga memory size. Each system can grow as large as the user needs (Amiga 500 memory expansions are now, or will soon be available).
This requires each user to pick his appropriate size. In the case of Mr. Gamble, we must assume he is using a "standard" 512K. This memory configuration surely constricts the multitasking potential of the program, resulting in the crashes reported.
We will attempt to divulge the memory size of all authors'equipment, to give a more thorough view of a product's capability. The attempt to have every piece of extra hardware to make a paticular piece of software shine in its best light is difficult. It is more fair to consider the user of a small system than the user of a large one. We would not want a user to purchase a piece of software, assuming his system would perform as stated in Amazing Computing™, and then be disappointed.
Dear AC I have now read three issues of Amazing Computing™, Volumes 2.8 through
2. 10, and have been thoroughly impressed by the content of the
magazine. Several retail outlets now fly in Amazing
Computing™ and now we are able to get up to date information
from the States..... The only complaint that I originally had
with Amazing Computing™ was that it was printed mostly in
Black and White, but you now seem to have rectified this. I
don't know why you seem to think that some people would
dislike this conversion, as it allows you to show the delights
of true professional graphics capabilities on the Amiga.
Although I suppose that it is similar to the controversy
surrounding the colorization of B&W movies the industry gave
to film buffs, if you don't like it, wear dark tinted sun
glasses and you can have the old monochrome magazine back.
Keep up the good work.
Yours Faithfully Danny Bielik Sydney Now South Wales Australia
• AC* C who’s winning the race Lattice C for Amiga.
So ft* arc I kilned foe AMK ;A Lattice C Compiler Lattice C has long been recognized as the best C compiler. And now our new version 4.0 for Amiga™ increases our lead past the competition even further, Ready, set, go. The new Lattice AmigaDOS C Compiler gives you faster, more efficient code generation and support for 16 or 32-bit integers. There's direct, in-line interface to all Amiga ROM functions with parameters passed in registers, What's more, the assembler is fully compatible with Amiga assembler syntax.
More great strides. The linker, Blink, has been significantly enhanced and provides true overlay support and interactive Lattice* Version 4.0 Manx® Version 3.40 Dhrystone Float Savage (IEEE) 1294 Dhrystones second
22. 20 Secs. (IEEE Format)
10. 16 Secs, (FFF Format) 4~ 6’ Secs. ,000000318 Accuracy 1010
Dhrystones second 9H.KS Secs. (IEEE Format)
17. 60 Secs. (FI-'F Formal)
119. 6 Sccs. .0()0109 Accuracy recovery from undefined symbols.
And you'll have a faster compiie and link cycle with support
There’s no contest.
Standard benchmark studies show Littice to be the superior C language development environment.
With stats like these, it's no wonder that Commodore- Ainiga has selected Littice C as the official Amiga development language.
Lai tke is a registered I rademark of lattice Incorporated Amiga is a trademark of Commodore Amiga, Inc Manx h a registered trademark of Manx .Software Systems, live Going the distance. You'll experience unsurpassed power and flexibility when you choose from several cost-effective development packages. There is even a full range of supporting products, including a symbolic debugger, resource editor, utilities and specialized libraries.
You'll discover that your software purchase is backed by an excellent warranty and skilled technical support staff. You'll appreciate having access to LBBS one of the world’s first 9600 baud, 24-hour bulletin board services. And you'll be able to conference with other Lattice users through the Byte Information Exchange (BIX) network.
Cross the finish line.
Order your copy of the Lattice AmigaDOS C Compiler today. We’ll supply the speed. You bring the running shoes.
Lattice. Incorporated 2500 S, I lighland Avenue Lombard. IL 60148 Phone: 800 533-3577 In Illinois: 312 916-1600 Lattice Subsidiary of SAS Institute Inc. AMAZING REVIEWS h n i ? R-i ?O ? Ggj ? ????
? CD ? GO- GO G GO mm GOG by Chuck Raudonis hdcdc SPREADSHEET If you arc one of the many who think they could benefit from a spreadsheet, but have been bewildered by the hundreds of commands used to run programs like Lotus 1-2-3 and Analyze!, here is just the program for you: Haicalc Spreadsheet from Haitex Resources. Haicalc does not claim to be Lotus 1-2-3 compatible or even a Lotus clone, as is the current spreadsheet rage. Haicalc is a straightforward, easy to use, functional spreadsheet.
Mmm £SE I riiolr 1 - Imtalt 1.7 :Hjics1c Files IiVlf Him: ‘faitlt if ciw lirtvlu to crtitt i titlt.
HtnSyfciy formic to crtitt a tiilr, (rut iom for a samlt of print mltiplt) (pajt rijM for rrst of lata - colons for .UN to KC, anl rov total) The documentation is oriented towards the inexperienced user. It walks the user through all the steps and functions necessary to run the program. The documentation starts with a description of backing-up the system disk.
Step one is "Turn on the Amiga." All the documentation is that thorough. It is written for ail three Amigas, the 1000, 500, and 2000, and even anticipates the slight differences between machines.
The system disk is not copy-protected and the manual points out an implicit responsibility in this trust. The reasonable price of this program should be an incentive against piracy. If a program is useful, support the software developers. If they produce one useful program, you can be sure there are many good programs on the way, if the first one keeps them in business.
As 1 mentioned earlier, Haicalc does not intend to bo a Lotus 1-2-3 clone.
It is a fully-functional, "Amigaized" spreadsheet for the occasional spreadsheet user. He can balance the family budget or look at various financial op- tionsHaicalc is also a well-behaved Amiga program. The program multitasks very well and an empty SIU.H S123.ll $ 151.11 S54.ll S444.ll S221.M S45.II ill.11 SS3.1I $ 522.M $ 54.11 S254.M $ 45.31 $ 54.M St5.n S2S1.I1 S3b.lt S5.H $ 2135.15 S5424.ll $ 7771.11 $ 44.11 $ 452.11 S4445.M S123.lt $ 214.11 $ 51.N $ 325.11 SM.N S23.H $ 1.21 $ 1.51 Sl.N $ 43.1* $ t.N S44.N $ 1.25 $ 2.51 $ 7.H $ 48.1* $ 55.M $ 541.11 $ 2221.H $ 555.11 $ 14.11 $ 5.11 JM.N $ 3.11 Son siitl’ti T445TH
$ MS7.N $ 1414.11 S1443.H S557I.N Anrajt $ 515.23 $ 131.75 $ 1132.13 $ 174.12 $ 215.31 $ 444.25 Xaximn $ 2221,N $ 5424.H $ 7774.11 $ 522.N $ 444.11 $ 4445,11 spreadsheet takes about 165K to run.
As the spreadsheet is loaded, memory use goes up. Even on a 512K equipped Amiga, you can run two copies of the program to work on two spreadsheets at the same time.
In addition to multitasking, the program is also multi-windowing. It allows the user to open multiple windows in the same spreadsheet.
This capability allows viewing of different portions of the same spreadsheet at the same time, and is very handy for comparison or analysis spreadsheets. The windows arc also linked. Although they operate independently, they all work on the same copy of the spreadsheet. If a change is made to a formula in one window, or if a piece of data is updated, the change is reflected in all windows. This option is very handy for doing "what if" analyses.
This little bit of technical wizardry is accomplished by breaking the program into two main pieces. A "Cell" task runs in the background which manages the spreadsheet, performs all housekeeping, and maintains data for the spreadsheet. The other piece is the "Window" task which is responsible for interfacing with the user.
The two tasks are interdependent; the Window task is the Ceil task's only portal to the user. The Window task tells the Cell task how the user wants the data manipulated. The Cell task then assumes responsibility for updating the data.
This arrangement makes it possible to have multiple Window tasks all talking to the same background Cell task. Multiple windows can then view and update the same spreadsheet.
This is a very clever design feature, Haicalc also supports the full Amiga interface. It creates icons for its spreadsheets, but, due to the multiple task nature of the system, the program cannot be loaded by just clicking on the icon created for a spreadsheet.
(continued on page 10) GOOD THINGS COME IN SMALLER PACKAGES TOTAL DELIVERED PRICE.
ACTUAL SIZE ONLY 5" X 6' FREE! Communication Software 6 CompuServe Access Time with each MODEM TOTAL HAYES COMPAHDILITY 8 LED STATUS INDICATOR AUTO DIAL AND ANSWER TONE OR PULSE DIALING NEW 1200 E FEATURES CCITT COMPATIBILITY CALL PROGRESS DETECTION INTERNAL SPEAKER 2 YEAR WARRANTY Thousands of cusfomers have purchased the AVATEX1200 from Megatronics.
We give you a great price... + TOLL FREE ASSISTANCE Immediate DELIVERY + NO CREDIT CARD SURCHARGE + NO SERVICE OR HANDLING FEES FREE SHIPPING!
New technologies now moke it possible to offer on improved version of this popuior Modem.
The 1200 E is amazing.
It weighs less and is smaller.
It has even more features.
It's still the same low price.
To Order CALL FOR FREE CATALOGUE CREDIT CARDS VERIFIED FOR YOUR PROTECTION IN5IDEUTAH(801)752-2642 FAXC801) 752-8752 We'll beat any advertised price.
MEGATRONICS, INC., P.O. BOX 3660, LOGAN. UTAH 64321 660, LOGAN, UT 84321 MEGATRONICS, I!
The icons are used for file manipulations under the Workbench. The program does not replicate features already implemented in the Workbench. If you want to copy, rename, delete, or move a spreadsheet, these functions must be performed under the Workbench. This approach makes sense for the novice user; there is no need to learn a new way to delete a file. Just move it into the trashcan, and you arc done with it.
Haicatc also supports full interlace mode and all Amiga fonts. An interesting aspect of this program is its ability to adjust to the chosen font's point size. While you can get 44 lines of text on the display using the interlace mode, the resulting flicker problem can be annoying.
An easier solution is to use a 6-7 point font. This change results in a display of 27-30 lines of text, allowing you to see more of the spreadsheet while avoiding the everpresent interlace flicker.
5wit kttcWk file - $ jnj|» It tkc tadmrk estf b» IYH nataiiit ;• ttstiq cMvitrr wferMttt asikt a smalskttt.
nt test is i 25 If B pit tf twlitts riwt tack ctll is l.Nl lints tkt ctll ti its left.
l. NM LN7I LNM
1. M2S Lira
1. N7I LNM LNM LNM
l. NM Mil Lira LNM
t. **21 Lira
l. NM Mil Lira
l. NN lnm
l. NM Mil Lira
l. NM Mil
l. NM i:»
l. NM I, Nit
l. NM LNM
l. NM In addition to the font support, the program also uses all
available soft styles.
Values and labels can be bold, underlined, italicized, etc. Unfortunately, this availability of fonts and softstyles does not extend to printed output. The output is a straight text dump, not a graphics dump. Accordingly, output is printed only in the font styles resident in the printer.
Haicalc also supports extended memory. Each window task has a "memory available" indicator. In the upper left corner of the spreadsheet, the system displays the amount of memory currently available for data use.
The mouse is a functional extension of the keyboard in running the program.
The mouse moves the cursor around the screen, selects cells for use in calculations, and even selects multiple cells for cell range operations. The latter operation is performed through an intuitive "click and drag" mouse operation.
All Haicalc functions arc available through pull-down menus; there are no complicated control key combinations to remember. If something can be done, it appears on one of the menus. In addition, for the experienced user, all major functions are available as Amiga key combinations for ease of use.
Getting around the spreadsheet is very easy. The mouse and the cursor control keys allow you to navigate anywhere. The window task also has I ? .mole fYu ~ |r proportional slider gadgets for moving quickly around the spreadsheet.
Haicalc has features found in most spreadsheet programs. A cell can contain a number, text (a "Label"), or a formula. Formulas are entered as they are entered in most spreadsheets.
If you want to add the contents of cells A5 and B26, all you need to enter is +A5-fB26. The results of the computation are then be displayed in the current cell.
Haicalc is very weak in predefined functions. Most spreadsheets have a very rich set of functions available to the user. Haicalc has only has six predefined functions: AVG, MAX, MIN, SUM, CELLS, and COUNT. The first four functions are self-explanatory; the last two require some explanation.
COUNT returns the number of filled cells in a given cell range. CELLS returns the number of total cells in a given cell range (filled or unfilled).
Most spreadsheets have functions for calculating present values and future values of funds, loan payment terms, and other financial functions. If you want to perform these functions in Haicalc, the full formulas must be entered as cell formulas. This hindrance is inconvenient at best. Usability is limited if you are not familiar with the formulas for these functions, but these functions are available in any good finance book.
Haicalc allows you to cut and paste any number of cells to duplicate them. The display format for values can be selected from a list of valid formats. This list includes zero, two, or four decimal positions in fixed decimal format, a dollars and cents and a straight dollar format, and a percentage format with zero or two decimal points (It is impossible to implement other configurations.). Text can be right, left, or center justified in columns. Column width can be set from one byte wide to more than a screen wide.
One very nice feature of Haicalc is its ability to adjust the sensitivity of the proportional gadgets. They can be adjusted to move over large or small areas of the worksheet. Another innovative addition is the ability to customize the function of the return key. The return key can be configured to act as a standard return key, or it can be assigned the function of an arrow key. If you are entering large amounts of data, you will appreciate this feature. The key can be set so the cursor follows the logical flow of the worksheet.
(continued on page 12) AVAILABLE NOW!
Stai6oaiiI2 Auto-Configuring Fast RAM Zero Wait States User Expandable from 512k to 2 Megabytes Bus Pass-Through MultiFunction Option: battery clock, FPU, parity, Sticky-Disk If you've owned your Amiga® for a while now, you know you definitely need more than 512k of memory.
You probably need at least double that amount...but you might need as much as an additional two megabytes.
We want to urge you to use StarBoard2 as the solution to your memory expansion problem -and to some of your other Amiga-expansion needs as well!
Real-time clock calendar. A small piece of MicroBotics software in your WorkBench Startup-Sequence reads the clock and automatically sets the time and date in your Amiga. And the battery is included (we designed it to use an inexpensive, standard AAA battery which will last at least two years before needing replacement).
THE FLOATING POINT FUNCTION: If any one aspect most characterizes the Amiga it's fast graphics! Most graphic routines make heavy use of the Amiga Floating Point Library. Replacing this library with the one we give you with your MultiFunction Module and installing a separately purchased Motorola 68881 FPU chip in the socket provided by the Module will speed up these math operations from 5 to 40 times! And if you write your own software, you can directly address this chip for increased speed in integer arithmetic operations in addition to floating point math.
THE PARITY CHECKING FUNCTION: If you install an additional ninth RAM chip for every eight in your StarBoard2, then you can enable parity checking. Parity checking will alert you (with a bus-error message) in the event of any data corruption in StarBoard2’s memory space. So what good is it to know that your data's messed up if the hardware can’t fix it for you? It will warn you against saving that data to disk and possibly destroying your database or your massive spreadsheet. The more memory you have in your system the more likely it is, statistically, that random errors will occur.
Parity checking gives you some protection from this threat to your data residing in Fast RAM. Note that the Amiga's "chip" RAM cannot be parity checked.
THE IMMORTAL MEMORY DISK FUNCTION (STICKY-DISK): When you've got a lot of RAM, you can make nice big RAM-Disks and speed up your Amiga’s operations a lot! But there's one bad thing about RAM-Disks: they go away when you re-boot your machine. Sticky-Disk solves that problem for you. It turns all of the memory space inside a single S(arBoard2 AMIGA is a registered trademark of Commocfore-Amiga It's small, but it's BIG Since most of you want to expand your Amiga's memory without having to also expand your computer table, we designed StarBoard2 and its two optional "daughterboards" to fit into a
sleek, unobtrusive Amiga-styled case that snugly fastens to your computer with two precision- machined jackscrews.
The sculpted steel case of StarBoard2 measures only 1.6" wide by 4.3"high by
10. 2"!ong. You can access the inside of the case by removing
just two small screws on the bottom and pulling it apart. We
make StarBoard2 easy to get into so that you or your dealer
can expand it by installing up to one megabyte of RAM on the
standard StarBoard2 or up to two megabytes by adding in an
This card has decks!
The basic StarBoard2 starts out as a one megabyte memory space with Ok, 512k, or one megabyte installed. If you add in an optional Upper Deck (which plugs onto the Main Board inside the case) you bring StarBoard2 up to its full two megabyte potential. You can buy your StarBoard2 with the Upper Deck (populated or unpopulated) or buy the Upper Deck later as your need for memory grows.
And you can add other functions to StarBoard2 by plugging in its second optional deck -the Multifunction Module!
StarBoard2: functions five!
If we count Fast Memory as one function, the addition of the Multifunction Module brings the total up to five!
THE CLOCK FUNCTION: Whenever you boot your Amiga you have to tell it what time it is! Add a MultiFunction Module to your StarBoard2 and you can hand that tedious task to the battery-backed, MicroBotics,lnc.
811 Alpha Drive, Suite 335, Richardson, Texas 75081 (214} 437-5330 into a Memory Disk that will survive a warm-reboot! When your Amiga attempts to grab a StarBoard2 in Sticky-Disk mode, a hardware signal prevents the system from acquiring the StarBoard2 as FastRAM (and thereby erasing your files) -instead it is rerecognized as a Memory Disk and its contents are preserved intact. If you want to work rapidly with large files of data that are being constantly updated (such as when developing software) you can appreciate the Sticky-Disk!
Fast RAM -no waiting!
StarBoard2 is a totally engineered product. It is a ZERO WAIT-STATE design, auto-configuring under AmigaDOS 1.2 as Fast RAM. Since AmigaDOS 1.1 doesn't support autoconfiguration, we also give you the software to configure memory in 1.1. Any applications software which "looks" for Fast RAM will "find" StarBoard2. And you'll find that your applications run more efficiently due to StarBoard2 on the bus.
A passing bus? Indeed!
What good is an Expansion Bus if it hits a dead end, as with some memory cards? Not much, we think -that's why we carefully and compatibly passed through the bus so you could attach other devices onto your Amiga (including another StarBoard2, of course!).
The sum of the parts... A really nice feature of the StarBoard2 system is that you can buy exactly what you need now without closing off your options for future exapansion. You can even buy a Ok StarBoard2 (with a one megabyte capacity) and populate it with your own RAM (commonly available 256k by 1 by 150ns memory chips). When you add StarBoard2 to your Amiga you have a powerful hardware combination, superior to any single-user micro on the market. See your Authorized Amiga Dealer today and ask for StarBoard2 SUGGESTED RETAIL PRICING: S;arBoard2, Ok (1 meg space): $ 349 S:arBoard2, Ok (2 meg
space): $ 395 S;arBoard2, 512k (1 meg space): $ 495 SlarBoard2. 1 meg (1 meg space) $ 595 SlarBoard2, 2 megs installed: $ 879 StarBoard2, 2 megs & MultiFunction: $ 959 Upper Deck, Ok (1 meg space): S 99 MulliFunction Module: S 99 also available: Standard 256k memory card: $ 129 MAS-Drive20, 20 meg harddisk: $ 1495 MouseTime. Mouseport clock: $ 50 Haicalc can also print more than one range at a time (Most spreadsheets only print one range of data at a time.). Haitex realized that most spreadsheet applications require printing of multiple pieces of data simultaneously. The program lets you print several
predefined ranges at the same time, saving you many repeated commands.
You arc also not limited to the color choices made by the programmer. The entire color configuration is customizable, and your new configuration becomes the default.
In addition to the basic spreadsheet, Haicalc also has two graphing tasks: a pie chart and bar line chart task.
These two tasks also run as sub-tasks to the cell and window tasks. The main program must be running to run cither graph task. The features and flexibility of these two charting options leave a lot to be desired. Only three sets of data can be graphed at the same time on the bar charts, and there is no provision for customizing the graph. You cannot even print the graphs. The manual suggests a screen dump program (not supplied) for graph printing. While the graphing tasks might be suitable for some remedial analysis of data, they are not very flexible or useful.
The spreadsheet's most serious problem is precision. All calculations are performed in floating point. From the precision problems that arc evident, it must be single precision floating point. The manual warns that numbers are only accurate to 8 positions. If a number greater than eight digits is entered, you can assume that only the first eight digits are accurate. If 1234567890 is entered into a cell, the system uses 1234567880.63 as the value for this cell. If the user is calculating household budgets, this should not be a problem, but if this package is being used to bid on commercial
jobs, this limitation will certainly be a concern. In addition, if a calculation requires many functions, a rounding error will be introduced with each calculation.
While Haicalc has its problems, it does have a market. If you are looking for a spreadsheet program for occasional home use, this program is ideal. It lacks the power of other Amiga spreadsheets, but, then again, it is only a fraction of the cost of other spreadsheets. This spreadsheet has the advantages of being simple to use and very easy to learn. If you have avoided spreadsheets because they were too complicated, take a look at Haicalc. It just might change your mind.
• AC- haicalc™ Spreadsheet List price $ 59.95 Haitex Resources 208
Carrollton Park Suite 1207 Carrollton. TX 75006
(214) 241-3030 ADD TO THE POWER OF YOUR PROGRAMS WHILE YOU SAVE
TIME AND MONEY!
CBTREE does it all! Your best value in a B+tree source!
Save programming time and effort.
You can develop exciting file access programs quickly and easily decause CBTREE provides a simple bul powerful program interlace to all B-uree operations. Every aspect of CBTREE is covered ihoroughly In the 70 page Users Manual with complete examples. Sample programs are provided on disk.
Gain flexibility in designing your applications.
CBTREE lets you use multiple keys, variable key lengths, concatenated keys, and any data record size and record length You can customize the B+Iree parameters using utilities provided.
Yourprograms will be using the most efficient searching techniques.
CBTREE provides the fastest keyed file access performance, with multiple indexes in a single file and crash recovery utilities.
CBTREE is a full function implementation of the industry standard B+tree access method and is proven in applications since 1984.
Port your applications to other machine environments.
The C source code that you receive can be compiled on all popular C compilers for the IBM PC and also under Unix, Xenix, and AmigaDos! No royalties on your applications that use CBTREE. CBTREE supports multiuser and network applications.
CBTREE IS TROUBLE-FREE, BUT IF YOU NEED HELP WE PROVIDE FREE PHONE SUPPORT.
ONE CALL GETS YOU THE ANSWER TO ANY QUESTION!
CBTREE compares favorably with other software selling at 2,3 and 4 times our price.
Sold on unconditional money-back guarantee.
YOU PAY ONLY S99.00 -A MONEY-SAVING PRICE! N0WI Variable length records.
TO ORDER OR FOR ADDITIONAL INFORMATION CALL (800) 346-8038 or (703) 847-1743 OR WRITE Access any record or group of records by: ¦ Get first
• Get last
• Gel next
• Get less than or equal ¦ Get greater than or equal
- Get partial key match
• Get all keys and locations
• Insert key
• Delete key
• Get previous
• Get less than
• Get greater than
• Get sequential block
• Get all partial matches ¦ Insert key and record
• Delete key and record ¦ Change record location Incroasa your
CBTREE is over 6,000 lines ol lightly wrirlen. Commented C source code.
The driver module is only 20K and links into your programs.
Peacock Systems, Inc., 2108-C Gallows Road, Vienna, VA 22180 Give your stock portfolio the VIP treatment as fast as 1-2-3! ; " H by Suzanne Mitchell Move over, 1-2-3! VIP Professional is here to manage your stock portfolio via the Amiga. Every Amiga owner who has a stock portfolio should consider buying ViP Professional.
This 1-2-3 mirror image does what it claims, with a fast calculation spreadsheet, database, and color graphics that won't quit.
Portfolio management can be time- consuming drudgery. This number- cruncher makes it fun almost like playing with model trains. Even a modest portfolio deserves VIP Professional.
I prefer the spreadsheet approach to keep up with stocks and mutual funds on a weekly basis. Dedicated portfolio software gives me control over the format of my portfolio management; a spreadsheet, however, is flexible and gives me complete control over what is projected. I can set up the parameters and define the portfolio records in exactly the way I want them.
One drawback to the spreadsheet approach has been the lack of current security price retrieval from an on-line service such as CompuServe or Dow Jones. The Dow Jones Spreadsheet Link is now available for Lotus 1-2-3 (and any portfolio spreadsheet written with certain DJ Spreadsheet Link codes). On-line stock martket information is interesting, but is more important to traders than to the average investor.
Anyone using the Fundamentalist approach to investing (i.e., evaluating and investing for the long haul), can easily track stocks using The Wall Street Journal, Investors Daily, Value Line, or a similar financial publication.
This information is often available in libraries at no cost. You can keep track of the changing values of investments with weekly or monthly data updates and accurate tax records, without costly peripherals; spend your money on good stocks instead. With the loss of investment deductions under the new tax law, this is especially true.
The Mechanics of VIP Using VIP requires some study, but it is time well spent. You may find the manual overwhelming at first. This manual has enough information to occupy you for the next 100 years, so be content to digest just a few basics initially. Practice working with the examples. If you are not familiar with VIP or Lotus 1-2-3 (version 1-A), read Nov. Dec. '86 AmigaWorld (p. 103) for an overview. Keep adding commands and simple formulas gradually to your repertoire. The ability to use VIP will be your reward!
Oh Where, Oh Where Did My Little RAM Go?
You need 512K of memory to run VIP.
When you start the program, the screen displays 60K available memory if all the demo files have been deleted (56-58K with the demo files intact).
This is my observation, not VIP Technologies'. As I started exploring the more subtle mechanics of VIP, namely entering through CLI to gain extra memory, nothing happened. (A quick call to the company revealed there has been an update since my purchase last spring. The new update contains spiced-up demos and a new Wave graph using transcendental functions, an XY graph logo, and a graph for engineers.) After deleting all the demo files from the update copy, and booting through CLI, the available memory is 70K (worksheet bytes: 70632). Entering through the VIP icon produces 58K to 60K.
To gain these extra bytes, follow one of these procedures. With two disk drives, load Workbench, and at the AmigaDOS copyright, press (CTRL) and (D) simultaneously. At the 1 prompt, shrink the Workbench screen and type: cd dfi: [RETURN). At the 1 prompt, type: Professional |RETURN). With one disk drive, change the directory to Professional:, the name of the disk. Type Professional, press return, and the program will load. At the prompt, replace the Professional disk with Workbench. To get the maximum memory and bytes per spreadsheet, try resetting from Workbench to clear RAM.
How your spreadsheet was constructed affects how much memory is left to run the program. As you build a portfolio spreadsheet, keep the memory requirements in mind. Here are a few hints for conserving memory. Blank spaces take memory. Use (continued) VIP's "%" command instead of formulas using "*100." Eliminate everything not necessary for clarity.
Get in the habit of checking STATUS along with FILE SAVE.
Rebooting ( FS, please!) After a "memory full" message often restores the RAM which you used up with "erase" and "delete" commands. The manual includes a procedure for clearing memory from the worksheet, but 1 find it easier to FS, QUIT and reboot when worksheet bytes are low.
This list shows, in increasing order, how much RAM is required to display certain spreadsheet functions:
1. Simple numbers (integers) require the least memory.
2. Character Labels (ABCDEFG, etc.).
3. Small Formulas (+D12..C12).
4. Large labels (ABCDEFG, etc. from 50 characters up) require the
With some practice, you can bob-tail formulas to conserve memory. Ficre is an interesting example of how bytes can be saved by thinking out formula entries: STOCKS COST % OF TOTAC3 + B3 6SUM(B3..B7) PE 18+3.52 26% C5 +B5 eSUM(a4..B7) TED 2251.75 31% C6 +B6 ffiSUM(B4.B7) STOA 1532.CD 22% C7 +B6 8SUMCB3..B7) TOFU 1524.00 21% B9 SSUMCB3 ,B7) 7162 27 You can save over 300 bytes of memory by making those calculations with these formulas: B4 +B4 B9 B5 +85 89 B6 +B6 B9 B7 +B7 B9 B9 @SUM(B4..B7) May I Have a Transfer, Please?
Problem: You want to transfer an investment file on VIP copy B [dfl] to VIP copy A [dfOJ. Answer: With copy A in dfl), bring up a blank worksheet. Change the directory ( FD) to dfl [dfl:]. Retrieve ( FR) the file you wish to copy from dfl. The file in dfl will overlay the blank worksheet in dfO. Change the directory ( FD) back to dfO. From the dfO menu, execute FILE SAVE ( FS). The file from B ]dfl] Is now copied and saved to disk A in dfO.
As an investor, you are already using certain performance measurements to track stocks. There may be some things you would like to add. You'll ultimately save time and frustration if you give your AMIGA a rest, sit down at a desk, and begin the portfolio spreadsheet on paper. First, determine the number of stocks you want to monitor on one worksheet. A flowchart type outline is helpful for headings, the order formulas must be entered, what data is necessary to include for calculations, and building the formulas.
Do not to use forward references. (A calculation which refers to a formula or data which has not been entered is a circular or forward reference.) VIP will alert you to this error by displaying an icon in the lower right screen or ERR in columns or rows.
The order of typical column headings would include Ticker symbol, date acquired, number of shares, purchase price, current price, and unrealized dollar gain or loss. These headings can be further refined to include percentage gain or loss, yield on cost, and yield on current value. 1 have deleted the Long Short Term Capital gain column from my spreadsheets because it is redundant. (The 1987 tax law changes make it an unimportant entry now, anyway.) This frees up space and memory for other information such as what percentage a certain stock occupies in the portfolio or annual dividend income.
Daily, weekly, or monthly updates arc automatic, once your template is set up. Enter the current stock price, and VIP takes over and updates your portfolio.
Here is a tip for entering fractions: Enter stock prices (17 5 8) as 17+5 8.
This will display and print 17.625. Besides printing out the spreadsheet, a hard copy of all cell entries is made from: "Print, Other, Ccll-Formulas."
Consult your printer manual for codes and enter the Print Menu. Under "OPTIONS, SET-UP," enter the code for your printer. Compressed mode for Epson LX80 is 015. The following set-up works on Epson MX: 015 Print In compressed mode 027 048 Print at 8 lines per inch 027 050 Print at 6 lines per inch 027 052 Print worksheet in italics 027 069 Print emphasized mode 027X071 Double strike Did Auntie Em leave you a few shares of Dividend Reinvestment Plan (DRP) stock in her will? Or do you belong to an investment club which allows you to purchase of one share of a DRP stock? DRP stocks have
been screened for future value and will be held for the long haul. Unless you arc heir to a fortune (or stop buying software), small sums along with dividends will be invested regularly throughout the years until you decide to sell. This creates many stock purchase entries; you need to keep an accurate running average price for the stock. This average price (dollar cost averaging) will give you the base for gain or loss when the stock is finally sold. The IRS will be very impressed with your records in the event you arc audited!
(continued on page 16) SOURCE LEVEL DEBUGGER Announcing the Manx Aztec C Source Level Debugger tor the Amiga!
NOW THE MOST ADVANCED COMPUTER IN THE WORLD HAS THE MOST ADVANCED SOURCE LEVEL DEBUGGER IN THE WORLD: Manx Aztec SDB.
Save Time and Effort If you're a pro at working with iow level Amiga debuggers, you’ll recognize what a source level debugger can mean time savings. Time you'd rather spend creating than debugging. And if you're a beginner. SDB will make you a pro in no time.
Outstanding Features That's why our new windowed SDB is so spectacular because it's full of exciting features that make debugging a breeze.
Of course. SDB has all of the features you expect from a debugger like line-by-line tracing. Conditional breakpoints on lines, functions, or variables. Examination, modification, and display of global, local, and static variables, structures or expressions by name.
But SDB is also full of unexpected, incredibly sophisticated features. There’s reusable command macros and procedures. Back tracing. Active frame context switching just to name a few. Wait till you see SDB in action it will blow you away!
Our Commitment to You Manx Software Systems is the leading edge in C development systems. That means continual updates that bring the best to you.
Experience version 3.6 of Aztec C68k Am today. And enjoy the most advanced debugger available... on any computer.
• View your C Source
• Enter commands
• View your command output... ... a af the same time!
AZTEC C VERSIONS TO SUIT YOUR NEEDS: Aztec C68K Am-p Professional System ..$ 199 Includes all of the Standard Features Aztec C68K Am-d Developer System ..... .$ 299 Includes all of the Standard and Extended Features Standard Features ot Aztec C68k Am 3.6:
• optimized C with selectable 68020 and 68881 support
• 680x0 Macro Assembler with 68881 support
• linker librarian with overlays, scatter load, and segmentation
• symbolic debugger
• supports Amiga ob|ect format
• UNIX. AMIGA, and general purpose runtime routines
• runs under Cll and supports all Workbench functions
• creates Cll and Workbench applications
• Supports both 1.1 and 1.2 Amiga DOS
• 600 pages of documentation and great example programs Extended
Features of Aztec C6Bk Am 3.6
• UNIX utilities make, diff, qreD, obi, ord, and vi
• special math support libraries for 68881 and Manx IEEE
emulation PonaDJny Aztec C is also ava table for the Macintosh
Apple II. MS-DOS PC-DOS. CP'M-86, TR5-80, ROM, and others Aztec
C68k Third Party Software A large array of support software s
available for Aztec CB6k Call or wme tor info'mation The
following is a ksl of the mpsi requested products Power Windows
• Amiga View * Key to C • Amiga Uni • Metascope. Immediate
Delivery Available for Most Destinations Aztec C is ava latHe
on a thirty day money-back guarantee C.O.D.. VISA, American
Express, MasterCard, wire (domestic and international), and
terms are available.
Source Level Debugger ....$ 75 Library Source .. .$ 300 Order Now At No Risk Or Call For Information 1-800-221-0440 In NJ or outside the USA call: 201-542-2121 Telex: 4995812MANX Fax: 201-542-8386 SEE FOR YOURSELF WHAT ALL THE FUSS IS ABOUT Order our Manx Aztec C68k Am with 30-day satisfaction guarantee.
We're convinced that once you see SDB at work, no other debugger will ever be good enough again. But If you don't believe us try us!
We're offering an SDB Demonstration Disk for just $ 5. Simply call 1-800-221-0440 (NJ call 201-542-2121) and order your copy of Aztec C or your Demo Disk today.
My method for the DRP stock entry may not follow the book's, but it docs save memory and keeps entries to a minimum, while eliminating a jumble of numbers. Enter the first DRP purchase manually (A6-H6) from the company statement. Begin using formulas on the second entry. You'll have to be quick to catch VIP's lightning-fast automatic calculations on Amount Invested, Total Shares, and Average Cost per Share.
Until you feel comfortable with VIP, forget the macro section. Once you get in the swing with the spreadsheet format, you'll want to set up some single key command macros. These little goodies can automatically read
* Invoked with asimpk. LIBRARY statement $ 59.95
* No program overhead
- ALSO AVAILABLE- VIDEO CATALOGER * Organize your videotape
collection unuc iuvcuTnDv * In the event of loss could you c
HOME INVENTORY * everylhing you own ? $ 34 95 UP Manage
lists..Make labels.. each MAIL ME * customer lists, greeting
card lists, birthdays etc. VISA MC Accepted Dealer Inquiries
and Phone Orders Welcome SPECIAL INTRODUCTORY ' OFFER EXTEND ?
Any other ONLY $ 79.00 SATISFACTION SHJHSMUiE SOFJT ATLE 633
Fargo Ave. Buffalo NY. 14213 716 I B35-5670 GUARANTEED
Compatible with all Amiga models and perform a "record" of the
keystrokes you assign to them. VIP comes with some pre-set
shorthand ( P, FS, FR, etc.) used in the spreadsheet
program. They arc easy to remember (first letter of word) and
save time. Now it's your turn to create your first macro.
First, save and exit the current worksheet. With the cursor at
Al:, type your name followed by a tilde (~).
Joe Smith- Make sure the cell below Al is EMPTY. This ends the macro. Now you must name the macro. With the cursor on cell Al, which contains the macro, perform the following steps to give the cell a special range name: From the Worksheet Menu, display Range Name Create ( RNC). At the "Enter name:" prompt, type: a and hit RETURN. Hit RETURN again to confirm that cell Al is the name: a.
Save the macro with File Save ( FS).
To execute the macro, move the cursor to an empty cell, hold down the right ALT key and press "a." Congratulations!
IrtOxfrt&MciAy, II =1 in E 1 ¦ .-.n An.‘.BASIC EXTEND is a portable Library of 30 new AmigaBASIC commands that bring the Pizzaz of INTUITION into your AmigaBASIC programs Macros can perform both simple and complicated tasks, but they can't read a value entry. Al! Macros must be made into labels. Create a library of these single keystroke commands for use in portfolio management spreadsheets (setting column widths, entering ticker symbols, menus or executing any entry that is often repeated).
TRUE INTUITION REQUESTERS and GADGETS
* Point & click on directory requester gadgets for ease in
loading and saving files % String and boolean gadget
implementation with polling support Custom string requesters
___ MENU CONTROL + Assignment of command key functions sk
Complete menu attribute control Submenu definition SPEED
* Compatible with all tested compilers + Written in 100%
assentoler EASE of USE Using and creating macros is a subject
of its own. An excellent book listed in Appendix B of the VIP
User Handbook is The Hidden Power of Lotus 1-2-3: Using Macros
. If you can only afford one reference book, my advice is to
buy Lotus 1-2-3 Self-taught on the IBM PC by Ira Krakow, Brady
Communications Co. For ready-to-use models, 7-2-3 Run by Lauren
and Robert Hast is good. All three books arc easy to read and
After you complete and save your stock portfolio spreadsheet, try using the graphing capabilities of VIP Professional. The visual impact of graphing your calculations may not be necessary for personal investment management, but it certainly is helpful.
The manual has good examples and text to guide you on your way to completing your stock portfolio with that Amiga VIP touch!
- AC- AT LAST!
To order call toll-free anytime: Nationwide: 800-452-4445, ext. 1156 California: 800-6269541, ext. 1156 For more information, contact; a2 A-Squared Distributions Inc. 6114 La Salle Avenue, Suite 326 Oakland, California 94611 415-339-0339 The AMICUS NETWORK By John Foust I ‘FallCOMDEX Report In short, Fall COMDEX in Las Vegas was flooded. It rained for the first few days of the show, flooding the streets of the city. Three inches of water flooded the COMDEX registration tent on Monday.
COMDEX was also flooded with people. A record number attended, topping 90,000. The city didn't have enough cabs or hotel rooms to go around. In a small way, there was also a flood of Amiga hardware and software.
As they did this spring, Commodore hosted a show for its dealers on the Sunday before COMDEX. The feature speaker was Max Toy, Commodore's new president. Toy brings much computer experience to Commodore.
He worked for IBM when the PC was launched; he moved to Compaq, a leading maker of PC compatible computers; then he moved to ITT's computer division.
The dealer show brought the first official acknowledgement of several long-rumored products from Commodore. These include a 68020 board for the 2000, a high resolution display with approximately 800 by 1000 pixels in monochrome, and a professional video board for the 2000. More on these later. Commodore also revealed a BridgeBoard based on the 80286 microprocessor that turns the 2000 into an AT clone. No shipping dates were given.
Software and hardware developers had a separate room for showing their products to dealers in an atmosphere a little less hectic than the COMDEX show floor. This was nice because of the limited space in the Commodore booth. Every developer had the chance to participate in the pre-show dealer presentation.
The developer room had dozens of Amiga 500s and 2000s, and only one or two Amiga 1000s. Following the dealer show, Commodore hosted a cocktail party. Mimetics' Jeff Burger provided live music for the party using SoundScape and a full rack of MIDI instruments.
COMDEX In the West Hall of the COMDEX show, Commodore had a nice, new booth, topped off with the new Amiga logo on an illuminated sign hanging from the ceiling. The sign was very prominent, visible from all areas of the West Hall. Only the Amiga and PC product tines were on display. The booth had wide open spaces, retreating from the "pack the booth" technique used by Commodore and Atari at previous shows. This approach gave the booth a more professional look.
At one corner, the booth featured a continuous viewing of two video tapes promoting the Amiga. Commodore gave away Amiga baseball caps and "Only Amiga Makes It Possible" buttons. The video tapes included segments filmed at the New York AmiExpo, mixed with shots of the musicians and vocalists in the studio recording the "Only Amiga Makes It Possible" jingle. Commodore apparently intends to advertise, too; they even had a billboard on a street in Las Vegas.
Commodore Products A new high resolution monitor was shown, part number A2024. No word was given on when this monitor will be available, but its specifications are impressive. Some sources indicated the monitor may be priced in the S500 to S600 range, if this is true, it would make the Amiga 2000 a very affordable desktop publishing system. This product makes the most sense when coupled with rumors of a Commodore laser printer.
The monitor's display is 1000 by 800 pixels, by two bitplanes deep. Four shades of gray are possible with no potential for color in this mode. The signal comes from the standard RGB connector on the back of the Amiga and works on all Amiga models.
MicroSearch had the enviable job of demonstrating the new monitor. They showed their City Desk desktop product working in conjunction with an HP LaserJet laser printer.
The new monitor system was developed by Hcdlcy Davis of Commodore West Chester, working closely with Dale Luck, based in the West Coast Amiga offices. Luck wrote revisions to the operating system graphics software, so the higher output resolution would not be apparent to both the operating system and other Amiga programs.
(continued on page 20) Don't miss the ... with Amiga expansion products A. 4 that limit expansion Sub A2000 System" The Advantag™ A two megabyte RAM expansion card for use in the Amiga 2000 and the Subsystem.
¦ No-wait-state design ¦ Auto configures with all Amiga 1.2 software ¦ Designed to A2000 form factor ¦ Very low power consumption ¦ User may install inexpensive 256Kx1 dynamic RAM Unpopulated (OK) S199 Populated (.5,1 or 2 MEG) CALL A1000 A500 Subsystc TM 111 Use cards designed for the A2000 with your A500 1000, not out-of-date SubSystem gives you two expansion slots for A2000 cards and a space for an optional second floppy drive.The SubSystem fits under your Amiga, completely out of the way. Only 1.5 inches tall, the SubSystem raises the keyboard to the height of an average typewriter and
actually makes it easier to use. A UL CSA-approved power supply is included that guarantees additional cards will not overtax your Amiga. The optional floppy drive is state-of-the-art CMOS design with extremely low power requirements. Cards and disk drive can be easily installed atalaterdate.
3249 with floppy drive $ 399 Sill)
S) stem" A2000 OverDrive" A1000 Direct Memory Access (DMA) SCSI
Interface. Just because you have an Amiga 500 doesn’t mean
that you don't want the speed of DMA. Using the SubSystem with
our A2000 card gives yoi what others only offer to A2000
owners. No matter what Amiga you own, Pacific Peripherals
makes a SCSI for you. Our SCSI offers you compatibility with
proven Apple Macintosh external storage devices. As a matter
of fact, all of our drives are Macintosh compatible.
If you use the SCSI in your A2000 you have an additional bonus... the ability to add a hard drive inside your Amiga and still use external devices.
In addition to 30 megabyte and 50 megabyte (and larger) drives, Pacific Peripherals offers the infinity removable media drive. Once you have purchased the Infinity, you have unlimited capacity. Each 10 megabytes of memory costs a whopping $ 18. (Does 100 megabytes tor $ 180 sound more impressive?) With ail this capacity you still get 75ms access time.
¦ Subsystem 1000 FOR AMIGA 1000
(415) 651-1905 S249 CALL CALL OverDrive card oniy OverDrive
"hardcard" External Hard Drives Pacific Policy; Add 3% lor
VISA or Mastercard. Allow 3 weeks tor checks to clear. Send
cashiers checks or money orders for taster shipment.
California residents add 7% tor sales tax. No charge lor UPS ground delivery. Next day and 2nd day delivery available. Prices subject to change.
Infinity Is o trademark ot Peripheral Lend. Macintosh is a trademark of Apple Computer inc. Amiga is a trademark ol Commodore Business Machines Cage El.
The Advantage. SubSystem are trademarks ol Pacific Peripherals Commodore has also produced a genlock for the 2000 based on the design of the genlock for the Amiga
1000. It should be slightly less expensive because it is a card,
not a card in a case. According to a Commodore
representative, the announced mcdium-persistence monitor
should be shipping in January.
No More Interlace Microway showed FlickerFixer, a deinterlacer board for the Amiga 2000.
It eliminates interlace flicker by buffering the video image in its on-board memory. It refreshes the screen at the same rate, but the interlace is gone. It also eliminates the dark gap between scan lines.
Microway is well-known in the IBM community for making hardware and software for floating point coprocessor chips. They had their own booth as well. Microway is the first big player entering the Amiga hardware market, akin to the entry of WordPerfect in the Amiga software market.
FlickerFixer can display all 4096 colors.
The board will retail for S595, and they expect to ship in January. It requires a Multisync-type monitor, which is currently very popular in the IBM market. A Multisync monitor sells for about S575 via mail order, so the total system price is about S1000.
Taurus Software showed a CAD program called X-CAD. They showed it on the machine running FlickerFixer.
It has fast screen updates, which address most complaints about other Amiga CAD programs. Taurus plans future extensions for vector-based font design for laser printers, and modules for doing three-dimensional drawings.
Sculpt 3D was demonstrated on an Amiga 2000 equipped with Commodore's 68020 card. The speed of the program increased quite noticeably. Byte by Byte will ship the successor to Sculpt 3D, called Animate 3D, in mid-Deccmber. They also showed the Byte Box, an external memory expansion for the Amiga 500 which holds up to two megabytes of memory.
The Commodore 68020 board will quadruple the speed of some programs. The board has an Dn-board mcmory-managcment unit to oversee as much as an extra two megs of 32- bit memory. The extra memory could be used to bring simple virtual memory to the Amiga. There is also a slot for a 68881 chip. The board runs at 14.2 Mhz, and the 68881 can run at any speed, depending on an add-on crystal.
Commodore also showed the NYIT digitizer and genlock board for the Amiga 2000. Many of its hardware abilities are under software control, so “The Commodore 68020 board will quadruple the speed of some programs.
The board has an on-board memory-management unit to oversee as much as an extra two megs of 32-bit memory.'
You can switch between two video sources and adjust the genlock from sliders on the control software. The digitized images are stored in local memory until copied to the Amiga, if you want to convert them to IFF.
Unfortunately, according to some Commodore forecasters, this board is still several months from shipping and is currently undergoing FCC testing.
80286 Board The announced 80286 BridgeBoard was held up at customs for several days, it was developed in West Germany, and Commodore West Chester apparently does not have a working prototype.
Unfortunately, ! Left COMDEX before this board was shown. The 80286 is the microprocessor used in IBM AT machines. It runs faster than the 8088 chip used in the BridgeBoard now shipping for the Amiga 2000. The Commodore 80286 board reportedly runs at 6 Mhz, which is slow in today's world of 8, 10, and 12 Mhz AT clones. It will certainly be faster than the 4.77 Mhz BridgeBoard, but real- world use will be the only indicator of relative speed. Differences in video display speeds may be the critical links.
Although the 80286 card is faster than today's 8088-bascd BridgeBoard, both cards must interface with the proprietary video display software in the Commodore BridgeBoard design. The update speed of this software will be very important to users seeking faster PC compatibility in an Amiga 2000.
Programs like word processors expect to write to the screen at faster rates.
These programs may appear sluggish when run on the BridgeBoard system.
To be certain, the BridgeBoard hardware and software will never be as fast as the dedicated video hardware in a real PC clone. Of course, users can always implement a PC video card and a separate monitor with the Amiga 2000, If they want full video speeds. The Amiga 2000 PC compatibility is also currently limited to IBM monochrome and CGA graphics resolutions. If you want EGA or VGA resolutions, you must use an external monitor and separate video card.
After COMDEX, representatives of Commodore at a user group meeting said there may also be an XT-type BridgeBoard, with a 8088-type chip running at 8 Mhz.
Video Toaster NewTek showed the "Video Toaster" at COMDEX for the first time. The Video Toaster is a real-time, full color digitizer and genlock, with digital special effects abilities. It is a prototype of a device for sale next year.
Flyers at the show said it would sell for S799.
(continued on page 22) Other Products From The Other Guys Reason $ 395.00 Omega File $ 79.99 Promise $ 49.99 KEEP-Trak GL $ 49.99 AMT $ 39.99 (Amortization Program) Match-It $ 39.99 Math-A-Magician $ 39.99 Talking Story Book $ 39.99 (Christmas Stories) Musicial Slide $ 5.00 Show Demo Call or write for more information.
SYNTHIA High Performance Digital Synthesizer A slate of Ihe art music tool which will: Create digital IFF Instruments for use with nearly all music programs!
Modifying existing IFF Instruments. Use SYNTHIA on digitized samples to add revert), wow, and other enhancements.
SOMETHING TOR EVERYONE: Additive Synthesis - a traditional method which can create almost any type of instrument.
Plucked String Synthesis - simulates plucked strings . . . Right down to the 'pluck'.
Interpolative Synthesis - a method which introduces the natural imperfections found in instruments.
(Instruments such as brass, woodwinds, pianos, etc.) Percussion - build your own drum set . . . Create any drum you desire. * Subtractive Synthesis - a simple method of creating instruments.
Special Effects - includes filtering, amplification, phasing, waveshaping, amplitude modulation, real reverb, and . . .
IFF Music Player - powerful and compact. Now you can enjoy those songs that needed a memory expansion beforel Up to 32 tracks and 32 IFF Instruments! Supports chords, tics, etc. IS IT LIVE , ..OR IS TT 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? IQO OO Requires AMIGA 512K Copyright© 1987, TIN! OTIIIiR GUYS Software • AMIGA is a registered trademark of Commodore Amiga Main ?
Street B4321 VISA 55 North Suite 301 PO Box H Logan Utah THE OTHER GUYS (SOD 753-7620 (BOD) 942-9402 it* »C. Fill GET THE BIG PICTURE “THE BIG PICTURE” Print your IFF HAM pictures in _r 104 feet x 104 feet. “Real" multiprocessing and overscan printed because printing is done from the tile not the screen.
$ 29.95 for the following printers in one package: Canon PJ1080A Okidata 20 color Radio Shack Quadran Quadjet Epson FX 80.
FX-100, EX-800. EX-IOOO Fujistu 1200.
2300, 2400 NEC PG. P7. CP6, CP7 XEROX 4020 ATI-LINK An IFF HAM loTARGA file conversion program only $ 100.00 Perferences Drives Quadran Quadjet $ 30,00 NEC CP7 £50.00 Bg Picture is i trademark of Lightning Publishing Amiga is a registered trademark of Commodore Ltd Targa is a registered trademark ol AT 4 1 Lightning Publishing 1821 N. Ohio St.. Arlington VA 22205
(703) 534-8030 Name Address City State Zip Amount Program The
Toaster was demonstrated at COMDEX after I left Las Vegas.
1 saw the Toaster in action at the FAUG user group meeting
the week after COMDEX. The color video camera was pointed
at audience members R. J. Mical and Leo Schwab, and special
effects manipulations were performed in real time. The
Toaster put sixteen smaller copies of the image on the
screen at once, moved a smaller box around the screen,
flipped the box end over end, mapped the flat image to a
round surface, and "pixelized" the image, all in real time.
It is very impressive, but it isn't shipping yet.
University of Lowell's Center for Productivity Enhancement showed their parallel processing board for the Amiga 2000. It demonstrated edge detection at several frames per second from a live video source. It uses NEC image processing chips that work in parallel. This means that for more speed, you just add more chips. They estimate a price of about S2000.
Changes Several companies have made changes to their products. Finally Technologies show'cd their Hurricane Accelerator board, a 14 Mhz 68020 speed-up card.
The list price has increased to S595 since the Commodore Show. Gold Disk showred Professional Page again and said the program would be out in December.
Mimetics has changed the name of their genlock from Imagen to AmiCen.
The retail price is $ 179.95, and Mimct- ics said it would ship the week after the show'. Roger Powell's MIDI program, Texture, has been "Amiga- ized," so it looks less like an IBM PC program. The list price is $ 199.
WordPerfect Corporation reported tremendous sales of Amiga WordPerfect. They plan to convert other products to the Amiga. They reportedly recouped their Amiga porting investment in the first month of sales.
Xerox is still using the Amiga to demonstrate its color printers. Hewlett-Packard supplied Commodore with several HP PaintJet printers for the booth. Both HP and Xerox wrere using preliminary versions of the AmigaDOS
1. 3 printer drivers. The new drivers bring as much as a six-fold
increase in printing time over the AmigaDOS 1.2 printer
Progressive Peripherals showed a slew of new Amiga products. They had their own booth, apart from Commodore, They showed a prototype realtime video digitizer, scheduled to sell for less than $ 500. It digitizes to its own memory, then downloads the data to the Amiga through the parallel port. Other hardware plans include a genlock and various products for the Amiga 500, including several memory boards, an external drive that is much smaller than the Commodore drive, and a 68020 68881 enhancement.
Progressive is not short on software, cither. PIXmatc is an image processing program for manipulating IFF images. It converts between resolutions, as well as accomplishing more advanced techniques, such as edge detection and image enhancement.
PIXmate is very fast because it uses the blitter for many operations.
Progressive also showed demos of two CAD programs, an accounting program, a disk management program, and a program to let you use Commodore 64 peripherals on the Amiga. All these appeared far from completion.
Superbase Professional will reportedly be available before the end of the year.
This one looks like it has more kitchen-sink features than any other program. It has programmable telecommunication features for moving data to other computers, as well as built-in word processing and mail merge facilities.
¦AC- Haicalc''1 is the best valued spreadsheet available for the Amiga. If you have ever had to project budgets, calculate expenses, or prepare a financial statement you need Haicalc.
For only $ 59.95 you receive a powerful program that fully utilizes the Amiga Intuition user interface.
Vmxrfe a Haicalc?
(pronounced hi-calc) You have the convenience of simple point & click selection of files under Workbench, pull down menu selections for commands, and economical use of your computer's memory -- program size is only 120k. You harness the power of multi-tasking and macros with a maximum spreadsheet size of 9,000 x 9,000. Compare this to the competition.
Haicalc is a powerful solution for a painless price.
Haicalc is a trademark of Haitex Resources ¦ Amiga is a registered trademark of Commodore-Amiga, Inc. Maximum Spreadsheet Size 9,000 rows by 9,000 columns1 Number Precision Accurate to 8 digits Interlace Display Ability Up to 44 rows of data per window Window Resolution 1,000 by 1,000 pixels Address Space 18,000,000 cells’ Program Size 120k Sparse Matrix Allocation Uses memory only when a cell contains data Copy Protection None System Requirements 512k Amiga,
1. 2 Kickstart, Single floppy drive 'All capacities are subject
to limits of system memory and storage.
HAITEX RESOURCES 208 Carrollton Park B ; Suite 1207 Carrollton, Texas 75006 haitex (214)241-8030 A home accounting system should do more that just replace your checkbook.
After all, who wants to do the same work twice? In addition to keeping your checkbook balanced, a home accounting system should do the following things: AMAZING REVIEWS
1. Keep track of other types of accounts (savings, IRAs, and
2. Allow you to make budget items for things like your salary,
groceries, rent, car payments, and mortgages.
3. Keep track of day-to-day transactions affecting these accounts
4. Provide a clear and meaningful way to compare your actual
performance to your projected budgets.
5. Print checks.
6. Allocate transactions to multiple budget categories.
7. Provide query capabilities for your accounts.
8. Simplify entering transactions that recur from month to month.
Money Mentor is a home accounting system by Sedona Software. With Money Mentor version 2.0, you can create accounts and budgets, enter transactions against your accounts, transfer funds between accounts, print by Stephen Kemp checks, and produce graphs and reports to keep track of your assets.
Essentially, Money Mentor does everything in the above list, and more.
Getting Started The documentation is quite good. It uses understandable examples and is divided into sections corresponding to the menu choices in the program.
This makes it easy to refer to the documentation for help while you are using the program.
The first few chapters explain the basic concepts of home accounting and how Money Mentor can work for you, A tutorial begins in Chapter Four. Although some people may be able to use Money Mentor right out of the package, most will find the tutorial valuable.
1 nniGH.l Money Mentor Version 2.0 A Persona! Financial System ? 0000 ? ? 0.00 OOO 00 OOODO ? Oof You must create a data disk to begin using Money Mentor. Money Mentor makes this disk if you select the "Create Data Disk" icon. Once you have a data disk, selecting the "Checks" icon starts Money Mentor. If the data disk is not in a drive, Money Mentor prompts you to place the disk in any drive. If you have only one drive, have no fear.
Once you place the data disk in the drive, the program disk is no longer required.
This means you won't spend your time swapping disks.
Money Mentor docs an excellent job of using both the keyboard and mouse.
After using the system for a while, you almost never need to touch the keyboard.
For those of us who are not mouse fanatics, the keyboard does everything the mouse can do. Money Mentor is menu driven, and functions arc selected with the mouse or the function keys. Once you arrive at the desired function, Money Mentor accepts data through Scrolls.
Scroll It In All data is entered through Scrolls. A Scroll is a unique data-entry field with which you can not only type the required information for a field, but you can also select items from a scrollable area underneath the field.
An item can be selected from the Scroll with the mouse or arrow keys.
Once Accounts are set up, you are ready to create Budget items. Money Mentor keeps track of up to TOO income Budget items and 100 expense Budget items. You should make budget items for your salary, groceries, mortgage, car payment, cable TV, ledger for The Club Checking Site Nine Anoimt J Budget Note ill 2 29 87'I S Oil Co ji.86;8tC Car Gas 117 2 28 87.0 E 268,86 SavifwsiHonlhlv 12j 2 28 87 IopIis House
198. e? Hedical Dental 121 18 31 87 S And f National 18868
Savings loathly ; 11 ilV'tl ini tii Ciicany j_ 3,888,88
Salary HqnjMv Next Action; It Cleared Deposits ilBIYesiFeb
|No llJIYes fob [No 128IVeslFeb 'No Balance 121 Yes Oct No 7
3,886.88 I E 6 Yes Hov No S'; Checks If posits Kfie Beck _
dividends, electricity, etc. A Budget item must be given a
label (name) and a tax status (taxable or deductible).
You can also define the tax status as "Ask Each Time," meaning you can make that decision as you enter transactions.
1 Honey Hector 1 Create Expense Budget Expesse Jan Feb Mar Apr Nay ¦ Year Total Club Checking Fita GHC Car PjphHit B!jgjl!g|l!»l!iggM lg Groceries Household ¦HjBlIBlMHlgjll ggll MasterCard HIHmiKIIIBSSHEj 780,80, 788,68 788.88! 78B.68 MBB.88 Other Savings Softuare Stare Taxes VISA Month Total ¦HHiranK!
MM : ; Mil n Copy F3 Repeat F4 Exit Entering Budget Amounts Once you establish Budget items, you should enter expected monthly expenditures and receipts. Monthly Budget amounts arc not required until you Money Mentor can also create "Smart Scrolls."
A Smart Scroll knows the past relationships between Accounts and Budgets.
Many of your transactions (car payments, mortgages, and electric bill) are similar each month.
Money Mentor can "Study" your accounts, so the next time you begin to enter one of these transactions, a default amount, budget label, tax status, and note are placed in the Scroll under your field. Of course, you can easily override the default easily by typing the correct information or choosing a different item from the Scroll. Sedona claims their Smart Scrolls save 70% of the required typing for an entry. After using it myself, I must agree.
Defining Accounts And Budgets At the top of everything are the Accounts. Money Mentor defines Accounts as "the buckets in which Transactions occur." Money Mentor maintains up to 30 different accounts. To create an Account, you must give it a name, define what type of account it is, and enter its starting balance.
Accounts can be any one of the following types: Checking, Saving, Cash, or Bank Card. The default account type is Checking.
As an added feature, if you type the first letter or first few letters of an item in the Scroll, and then hit an arrow key, Money Mentor places the next item that begins with those letters in the selection box. This feature is a quick way to search through large lists of items.
Honey Mentor want to compare budget to actual performance, but entering data as you create the budgets makes the most sense. With good budgeting, you will know exactly where your pennies are going.
The screen into which budget amounts are entered is very similar to a spreadsheet screen. There is room for thirteen Budget items and Monthly Totals on the vertical axis. Five Months with a Yearly Total are on the horizontal axis of this screen. What you see is not all you get, though.
The other months can be scrolled onto the screen using the left and right arrow keys; if you have more than thirteen Budget labels, they can be scrolled onto the screen using the up and down keys. The Totals always remain on the screen.
A red box in the table indicates where you enter data. With the mouse or cursor keys, you can move the red box wherever you want. Data is entered with a Scroll and is placed in the space occupied by the red box. You can also REPEAT a value through to the end of the year, or COPY a value from one space into another. It can't get much easier than that. While amounts are entered, the totals, by Month and Budget item, are calculated automatically and displayed in the appropriate places.
Transactions After you establish your _ Accounts and Budgets, you enter Transactions. A Transaction shows where money enters and exits in your accounts and budgets. You'll spend most of your time entering Transac- (continued) tions, so this is where you want the program to function best. Money Mentor is no Transaction slouch.
Transactions have 6 parts: the NUMBER of the Transaction, the DATE of the Transaction, the NAME of the source destination of the Transaction, the AMOUNT BUDGET item to which this Transactions should be allocated, and a NOTE documenting the Transaction.
The Number of the Transaction is entered first. If you are working with a checking account, and you are writing a check, this entry should be the check number. Once you establish the first number for this type of Transaction, Money Mentor increments the number for succeeding Transactions as the default.
Money Mentor defaults the Date field to the date entered at startup. You can change the date by typing a new one or selecting one from the Scroll.
The Name field is where you record the source or destination of the transaction. If this is a check, type the name of the person to whom the check is being written.
Later, if you choose the "Print Check" option, the Name entry is written in the "Pay to" line of the check.
The Amount field is self-explanatory.
You can allocate this Transaction to a Budget item by selecting or typing the appropriate Budget item's label.
Again, the scrollable menu underneath the field saves you some typing. If a Transaction is divided between various Budget categories, you can select "Split" from the Scroll.
"Split" is a really handy feature. Let's say you have written a check to your mortgage company for S750.35, and you want to allocate $ 650 of the check to interest, $ 50.35 to escrow, and the remainder to principle. First, enter a check to your mortgage company for $ 750.35 and select "Split" as the Budget label. Once you finish the check Transaction, a field labeled "Split Balance" holds the 5750.35. Money Mentor now lets you enter Transactions to settle the split allocation. As you enter Transactions, the "Split Balance" decreases. When this fie d is SO, you are finished allocating.
Split allocations allow you to make very detailed budgets.
Entering a Note helps document the Transaction. Again, if you are issuing a check, you would normally write in the note field of the check. If you choose the "Print Check" option when the Transaction is complete, your note is printed on the check.
When you finish entering a Transaction, you can do another Transaction, edit a previous one, or print a check for the last Transaction. Yes, you can print checks with Money Mentor. An order form is available in the back of the documentation for the proper type of checks.
Smarter Than The Average Program After all your Transactions are entered, choose "Study Account" from the menu. This function creates and maintains the Smart Scrolls. You want to do this! Suppose you made a car payment to your bank this month.
Next month when you indicate a car payment, Money Mentor defaults to the payment Amount, Budget item, and Note field from last month. Just click the mouse or hit the return key to accept the defaults. You won't believe how simple your repetitive transactions become.
How Are You Doing?
Once you have a few months under your belt, you will want to know how well you are following your budget.
Money Mentor provides a number of reports that can be sent to the screen, file, printer, or displayed in a graph (Sometimes a graph is more useful than a printed page of numbers.). Money Mentor provides more than 50 status reports, including one noting how much you vary from Actual to Budget, and another with your Top 20 Problem areas.
When your bank statement or charge card statement arrives, choose "Balance Account" from the menu. With Money Mentor, to balancing accounts is as simple as indicating which Transactions have cleared and which have not. Money Mentor does the rest. You don't have to use a calculator or scratch on paper.
Inevitably, you will discover a check that was entered wrong, or you will want to know whether the cable bill was paid last month, or you will want to know how much the bank has charged for holding your money. You can find out these things with Money Mentor's search capability. You can search by any of the Transaction fields, by Tax category, by whether it has cleared or not, or by month. Money Mentor lets you combine criteria for the search, so you can be as precise as necessary. Once you find a transaction matching the search criteria, you can edit it, continue the search, or print the
Wishful Thinking Money Mentor has plenty of strengths.
However, there are a few things on my wish list. Nothing on my list should prevent anyone from using Money Mentor, though. On the contrary, Money Mentor is an excellent product; these are just things I think would make it even better.
It would be nice to set up automatic accounts. These are accounts that are automatically entered on or after a specific date. This feature could track automatic withdrawals (without a check) from your checking account on a certain day each month.
A calendar reminder for entering important dates (such as when fees to organizations are due) would be useful. Many people need to be reminded of birthdays and anniversaries... Money Mentor has a limit of 100 income Budgets and 100 expense Budgets. For most people, this will be more than enough. If you start making very detailed budgets, however, this may become a problem. It might be better if you could determine how the maximum 200 budget items should be divided because the expense Budget items almost always greatly outnumber the income Budget items.
When entering split allocations, you arc limited to the same type of transaction for settling the split. This means that you can't enter a deposit for $ 2000 in your checking account and split the allocation to salary for Amiga-Tax II Tax Planning & Preparation Software Pay $ 69.95 once then receive Yearly Updates for t ;r .t t 1 fpf.x.t.an
- All Schedules, All provinces, GoVt Approved
- PRINTS tax returns Nc manual transcribing!
- Save Time, Money, and Aggravation
- Useful ail year for tax planning Send $ 10 tor Mini Version &
Save $ 10 on final cost.
Datamax Research corp Sox 5000, Bradford, Ontario L3Z 2A6 S3000 and S1000 taxes. The only way I found to mix income and expense allocations was to make a separate salary account and transfer $ 2000 to my checking account.
Scrolls, which are probably the product's best feature, will save you a lot of typing time.
If you arc ready to keep track of your hard earned money, Money Mentor can certainly help you.
Finally, it would be nice if Money Mentor supported more than one check type. It currently supports a two-part check. Support for smaller, single-part personal checks would be a bonus.
• AC- Money Menior list price S99.00 Sedona Software 11844 Rancho
Bernardo Road, Ste, San Diego, CA 92128
(619) 451-0151 Summing It Up Money Mentor will do more than just
replace your checkbook. It will help you make budgets,
track expenditures, and create financial plans. With Money
Mentor, you can keep good records very easily. It makes
excellent use of the keyboard and mouse. The menus and
documentation are fairly easy to follow, and the data
screens are sensible. Money Mentor's Smart AMAZING REVIEWS
In an age of increasing market volatility, investors need
superior stock selection techniques in order to create
portfolios which minimize risks and maximize returns.
Software Advantage Consulting Corporation has written a
program which uses technical indicators to select stocks
which have performed better than the market average. The
program also provides information to help investors time
their buy and sell decisions to take advantage of market
Investor's Advantage allows you easy access to stock quotes through the Warner Computer Systems Stock Market History Data Base. The program can automatically dial up Warner and download the information you specify.
By Richard Kncpper People Link: Stryker How It Works Creating and maintaining files for the equities you want to track is relatively painless. Selecting "Create a New History File" from the main menu brings up a screen which allows you to specify the ticker symbol, the frequency of updating, the length of the moving averages, the P E multiple, and whether the file is for an equity or an indicator.
Once you have created a file, you can add data to it, either manually or automatically. Manual addition is accomplished by selecting "Add to Existing History File" and entering the stock data required. In order to do this, you must have access to a financial publication.
R m I DR. Investor's Advantage A Market Analysis Package for Charting Technical Indicators 00000 00OQ0 GQQDC: QQ:Q 000 Automatic updating requires only a Hayes Compatible modem. A control program allows you to specify the equities and indicators you wish to update. (The control program also controls access to Telenet.) You must only tell the program which days to download. The entire process is extremely quick and easy.
Maintaining your history files is quick and easy, too. When using a computer to help make investment decisions, it is essential to double- check the data the computer is using to make its decisions. Investor's Advantage allows you to view and edit the data in a file, as well as delete the entire file.
(continued on page 30) A Poor Man's Guide to the Stock Market in today's volatile stock markets, timely and accurate information is vital. In order to assure profitable investments, the investor must be able to gather all available information and act on it immediately. Because this completeness is nearly impossible, most investors devise a system that allows them to make reasonable decisions based on incomplete information.
Two major schools of thought have developed. The first, the Fundamental approach, studies the relationship between risk and return in the market.
This relationship equates supply and demand to yield a market price. The second school of thought, the Technical approach, is not concerned with background data. Instead, it concentrates on the movement of the market itself. Investor's Advantage is Technical.
Before you buy Investor's Advantage, you should get a feel for the program's theory. Fundamental and Technical investment strategics are drastically different, and there arc arguments both for and against each.
If you are going to use Investor's Advantage, you should know the limitations of its techniques and feel comfortable with them.
The Fundamental approach has been widely acclaimed by the academic community. The major premise of this approach is that investors are only willing to buy a stock if their return in the form of dividends and capital appreciation is commensurate to the risk they face. If a stock docs not compensate the investor fairly for the risk he faces, he takes his money elsewhere. This lowers the demand for the stock, and thus lower the price, so it provides an equitable risk return relationship.
The net result of this money movement is that the market prices all equities fairly. Investors can then build portfolios that reduce the risk of having all their eggs in one basket.
(An example of this risk is investing in one company. The company may be doing fine one day and lose everything in a $ 12 billion lawsuit the next.)
These portfolios can also be structured to provide specific levels of return, as a percentage of market return, both positive and negative.
There are two major arguments against Fundamental analysis. The most important is that it is too difficult to determine the exact level of risk in a specific equity. Historical risk is usually used, but this is only an approximation. The second argument is that the risk return relationship is not always repeatable when external market conditions have been the same.
This argument is less pervasive and only indicates investors arc not using complete information.
Technical analysis is the system most often used by professional traders.
They believe the fundamentals affecting a given equity cannot be known soon enough to act profitably. They then conclude that unknown changes in the fundamentals are reflected in the price action of the equity. The analyst believes price changes form patterns similar to past patterns.
Technical analysis can be subdivided into major disciplines. The first is charting, which attempts to take advantage of short term fluctuations in price. The technician must closely follow the market and be willing to take very short term positions. Most true chartists do not take positions lasting more than one day.
The second type of technical analysis is the tracking of technical indicators.
This approach is very similar to the first, but is more concerned with longer term movements in the equity.
In most cases, this technician collects information either daily or weekly.
This time-frame is followed deliberately to eliminate short term volatility.
The technician then tries to interpret the information for long term trends.
The major difference between the two technical disciplines is that charting attempts to determine where the market will move in the short term, while tracking technical indicators tries to determine where the market is moving in the long term.
Both methods have pitfalls. Chartists must receive information in a very timely manner. This problem makes charting an unrealistic tool for investors not on the exchange floor.
Charting is difficult even if a real-time ticker is available. Most investors should not consider short term charting because they will not be able to properly time their buy seL!
Decisions, and will usually get in just before the market reverses.
Tracking technical indicators is much more feasible for the average investor.
These indicators arc more useful for long term investment strategies. They indicate major market movements and help the investor time his entry and exit in the market. The main problem is that trends are not easy to spot. By the time indicators have signaled a clear trend, it may be too late to take advantage of it. This often means the investor gets in too late, buying the market tops and selling the bottoms.
He is then doing worse than he would be if he weren't using any information at all.
There are also problems with trading from a "contrarian" standpoint. This theory should be used only after the market has demonstrated a clear trend.
Even then, it is difficult to determine when the reversal will happen. Often, one can begin to fade the market (take a position opposite to the market's movement) just as it begins to build momentum. A number of large Stock Index traders took contrary opinion stances during Black Monday and were looking for new jobs on Tuesday.
- Richard Knepper Even though there are valid arguments against
both fundamental and technical trading, that doesn't mean
that they aren't both useful. Each system provides valuable
information which can make the difference between success and
failure in the market.
When 1 was actively trading futures at the Chicago Board of Trade, I took long term stances, using fundamental analysis as my primary source of information. 1 tempered these stances with information gained through analysis of technical indicators. I timed my entry into the market through charting.
Not everyone has twelve plus hours per day for market analysis. If you want to be in the market and make your own investment decisions, I suggest following the fundamentals and using the technicals to temper your information. Don't worry about timing your entry exactly. Entry time usually won't make or break a long term position. If you don't have the time to follow the market closely, consider investing in a fund. Funds give you the diversification you need and allow reasonable returns without spending a great deal of time.
If you are serious about investing in the market, Investor's Advantage gives you the information you need in a reasonably timely manner. The price of software and information retrieval is low enough to make it easily affordable for armchair investors. Remember, Investor's Advantage is a tool to help you make informed investment decisions. It is not an end all, nor is it intended to be.
In summary, the process of creating and maintaining the equity and indicator history files is simple, allowing you to concentrate on the primary purpose of the program: helping you make money.
What investor’s Advantage Tracks The program uses its historical database to calculate and display a number of different technical indicators.
Moving Average is calculated by taking the price of an equity over a period of time and calculating the average. For example, a thirty week Moving Average is based on the last thirty weeks of data; each week's Moving Average changes when a new week is added and the oldest week is dropped. The Moving Average calculation factors out day-to-day volatility and indicates an overall trend in the equity. The program allows three different Moving Average durations to be specified. Short, intermediate, and long-term trends can be compared.
Price Momentum shows the relative change occurring in the three Moving Averages. This is done by dividing the current price by the oldest price in the Moving Average. Thus, a thirty- week Moving Average Price Momentum is equal to the current price divided by the price of the equity thirty weeks earlier.
High Low Chart displays the high low close, the Relative Strength, and the volume of shares traded. The chart generated is the same type published in newspapers. The most obvious use for this chart is to perform technical analysis. (As explained in "A Poor Man's Guide to the Stock Market," technical analysis is not the same as analysis of technical indicators.)
Relative Strength calculates the change in the Moving Average for all equities and compares them. This provides a ranking system to indicate those stocks which have demonstrated superior performance. This is useful to the technician who wants to create the best possible portfolio of stocks.
Monthly Percentage Change calculates the percentage change in each equity that has occurred month-to-month for the past thirteen months.
Daily Stock Market Barometer displays five indicators that give insight into the movement of the market as a whole (see Figure 1).
1. DJ1A displays the daily movement of the Dow jones Industrial
2. Advance Decline Line displays an indicator of the number of
stocks that rose in value versus the number of stocks that
dropped. This gives an indication of the sentiment of the
3. Odd Lot Short Ratio represents a contrarian viewpoint, which
assumes that a group of investors are predicting a market
movement, and that their predictions will be wrong, if the Odd
Lot Short Ratio is increasing, this group is shorting the
market (selling stocks), and the market should move upward. If
the ratio is declining, they are long (buying stocks), and the
market should decline.
4. Put Call Ratio, another contrarian indicator, reflects the
attitude of options buyers, who are, for the most part,
speculators. Puts are bets that the market will move lower;
Calls are bets that it will move higher. If more speculators
are buying Puts than Calls, they are predicting a downturn in
the market. A contrarian would then believe the speculators to
be incorrect, and expect a market upturn.
5. Overbought Oversold Ratio is a ten- da)’ composite of the
number of stock advances and declines. A high value indicates
that the market has been under heavy buying pressure. The
number of future buyers should drop off soon, and the market
Weekly Stock Market Barometer displays five indicators which give a more generalized impression of the market movements (see Figure 2).
1. DJIA indicates the weekly movement of the Dow Jones
2. NYSE indicates the weekly movement of the New York Stock
Exchange composite index (a.k.a. Big Board).
This lists a greater number of stocks and can give a more accurate indication of the market sentiment.
3. New Highs New Lows lists the number of stocks which have made
new highs or new lows. Following the precept that "what goes
up must come down," it is expected that a large number of new
highs indicate a market which has reached its peak and will
soon decline. High numbers of new lows indicate an oncoming
4. Specialist Short Ratio attempts to track the sentiment of the
floor specialists. Specialists are floor traders assigned
the task of making the market for a particular equity. They
are usually better-informed than the populace and can better
predict the movement of their stocks. If they arc selling
stocks, then the Short Ratio will be high and a downturn can
5. Twenty Most Active Indicator compares the sum of the last
three weeks' advances to the sum of the declines. An increase
in the indicator shows underlying market strength, while a
decrease indicates weakness.
The Manual The program comes in a green plastic folder about the size of a large paperback book. The manual is about _ (continued on page 32) THE AMIGA® COMPUTER STARTER KIT WORDPROCESSOR • SPREADSHEET • DATABASE Have all of the above instantly at your fingertips on ONE diskette at ONE low price in ONE package. THE WORKS! Is ONE complete system. Never again will you move from one program to another, forced to learn a new manual with new instructions.
In THE WORKS! Each module uses similar puli down menus and familiar commands.
You said “Give me the works”. Now in ONE package, you get THE WORKS!
Included is a powerful spreadsheet module (Analyze!) That is as useful in the home as in the office. Whether for your personal budget and check register or your company’s accounting and forecasting needs, the versatile pull down menus and keyboard shortcuts make this module easy to use. Its multicolor 3-D graphs, special macro language and compatibility with Lotus 1-2-3 make it powerful as well.
The full featured word processing module (Scribble!) Includes a spelling checker and mail merge facility. Full support of the Amiga clipboard is provided as well as complete styling control. You may mix bold, italic, and underline in various combinations on a single line, and show 4 documents on the screen.
The professional database module (Organize!) Helps you collect and manage information or data easily. The reports you prepare are completely customized and can be printed to paper, screen or disk. Portions of records may be blocked for confidentiality. From a recipe file to a customer mailing list, all information is at your fingertips.
I See your local dealer or call: Brown-Wash Publishing 1-800-451-0900 1-408-395-3838 (in California) 16795 Lark Ave., Suite 210, Los Gatos, CA 95030 Scribble!, Analyze!, Organize!
Priced separately total *349.85 Now...The Works!
S199’ Micro-Systems Software 1 1 Quality Software Since 1979 only Amiga is a registered trademark of Commodore-Amiga. Inc. Lotus 1-2-3 is a trademark of Lotus Development Corporation. MSS Works!, Analyze!, Scribble! And Organize! Are trademark! Of Micro-Systems Softwa: I seventy pages long, includes a brief introduction, and explains how to install and run the program.
The manual is very straightforward and is tailored to the novice user. It gives clear and concise instructions explaining each of the program's functions, along with its significance. I found that the manual complemented the program quite well. The only thing missing is an index, but an index isn't absolutely necessary, since the manual is categorized by menu selections.
The manual does Figure not, however, explain the indicators the program tracks. It gives only a brief synopsis of each indicator, similar to the descriptions I included in this article.
I certainly wouldn't feel comfortable using this trading system based solely on the information in the manual.
Since the program is inexpensive, I recommend that each purchaser also buy a book on technical analysis and indicators. Many good references are available.
Problems and Limitations Investor's Advantage has been imported from the IBM-PC XT AT Clone flrf nauseum family, and there are a few residual quirks. Not all of them can be blamed on the MS-DOS operating system, but MS-DOS is a good scapegoat. For example, none of the history files you create can have the ."dat" suffix. This file structuring format is not necessary on the Amiga, and should have been removed when the program was ported. Another problem is that history files have a maximum of 229 records far too few.
There is no good reason for this limitation, and many serious investors will find it a hindrance when tracking equities over long periods of time.
Although I found the program quite easy to use, the onscreen menus were too cluttered. The options on the main screen should have been scpa- ra-ed into functional groups to make selection easier. In the program's defense, selections can be made by choosing the selection number, by pointing at and clicking on the selection desired, or by using pulldown menus. Although the pulldown menus arc organized functionally, a cluttered screen is still annoying to look at.
The graphs may also appear a bit cluttered at first, but this is due to the amount of information being prc- scntcd. Often a single graph shows a number of indicators, each with its own vertical axis. This can be confusing, until you become familiar with the graphs.
Another problem is that the program uses standard Workbench colors, which means when graphs arc printed (They are printed in inverse mode.), the background is slightly gray. This is not only annoying but also wears out ribbons quickly. There is no Preferences on the disk, so the system- configuration file must be changed from another Workbench and placed on the disk, either by direct copying or by using Preferences with DEVS: assigned to the Investor's Advantage disk.
The program is slowed considerably by disk access. The menus are organized by indicator, so whenever a menu selection is chosen all stocks must be reloaded from disk. Tracking all of the indicators for a particular stock can be time-consuming. It would have been much simpler to allow you to select a stock and then have the program chart its technical indicators, rather than make you select the stock after choosing the indicators.
The program should also include some method for unattended printing of a series of graphs. As it stands, it takes a considerable amount of time to print out graphs for even a small number of equities. Batched printing would allow you to print your graphs while you went to work, and then have them ready when you came home.
Investor's Advantage may not operate smoothly if you are very low on memory. Of course, this shouldn't be a serious problem, since anyone (continued on page 34) Mr
• musKR At Northeast Software Group, Minor Miracles Are Easy,
Major Miracles Take a Little Longer.
IS®!!-* BETTER 2 rsct an m JtBf-uS _ m j «*j%ha,r gzz&ts.&Sr’-*--'*-
• » * » «. "* "°?-oNLr Publisher Plus outputs to a wide range of
printers: any preferences-selected printer, dot matrix or any
PostScript laser printer or typesetter.
See What You Can Do With We listened. To Publisher 1000, we added more capability; increased the speed, eliminated the copy protection, reduced the price, and kept the easy-to-use interface. We now call it Publisher Plus.
It’s a perfect fit for the Amiga 500, although it also fits well with the Amiga 1000 and 2000. Quickly you can create all kinds of printed material newsletters, signs, reports, menus wdthout a complication or expense.
With Publisher Plus, text is easy to type. Just draw a box, any size or shape, like a newsletter column. Either type directly into the box, or read the text from a word processing program.
It’s that easy.
$ 9995 introductory price To add graphics, simply draw with Publisher Pius’ patterns, or create your own with the pattern editor. IFF pictures and scanned images can be resized or cropped to fit your layout.
Get a close-up view using ‘’smooth- scrolling” or take a full-page view.
When you’re ready, print it. Publisher Plus includes an entire set of fonts for dot-matrix and PostScript printers. If you don’t have a laser printer, save your PostScript layout on disk and then print with someone else’s laser!
It’s for the novice. It’s for the expert. Publisher Plus it’s for you.
Try it today.
Publisher 1000 PLUS... Developed by: y N * £ Northeast S ?
' r1 Software Group PostScript laser support No dongle Automatic font sizing Cut copy paste text More patterns Improved performance See your local dealer or call: Brown-Wash Publishing 1-800-451-0900 1-408-395-3838 (In California) 16795 Lark Ave,, Suite 210, Los Gatos. CA 950.50 Amiga is a registered trademark of Commodore-Amlga, Inc. Publisher 1000 and Publisher Plus are trademarks of Northeast Software Croup.
Considering investing in the stock market should have enough money to go out and purchase expansion memory. At least this program gives you a new excuse to spend money on your Amiga.
Perhaps the most serious limitation I encountered with Investor's Advantage is that, in order to utilize the Auto Update mode, you must have a Hayes Compatible modem. You can't get by on a pseudo-Hayes like I own. Or, more properly, used to own this program gave me an excuse to buy a Hayes Compatible. Without the Auto Updating capabilities, the program is severely limited. You can still enter all records by hand, but this can be quite time-consuming.
Before you purchase this program, you should either determine the extent of your modem's Hayes compatibility, or (preferably) try out the program at your dealer's, using your modem. (At press time, I was informed by David Miller, author of Investor's Advantage, that versions after 1.05 would also support the Avatex modem, one of the most popular modems purchased for the Amiga.
MM 66 t . 87 HE.£2. .
I. l: 2(7 8?
i ¦ ciitt
• Hi* ¦ :¦ • 1 jl1 idjjl1!')!1 It). Ic ¦
162. 34 $ 1 Figure Three: S&P 500 Index 1 was not able to confirm
Avatex compatibility for this review.)
One final point to consider before you make your purchase decision is the added cost of information retrieval. If you are a serious investor, you should not be swayed, as the annual cost for weekly quotes on thirty equities costs about S40.00. This cost, when combined with a $ 48.00 subscription fee, is comparable to the commission on a single stock purchase.
Things Get Better Although the program has a number of minor flaws and restrictions, 1 feel that these are outweighed by the advantages. The best declaration 1 can make is that the program works. A business program like this doesn't really need to be flashy. Investor's Advantage is very easy to use and provides rapid information assimilation. It isn't as timely as a tic-chart, but for most investors it will prove more useful. It allows the investor to ignore short-term price fluctuations (which they usually can't do anything about anyway) and focus on longer- term trends. This is probably
the safest method for the private investor to use.
The program is extremely user- friendly, allowing most operations to be performed using only the mouse.
The Auto Updating utility may be the most valuable feature of the program, allowing unaided updating of your information. 1 did notice that the Auto Updating became somewhat confused when dealing with my "noisy" phone line. The program often received garbage signals and then had to log off. I had to use the delete history function to delete the bad records, and then log on again, This was not a major problem, but you should expect a few difficulties if your phone system often has a lot of static.
The graphs created by the program are riot of the highest quality imaginable, but they are certainly adequate. For the serious technical investor, this program is indispensable, providing the same information as most newsletters do, but on a more timely basis.
Summary As much as I like Investor's Advantage, I hesitate to give it a blanket endorsement. The program certainly docs everything it claims to do. It is also priced fairly and provides an elegant method for updating files and providing useful graphs.
My main reservation concerns what the program actually docs. Blind faith in a system you arc not completely familiar with is financial suicide.
Tracking technical indicators is only one available investment method, and is not necessarily the correct one. 1 did not feel that it was fair to address this topic in the actual Investor's Advantage review, so I have given a brief overview of different investment strategies in "A Poor Man's Guide to the Stock Market."
If you feel comfortable making investment decisions based on technical indicators, or even combining this information with other criteria to help you make decisions, then by all means purchase this program.
If Investor's Advantage docs nothing more than help you make the correct investment decision once a year, then it has paid for itself.
About the Author Richard Knepper is a registered Commodities Broker, He has an
M. B.A. in Finance from the University of Wisconsin. He works as
a consultant for J.L. McKinzie & Company, a commodities
brokerage firm in Chicago. The opinions expressed in these
articles are not investment advice.
• AC* Investor’s Advantage $ 99.95 Software Advantage Consulting
Corp. 37346 Charter Oaks Blvd.
Mt. Clemens, Ml 48043
(313) 463-4995 Italics Mtrtkt Character Generator t Jii'iii ?
Shadows, 3-D, strobe ? Adjust light depth and location ?
Italics, bold and underline fHZ Cast Cisit Fffdl
Tw fwtl t i a iitwfc taT VIA ¦- T i A Lrtrhjlk Light lirtctiN t*!1 r== HB1 Fctaitr ¦¦ Mmi Ail j_ IM1* ht Uje fcrfj L-! FlJttll lit* Cvefit filMtr turn ? Easy-to-use menus ? Select shadows, colors, lighting ? Choose palettes and colors SAVE 550,000! TV*TEXT brings capabilities of the most expensive character-generators to you and your Commodore-Amiga personal computer.
Pocket all that money while you create professional quality lettering for presentation graphics, or live video production with Genlock. TV*TEXT supports the mouse, medium high overscan screen resolutions, the full Amiga palette of 4096 colors, all IFF images, and NTSC PAL video standards.
LETTERING You can use any Amiga fonts, such as Zuma Fonts, workbench fonts, etc. Spacing can be adjusted and characters can be stretched, squeezed or even rotated! Text can be positioned with left right justification or centering.
Make titles exciting with rendering attributes such as italics, bold, underline, outline, edge, extrude (3D), cast drop shadows and strobes. Create attractive backgrounds using wallpaper or tile patterns. Then captivate your audience with special effects made by applying those attributes to lines, boxes, circles and ellipses.
If you want to make your picture look special, try TV*TEXT!
? Wallpaper or tiled backgrounds ? Stretch, squeeze, rotate text ? Brushes get rendered too ? Extruded (3-D) with drop shadow ? Horizontal lines with outline & shadow ? Different font styles and sizes Incredibly priced at: Zuma Group Other products by Zuma Group.
Developed by Zuma Fonts Vol. 1,2,3- $ 34.95 each TV*SHOW - $ 99.95 See your local dealer or call: Brown-Wagh Publishing 1-800-451-0900 1-408-395-3838 (m California) 16795 Lark Ave., Suite 210, Los Gatos, CA 95030 Amiga Is a registered trademark of Commodore-Amiga. Inc. TV-TIXT, TV-SHO’*' and Zuma Fools are trademarks of The Zuma Group.
The Ultimate Video Accessory Part II ’VA'tY yyy yy Vf Aiv v wAwy .MV yr y yy yjwyA yyAmVyeV.wyy y yyf i Vcvr. ;-x v XvvX'X’ xc-yx-x Xv vw-xccvC'ivXv;-Xv-x- t-x-Xv a- .-.-Xv x v ,c;•?
Adding computer graphics to your videos is easy, hut you must take careful steps to get the highest quality.
By Larry White You've seen videos ranging in caliber from home movies to your favorite TV shows; from professional business presentations to music videos and slick, lavishly produced commercials.
What makes some video productions more polished and exciting than others?
Computer graphics are part of the answer from the simplest title or "800 number" floating innocently over the action, to fully animated 3D graphics that can take you to places existing only in the imagination of the artist.
When properly used not overused computer-generated video effects can add a lot to a video production.
Video production houses may spend tens of thousands of dollars for computer graphics systems, but for only a few thousand dollars, you can generate many of these sophisticated effects with a Commodore Amiga and some sophisticated software. Programs for Amiga video applications range in price from under S50, to as much as S299.
Let's take a closer look at some of these applications, and the basic software, computer hardware, and video equipment you'll need.
Yt ; Titling and Character Generation You've just returned from an exotic vacation, and you've shot a few hours of exciting video with your new' Camcorder. When you show the tapes to your friends, they're polite, but you sense you never really grabbed their full Figure I: Simple title screen created using DeluxePaint II.
Text uses Zuma fonts for targe, clear titles.
Attention. Grabbing the audience with your opening shot is a good video technique. Let's boot your Amiga and add some touches that will make your friends ask to see your video again and again.
With a little imagination, you can use almost any program to create a title screen. Let's begin with the simplest title screen, a computer generated screen. You'll record the screen exactly as it appears on the computer monitor and insert in front of your original video (camera or Camcorder image), Normally, this piece is inserted as you copy and edit your video onto a second video cassette recorder. You should leave a few’ extra seconds of blank tape at the beginning, which you can later replace wFith the title screen. Most professional videographers do not record on the first 30 to 60
seconds of a tape, allowing for proper tape threading in the VCR and insuring that the machine is up to proper speed for copying and editing.
• AVI » - •S.f.n Ajir & Space Museum December1 i987 DtcenbeP 1987
Decenber 1987 December* 1987 Title screens should be simple,
with large text for easy reading because they appear for only a
few seconds (See Figure 1.). Any paint program can be used to
create a title screen, although I prefer one with good text
handling, such as Deluxe Paint II. I like to add larger fonts
(such as the Zuma fonts) for clean, easy-to-read titles.
Express Paint promises to fill this criteria with color fonts
available in their next version; I'll comment more after I try
it first hand. Remember, your final quality will probably be
far below what you're accustomed to seeing on an RGB Amiga
Many programs are specifically designed for video titling applications.
JDK Images CGI (Character Generator
1) , emphasizes crisp, clear type in bright colors with
appropriate shadow'- ing for emphasis (See Figure 2.). Up to
100 screens of information can be stored and cycled using
various transitions for effect.
Aegis Titler, TV Text, and Deluxe Titler (formerly Station Manager EF X) are all designed specifically for this type of operation. Some programs, like Deluxe Titler, offer animation capabilities w'hich let you fly text or graphics across the screen.
(You can get similar results with Deluxe Video, but you can do so much more W'ith this program that it will get special attention in another article.) Like most software, each program has strengths and weaknesses, as well as various price points. I'll go into each program in detail later in this series.
(continued on page 38) Now you can produce your own animated presentations on the Commodore-Amiga or video tape. Use any IFF pictures and over 50 exciting transitions including rolls, reveals, wipes, flys, fades, color cycling and more. Each picture can remain on screen for a preset time or until a keyboard entry is made.
Now really get fancy, Fly or wipe object brushes onto the screen. Experiment all you want you can play any portion of your script at anytime during your editing session! Incredibly easy. Lights, camera, ACTION!
SHOWCASE YOUR COMPUTER PICTURES WITH ¦ .
- - -i, .. TV*SHOW FULL COMPATIBILITY FOR FULL FLEXIBILITY
• TV*SHOW is compatible with Amiga 500, 1000, and 2000 models (1
• All IFF graphic formats including HAM
• Overscan screen sizes of over 700x480 pixels
• NTSC PAL video standards
• Genlock for video production Developed by Zuma Group Amiga Is a
registered trademark of Cbmroodore-Amigi, Inc. Incredibly
priced at: $ 99” Other products by Zuma Group; Zuma Fonts Vol.
1, 2, 3 - 534.95 each TV*TEXT - 599.95 TV'SHOW, TV "TEXT and
Zuma Fonts are trademarks of Zuma Croup, Inc. See your local
dealer or call: Brown-Wagh Publishing 1-800-451-0900
1-408-395-3838 (in California) 16795 Lark Ave., Suite 210, Los
Gatos, CA 95030 After you've created and stored your title
screen on disk, how do you transfer it to video tape, and what
kind of video quality can you expect?
Technical Considerations The amount of detail in an image is determined by the resolution. In video, the vertical and horizontal resolution are seldom equal, since they are controlled by different factors.
Vertical resolution is limited by the 525 scan lines of the NTSC video system. Since all these lines do not appear on the screen (They can carry test signals, closed caption information, even communications between TV stations.), the actual limit for vertical resolution is below 500 lines. Horizontal resolution depends more on the amount of information carried in the video signal (bandwidth), and other factors, like the interaction of colors and the precision of electron beams and phosphors.
The total amount of information which can be produced is calculated by multiplying the horizontal resolution by the vertical resolution. The result is the total number of picture elements (pixels) in the system. The more pixels you have, the more detail in the overall scene.
The Amiga controls its own resolution, at least when it loaves the computer. Amiga resolutions range from lo-res (320 horizontal X 200 vertical), to hi-res (640 h X 400 v).
Not alt software can work with all resolutions. The more resolution and colors in the image, the more Amiga memory you need to manipulate those images.
The Amiga offers a choice of resolutions, but your video recorder has a specific limit. Most consumer-grade VCRs can typically record between 200-230 horizontal lines, although the new super VHS and ED (extended definition) Beta recorders can record Figure 2a. Colors bars, placed on the tape before the first scene or title, let you adjust the TV or monitor for optimum performance. This one was made with Deluxe Faint II.
Details as fine as 400 or 450 lines. This isn't as bad as it sounds, when you consider the best current broadcast signals in the US don't exceed 330 lines of horizontal resolution.
Unfortunately, resolution is not absolute. If you copy an image with 640 horizontal lines onto a VCR with a maximum horizontal resolution of 250 lines, the recorded result contains less than 250 lines. This discrepancy is caused by signal loss in the cabling and other image factors. It's important to know the best you can hope for (in this example) is only 250 lines.
Another problem is that video information is stored on tape as an analog signal, unlike computer data which is stored digitally. Each copy is subject to quality loss, limiting the number of generations (copies of copies) which you can make with reasonable quality results.
You may have seen ads for digital VCRs; although they may deliver slightly improved picture quality, they arc just analog recording systems which use digital processing to provide a better picture and digitally processed special effects.
Of course, there's more to video image quality than resolution and pixel count. Color rendition and interimage effects can also affect the final picture.
Similar to resolution, the more generations you copy, the worse these effects.
Don't be disillusioned by the lack of quality in your video image. You must understand these factors, so you con control them and produce the highest possible quality your equipment allows. You can take easy and relatively inexpensive steps to improve the video image; You can use shielded cabling with gold plated contacts wherever possible, (continued on page 40) Softwood WRITE & FILE Integrated Word Processor Database Manager Multiple Font Styles, Spell Checker and Powerful Features make Write & File a SUPER Word Processor. The for Reports and Mail Merge ? Features unique “Smart Mouse”
and “L'ndo ? Search replace; headers, footers; hor vgrt. Rulers ? Prints in graphics (pretty) or text (fast) modes ? Includes over 100,000 word dictionary ? Supports foreign letters, paper size, currencies , I;®:-': ‘ Tint) Iliit) (City), liir (Tint), Thlfi m 1st ¦ 11 • •''Al Mriil I Tilt - ifct 3 rord rrw*l»r for Etnon Mriti i Tl if.j huhfi mmsirjj
d) mil mrjt.
Tiiy is t ft* t |0|S;!:sin*t r, Wit l»T til... ?!
1 Irrrv liSt!
Mt I Mri.
EifEtn mi * Unim Ya-jkatfks HI; 1 ( Alin
• itlliw C Fwl ill In* «*)!
(First) (list) jF (Address) Cj City), (State) (Zip) ? Views multiple database records at a glance ? Manages data in rows columns like a spreadsheet ? Sorts and searches on multiple criteria ? Calculates fields using math formulas ? Merges lists with documents for labels envelopes Hollo! Well tun*' In SartWaad'i Writ*- H._FUo f tht* hit cjjr.ilpii u.urr1 protpwar df*tnbj*ir mnuawrr!
Fur lh t C.oomnxlcn-r- Writr a Pit* hat ihr fraturf** you whould Expert ti-nm a high i|imlity word proctminn progrjHa.
PtirnRrzcphw are lannatcil tiling th« iccmv nrtnuui the window. Margin* anti Indent* ore wot with the top ruler. Juetlf trillion It del lord with the Icons on the upper right side of the ruler* "Smart MoiekV* pointer* .e.wUt you hi your work.
Text styles wicli os hold, Italic*, .tint oinlci.'JIue. nr nny rimlmuitina may hu utml uluriff with bcfCtrtni (unit m fciffrrrn! Aizrs.
ThM'l' in a 1*0 Shim- and BcriplinR.
Writr a File bw search, irpl.ur, q IDG.QRti word •.prlUng checker. Mull merjje. Dnr-umKUt t .itiilicit, tab 4topi, rulers, readability index.
I,rmly. Foolery_=ipAJj ilb-'nfirr. . ’__ WYSIWYG uses any Amiga font styles and sizes Manage lists while writing document The First to Provide a DOCUMENT READABILITY INDEX!
See your local dealer or call: Incredibly priced at: $ 99* Brown-Wagh Publishing 1-800-451-0900 1-408-395-3838 (in California) 16795 Lark Ave,, Suite 210, Los Gatos, CA 95030 Amiga is a registered trademark of Commodore-Amiga. Inc. Write & File is a trademark of Softwood Company.
And use the shortest possible cables throughout your system. If you want to go a step further, an under-$ 70 signal booster (often misnamed "enhancer") can cut down on signal losses when making copies.
There are also more expensive ways of processing the image which will be discussed in another article.
VCRs for Desktop Video A more immediate concern regarding our desktop video applications is the quality of the video image when you stop and start the VCR. Many VCRs produce a short burst of video noise when you start a new recording. This would cause an unacceptable result each time you cut (switch) to a computer-generated graphic. To understand why this happens, we need to discuss how VCRs record images.
An audio recorder works in linear fashion. The tape moves across the magnetic recording head in a straight line. The faster the tape moves, the more information you can record because more magnetic sensitive media (audio tape) passes by the head at any given time. Unfortunately, video information is much more complex than audio, and video must also contain a sound track to be effective.
Here's the catch: To erase any existing information on a tape before recording new information, the tape passes by a special head called an "erase head."
In most consumer VCRs, this head is stationary and can't erase To capture all this information on a moving tape, the tape must either be extremely long as compared to the same play time for audio, or very wide (Professional video is often recorded on one inch tape.). Wrapping the tape around a drum at a slight angle and spinning the heads as the tape travels past the drum is with enough precision along the helical path. The solution involves using a "flying erase head" which spins along with the normal recording heads. Although the technology is rather simple and straightforward, it can add
unnecessary expense for a feature not needed for most applications (which is why these heads are often not included in today's highly competitive models). See Figure 5 for a comparison of normal and flying erase heads. Most 8mm recorders, and many top of the line models in all formats, offer flying erase heads. If you're buying a VCR for desktop video, I'd strongly recommend you insist on this feature.
If you already have video equipment, or can't afford to go after the more expensive models, you can still create clean edits. Whenever possible, keep the recording VCR in record mode, using the pause control (instead of "stop") to freeze the tape between scenes. Use a video switcher to cut from one video source to another without stopping the record operation, Some of these units even offer signal processing and special effects (fades, wipes, and dissolves).
Another solution. By placing several heads on the drum, you can pack information tightly on the tape diagonally, known as helical recording.
The audio track is still recorded in a linear fashion using separate heads placed along the edge of the tape path.
(Sec Figure 4.) This can be used to great advantage, since many VCRs feature audio dubbing, which lets you replace the sound track independent from the video. Some VCRs advertise stereo sound; a second sound track is recorded helically between the video tracks, but when you audio dub, only the linear sound track is replaced.
Now that you have a better understanding of how the VCR works, let's discuss how to get the video image Video Heads Video Tape Figure 3a. Recording heads are shown relative to drum and tape.
The bottom drum is stationary with a sloped guide to help the tape cross the drum at an angle.
Only. On all three Amiga models, you'll be better off if the video signal is taken from the RGB port; although to be recorded, the signal must first be converted to NTSC composite video.
I i Audio Head Audio Track Tape Movement u ’Ow % r-'- . -• J"''
J. . i i ':V, Control Track Control Head Figure 4. Video
information is stored along diagonal tracks, while the audio
track is linear along the top.
The VCR uses a control track to adjust playback speed to mutch recording speed precisely.
Several devices fit this purpose. I've been using a prototype of Commodore's A520 Modulator which converts RGB to composite video, or mixes the image with the audio output to produce an RF (radio frequency) from your Amiga to the VCR. The specific hardware is somewhat dependant on which Amiga you use, but the principles involved are basically the same. A1000 users need a composite NTSC video output jack as part of their basic equipment. Much has been written about the overall quality of this output jack; it's good enough for most non- critical purposes. It is electrically 100% compatible with
the video-in jack on your VCR, although sometimes you might need to change the connectors on the end of the cables. The stereo audio outputs are also compatible, but if you're not using a stereo VCR, you'll have to tie them together the same way you would use your Amiga 1080 monitor.
The A500 and A2000 also have NTSC video output jacks; however, on these models, the output is black and white signal. You need this signal if you're using the Amiga with a television set or an unusual VCR that doesn't have a composite video input. Rating the signal quality from best to worst, they are RGB, NTSC composite video, then RF.
The Commodore modulator is designed for people who want to use an Amiga with a monitor that doesn't have analog RGB inputs, and accordingly, they don't have an RGB passthrough. To monitor what you're doing on the computer, you must use a standard video monitor. If you're using the Amiga 1080, you can switch it to composite video, but you must connect the video signal to the composite video input on the monitor's back. Remember, the image won't be nearly as sharp as you've learned to expect. If you're planning to use any complex graphics, design and store them using the RGB interface,
turn off the computer, connect the video interface, and reboot.
Many A1000 users are already using the Commodore Genlock device for video output. With genlock, you can synchronize your Amiga graphics to an incoming video signal and have them both on the screen and in your video recording at the same time. Cenlock is one of the most exciting techniques in desktop video, and I'll go into much more detail in a future installment.
Even without using the genlock feature, several of these devices offer composite video out and RGB passthrough to your Amiga monitor. Mimetic's AmiGen is an undor-S200 genlock device with RGB and NTSC composite video output that works with all Amigas. I received AmiGen just as I was closing out this article and look forward to trying it out.
(continued) !f you haven't purchased your VCR, there are a few more technical points to consider. A few VCRs have a jog mode which lets you move back and forth one frame at a time.
These VCRs are usually professional or top-of-the- line models and tend to be expensive side. Frame advance is usually controlled by a large knob on the front of the VCR. This is a handy feature for editing video.
!$ II I II I 1 m I 1 I m If you're planning to do a lot of video editing, you'll want several VCRs which can be connected to an edit controller, which allows you to work several VCRs from a single set of controls. The Amiga itself may become your edit controller in the near future, as the hardware and software become available.
If you want to push your Amiga's capabilities to the maximum, you'll want a VCR which can record a single video frame. Creating a number of frames, one at a time, and recording them individually on the VCR lets you stretch the Amiga's capabilities even further. You can create complex computer graphics using all the tricks, regardless of how long it takes the Amiga to draw the final image. Some complex images using ray trace techniques, especially with anti-aliasing subroutines, can take several hours to complete.
Very few VCRs have still frame capability, but both Panasonic and Sony have models with both still frame recording and jog mode. The Panasonic AG1950 (VHS) and Sony SL- HF10G0 (Super-Beta Hi-fi) each sell for about SI000.
Even with far less sophisticated VCRs, the Amiga can do a lot to enhance vour videos. Next time we'll take a closer look at some of the available software as we begin to make a video.
• AC* Aegis Tiller Aegis Development 2210Wilshire Blvd. Suite 277
Santa Monica, CA 90403 CGI By JDK Images PVS Publishing 3800
Botticelli Suite 40 Lake Oswego, OR 97035 Deluxe Paint 11
Deluxe Tiller Deluxe Video Electronic Arts 1820 Gateway Drive
San Mateo, CA 94404 Express Paint PAR Software Inc.
P. O. Box 1809 Vancouver, WA 98666 TV Text Zuma Fonts Brown-Wagh
Publishing 100 Verona Court Los Gatos, CA 95030 Hardware:
Ambico Inc. 50 Maple St. Norwood, NJ 07648 Commodore-Amiga
Inc. 1200 Wilson Drive West Chester, PA 19380 Panasonic
Company Matsushita Electric Corp of America One Panasonic Way
Secaucus, NJ 07094 Sony Corp of America Sony Drive Park Ridge,
NJ 07656 PACKED WITH POWER!
Three of the BEST utilities for your AMIGA ZING!® is a collection of AMIGA® utilities which combine the powerful CLI commands with the friendly Workbench environment. Files can be displayed and manipulated (e.g. copying, moving, deleting) with the mouse. All of the basic system commands (available in CLI) have been carefully redesigned into mouse, menu, and function key operations. You can selectively copy files and directories from entire disks in a single step! In addition to enhancing and simplifying the normal capabilities, ZING! Provides an integrated collection of new tools for the
AMIGA. Included are a task monitor, print spooler, screen dump tools, and much more! Everyone, from the beginner to expert, will find using the AMIGA easier and more productive with ZING!
$ 79.95 ZING!Keys®is a sophisticated reprogrammable MACRO and Hot Key program. A program which can be used with any programs in the multitasking environment. You can train ZINGIKeys to accomplish the most annoyingly repetitive tasks in a much easier fashion. You can program any key stroke to type out any series of commands or text. You can even record mouse movements and play them back as a single key stroke! All MACROs and Hot Keys can be used from within any multi-tasking program on the AMIGA. Save time NOW by ordering ZINGIKeys!
$ 49.95 How many times have you demonstrated your AMIGA to your friends or potential buyers? The Demonstrator is the answer to your dreams! This new product will record your demonstrations and allow you to play them back automatically! You can add text windows, subsections, and speech to produce sophisticated tutorials. You can control the speed or STOP the playback, or lock out the keyboard so no one can interfere with the demonstration. You can cause the demonstration to repeat itself automatically! Buy The Demonstrator today! Only $ 39.95!
Y MERIDIAN SOFTWARE MilNC.H
P. O. Box 890408 Houston, TX. 77289-0408
(713) 488-2144 Credit Cards and Dealer Inquiries Welcome!
AMIGA is a registered trademark of Commodore-AMIGA. Inc. ZING! Is a registered trademark of Meridian Software, Inc. We are a Dallas Distributor exporting to customers in over 20 Notions around the globe.
Call us todoy at 1-800-531-4747 (Overseas call 214-6601763) and ask for your Dealer Kit I Here is just an overview of some of the AMIGA products we slock.
==PRACTICAL PERIPHERALS BV Hayes compatible 2400 Baud Modem Smart products for a smart Computer: The first intelligent Diskdrive for fhe Amiga !
This drive serves as DF1; or DF2: A special intelligent mode allows to disable the drive and regaining some memory without disconnecting the drive !
Compatible with A500 A1000 and A2000.
Users : Call for Info and Dealer next to you !
TEC fr fitter Master Flicker Master Reduces Interlace Flicker dramatically.
For the price-conscious customer who doesn't want to buy a high persistence monitor.
Huge Print If you like it B I C this is it; print Up to 8.5 x 13 feet ... I LASER SOUND PCM-Sound samples for the AMIGA !
IFF format; compatible with most Sound editors for fhe Amiga !
InterCompuling Inc 2100 N. Hwy 360. Suile 2101 Grand Prairie. IX 75000-1015_ Order line: 800-531-4747 Technica Support: 214-988-3500 Inter notional calls: 214-660-1763 Tele* jl : 4932133 IclNCUl FAX ; 214-660 3695 We stock a full line of Amiga soft ond hardware since 1985. When the mochine was first introduced, and serve customers in more than 20 Nations around the world. Most of olt employees own on Amiga ond use the available products.
We may be new to you, but we're experienced with the Amiga !
Check our prices, and you’ll see that we try to be quite fair. Good products ore worth the money, ond you will not be disappointed with our service.
We are a member of the Dallas Setter Business Bureau.
City Desk Lots of desktop publishing al a small price !
FStarboard2 Memory cords; r 11 Versions for the A500 A1000 and A2000 Microbotics BV TEC Smart products for o smart Computer.
Very powerful conversion & processing utility for ¦y digitized graphics !
Slid more (please call for a complete catalog) SomUpft SID) and ANIMATE 3D Great looking Midi Interface (hot fits all AMIGAs. Simply use different cab es to connect the Unit to the CPU.
Because it’s less expensive to tune one MIDI with two cables than 2 different MIDI interfaces!
VIIDI-X Port II Accessing the Blitter By Gerald Hull "... From all we have learnt about the structure of living matter, we must be prepared to find it working in a manner that cannot be reduced to the ordinary laws of physics."
Erwin Schroedinger, What Is Life?
In 1970 mathematician John Horton Conway created 'The Came of Life," a mathematical recreation based upon cellular automata theory. Life generates a special universe of objects exhibiting complex and seemingly unpredictable behaviors. In addition, Life illustrates principles being applied today to fields as diverse as cosmology, particle physics, and thermodynamics.
Part I of this article discussed the origins of Life in cellular automata theory, its rules, its history on the Amiga, and some of its curious properties and implications. In Part II, we continue by taking a detailed look at the efficient use of the Amiga blitter.
The Valley of the Docs As the world is gradually discovering, the Amiga is a remarkably sophisticated machine. End users have a harvest of software to choose from, but the programmer confronts a formidable learning curve. There is helpful documentation available for programmers, of course (most notably provided by Commodore).
To learn how to use the blitter, you will find a great deal of useful information in the AMIGA Hardware Manual. If you have the Addisr n-Wesley update AMIGA Hardware Reference Manual all the better. It was extensively rewritten and updated, and contains some illuminating diagrams. At the same time, it contains some very misleading language, which has conspired to give the blitter a kind of "occult" status.
For example, at one point the manual states, "Although the hardware deals in words for pointers and modulos, the values loaded into these hardware registers from the 68000 are treated as byte counts." (p. 170) "What else loads values into those registers?" I wondered. Here's what the sentence really means: The addresses and offsets you provide must be even numbers.
(continued) Similarly, the discussion of the bitplane addresses strongly suggests that they must be split into two halves: 'The pointer for source channel A has two register addresses.
BLTAPTL contains the low-order part (bits 15-0) and BLTAPTH contains the high-order part (bits 18-16) of the pointer address." (p. 168) As a result, even some of the most illuminating public domain source involving the blitter laboriously splits bitplane addresses into two halves. That's completely unnecessary. As the LIFER code makes clear, the bitplane addresses fed to the blitter registers can be treated as 32-bit longwords, just like any other 68000 addresses.
Here, as anywhere else, I've found the best approach is first to read all the documentation and examples you can find.
Then add a judicious amount of common sense. This usually restricts the possibilities sufficiently enough so experimentation ("Dancing with Mr. G") can yield a solution.
Anyway, that's how I got LIFER to work.
Banging The Registers Presumably, the only absolute address in AmigaDOS is ABSEXECBASE at 0x00000004. Actually, all the blitter registers arc also available as offsets to a specific address = CUSTOM = OxOOdffOOO. You do not actually use that number, of course (ha ha). AMIGA.LIB supplies the right value to the linker for an assembler XREF to " custom" or C reference to "custom."
The CUSTOM.H and CUSTOM.I files list all the blitter registers. When included in your program, they automatically provide the proper offset values. People who should know say there are registers here that nobody has ever used.
The LIFER program uses only a few of them. The AMIGA Hardware Manual discusses a number of additional registers and capabilities.
The blitter registers used by LIFER are listed in Table 1.
BLTCONO and BLTCON1 contain a variety of special flags the program packs together into one long word, CON.
ASHIFT and BSHIFT will be discussed at length later.
USEA, etc., tell the blitter whether or not to regard the value of BLTAPT, etc., as a bitplane pointer. They're obviously needed because zero is a valid address.
The MINTERM is the logical function of source bitplanes A, B, and C which you want put in destination plane D. Make sure that if USEC is 0, for instance, your minterm does not distinguish between C and not-C. In other words, the minterm, 0x80 in this case, would be defective because, when A and B are both 1, the value of D would be contingent on the value of C. (bitplane use) 1 110 D ABC 1 ill (should be 1) 0 lio 0 10 1
o 10 0 0 Oil 0 0 10 0 0 0 1 0 0 0 0 BLTxPT (x = A,B,C,D) are
pointers to the bitplanes involved in the blit. As noted, they
should be even values; like the 68000 stack pointer (SP = A7),
they do not admit odd counts. If the addresses you poke in them
result from standard AmigaDOS memory allocation routines (such
as AllocMem and AllocRaster), you are guaranteed even values.
BLTxMOD (x = A,B,C,D) represent "modulos," necessary for dealing with subportions of images. They specify how many bytes of memory the blitter should skip over before it grabs the next sequence of pixel values. Since the blitter deals with words only, these modulos must be even, too.
Finally, the BLTSIZE word tells the blitter how much memory to move. The first 10 bits provide the number of rows to move, each to consist of the number of words given in the last six bits. If you have specified a non-zero modulos, the blitter then skips that specific number of bytes before grabbing the next row. BLTSIZE is quite special.
The movement of a value into this register is what actually triggers the blit.
Dancing in fhe Web The male black widow spider, looking for romance, must be very careful when he enters the female's web. To avoid being mistaken for yummy prey, he approaches by stepping in a peculiar rhythm. You must approach the blitter on the Amiga in the same way. The multitasking operating system constantly uses the blitter for other purposes. If you make a false step, Ms. Black "Guru" Spider eats your program.
Consequently, AmigaDOS provides procedures that can ensure your blits are "harmless." The basic sequence is represented by the following C code fragment: OwnBlitterO; for (i = 0; i NUMBER_OF_BLITS;!++) WaitBlifO; FUNCTIONJHAT INVOKES_THE BUTTER(&BUT NODE); I WaitBlifO; Disown BlitterO; The functions OwnBlitterO, WaitBlitO, and DisownBlit- terO are all supplied by AMIGA.LIB. The first gives your code exclusive rights to the blitter; the second makes sure any preceding blit has finished; and the last relinquishes those rights back to the operating system.
The FUNCTION_THAT_INVOKES_THE_BL]TTER consists of a sequence of assignments to the blitter registers which define a particular blit, culminating in an assignment to BLTSIZE: struct Custom ‘chip = (struct Custom *)0xdff000; void FUNCTION JHATJNVOKESJFIE_BLITrER(node) Blit_node_structure ‘node; chip- bltcon0 = node- blfconO; chip- bltconl = node- bftconl; oll other blitter register assignments chip- bttsize = node- bltsize; * this makes it happen] 7 } I've oversimplified somewhat. You must pay more attention to data types and conversion of operandi than this example shows. Nonetheless, once
you've hacked out those details, a C routine equivalent to the one above is quite sufficient to make the blitter dance to your rhythm (and not eat your code).
LIFER follows a somewhat more complicated and supposedly more "proper" approach to invoking the blitter.
AmigaDOS has built-in machinery for managing and scheduling blitter use. This makes sense for such an essential and limited resource. (This approach is described starting on page 2-62 of the old ROM Kernel Manual, Volume 1. I'm not sure how the Addison-Wesley version handles it.)
Instead of directly accessing the blitter, the program sends the AmigaDOS routine QBSBlitO a pointer to a special data structure. In tum, this structure includes a pointer to the actual routine Qdoblit) that bangs the registers. QBSBlitO queues up this request to use the blitter, and calls doblit when its turn comes up.
A Structured Approach The data structures used in passing information are essential to understanding this reliance on QBSBlitO. The Ami- gasDOS routine expects a pointer to data in the following format: struct bltnode struct bltnode 'n; inf (*function)0; char stat; short blitsize; short beamsync; int ('cleonup)O; ): The include files BL3T.H and BLIT.I contain this definition of BLTNODE. The only structure elements needed for LIFER are FUNCTION and BLITSIZE; the rest are initialized to zero. FUNCTION gets a pointer to the assembler routine doblit, and BLITSIZE gets the size of the blit
encrypted the same way as for BLTSIZE.
How does doblit get the data it needs for banging the registers? By making BLTNODE the first element in a larger structure, called L1FEBLTNODE, it is possible to "piggyback" that information so doblit can get to it. LIFEA.ASM has the assembler version of LIFEBLTNODE; LIFER.C has a C version. The assembler version contains an extra element (DUMMY) to compensate for the fact that C structures arc built to longword boundaries.
QBSBlitO was designed to allow the programmer to concatenate a sequence of related blits. When control returns to QBSBlitO from your FUNCTION, it checks the return value, which, in AmigaDOS, means the value in register DO. If that value is non-zero, your routine is immediately called again.
My assembler routine _doblit takes advantage of this feature and uses the amount in REPEAT in LIFEBLTNODE to determine how many blits are required to complete the task at hand. Before calling the FUNCTION, QBSBlitO very conveniently makes sure register AO points to the start of the CUSTOM registers (SOOdffOOO), and AT points to the BLTNODE (actually, LIFEBLTNODE) structure that it was given.
So, all _doblit needs to do is keep banging registers and decrementing the initial REPEAT value until the REPEAT value reaches zero. Since all the LIFEBLTNODEs required for a sequence of blits have been put into an array, _doblit simply increments an array INDEX pointer to get the data for subsequent blits. An additional variable, DZIP, is required because the assignment to BLTSIZE scrambles the DO register.
The drawback to using the value returned to QBSBlitO to perform a whole sequence of blits LIFER needs 14 to complete a Life generation is the impact this has on multitasking. For example, if you attempt to use CLI at the same time as LIFER is churning away, you find a significant delay between responses to your keystrokes.
I’ve Got Algorithm The wonderful people who read and remember Part I of this article may raise their eyebrows at the assertion that LIFER needs 14 blits per generation. Am I not the fellow who bragged about doing a Came of Life generation in merely nine blits?
The explanation is five of those blits are needed for setting up the wraparound feature of LIFER. If you dispense with this "toroidal" effect, as docs Tomas Rokicki in his version of the Game of Life (Fred Fish 31), those five extra blits can be eliminated. I find the wraparound version more aesthetically satisfying. Regardless, the techniques required for providing that feature reveal some interesting aspects of blitter use, Before going any further, however, let me point out I have taken these techniques (and much else) from a publicly released source fragment of Alonzo Gariepy's program
FASTL1FE. Indeed, most of the code in LIFER.C comes either from Gariepy or Scott Evemdon. As Rosalind Franklin, whose work was crucial to the discovery of DNA, once said, "We all stand on each other's shoulders."
The approach takes advantage of the fact that the state of a cell ("living" or "dead") is mapped onto the screen image which represents it (some Is or all Os). Consequently, any logical operations performed on the copy of the screen are equivalent to operations on a two dimensional boolean array representing a borderless Life universe.
The basic idea of the wraparound screen is if you go off one edge, you show up in the same relative place on the opposite side. A lot of computer games, most notably the (continued) Table One Blitter (Custom) Registers Used By LIFER Remarks
(a) Bits in a 68000 word are numbered from least significant bit
(LSB = 0) to most significant bit (MSB =
15) ; when read from left to right, however, the MSB is
(b) When set (= 1), the blitter uses the bitplane.
When clear (= 0), it won't use it. (See LIFER.C.)
(c) These addresses, as with any addresses generated by the
blitter in the course of a blit, must lie in the range
0..524288 (0x0000(1..0x80000), or "chip memory,"
(d) Since 2**10 = 1024, as does 2**6 * 16 (bits in a word), the
blitter has the inherent capacity to handle IK x 1K
resolution images, REGISTER ADDRESS SIZE PART FUNCTION
bltconO 0xdff040 word: bits 15-12 bit 11 bit 10 bit 9 bit 8
bits 7-0 ashift usea useb usee used minterm amt to shift
a-plane (a) should a-plane be used? (b) should b-plane be
used'7 should c-ptane be used?
Should d-plane be used'?
Logical function of a.b.c bltconl 0xdff042 word: bits 15-12 bits 11-0 bshiff other amt to shift b-plane bltafwm 0xdff044 word a-plone first word mask bltalwm 0xdff046 word a-plane last word mask bltcpt 0xdffC48 longword c-plone ptr even byte address (c) bltbpt 0xdff04c longword b-plane ptr even byte address bltapl 0xdff050 longword a-piane ptr even byte address bltdpt 0xdff054 longword d-plane ptr even byte address bltsize 0xdff058 word: bits 15-6 bits 5-0 height width plane height In pixels plane width in words (d) bltcmod Qxdff060 word c-plane modulo blIBMod 0xdff062 word b-plane
modulo bltcmod 0xdff064 word a-plane modulo bltcmod 0xdff066 word d-plane modulo oven byte amount oven byte amount oven byte amount oven byte amount Asteroid™ variants, use such a screen. It's also called a toroidal screen because it is topologically identical to a doughnut or teacup. If this does not make sense to you, don't worry.
0000000000 0123456780 0812345670 0781234560 0678123450 aooooooooo 5678123456 8123456781 7812345678 6781234567 5678123456 8173456781 In order to get wraparound results with the blitter, we first prepare a special copy of the bitplane currently displayed on the screen. We blit the 320 x 200 pixel image into the center of a 352 x 210 bit area of memory, As a result, the copy is bordered on right and left by an extra word, and on top and bottom by five extra lines. (Five are needed for the largest "critter" comprising a Life cell.)
Next, wo blit the top five lines of the image into the space after the bottom, and the bottom five into the space above the top of the image. We then do the same with the word- wide strips on the left and the right of the image, The result is an "expanded" copy of the original screen: This uses up the first five blits. If you study the code in the InitBlitO routine in LIFER.C, you see how the bitplane pointers, modulos, height, and width variables all work together to generate the desired blits. Since a plain "vanilla" copy from source A to destination D is wanted, the MINTERM is A TO D, and
USEB and USEC are set to zero for these blits.
When we calculate the next Life generation, we are assured every cell in the original 320 x 2(10 screen including those on the edges will have valid neighbors on all four sides in the expanded version. We are ready for the nine blits that actually calculate the next generation.
• AC- WARNING: Independent test results have determined that this
game is habit forming.
Fourth and goal on the two. Ten seconds left and you’re down by five. The roar of the crowd is deafening as you scan the defense. Something’s not right. You call an audible...that special play you’ve been saving for a moment like this. You fake a hand off to the fullback up the middle and drop back to pass, but nobody’s open. You roll left, pursued by a 270 pound defensive lineman. Finally, the fullback breaks clear in the end zone. You squeeze a bullet between two defenders as your fullback cuts back to make the catch. The scoreboard lights up as the crowd goes wild...TOUCHDOWN!!
This is GRIDIRON!™, the most realistic football simulation ever developed for a micro- I computer. GRIDIRON! Is TACKLE football played in real-time. Call a play from the Playbook, % | or design your own using our Play Creation Utility. You control the action with five levels of play, I | real time graphics, digitized stereo sound and an unprecedented level of game interaction. U I Experience the game that’s winning rave reviews from players and critics alike. F I GRIDIRON!, the ultimate football simulator designed to unleash the power of your Amiga.
Nothing else comes close. R ££M||0| Requires 5I2K. For one or two players. Soon to be available for the Atari ST =¦ Amiga is a trademark of Commodoiv-Aadga, lac. C 1986 Bethesda Softwotks _=. 9208 Burning Tttt Road, Btlhesdi, Maryland 20811 (301) 469-1061 lb order, call 1-800-245-4525 ELECTRONIC ARTS' syMvrto'Ny music vi&eo SYMPHONY MUSIC VIDEO continuously displays pictures and plays music.
At the end of a selection, another picture and music piece is loaded. The music and pictures arc alt in IFF format so you can modify ours with your favorite Paint or Music program or use your own music and pictures and create your own MUSIC VIDEO. You can even have your MIDI synthesizer play the music.
The MUSIC VIDEO that is included is perfect for the Christmas Season. Traditional Christmas scenes and music are continuously played. Fun to listen to and watch.
Adds to the best of seasons. $ 24,95 Symphony Songs Ready to Play Music For (Delude Music, Music Studio,, Soni?c A library of nearly 1,000 music masterpieces ready to play with your favorite music program. All selections are in both IFF and MUSIC STUDIO format. Space does not allow listing all songs in each volume, however, a few titles, the number of songs, and the total playing time is given.
Complete list of songs $ 3.95. Each volume is $ 24.95 and includes the complete list.
BEATLES Pari 1 Vo! 15 (21 Pieces 40 Min) Let II He, Yesterday, Eleanor Rigby. When I'm 64, . . .
BEATLES Pan 2 Vol 40 (15 Pieces 40 Min) Magical Mystery Tour. Lucy In The Sky With Diamonds, Penny Lane. . . .
CLASSICAL Part I Vol 27 (18 Pieces 40 Min) Prelude 1, Moonlight Sonata 1st and 2nd Movement. . .
CLASSICAL Part 2 Vol .14 (11 Pieces 40 Min) Sonata In C Major, Jesus Joy Of Man’s Desire,. . .
CLASSICAL Part 3 Vol 11 (14 Pieces 35 Min) 1st Piano Concerto, Polonaise Sonata In C Major, Elude 1, . . .
CLASSICAL Pari 4 fBach) Vol 15 122 pieces 30 Min) Two Part Invention 1. Three Part Invention 6.
Prelude and Fugue 1. . . .
CLASSICAL Part 5 (Bach Clcmenli) Vol 46 24 Pieces 50 Min) Choral 1, Sonata 1, Theme and II Variations From The 2nd Sonata, . . .
BEETHOVEN, BROADWAY, & BLUES Vol 38 (15 Pieces 40 Min) 2nd Movement Of the Pathetique Sonata, Minuet In
G. Fuer Elise, . . .
COUNTRY CLASSICS Part 1 Vol 41 (15 Pieces 45 Min) Thank God I’m aCountry Boy, Act Naturally,, . .
ROCK Part I Vol 32 (19 Pieces 50 Min) AXF.L F. Eve Of The Tiger, Both Sides Now, ROCK Part 2 Vol 16 (20 Pieces 40 Min) Georgy Girl, Guantanumcra, Theme From "'Love Story," Cherish. , , 80's GREATEST Vol 24 (15 Pieces 50 Min) Hill Street Blues Theme, Chariots Of Fire Theme, Dynasty Theme. . . .
JO's GREATEST Vol 12 (19 Pieces 45 Min) Tie A Yellow Ribbon On The Old Oak Tree, We've Only Just Begun, . . , 60's GREATEST Vol 13 (i9 Pieces 45 Min) Windy, By The Time I Get To Phoenix, Come Saturday Morning. . . .
GOLD A PLATINUM HITS Vol 45 (19 Pieces 60 Min) Thriller, 99 Luft Balloons. California Girls, . . .
KENNY RODGERS HITS Vol 39 (12 Pieces 45 Mini Lady, Ruby, She Believes In Me, TheGambler,, . .
BILLY JOEL GREATEST HITS Voi 43 (17 Pieces 65 Min) Piano Man, Say Goodbye To Hollywood, Only The Good Die Young, . . .
COUNTRY ( LASSU S Part 2 Vol 42 (13 Pieces 50 Min) Ode To Billy Joe. Me and Bobby McGee. Country Roads, . . .
TV THEMES Vol 37 (21 Pieces 35 Min) Hill Street Blues, St. Elsewhere Theme, Masterpiece Theater Theme. . . .
MOVIE THEMES Vol 19 (16 Pieces 40 Min) MASH Theme. The Rose, Can You Read My Mind (Superman), . . .
BROADWAY’S THEMES Vol 47 (25 Pieces 65 Min) The Last Supper, Dr. Doolittle, The Old Dope Peddler. . . .
CHURCH MUSIC Vol 23 (26 Piece 50 Min) Amazing Grace, What A Friend We Have In Jesus. , . .
BARBERSHOP Vol 22 (22 Pieces 45 Min) Hello Dolly, Put On a Happy Face, Hey Look Me Over, . , .
RICHARD RODGERS SONGBOOK Vol 18 (19 Pieces 40 Min) Climb Evert' Mountain, DO-RE-MI, The Sound Of Music. . . .
NOSTALGIA Vol 17 (22 Pieces 45 Min) Let MeCati You Sweetheart, Ain't Misbehavin*. On The Goodship Lollipop, . , .
CHRISTMAS Vol 36 (24 pieces 50 Min) O Little Town Of Bethlehem. Let It Snow, March Of The Toys, . , .
POLKA PARTY Vol 33 (17 Pieces 40 Min) Happy Polka. Pizzacato Polka, Betty Polka, We accept CASt I. CHECK, COD, VISA and MASTER CARD orders.
WS4- 5© Deaief Inquires Invited Shipping and handling US and Canada . SL(tl) Shipping and handling outside the US and Canada ... 55,00 COD t harge ... S2.00 Illinois residents add b' j% sates tax.
Deluxe Music Construction Set is a trademark of Electronic Ans. Sonix is a trademark of Aegis, gl g ddj2d£.cfz » 'IQU 'JPC nCCDDATU DH A H 38W255 DEERPATH ROAD BATAVIA, ILLINOIS 60510
(312) 879-6880 Music Sludio is a trademark of Activision.
Digital Music Generation by Rick Rae CIS (76703,4253) The Amiga's software can be viewed as a series of layers: WorkBench and the CLI "sit on top of" Intuition and AmigaDOS, which in turn rely on the Exec routines, and so on. Digital music generation can be broken down in the same way: one layer processes a sequence of instructions notes, instrument changes, and so on; another layer controls the creation of the various timbres used; another handles the actual tone generation.
This month we'll take a look at the lowest level, the actual tone generation process.
In a digital audio system, sound is created by generating a series of values at specified intervals, These values are converted to voltages by a Digital to Analog Converter (DAC), then passed through a lowpass filter to remove unwanted remnants of the digital signal generation process.
The sequence of values determines the timbre, or tonal quality, of the sound.
For example, if we generate a set of high values alternating with a set of low values, the result is a square wave. Devoid of even harmonics, a square wave has a hollow sound reminiscent of a clarinet. Repeating a set of continually rising values, on the other hand, results in a rising sawtooth; a true sawtooth contains all harmonics and has a sharp timbre distantly related to bowed strings.
No matter what waveform we want to produce, there are two ways to generate the signals: real time and precalculated.
REAL TIME SIGNAL GENERATION The most obvious way to generate these signals is to calculate them in real time. The CPU, or dedicated hardware, performs the necessary calculations during the interval between samples, then sends the value to the DAC at the appropriate time.
This method has one serious problem: overhead. For anything beyond the simplest waveforms, a CPU like the 68000 simply can't calculate the samples quickly enough. What we need is an approach which insulates the CPU from the time limitations of real time generation, PRE-CALCULATED SIGNAL GENERATION One solution is to do the calculations before we need them, Hal Chamberlin was one of the first microcomputer enthusiasts to experiment with this approach. He knew of several methods which could produce remarkably realistic sound, but most required more CPU horsepower than was available in
microcomputers at that time. In an experiment he used one of these methods to generate organ tones, Hal gave the CPU as much time as it needed to calculate each value, allowing the program to write the results slowly to mass storage. Once the calculations were completed, a much simpler program could spool each value from disk to the DAC, completing the process.
(continued) TABLE LOOKUP A more manageable approach is the table lookup method. Instead of computing an entire composition, the program calculates one or more cycles of a waveform and places it in a table in memory. The playback program moves a pointer through this table, retrieving values and sending them to the DAC. When the pointer reaches the end of the table, it loops back to the beginning. By changing the number of values in the table, we can change the pitch being generated. If we hold the table size constant, there are two other ways to vary pitch. One method is to change the rate at
which the pointer is advanced; the other is to advance the pointer by values other than one.
Amiga sound software normally uses a hybrid approach, combining two of these techniques. To select pitches within one octave, we vary the rate at which the pointer is advanced. To select the octave, we change the table size, (Each octave has its own table, and each table has half as many entries as the one for the octave below it.)
The Amiga, a very flexible system, can utilize all of the sound generation methods mentioned so far. The sound hardware can be set up to loop continually through a waveform table in memory, automatically advancing the pointer and generating values so the CPU can proceed with other business.
Or the table can be made very large and the looping disabled, allowing a complete sound sample to be scanned.
The special hardware can even be bypassed, allowing the CPU to generate values in real time. Most programs which turn the Amiga into a musical instrument use a variant of the table lookup scheme.
SETTING THE TABLE Now that we've examined the mechanics of getting the sound out of the audio jacks, let's back up a level: How do we set up the table and calculate the real time values? Here we have a huge number of approaches available. This is an area where experimentation is still valuable. The rest of this column will describe some of the more popular methods, as well as a few which are new and intrigu- ing.
SAMPLING The sampling method is probably most familiar to Amiga owners. Here we digitize a live or recorded sound, converting it into a string of digital values which become the waveform table. Looping a single cycle of a digitized sound results in a static, synthetic tone which may retain some aspects of the original. A much longer sample, perhaps several seconds in length, is more commonly used. A loop is often created from the end of the table back to somewhere in the middle, which allows the tone to be held as long as is necessary. Percussion sounds, such as drums or staccato tones, are
not looped. The main disadvantage of sampling is that it is difficult to radically modify a sampled sound. If you start with a vibrato trumpet note, you're pretty much stuck with a vibrato trumpet note; you can't tweek a few parameters and turn it into a choir.
FREEHAND DRAWING One or two of the audio packages available for the Amiga allow you to draw a waveform directly for playback. Although this is useful in repairing damaged samples (removing record pops and so forth), it is generally a hit-and-miss approach to creating original sounds. There is no obvious, clear-cut relationship between what a waveform LOOKS like and what it SOUNDS like. Two waveforms which look very different can sound nearly identical, while two waveforms which look very similar can sound very different. The only rules we can apply are very general: sharp edges add
brightness (high order harmonics), narrow pulses tend to be thin sounding, and so on. But I won't deny that it's fun to experiment.
ARITHMETIC COMPUTATION Although all of the techniques from this point on compute waveforms arguably. I'm referring here to a class of algorithms which are very straightforward and can usually be expressed with only a few lines of code.
Filling a table with any of the traditional analog synthesizer waveforms can be done in this manner. A sawtooth, for example, can be generated with the following C code fragment: while (TRUE) if (value MAX) value = -1; value += 1; 1 This snippet simply adds one to "value" continually until it reaches a preset limit, and then it is reset to zero. If we set MAX to 2*Pi and insert a SINO function, we can generate a sine wave. Triangle waves, square waves, and pulse waveforms are equally easy to create.
If we placed an output statement in any of these routines, we would generate a continuous waveform, albeit far below any usable frequency. By running through the loop only once and sending the results to memory, we can quickly fill a waveform table with any simply computed waveform.
The problem with simple waveforms of this sort is that they sound, well, simple. Boring might be a better word; without some sort of change to entice it, the ear brain quickly loses interest. But changing the algorithms to add variety also makes them more complex, eliminating the method's original advantage of simplicity.
ADDITIVE SYNTHESIS A sine wave is the simplest waveform possible; it is a single, pure tone with no attributes other than amplitude and frequency (and phase, if we measure it with reference to something else). By using sine waves as building blocks, we can build complex tones.
Both the Synergy synthesizer and the Yamaha DX series support additive synthesis. (The Yamaha DX uses other methods as well.) Music Studio was the first Amiga music package to use this approach.
Theoretically, any sound can be created or mimicked using additive synthesis, given enough sine waves.
The problem with this technique is that it takes a lot of work to create a sound. As a sound creator, you are given a large number of variables to work with, and it takes quite a bit of time to get everything "just so."
Anyone who has tried to reproduce an acoustic instrument using Music Studio knows exactly what I mean.
RESYNTHESIS Resynthesis, one of my pet approaches, combines Fourier analysis and additive synthesis.
Fourier analysis is the "flip side" of additive synthesis; instead of combining sine waves to create a final product, Fourier analysis breaks a complex waveform down into its component parts.
With resynthesis, we analyze a recording of an existing sound, giving us a set of sine wave frequencies and amplitudes. To use this approach on the Amiga, start with a harmonic-rich waveform like a sawtooth, then use the filter to remove some of the upper order harmonics. This technique can be used to create credible string and brass sounds with a minimum of effort. Unfortunately, the types of sounds this method can produce are limited; realistic acoustic pianos and plucked strings, for example, are particularly difficult to recreate. (Sonix bypasses this problem by giving you several
synthesis methods, including freehand drawing, which you can combine to create the final product.)
FM SYNTHESIS John Chowning (the originator of the FM synthesis concept) and Yamaha (responsible for the commercialization thereof) have certainly shown FM synthesis to be a valid approach.
Most people involved in the making of music have heard of the Yamaha DX7, the most successful FM synthesizer of all time.
With FM synthesizing, it is possible to create beautifully complex and realistic sounds. FM synthesis is remarkably adept at simulating plucked strings, struck tines, gongs, and bells. Without some tricks to add "texture," an FM string section can tend to sound a bit thin, but in general FM is a powerful technique, providing an excellent return for the time spent fiddling with the parameters.
SPIRAL SYNTHESIS Spiral synthesis is one of our new "toys," invented only recently. Conceptually, spiral synthesis looks at the waveform "end on." It considers it a two-dimensional projection of a three- dimensional entity, in which a sine wave represents a spiral. This approach opens up a new' viewpoint, which is always valuable in synthesis experiments.
That'll do it for now. Until next month...
• AC* The Next Step in Amiga™Telecommunications
• Supports All Standard Protocols and Terminal Types
o Very Fast, a Must for a MultiTasking Computer
• Watch Me ProtoCall Will Watch Your Every Command and Write a
Script For You, NO PROGRAMMING!
• Quick Access Phone Book and Menus
• Multichannel Transfers Supported
• Interactive Help
• Specifically Designed for the Amiga Computer Only 49.95!
ProtoCall, The Rest Are History.
Amiga is a Tradarra* ol Commodoro-Amiga, Inc. Animation for C Rookies Part IV Out Of Sequence It you have done any programming on the Amiga, you have probably realized that linked lists are at the heart of many system routines. Whether you are creating menus or windows, or using the built-in animation routines, linked lists are there. You have also certainly found that the lists are fragile any error at all brings the system crashing down. If your animation programs compile successfully, and the screens and windows and colors all appear when the program is run, but no Bobs are visible, you
have probably done something silly (such as pointing an AnimComp at the wrong Bob). Such a trivial mistake prevents the animation and Gel lists from initializing.
Linked lists are also ill-humored.
They do not like to be tampered with once created. You can adjust timers, velocities, and screen coordinates in the AnimObs and AnimComps with impunity, but if you try to change the sequence pointers, you better be careful. You might like to prepare several different animation sequences in your programs using the same Bobs, for example.
The secret is to create the list of AnimComps as a strict sequence, from the first to the last, regardless of the order you want to display them in the program. After the animation list has been initialized, you can then switch the sequence pointers by using the extensions provided in the AnimOb and AnimComp structures. (You can add all kinds of things in these extension calling up sounds, for example.) The following code fragment illustrates one way to program this.
Assume we have created 3 Bobs as AnimComps (Compl, Comp2, and Comp3), and they arc part of a master AnimOb, named Objt, We want to alternate continuously between the first two views, until the AnimOb reaches a Y screen coordinate of 100.
At that point, we want to switch to the third view. The AnimCRoutine in Comp2 is checked every time this view is the current view. If a pointer to our own routine is present, our routine is called. The routine below checks the Y coordinate of the controlling AnimOb.
If the coordinate is less than 100, the routine switches the sequence pointers in Comp2 to redisplay the first view as the next view in the sequence. When the Y coordinate is greater than 100, the routine allows the sequence to progress from second to third view (as linked originally). The Timer and TimeSet parameters are both set to 0, so the third view never changes. Since the view never changes, the sequence pointers in this unchanging view can point to any other AnimComp in the same list, but cannot point at themselves. (Don't write something like Comp2.NextSeq=&Comp2, or
Comp2.NextSeq=NULL.) The last AnimComp in a sequence that does not repeat must have its timers set to 0. You can, of course, add a second sequence of views and more AnimComps to the list, if the list of views was first created in a strict numeric sequence.
Compl.NextSeq-£Comp2; Compl.PrevSeq=fiComp2; Compl.AnimCRout i ne=NULL; Comp2.Next Seq Comp3; Comp2.PrevSeq=&Compl; Comp2.AnimCRoutine=&MyRoutine; by Michael Swinger Coinp3.Tlmer“0,- Comp3.TlmoSet=0; ConipS. Nex t Seq=£ Compl ; Cc-p3.PrevSeq iComp2; MyRoutinef) ( If (Objl.Anf (100*641} Comp2 . Next Seq~£Compl; else Comp2.NextSeq=4Comp3; re-urn () ; } Double-buffering is memory intensive, and the structures necessary to turn the Bobs into Animation Objects consume even more precious Chip memory. Rumors persist about upgraded graphics chips for the A500 and A2000. (I hope can it somehow be fit
into the 1000.) Until they arrive (which may or may not be within the lifetime of this planet), there are ways to conserve memory.
The last AnimComp in a non-repeating sequence can be removed from the Cel list by changing the NextOb and PrevOb flags in the AnimOb structures. It can also be moved off screen, or left in place in the display. If this last Bob AnimComp is never going to move again, it need not be double buffered.
1 know the RKM says, "If one Bob is double-buffered, then all Bobs must be double-buffered." That's not so. Just don't allocate a Save Buffer or a Double-Buffer for the Bob that is not double-buffered. Eliminate the SAVEBACK flag in the Bob structure and place a NULL in the Dbuffer and SavcBuffer parameters. If you arc not using the system collision detection routines, you can also eliminate the Border Line buffer and place a NULL in the Vsprite structure.
• AC- ¦aStai'S!
- k . ’Vj" C’,' *-.
* ** "‘hJ+kJP '•ml**' “ , ‘1 '** i -3&%'Xz!-.r, * *“C
* *£ 1 • I *'J " " ¦ ifc&wt,, ¦*k'i.' T ’a 3SS*3ff*S£ S S Viav.:
sSISsSr- OFIUJflRE Inc. f 26 FOREST ROAD. FRAMINGHAM. MA 01701
We Focus In the growing video market one company leads the way
in top-quality, low-cost, computer effects software. Aegis.
You’ll find our products working at every level in the video
field. Professionals in television, video production, cable
TV, industrial and government video, college, schools you name
it, we’re there.
We’re there because our products provide flexible technology that sparks the imagination. Technology that gets the job done.
You’ll find us at Prism Graphics For Jeff Bruette the Amiga spells success. He uses Aegis programs like VideoScape 3D, VideoTitler, and Animator to help him produce graphics and animations for television programs like Max Headroom and Secrets and At MetaVision Mysteries.
When Theo Mayer and Peter Inova began work on a video project for Universal Studios tours they decided to try out an Amiga for a particular effect they wanted. It worked perfectly, and they saved thousands of dollars in post production fees. Next, they put Aegis products to work producing animations for a McGraw-Hill home video. They were convinced, and the Amiga with Aegis software became an integral part of the studio.
At Master Communications The publishers of the popular Board Sailing Year annual video put Aegis software to work for their corporate clients. An Amiga 2000 is part of their video production house and they use products like VideoScape 3D, Animator and AudioMaster for special effects and logos.
And at Pixelight Independent Amiga artist, Nick Poliko, uses Aegis products to create graphics and animations for such clients as CommCorp, Purolator, and Union Gas. They use his artwork for everything from public relations videos to attention getters at trade shows.
With Products for Graphics, Animation We handle metamor- phic, cel, and color cycling animation with Aegis Animator.
Animations are created and edited in an interactive environment allowing you to watch your animation as you build it. Winner of the 1986 CES Award of Excellence, Animator has already found thousands of uses around the world. Included in the S139.95 price is the Images paint system.
Award winning in its own right Images is a lot of paint program for a small price. With color cycling, mirrors, air brush, pantograph, gradient fill, over 40 Aegis Animator. Images. VideoScape 3D. AudioMaster, Sonlx, VideoTitier. And Impact ire trademarks of Aegis Development. Inc. ANIM is a trademark of Sporta Aegis Development, Inc. Amiga is a registered trademark of Commodore-AMIGA, Inc. The AF6 Comcorder is a product of Sony Corporation and its use in this ad is not an endorsement by Sony of Aegis products on Video other features, and a price of S 39.95, Images has the best price
performance ratio in paint packages.
And Sound Our video effects don’t stop with great visuals. Programs like Sonix and AudioMaster take on the world of music and sound as well. Winner of a CES 1987 Award of Merit, Sonix lets you create your own instruments, compose music, and work with MIDI instruments. All for S79-95- We back up Sonix with AudioMaster, a digital sampling and editing program. It features interactive editing of the waveform and effects like echo, reverse, and low' pass filtering.
It also makes use of expansion memory (up to 9 5 MB) for extra long samples. Just 559.95. Business graphics are a snap with Impact! Pie, bar, line, area, symbol, and scatter- gram charts are all easily created with ever)' element of the chart from labels to axes available for editing.
You also get a slide show generator with eight different dissolves and wipes. All for S89.95. For the advanced animator VideoScape 3D provides an environment rich in 3-dimensional capabilities. Object motion and metamorphosis, camera motion, light sources, IFF foregrounds and backgrounds, and the ability to create animations in the ANIM format are just a few of the features that make the S199-95 price tag a great buy.
For titling you can’t beat Aegis VideoTitler, It supports all of the Amiga fonts as well as its own poly text fonts, works in four different resolutions and uses overscan. It has 20 different styles, works with IFF, uses halfbrite if available, and supports the ANIM format. Included in the amazing $ 149.95 price is a slideshow generator that can mix ANIM animations with slides.
For more information and the dealer nearest you:
(213) 392-9972 or to order direct: 1-800-345-9871.
2210 Wilshire Blvd., Suite 277 Santa Monica, CA 90403 The Hock & Sloy-Teom presents Watch out for Snake Design!
We offer you:
* In every game a bonus point.
* Collect tb.6 points and earn: for 3 points a Snake buttom.
For 10 points an arcade game for free.
See the games in our next advertisement.
Only software from Snaie Design offers you this featuresIM fustic Ski Garrison L Fig hi through the 1 0**™ | rooms otitw
• Ofll end youiMHl against ghejs I magicians. Wardens. Vamp** and
• Can you rescue the lovely pnncoss?
• Two pi ay 01 Option, five characters to choose Simply the
best giaphiMamo Detonator
• Zzao. CJJcn and bang through 50 levels Ol pore Ion
• Digital speech, sound and music
• Collect e*tra actions & weapons
• Scrolling background graphics supoons pv* ultimate game
• Bonus levels in true 30, the game m me game1 Available at these
addresses: American Software Dtstnbutors R, R-1. Box 290.
Building 3 Urtoana. Illinois 61801 Phone: 800-225-7941 or
2176432050 Fax: 2176432049 Impulse Inc.
C. Ltd 723 Easl Skinner Wichita. Kansas 67211 Phone: 3162673807
Fax: 3162670111 6870 Shingle Creek Parkway 112 Minneapolis.
Minnesota 55430 Phone: 800-328-0184 or 612 566 0221 Fax: 612
566 1B22 Mi netware International 110 Dunlop St. W. Box 22185
Barrie, Ontario Canada, L4M5R3 Snake Design Software
Phone:01149-69-7071102 Fax:01149-69-708525 FormatMaster: the
Professional Disk Formatting Engine by Carl Mann Perhaps one
of the least appreciated programming Amiga languages available
is the very first one that executes when the system is first
powrered-up and booted (after the Kickstart machine code, of
This is the language which puts the familiar "Use Preferences tool to set date" message on your text screen.
This neglected resource is capable of revolutionizing your approach to the Amiga system. It is easy to use, powerful, and enables you to make your machine do complex, repetitive tasks (such as formatting disks) with an absolute minimum wasted motion.
This amazing tool is called AmigaDOS "Batch Language."
Batching for Beginners What exactly is Batch Language?
Simply stated, it is a pre-programmed sequence of DOS commands which can be consecutively executed by the host computer. Execution of these commands is controlled by the orderly arrangement of instructions contained in an ordinary ASCII text (or "Script") file. (On other computers, Batch Language is known as Job Control Language, EXEC, or AUTOEXEC.)
The AmigaDOS Batch Language elements are contained in the "C" directory of your Workbench system disk, mixed in with the CLI commands. The conventional place for Amiga Batch language "Script" files is the "S" directory of that same Workbench disk.
There is a subtle difference between Batch and CLI commands: Batch language script files can invoke any and all AmigaDOS commands and options. From CLI, though, it is nearly impossible to find a good use for a hand-typed "IF... NOT... THEN... ELSE... SKIP... ENDIF" condition- testing and branching construct or a "wait for the keypress" routine. Both these techniques and much more can be built into Batch programs.
The very first thing your Amiga docs when you insert a Workbench disk is execute a Batch file. This file, named STARTUP-SEQUENCE, resides in the "S" directory of every viable Amiga Workbench disk. Without this file, the Amiga is no different from any other keyboard-driven silicon dinosaur.
However, most STARTUP-SE- QUENCEs are rudimentary beasts at best. As delivered from your friendly neighborhood software supplier, the STARTUP-SEQUENCE generally docs little more than remind the operator to set the date. It then may flash the title of the upcoming program onto the screen. Following this, display either the main Workbench executable module (named LoadWB) or the actual application program may be invoked.
As a rule, the final act of such a file commits a certain form of suicide with a line that reads, "ENDCL1 NIL:."
This statement closes the text window to reveal the familiar Workbench Intuition environment screen.
Very good. The Amiga's all booted up, and I know everything is all right.
I can use the mouse to open a window on my Workbench disk and 1 can even pull down my Workbench menus.
Now I want to do some useful work.
I will probably need to use that box of disks, right? Right. Here is where the pain (or fun, if you are a masochistic person) begins.
Building the Perfect Bootable Disk The difficulty in preparing formatted, bootable Amiga disks is especially severe if (like me) you start your Amiga career without an external disk drive. Swapping the Workbench disk with the target disk and back again is just not fun beyond the first few exchanges. First you click. Then you pull down to "FORMAT." Then you swap. Then you swap again. Then you click again. Then you wait. Then you swap again. Are we all in the same place now? Cood! Now let's all open up a CLI window and learn how to do an INSTALL! Ready now, class?
Hey, where did everybody go? Oh, forget it.
FormatMaster relieves the frustration a friend and I both experienced with the ordinary ways of preparing Amiga disks for everyday use. You see, we expect our computers to serve our needs, not the other way around. The speech option was originally inspired by my friend David's seemingly "special" needs. (He's blind, you see.)
Later, I needed to prepare twenty bootable disks for an upcoming event and wash a double sinkful of dishes at the same time. I then learned the true worth of properly applied speech technology.
(continued) This project is based on Amiga Workbench 1.2. However, there is a little- known bug in the WB1.2 "FORMAT" command File which makes it bomb out with a failure code of 20. This bomb occurs when FORMAT 1.2 is executed from RAM: by a RAM:-residcnt Batch file. What's worse, it gobbles up about 30K of memory every time it does so.
This causes an eventual GURU upon repeated execution. However, the FORMAT command from Workbench
1. 1 works just fine. (Commodore's Software Development liaison
insists this nastiness is actually a feature. Unfortunately,
she had a hard time explaining the usefulness of this filthy
behavior in rational terms.)
To succeed at this project, you will need the following resources: ¦ An Amiga computer system.
(512K is required. One drive is OK.)
• Workbench 1.1 (for its Format command)
• Two fresh backup copies of your Workbench 1.2 disk.
» The ability to start and use ed, the Amiga line editor. (The WB1.2 version of ed is much better than the WB1.1 release!)
• Some skill in CLI commands, or a good file manipulation
utility. (1 highly recommend ZING! From Meridian Software.)
• The two Batch files, S STARTUP- SEQUENCE and PREPAREDISK.EXE,
appearing in this article. (Both files must be copied verbatim
and placed in the proper places on a Workbench 1.2 disk to
The Startup-Sequence File S STARTUP-SEQUENCE (Listing One) is a customized, turbo-charged Batch file. It transforms the stock Amiga computer into a factory for formatted, bootable disks. Under directions from this "script" program, the Amiga first sets aside 100K of disk buffer space. This apparently extravagant use of memory enables the system to load the "SAY" command into RAM storage from disk only once, yet execute it as many times as necessary. This feature, called "caching," is a powerful hidden aspect of WB 1.2. STARTUP-SEQUENCE then creates an explicit logical path from the boot
disk's "Root" directory to its "System" directory. This enables AmigaDOS to locate and execute the "SAY" command from disk. (Without this "path," AmigaDOS will bomb with an "ERROR CODE 205," which means, "1 can't find it!") The next STARTUP-SEQUENCE event is optional. I like to minimize the number of electrons per second streaming from the hot cathode of my expensive high-resolution monitor CRT. (1 just don't need a video screen blazing away into empty space while I bag the trash in the kitchen.) To avoid wasted electrons, I include the ScreenBlanker routine that MICROSMITHS bundles with
their FastFonts text utility package on most of my Workbench disks. This one is no exception. Omit or comment this line out of the Batch files in this article if you have no such routine in your Amiga library at the moment. Better yet, get FastFonts... STARTUP-SEQUENCE next copies the "COPY" command file to the AmigaDOS RAM: device and changes the current directory to be RAM:.
"COPY" executes directly from RAM:, bringing necessary elements of the FormatMastcr system into the RAM: device as directed by the script file.
Subsequent file copy and other execution operations take place strictly from RAM:. This serves three purposes. First, "COPY" need no longer be periodically re-loadcd from the FormatMastcr disk for rc-cxccution.
Instead, it executes directly from RAM:. Second, the target files also execute very quickly from RAM: because the continual disk access that AmigaDOS must undergo when executing consecutive command files is now handled electronically. Third, DFO: becomes available as a full-time production tool for the duration of the formatting session, just imagine no more "PLEASE INSERT VOLUME WORKBENCH" system requesters!
FormatMaster's STARTUP-SEQUENCE also uses an undocumented, but genuine feature of the AmigaDOS 1.2 "COPY" command to further reduce startup time. Note the vertical bar characters separating the target file names in the program lines which invoke "COPY," As you can see, the WB1.2 version of "COPY" can duplicate multiple files with ease. It is no longer necessary to execute a separate "COPY" command for each file to be duplicated. Instead, a number of files to be copied arc entered as arguments on the Batch file command line with a vertical bar character separating ("delimiting") them.
There are a few limitations to this use of "COPY," but the example is an adequate illustration of acceptable syntax. Just make certain each file in the concatenated list is the same type and in the same directory as its neighbors. WB1.2 "COPY" does not cross filetype, directory, or device boundaries in mid-argument stream.
In addition, no more than four or five files may be strung together at one time. (The exact number seems to depend on target file size.) As published, though, the system works very well.
The "QUIET" option of "COPY" is invoked to suppress the reporting that would otherwise take place as "COPY" grinds away. The really critical events in the sequence are announced by the "SAY" command. This eases tracing of the program's execution.
Following its copy work, S STARTUP- SEQUENCE loads the Workbench 1.2 Intuition environment for later use.
Control is then passed to the various command files previously copied to the RAM: device and to another script file, named PREPAREDISK.EXE (via the final "EXECUTE" command).
The Disk Preparation Loop PREPAREDISK.EXE (Listing Two) is the actual AmigaDOS-based formatter utility, It belongs in the "Root" directory of the FormatMaster system disk.
This Batch file performs its task strictly from the Amiga RAM: device. It invokes the AmigaDOS files that S STARTUP-SEQUENCE previously copied into RAM:. These command files consecutively format the blank target disk (following a tap of the RETURN key), make it bootable (with "INSTALL"), and copy your favorite DISK.INFO and TRASHCAN.INFO files onto its surface. This last step makes it a breeze to produce a standardized, custom icon display. (I personally enjoy the appearance of the artfully animated DISK.INFO and TRASFICAN.INFO icons by Greg Tsadilas that arrived on my SCRIBBLE! Word
Once PREPAREDISK.EXE finishes processing your target disk, the event is announced in synthesized English.
This process is then repeated on drive DF1;. Once DF1: has done its duty, PREPAREDISK.EXE then invokes itself again. "FORMAT," in turn, again waits for the RETURN key to be tapped before proceeding. This enables you to eject the freshly prepared disk. Another "raw" unit may then be inserted for processing.
As noted in the listing, you can omit the marked portion of this file if you have a single drive Amiga system. If this is the case, you will most certainly appreciate the ease with which FormatMaster enables you to prepare a quantity of disks. Three or more drives? Just repeat the code sequence and change the drive references as appropriate. Ain't science grand?
Building the System If you are at ease with the Amiga Cll and ed, you can give yourself the gift of continuous Amiga disk formatting by following these steps:
1) From Cll, ED S STARTUP-SE- QUENCE on a fresh copy of your
Workbench 1.2 disk. Delete everything in sight. Type in
Listing One exactly as printed. If you do not have FastFonts,
omit or comment out the ScrcenBlanker routine line, then exit
with ESC X to save the file.
2) From Cll, ED PREPAREDISK.EXE and copy Listing Two verbatim.
Leave out the marked code section if you have a one-drive system, of course. Make certain you save your file to the root directory (top level) of your project disk. (Make it work first; then "tweak" it.)
3) Copy the "FORMAT" command from the "C" directory of your
Workbench 1.1 disk to the "C" directory of your WB1.2 project
Use whatever means are available.
The project will not work without this specific file.
4) Copy your favorite custom Disk.info and Trashcan.info icon
files onto the project disk if you wish.
Using the System Once you have fulfilled the directions, create a backup copy of your work. (1 don't know why folks forget to do this!) Label both your newly created disks. Then protect your work by opening the Write Protect window on your "Worker" copy of the project.
Place your new FormatMaster disk in DFO: and reboot with CONTROL AMIGA AMIGA . DFO: whirrs and gronks for a few moments and you should then be greeted by the title announcement and the "Please remove your boot disk" prompt.
Note that you may easily format your FormatMaster disk by accident.
Careful operating habits are important.
Eject your boot disk when PREPAREDISK.EXE prompts you to do so. Just in case, though, make certain the write-protcct tab window is OPEN before you insert your hard- won work in the first place! (Oh, and please keep a backup copy on file!)
Once the FormatMaster system is executing, you may format as many disks as your budget will support, without anything more demanding than a tap of the RETURN key. I hope you agree that FormatMaster is a worthwhile addition to your Amiga toolbox.
This version of FormatMaster does not include a "clean" way to exit. To exit, simply reboot. If you need to use Workbench, just resize the FormatMaster window and proceed as always.
(Mind you, one drive will probably bo tied up...) You can also pop the disks out of the drive and tap RETURN .
FORMAT will promptly bomb out and free up the drive. You can always restart FormatMaster by typing EXECUTE RAM:PREPAREDISK.EXE from CLL If you wish to avoid ed and receive the FormatMaster Batch files directly, send a SASE (44 cents postage, please!)
And a backup copy of your WB1.2 disk. Three dollars will cover my time and incidental expenses (motoring over to the post office, wear and tear on the drives, etc.). Please feel free to distribute these batch files to other Amiga owners and users. David and I are especially eager to put this product in the hands of sight-impaired people who wish to use their Amigas more effectively. (I reserve the word "vision" to denote an inner quality not in any way connected with eyesight.) We particularly welcome direct correspondence from blind people and their friends. We intend to use our combined
skills to put practical Amiga systems in the hands of folks who need speech-based computers, but who are not willing or able to spend thousands (or tens of thousands) of dollars for other existing (read outmoded and quack-voiced) hardware technology. We are certain the Amiga can be the solution for those of us who are presently unable to climb aboard the bus. Kindly direct correspondence to the author care of this magazine.
(continued) Enjoy FormatMaster! Spread it around! !Viva Amiga!
Sources for products mentioned in this article: ;¦ 30 Warren Avenue ;¦ Amesbury, MA 01913 Scribble!
MicroSvstems Software 12798 W. Forest Hill Blvd.
W. Palm Beach, FL 33414
(800) 327-8724 S99.95 FastFonts MICROSMITHS Box 561 Cambridge, MA
(617) 354-1224 S34.95 Echo " " Echo " " Echo " Proparedisk V3.00"
By c. w. Mann" 8 26 87- Echo ” Echo " Echo * ** say Please
ree move your boot disk.
Say Put disks to be formatted in D F 0 and D F 1? Press format DFO, format drive dfO: name "Empty" install dfO: copy disk.info Itrashcan.info to dfO: quiet makedir df0:trashcan say Disk in Drive Zero is formatted and bootable.
Leave out everything from here down ;• to the next row of asterisks if you ;• own a single-drive system.
ZING! X Meridian Software Box 890408 Houston, TX 77289
(713) 488-2144 S79.95 Listing One: Startup say Now press ree turn
to format Drive 1.
Format drive dfl: name "Empty" install dfl: copy disk.infojtrashcan.info to dfl: quiet makedir dflitrashcan Say Disk in Drive 1 is formatted and bootable. Next victim!
Execute rantpreparodisk,exe This startup-sequence goes in the "S" directory of a standard Workbench 1.2 disk. Its presence is required by the FormatMaster disk preparation system. This file plu the PREPAREDISK.EXE file comprise the FormatMaster Disk Prep System Listing Two: Preparedisk.EXE PREPAREDISK.EXE disk formatter utility. Configured for two-drive system; modify as necessary. Put this file in the root directory of your FormatMaster system disk.
Copy it to and run it from RAM: using my special S STARTUP-SEQUENCS.
(Ditto for the command files It calls.) Enjoy high-3peed Amiga disk formatting today! IViva Amiga 1 Filename - S Startup-Sequence Carl W. Mann 30 Warren Avenue Amesbury, MA 01913 Addbuffers d£0: 100 ;Reserve 100K of disk buffer space for .•command cacheing, path sys:system add ,-Make "SAY” command quickly available run Screenblanker 5 .-Call your own PD or commercial ;screenblanker routine here, or omit.
Echo " Disk Preparation Toolkit V2.5" Echo " 3y C.W. Mann" Echo * 8 25 B7" say Super Disk Formatter for the Amiga? Version 2 point 5.
Say Sow copying needed files to RAM. Eyell be back soon.
Copy dfO:c copy to ram: :Flrst things first 1 cd ram: ;Now shift gears L CO!
Copy dfO:preparedisk.exe to RAM: copy dfO ;disk.info Itrashcan. Info to ram: quiet ,-Only files of same type & in same directory can be concatenated as objects for COPY... no need to list them onscreen.
Copy dfO :c echo lir.stali I assign Imakedir to ram: quiet copy dfO :c format I execute to ram: quiet .-Must use Workbench 1.1 FORMAT command file here, copy dfO:system say to ram: Keep it talking... loadwb execute preparedisk.exe Carl W. Mann 30 Warren Avenue Amesbury, MA 01913 Echo " " Echo " * Echo " Preparedisk V3.00" By c. w. Mann" 6 26 87- Echo " Echo " Echo " " say Please ree move your boot disk.
Say Put disks to be formatted in D F 0 and D F 1? Press ree turn to format DFO.
Format drive dfO: name "Empty" install dfO: copy disk.info Itrashcan.info to dfO: quiet makedir dfOitrashcan say Disk in Drive Zero is formatted and bootable.
;* Leave out everything from here down }* to the next row of asterisks if you ;* own a single-drive system.
Say Now press roe turn to format Drive 1.
Format drive dfl: name "Empty" install dfl: PREPAREDISK.EXE disk formatter utility. Configured for two-drive system: modify as necessary. Put this file in the root directory of your FormatMaster system disk.
Copy it to and run it from RAM: using ny special S 57AR7U?-S£QuENCE.
Ditto for the command files it calls.) Enjoy high-speed Amiga disk formatting today! [Viva Amiga!
Carl W. Mann copy disk.info|trashcan.info to dfl: quiet makedir dfl:trashcan Say Disk in Drive 1 is formatted and bootable. Next victim!
Execute ram:prepared!sk,exe ¦AC* Picture the most exciting text-only Adventure in your software collection-WITH PICTURES!
GUILD OF THIEVES is the long-awaited : sequel to THE ¦ PAWN, which Br" came sizzling ! Onto the software scene to awards and accolades.
- Both are available now from Firebird.
These stunning Adventures, completely different from any game you've ever played, seduce the sight with their breathtaking illustrations and engage the intellect with a truly revolutionary text-handling system. The most sophisticated parser on the market lets you input complicated sentences and interact with a whole cast of fascinating characters in the mythical kingdom of Kerovnia.
GUILD OF THIEVES and PAWN. Computer Entertainment Adventure of the Year, come to you from Firebird, publishers of world-famous leading edge games under the Rainbird label.
You'll find the Firebird logo on other addictive Adventures too, as well as on absorbing Strategies, realistic Simulations. And fast-paced action Arcade games.
Firebird brings the best in entertainment software to those who enjoy a whole range of interactive excitement We'll prove to you that you don’t have to keep switching brands to satisfy your obsession for challenge!
‘The First Full Line In Software’ Firebird licensees, Inc RO. Box 49, Ramsey, NJ 07446
(201) 444-5700 Available for C-64, Amiga, Atari 520ST, Atari
BOO 130, Macintosh, IBM and compatibles.
A "text-only" version is available for Apple II computers at $ 39.95. _I Firebird, and the Firebird logo are registered trade- (5Z0ST Graphics) marks of Firebird Licensees, Inc. IBM is a registered trademark of International Business Machines Corporation. Amiga and Commodore 64 are registered trademarks of Commodore Business Machines. Inc. Macintosh and Apple II are registered trademarks of Apple Computer. Inc. 520ST is a registered trademark of Atari Corporation.
O z 5 u- ss o Q u ft 111 a a O a c o rs § i
o ® 5 £ O 3
o c O - o 0 0- a CL X a o 111 s Ose Cor
* CM ."5 I oc| g os® OflQ UBS MO?
o o ® o - © -o - O o |o9 CM
- c r
o o a o TJ « CD 5 o 111 O co to O S'" © o o 0 o»j- A O
T) So ¦g e ® D E tJ o2g c 0 2 to ° £ O) 2 £ tl) “o CO 1) t: to
V © « 2 TS UL.
= O D .C jr
o o lO O' a • i o ” W 9“.2 °So .
¦c = t; • 0,2-3 “o £2 Sbfa ,2£ c-D
- “o'® 3 .(Jo
o a) • *- 3 J2
o 3 = 'D
o ® II
o o O T3 CO " © n
- c a O D u ?
TJ o 3 c TJ t= c o
(1) 0) "5 o © * CO ® O .r © 2* O- co 0 © ¦£ 5 0 0 s ‘Z X g V)
k O © o ¦o r n w E © o-o S © ®r
o rt 0 © c o © ¦ - 0 13 £ © C o-c 0 o5 3 0 0 o
* 0 O O ° ° «.E 3QC ot-5 £ £ O C 2*0 0-5 8® a--
0) S £ c D O
- o o if 1 c D 3 goc 0-0 S o 2 CO 2 w C i a © o « c X!
5 ® t© © 0 2&5I ©55.2 cnoi c T3 O 3 ® C a£ § OisL3 „£ 0 52*- 0
0) -Q -*- c o 2 c BE o ® TJ © © Q. to I ¦C O) !c o S 0 Q. E ¦
2 ° © 2 o © E
o £ « VI) ¦2 “o £
o c r JO O Q| s O)
o C O
Q. |Z -C CD 73 oo C ® 3 3 TJ C 0 C - O 0 CO a c *• © © 52 0 ®
™ 0) it ?& s * 5 “ 2 co TJ ¦goo o IKS £ ® ©~
o c o © £-c 5 a£ o 2o2| Q-.co O) D ® = 5.1 0*0 ao r f- -.
n * -2 ® q o c “ £ 0 O D •= -
- « -C s 3b °d) Dr ,o.2£t 0 5. -9= Cl “¦£ I
* ®o CD o£5o£ ? OT S2 © i- o iClij ¦O (d|
0) fc 0 2 S - o;°s c a X 2 O 82 i 52 © A
• o Q.£ d) l3|Sg Forth!
Memory in the Amiga by Jo n Memory in the Amiga, as you no doubt know, is divided into two basic types, CHIP and FAST. CHIP memory is located in the first 512K of the 68000's address space and is shared between the CPU and the Graphics, Audio, and DMA coprocessors which make the Amiga so powerful.
The remainder of the 6800Q's address space is considered FAST memory. The main difference between the two types of memory is , while the 68000 has complete, unobstructed access to FAST memory, it must share CHIP memory with the coprocessors. Usually CHIP memory access is interleaved, but when the coprocessors need extra time, they can steal it from the CPU.
Since it is generally better to run programs from FAST memory (for speed and conservation of CHIP memory), the operating system puts programs n FAST memory by default, unless told otherwise. Unfortunately, a program which contains pictures or sound data does not run properly if it is loaded entirely into FAST memory. The coprocessors cannot access that data to display it or play it back.
For this reason, the Amiga supports a technique called "scatter loading." A program may be saved to disk so the CHIP "hunks" are sifted out from the FAST hunks when it is loaded into the Amiga's memory. Many early Amiga programs (my own included) failed to make use of this capability and do not run properly on a machine with more than 512K of memory.
The latest release of Multi-Forth (Version 1.21} really simplifies the process of properly "tumkeying" a program to avoid this problem, just follow this procedure: Use GET.MEMORY to ask the system for a block of RAM. Save the handle and flag the word which references the handle with IN.HEAP. This step allows FORGET to return the memory to the system and TURNKEY to save the hunks along with the program, so they will be restored when the application is run. I've rewritten the hardware sprite defining tools which were presented several issues back to demonstrate the technique. They worked fine on
my 512K Amiga when I wrote them, but adding Michigan Software's one megabyte Insider caused all the sprites to disappear. I was also unable to resist the opportunity to incorporate a few other improvements in the code. This version works on Bryan releases of Multi-Forth prior to Version 1.21, but those of you who have neglected to upgrade must do a little more work when you turnkey the program.
Before describing the revisions made to support machines with FAST RAM, I'd like to briefly cover some other minor changes in the code. For instance, the original version of the word "SpritcLino" used the following definitions: "SpriteLine" used the following definitions: 256 CONSTANT SconBufSize CREATE SconBuf ScanBu'Size ALLOT : SpriteLine ( addrl addr2 ) SconBuf ScanBufSze INFILE @ READ.TEXT 1- ( trim delim ) ScanBuf + DUP 16 - ; Its purpose was to parse 16 characters from a file which could then be interpreted and separated into bit planes. I was never very happy with the clumsiness of the
definition and the need to create a buffer to hold the characters. The obvious choice for the job, "Word," can't get past the linefeed character which delimits each line in a text file, through. I eventually discovered the Multi-Forth word "SCAN" in the glossary, and used it to build a modified version of Word which gives the desired behavior.
: WORD I ( delimiter oddr ) scan error' premature delimiter ' pocket bl over count + c! ( blank delimit the string) ; "Word I " automatically crosses and keeps track of line boundaries. "Blank" delimits the string (83-Standard behavior for Word, by the way), leaving the address of the counted string on the stack. "Word" is potentially extremely useful and has a permanent place in my toolbox. In fact, I can't understand why Creative Solutions didn't define "Word" to behave this way. The SpriteLine definitions now become much more readable: : SpriteLine (-addrl cddr2 ) indices for a DO
..LOOP bl word I dup c@ 16 = not error' must be 16 characters! * a little error check 1+ dup 16+ swap ; The change in SpritcLine is cosmetic and doesn't extend beyond itself. A more important charge one dealing with the proper use of memory appears in the updated definition of "Sprite." "Sprite" is the word which actually creates the binary image of a "simple" sprite in memory.
The old version of Sprite used "ALLOT" to allocate space for the image in the dictionary. It worked fine on a 512K machine because it was ALLOTting CHIP memory. If the dictionary is in FAST RAM, however, "ALLOT" creates a serious problem. The solution involves using the word "GET.MEMORY" with the right parameters to ask the operating system for a hunk of CHIP memory to hold the image: : Sprite ( name ( height } SimpleSize CHIP CLEAR or gef-emory returns a handle cfup 0= error' couldn't get CHIP memory for sprite ‘ dup CREATE , save the handle (behaves like a VARIABLE) in.heap and flog
tne new word @ handle points to a CHIP address 4+ swap first 4 bytes are for system use SimplePlanes ; If successful, GET.MEMORY returns a "handle" which contains the address of the allocated memory. Otherwise, it returns zero and an error is generated. Sprite CREATEs a new word and flags it using "IN.HEAR' to indicate that it has a heap handle in its parameter field. That handle points to the block of CHIP memory where the sprite's binary data is stored. The process of flagging words with IN.HEAP allows "FORGET" to return the memory associated with those words to the heap, and allows
"TURNKEY" to save the hunks along with the rest of the file, it is pretty unlikely that the hunks will be reloaded in the same place, so Multi-Forth also takes care of updating the handles when a turnkeyed program is loaded.
Equivalent changes were made in the word "Attached," which compiles "attached" (16-color) sprites. "Attached" is a bit more complicated, but the principle is the same. An attached sprite consists of two simple sprites, with one sprite "attached" to the other to quadruple the number of colors. "Attached" asks for a memory hunk large enough to hold both images.
"Sprite" and "Attached" create binary sprite images in CHIP memory and let you know where those images arc stored, but one more level of sophistication is required to actually display the sprite. In Forth, you can create a defining word to do all the work for you, as I have done in the word "MakeAttached." It creates a sprite image and gives it a name which, when executed, displays the sprite: : MakeAttached ( name ( height ) Attached create the image and give It a name DOES ( ) specify its behavior fetch the contents of the handle (the CHIP address of the images) ViewAddress
+vViewPort @ viewport SWAP 2DUP Ball +asEvenSpriTe the simpIeSpiite structure SWAP +Evenlmage binary data (spritelmage) ChongeSprite Ball +asOddSprite the other simpieSprlte SWAP +Evenlmage binary data to be attached ChongeSprite ; The only difference between this version of "MakeAttached" and the previous version is the addition of after "DOES " to indirectly fetch the pointer into CHIP memory where the image resides. This version replaces binary data in the dictionary with a pointer to another pointer to the data in another part of memory. Make sense? Earlier versions of
Multi-Forth required a two-step process to turnkey an application and save the blocks of memory pointed to by the IN.HEAP flagged words.
TURNKEY' filename' word OPEN' filename' DUP APPEND.HANDLES CLOSE "Filename" is the name given to the tumkeyed file. "Word" is the Forth word which executes when run. Version 1.21 of Multi-Forth further automates the process, requiring only the first line TURNKEY" filename" word. It takes care of the rest for you.
This technique is not restricted to graphics or sound data.
Suppose your program needs a large chunk of memory for some purpose. ALLOTting space increases the dictionary size and makes it more difficult to find enough contiguous space to load the application into memory. If you use GET.MEMORY, you can break the application into smaller pieces, which easily fit into memory's nooks and crannies.
This change could mean the difference between the program running or not running (or at least saving you the trouble of deleting another program). Remember, the Amiga is a multitasking machine, and it always pays to be polite.
HOT NEWS AND RUMORS It's official! There is going to be an ANSI Standard Forth.
The X3J14 ANS Forth Technical Committee's first meeting was held in early August in Washington, D.C., with many Forth luminaries in attendance. It will be interesting to see how the committee's efforts progress over the next couple of years.
The Forth Interest Croup's RoundTable on Genie is another item of interest. If you have a question about Forth, Genie is the place to ask. Everybody who is anvboay in Forth appears to have joined (including me). Hope to see you there, just type "FORTH" at any main menu prompt.
Also, just a reminder about Creative Solutions' forum on CompuServe: I'm still sysoping the Amiga section, and with recent sales of A500s and A2000s, things are really picking (continued) up. Type "GO FORTH" at any prompt to get there. If I can't answer your questions, someone from Creative Solutions will try.
1 H Listing One : word! delimiter-addt J scan error" premature delimiter " pocket bl over count + c! ( blank delimit the string ) ; : SpriteLine (~addrl addr2 I bl word I dupf 16 - not errcr" must be 16 characters! " It dup 16+ swap ; : ?5pritePixel ( character base value ) DIGIT NOT ERROR" Illegal Sprite Color" ; : OR_SpritePlanes ( number address-) SWAE 2 MOD ( separate the two bits) SWAT 16 SCALE slide the iow-erder bit up a word) OR i put them back together) OVER 8 2* ( move the stored value one place left) OR SWA? ! ( and OR the new bits into place.) ; : SimplePlar.es ( image
height-) 0 DO SpriteLine DO IC0 4 ?SpritePixel OVER OR_SpritePlanes LOOP 4 + LOOP CROP ; : SimpleSize ( height-height Mbytes ) DUP 4* 8+ ; : Sprite height-) SimpleSize CHIP CLEAR or get.memory get back a handle dup 0- error" couldn't get CHIP memory for sprite" dup CREATE , in.heap lay down the handle after the now word g 4+ swap SimplePlanes ; structure AttachedSprite slrr.pl eSprit e STRUCT: -i-asEvenSprite sLmpleSprite STRUCT: +asOddSprite structure.end : CR AttachedPlanes ( char even sprite odd sprite ) LOCALS | odd even I DUP 4 odd OR_SpritePlanes shift the two MSB's 3 AND even
OR Sprite?lanes ; mask the two lowest bits : AttacnedSire height-height offset total size ) SimpleSize DUP 2* 2+ ; two sprites plus a two-byte pointer : AttachedPlanes ( image height offset-) LOCALS! Offset | 0 DO SpriteLine DO IC§ 16 SpritePixel allows characters 0-F OVER DUP offset + 0R_AttachodPlane9 LOO? 4+ increment the pointer LOOP DROP ; : Attached | height-) AttachedSizc CHIP CLEAR or get.memory dup 0- error" couldn't get CHIP memory for attached sprite" dup CREATE , in.heap mark it for turnkey j the hunk address LOCALS I hunk offset height | offset 2+ hunk Wl lay down
offset to attached image SPRITE_ATTACHED hunk 2+ offset + 1 set attach bit hunk 6+ height offset AttachedPlanes ; : ¦* Even I mage addrl-addr2 ) 2+ ; : +0ddIraage I addrl-addr2 ) DUP W0 + ; struct AttachedSprite Ball 15 Ball +asEvenSprite +ssHeight W!
15 Ball +asOddSprite +ssHeiqht W“ structend : MakeAttached ( name height-) Attached CREATE is imbedded here DOES (-) fetch the handle ViewAddress +vViewport g SWAP 2DUP Ball +asEvenSprite SWAP +Evenlmage ChangeSprite Ball +asOddSprite SWAP +OddImage ChangeSprite ; 15 MakeAttached Ball 0000007777000000 0000754444570000 00A65443344S6A00 0C86544334456B00 0B876S4444567BB0 QB987665566789B0 ECA9877777789ACE EDHA99888899A3DE EEDCB5AAAABBCDEE OFEEDCCCCCCDEEFO 0FFEEEEEEEEEEFF0 00FFFEEEEEEFFF00 OOFFFFFFFFFFFFOO OOOOFFFFFFFFOOOO OOOOOOFFFFOOOOOO ¦AC- New Products for All AMIGAS GOMF!
Deluxe MIDI interface S'mply the BEST lull-r««lur«d MIDI Interface available for in* AMIGA SOO IOOO Fully comprtWi with ¦ II program! That u « ••rial MIDI tlandard outpul, ONLY the DELUXE MIDI INTERFACE offari you SERIAL PORT Pae*-1hru. MIDI IN. MIDI THRU, and (wo 3WITCHABLE TMAU OUTS I Thli li th* optimum configuration for anyona wllh mor* than on* lynth or oihar MIDI davit* No THRU on your
* ynlh(»)? No probl*m1 Simply nip a awlleh ott ih* Deluxe MIDI
Inlarlac*. And avoid totty THRU box**’ inciudai b fool cabia. 1
year warrt fly Peai* Specify modal
SOO tODO ... ygg '...it is small, installs
with just a double-click on an icon a welcome utility for Amiga
user*.’ ¦ INFO magazine ’...Without a doubt, the most important
program this month is GOMF.
AH Amiga users are sick and tired of losing running programs and data to the dreaded Guru, and anything that can stop this terrible syndrome deserves a round of applause!'
'. .So if Gurus are getting to you, add GOMF to your Amiga environment and you can start saying goodbye to the GURU too!'
- Commodore magazine Now GOMF is even better!
Version 2.0 NOW shipping NEW FEATURES include
- Automatic removal of ALL errors (task held. GURU, etc.)
- Preserves low memory auto vectors.
- NUKE those pesky CANCEL requestors once and for ALU
- Eliminate ANY task or device AT ANY TIME,
- auto-configures for 88000 68010 68020.
- CLl and Workbench compatible.
- Extensive, easy to understand documentation.
Only $ 39.95 TTL Hi-res Monitor Adapter For Ih* Amiga SQQ 1C00 200O Plug* inio RQBI port for ULTRACRISP fliekar-lraa high rvcolulion monochrome vld*o output. Parfaclfor Hl-RES GRAPHICS, WQRDPROCESSING, CAD, DESKTOP PUBLISHING. BUSINESS. *lc ANY application In ANY raiolullon li SHARPER and CLEARER Wth the TTL Hl-r*i Monitor Adapt*r. Parfaclfor u»* wllh »h* low-coil lund*r (TOO) Commodore 1901 monitor or Monitor SO. Includai my Initalialion instruction*. A duk with a tpectai Ht-R*i WortcBanch font and RQ6 port pail -thru (a 1080 RGB monitor may be uivd tlmulL&fteouily). 1 year warranty.
A* KW0 kf vu-fYTS* (Monitor not Included) ....tlD B5 Light Pen D*(ign*d to work with ANY Amiga program, ih* LiQHT PEN and DRIVER allowt ut* or bolhyour moui* and a pro-quality LIGHT PEN (or Ih* ultimata In pracliion graphic* Parfaclfor PAINTING. DRAWING, frtahand SKETCHING. CAD and virtually ALL olh*r AMIGA program* Soffwara faalural Include Single -pixal praclilon, varlabli iiniltlvlty, ZOOM mod*, button loggl*. *lc Include* fnkwal Syttemi' DT-1MA high quality two butlon llghlpan. Am i OfiOFft sflEGtAL¦
Whil* tuppliti lait. W*'li alto include a handy PEN-HOOK thai attach** aailiy lo your monitor to hold the AMIOA LIGHTPEN wh*n not In uiat (600 1000 2000) 1121-06 All product* art NOW SHIPPINGI Plena maka cheque or money ordar payable to.
120-1140 Austin Ave. Coquitlam, BC Cenada V3K 3P5 Phone (604) 939-8235 Dealer Inquiries Invited.
All ordan add U thipping AH prtcti In USJ Ordar by phonal VISA. Maitafcard. AMEXwakom* U S ordara add 63 handling ft*.
AWiQa ii • ¦•|iit*n( liaemeic *t c*n*eg* «- Bi|i. I*c.
Advanced 68000 Assembler Language Programming The Big Picture by Warren Ring This month I will show the system calls required to get characters in and out of" the CLI, and an example of opening, reading, and closing disk files on the Amiga.
Learning About Assembler on the Amiga In my quest to learn assembler on the Amiga, I toured my favorite book store, Op Amp Technical Books (1033 N. Sycamore Avenue, Los Angeles, CA 90038 (213) 464-4322). I found 21 different Amiga titles. This book store is by far the best 1 have seen for computer books. Unfortunately, none of the books dealt with the procedures to perform system calls from assembler programs. Only one discussed assembler language on the Amiga, and it concentrated on 68000 op codes and didn't deal at all with system calls.
While perusing messages passing through some BBSs, I have noticed one book keeps surfacing: Programmer's Guide to the Amiga by Robert Peck (Sybex). 1 have a copy of this book.
Although it is written primarily for C users, it has much information that applies to all users. It tells why you perform certain procedures, as well as how you perform them. Message traffic on the BBSs indicates that many of the C examples don't work. From the little I've read, however, this book looks well worth the investment, even for assembler applications.
I also strongly recommend 68000 Assembly Language Techniques for liuilding Programs by Donald Krantz and James Stanley (Addison-Wcsley). This book tells you everything you need to know about generic 68000 programming. It reveals which addressing modes are legal for each instruction, and why special instructions and address modes are so great.
Get the Right Tools for the Job Let's talk about software tools. To write and run assembler programs, you need an editor, an assembler, all the "include" files containing system macros and equates, and a linker. Much of the work on the AmigaDOS was reportedly performed on the Metacomco assembler. That bit of information told me that the assembler itself was probably well debugged. I tried two assemblers available on Fish disks. One crashed on takeoff; the other would not handle XDEF and ASCII statements properly. I also discovered there were no available include files available. My advice is
pay the S80, and get the Metacomco assembler. This package also has the include files and a linker. Personally, I don't use their editor. I use Uedit from one of the Fish disks. Any Amiga club can get Uedit for you. It's not Word Star, but it's pretty good.
Another tool you need is the Amiga ROM Kernel Reference Manual: Libraries and Devices. I consider this strictly a library call reference work. It tells you which values to place in each register for each system call. (I have seen at least one paperback book with similar information.)
Now, you need a couple of batch files. In the directory you have assigned as C:, create a file called "as," and insert the following two lines: .KEY name assem name .asm -o name .o -I name .lst Next, create a file in the same directory called "Ik," and insert the following two lines: .KEY nome olink name .o to name library libs:amiga.lib Put the amiga.lib file, which you cannot go anywhere without, into the directory you have assigned to LIBS:.
Rename your "execute" file in your C: directory to "do."
Give your assembler program filename an ".asm" extension ("test.asm," for example). When you want to assemble it, enter "do as test," a test.o file containing the object code, and a test.lst file containing the listing is created. Assuming it assembles with no errors, enter "do lk test." An executable file called "test" file is very easily createa.
Also, copy the "include exec types.i" and "include libraries dos.i" files from the Metacomco disk to the directory you have assigned as LIBS:.
(continued) ...measures your stress level through innovative hardware. And golly gosh, do we have software! From a full-featured arcade game with sampled sound, to bar and analog graphs for your WorkBcnch, the five included programs will knock your socks and dry your eyes! On the serious side, the People Meter allows you to fully explore the realm of stress management.
Requires an Amiga 500, 1000, or 2000 with at least 512K and Kickstart 1.2. Available from your Amiga dealer or order direct for $ 59.95 plus S3.50 shipping. CA residents please add 6.5% state tax.
Aminetics P.O. Box 982-205, Whittier CA 90608, (213)698-6170 Amiga is a registered trademark of Commodore-Amiga, Int.
A First Test Every time 1 get my hands on a new language or computer, 1 subject the new language computer combination to a test that really shakes out any gaps. That test consists of writing a file hex dump routine, if you've used the CP M programs DDT, SID, or ZSID, or the MS-DOS program DUMP, or the HTYPE function of the Amiga program DUI1I, you know what a hex dump looks like. A file hex dump program displays a file's data first as a group of hexadecimal numbers, and then as a group of ASCII characters, 16 per line.
To write a file hex dump program, you must open a file, read individual bytes, send characters out to the console, look for a key pressed to stop the display, handle bytes as integers, as well as ASCII characters ... just about every major system function in a language is needed. The manuals must also be written clearly enough for you to pick out the information without much difficulty. Well, the Amiga has proven to be a challenge, but not an insurmountable one.
The program in Listing 1 is not a hex dump program, but rather a "type" program. I have shown a type program here to keep the example short, while retaining all the major features of a hex dump program. You don't necessarily need a type program, but because you can see how system calls are handled. You can also use derivations of these routines if you are having trouble with system calls.
Some Generalities First, let's cover some generalities about system calls. The AmigaDOS authors, in a real stroke of genius, knew they could not foresee all future system calls that would be needed. So, they created "libraries" of system calls. These are collections of system calls which can be revised. Each library is designated by an ASCII label. A table of jump instructions to the various routines in that library is located at the top end of each library. When you make a system call to open one of these libraries, AmigaDOS looks in ROM and RAM for the library. If it can't find that library,
it looks on disk and loads it from there. Sheer genius, no?
Now, you're probably saying, "Ah, but where is the routine to open a library in a library, perhaps?" The exec library (which contains some system calls) is always resident, and the location of the jump tabic in that library is the only operating system constant known at link time. You must know the library where your favorite system call resides.
Make sure that library is "open" before you make the system call. When you make an operating system call, you must know the location of the library which contains the routine you arc calling. You must also know a symbolic offset into that library's jump table. This is not as difficult as it sounds. When you make a system call to open a library, the address of the library's jump table is returned.
The symbolic offsets are in the amiga.lib file, which you simply include at link time as a library.
As you develop a program and include more and more types of system calls, you usually make sure each library you want to access is opened at initialization time at the beginning of the program. You then make sure it gets closed before you exit. Otherwise, some resources wouldn't be freed up. So how do you know to which library a specified system call belongs? That's easy. Look in the Amiga ROM Kernel Reference Manual: Libraries and Devices, which contains a listing of all system calls, along with the libraries in which they can be found.
The CLI Window OK, now let's talk about the CLI window. To do any work with console I O in the CLI window, you must first open the "dos" library and locate the already open console input and console output "handles." A handle, in this case, is a data packet which describes the console.
(continued on page 72) PERFORMANCE!
OR HOW TO OUTRUN THE ‘SUN’.
JUST CALL THE PERFORMANCE EXPERTS AT CSA, THE AWARD WINNING, TECHNOLOGICAL LEADER OF PERFORMANCE ENHANCEMENT PRODUCTS FOR THE AMIGA!
Now you can transform your Amiga 500,1000, or 2000 into a super-powerful, low-cost workstation by sporting a 68020 full 32-bit processor and optional 68881 coprocessor "Piggyback" or CPU board from CSA.
CSA. YOUR PERFORMANCE BOOSTER!
Want to improve performance up to a whopping 200%?
Just run with a 14MHz 68020 alone, Now if you want to cross the finish line with up to a 400% performance increase, then add CSA’s 32-bit RAM. For programs requiring a high degree of "number crunching", adding a 20MHz 68881 can reduce your running time from serveral days down to a matter of minutes!
LEAVING ‘EM IN THE DUST.
Independent benchmark tests indicate vastly superior performance to the Macintosh II, VAX 8800, and Sun 3 160 Workstation, Whether you want to speed up your ray trace program from hours to minutes, or simply reduce the run time on your spreadsheet from minutes to seconds, call CSA today.
We have the best solutions over the Sun. Computer System Associates, Inc. ”564 Trade Street, San Diego, CA 92121
(619) 566-3911 • TELEX 333-693 Macintosh ,s the trademark of
Apple Computer Corp. VAX is the trademark of Digital
Equipment Corp Amiga is the trademark of Commodore Business
Machines, Inc. DosLibraryHandle is the location of the jump
tabic in the "dos" library. ConsolelnputHandle and
ConsolcOutputHandle are the locations of two packets of
data used for console input and output, respectively.
To display one character on the CLI console, place that character in the lower byte of DO and call the DisplayChar routine as shown in Listing 1.
To input a line of characters from a CON: window, call the GetLine routine shown here, When this routine returns, the line of text appears in LineBuffer. Set LineBufLen equal to the longest line of text you expect the user to enter.
Llr.eBufLcn equ 80 GetLine ;This routine gets a line of ; ASCII characters on the ; console ;Out: LineBuffer - the line of ; characters MCVEM.L D0-D3 A0 A1 AS, -(A7J ;Push registers MOVE.L ConsolelnputHandle,Di ;Read a line of MOVE.L KlineBuffer,D2 ; characters MOVEC *Li neBufLen, D3 MOVE.L DosLibraryHandle,AS SYS Read(A5) MOVEM.L (AI)+,D0-D3 A0 A1 A5 ;Pcp registers RTS ;Return Line3uffer DS.B LineBufLen ;Line buffer CNOP 0,2 ,' (Align on a word boundary) Before you exit your program, you call the CloseSystem routine.
The routine used for inputting characters from the CLI window is a line input routine. It is not a character input routine. This discrepancy means several things. First, this routine does not return until you press the return key.
Second, if you press the backspace key, the line input routine deletes the previously entered character, and backspaces the cursor without your program getting involved. Third, you can limit the number of characters you want to take from the line, as defined above by LineBufLen.
If you enter more characters than LineBufLen specifics, the extra characters are saved and given to your program the next time you ask for successive lines of characters. This process continues until the character stream you entered is exhausted.
Each line-feed is converted to a ''carriage-retum and linefeed combination" for display upon output. Typically, Amiga text files have no carriagc-rcturn characters only line-feeds to save a small amount of disk space. (There is a side effect hero. If you try to print a file by copying it to SER: or PAR:, rather than to PRT:, the carriage-retum characters will not be inserted in your listing, making it useless.) I have not yet found a way to input a single echoed character from the CLI window.
Retrieving the Command Tail Assuming your program was invoked from the CLI, you can retrieve the command tail that is, the command lino following the name of your program. When your program starts up (only if it was invoked from the CLI), register AO contains the address where the command tail is found.
Register DO contains the number of characters in the command tail. For example, if you enter "copy filel file2" into the CLI, then "filel file2" is the command tail. The spaces before "filel file2" are filtered out, and a line-feed character is appended to the string. In this example, DO contains the value 12. If you wish to use a filename in a command tail to open a file, you must locate the space or line-fccd character following the filename and convert it to a null character (zero byte).
The Icing on the Cake To assemble the program in Listing 1, type it in as file "typ.asm" and enter "do as typ." If you entered it properly, and put the two include files in your LIBS: directory, it should assemble without error. (If the assembler cannot find the include files in LIBS;, it asks you to insert disk " libs.") Enter "do lk typ." If you put "amiga.lib" in your LIBS: directory, it should link without error.
You now have an executable file called "typ." You may now type the contents of your typ.asm file by entering "typ typ.asm." This program runs a bit slow on my Amiga
500. There is a good reason for this: Wc are getting data from
the disk file, then displaying it one character at a time.
If we increase the buffer size from one character to many more, it would run much faster.
1 have not described the disk I O calls in detail, but their use is commented in the listing, and you can see what each register contains. One important disk I O call I don't use here is the Seek call, which changes the location in the file we are reading. You can position your read write location relative to your current position, or relative to the front or end of the file.
Overview The methods of interfacing assembler language programs to AmigaDOS I present in this column are not necessarily the "right" ways to interface. The descriptions are also not necessarily complete. As far as I have been able to dcter- (continued on page 74) If You are Searching for a Monthly A._. Resource to ,S r the Commodore A AMIGA V V TN Wake up and Smell the P COMMODORE 6H»BMlGfl«i;8l ?BQQQQQQ333 0300 ?QQOQQQSaaO 3333 133333(30(3333 3333 (3303333(3333 3333 (33333333333 3333 3 VII .~~ ..AF COMMODORE COMPUTERS B17-237-68M6 The Memory Location 39B Washington 5t.
Wellesley, MR 02181 Commodore Specialists There arc currently five Amiga conferences on FidoNet.
Your local Amiga user group should be able to fill you in on the nearest FidoNet node. If not, call me at 1939, and I'll find one for you.
What I Hope to Accomplish in this Column As time goes by, 1 would like to accumulate a set of assembler utility routines that simplifies interfacing with AmigaDOS. I would also like a good set of macros, and a set of programming techniques making it nearly as easy to program the Amiga's higher functions in assembler as in C. I've seen it done on other machines, and it can be done on the Amiga. You'll experience the fastest programs you've ever seen on an Amiga, and they'll have capabilities not available in any high-level language.
Next Month Next month. I'll show how you can put most of this program into a library, so you can use it without ever having to look at it again. We'll cover how to read the function keys and create new text windows. We will also discuss debugging tools. I planned to cover time-sharing an assembler program this month, using one code section and multiple data sections, but that topic will have to wait.
Hi Listing One WM- mfc.
Mine, no such "right" ways are documented in any Commodore literature. My methods have been gleaned from a number of sources, primarily methods I have found in the public domain. I would appreciate any insights you may discover about assembler programming on the Amiga.
Just send them to me care of Amazing Computing, or send a message on BBS "1939" at (818) 368-4248. This BBS has two 2400 baud modems, and has become the de facto conferencing BBS for assembler language Amiga hobbyists in the Los Angeles area. Hookups into FidoNet are in the works.
FidoNet is the hobbyist's version of electronic mail, similar to Usenet. If you have a modem and a communications program, such as Comm (available on a Fish disk), you can call the nearest node and send and receive messages with any other hobbyist in the world (if you know his node number), or send and receive messages on any of the conferences the local node monitors. To receive a FidoNet message, you must call your node usually within a few days of the time the message arrives.
There are hundreds of nodes all over the world operated on a volunteer basis by hobbyists. How are the long distance charges covered? Some nodes have night access to WATS lines. Other nodes are covered by interested hobbyists who can afford it or charge a minimal fee, such as $ 10 per year.
Section code include “’libs: types . I" Include “libs:dos.i" XSEF _LV00penLibrary XSEF _LVOQpen XSEF _LVOClcse XSEF _LVOInput XSEF _LV00utput XSEF _LVORead XSEF LVOWrite XSEF _LVOCloseLibrary XSEF AbsExecBase CRLF MACRO Display 10 ENDM Display MACRO JSR DlsplayLine
DC. 3 U,0 CNO? 0,2 ENDM BufLen equ 128 ; Buffer length JSR
Inltializesystem CMP I. L 1, DO ; If there was i BEQ NoFile
SUBI.L HOVE. B ; then jump to NoFile ? 1,D0 .-Convert the terminating ?0,0(AO,DO) ; line-feed in the command ; tail to a null A0,D1 ;Cpen the file specified in M3VE.L KOVE.L HOVE, L JSR TST.L SEQ MOVE.L
* MODE_OLDrILE,D2; the command tail DosLibraryHar.dle, A6
_LV0Cpen(A6) DO OpenError ;If the file doesn't exist,
DO,FlleHandle; then jump to OpenError Loop INTRODUCING..... JSR
GetFilcChars;Get bytes from the file 1ST.3 CO ; If we have
reached EOF, SEQ Eof ; then jump to Eof JSR
DisplayChars;Display the bytes BRA Loop rJurap to Loop An
Evolution in Disk Utilities for Amiga™ Personal Computers!
|Pri )jeef E| ¦i T i 2*. A Fuller Computer Systems Inc. ¦ W ,- : i 8 4} A*, .
MOVE.L FileHandle,Dl;Close the file MDVE.L DosLibraryHandle,A6 JSR _LVOClose(A6) Display *End of file.' CRLF ;Jump to Quit Quit BRA NoFile Display rNo file wa3 specified.r CRLF An easy to use. Friendly and intuitive user interface.
A powerful and fast disk backup tool that lets you make backups of your copy-prolcctcd Amiga software.
A disk editing tool that lets you edit raw MFM tracks. AmigaDOS sectors and AmigaDOS Hies (automatically calculating new checksums).
A disk cataloging tool that lets you maintain lists of your personal, public domain and commercial software.
A unique backup too) for duplicating other disk formats including MS-DOS PC-DOS and Atari ST. An easy to read, informative user manual is included.
This product is not copy-protected in any way.
F E A T U R I N G ;Ju.*T.p to Quit Quit 3RA OpenError Display c'There is no such rile.f CRLF Qui JSR CloseSystem ;(Close the dos library) RTS Exit the program System calls InitializeSystem TO ORDER Send check or money order to: Fuller Computer Systems, Inc.
P. O. Box 9222 Mesa, Arizona 85204-0430 Or CALL (602) 835-5018
$ 49.95 ,, Includes shipping and handling!
Arizona residents add 6.5 - sales tax.
;This routine Initializes ; the system MOVEM.L D0-D3 A0 A1 A5, - (A7);Push registers HOVE.L _AbsExecBase,A6 ;Open the dos library LEA,L DosName,Al MOVEQ 0,30 JSR _LVOOpenLibrary(A6) MOVE,L DO,DosLibraryHandle MOVE. L DosLibraryHandle, AS .‘Save the console JSR Dealer Inquiries Invited Amiga is a trademark of Commodore-Amiga, Inc. input handle LVOInput(A5) MOVEM.L (A7)+,D1-D3 A0 A1 A5 ;Pop registers RTS .‘Return MOVE,L DO,ConsoleInputHandle; locally MOVE. L DosLibraryHandle, AS .-Save the console JSR ; output handle _LVOOutput(AS) MDVE.L DQ,ConsoleOutputHandle; locally MOVEM.L
(A7)+,DO-D3 AO A1 A5;Pop registers RTS ;Return ’dos.library1,0
dc. a 0,2 DosN’ane CNOF CloseSystem MOVE.L _AbsExccBase,A6 MOVE.L
DosLibraryHandle, Al ; library JSR _LVOCloseLlbrary(A6) MOVEQ
40, DO RTS .-Close the dos DisplayLine Display Line routine
.•This routine displays a line ; of text on the console ;In:
The line of text ; immediately follows the call to this
routine, and terminates via a zero byte ; followed by: CHOP
0,2 ;Note: This routine expects the registers to be pushed ;
in a specified order (Push registers) ;(Do not optimize
MDVE.L A2,-(A7| MOVE,L DO,-(A7) MOVE. L D2,-(A7 ;This routine gets ASCII : characters from the file .-Out *.
; DO.3 - the number of characters read, ; LineBuffer - the characters MOVEM.L D1-D3 A6 A1 A5,-(A7) .-Push registers MOVE.L FileHandle,Dl (File specifier) MOVE.L ?LineBuffer,D2 ; (Buffer location) MOVE.L ?BufLen,D3 ;(? Of chars to MOVE.L DosLibraryHandle,A5 JSR _LVORead(AS) MDVE.L DO,CharsRead MOVE.L 12(A7),A2; (Set A2 to the address of the ; word following the call to ; this routine) GetFilcChars DisplayLine!
MOVE.W (A2)+,D2 ; If the most-significant byte MOVE.w D2,D0 ; of that word is a zero byte, ASR.W *8,DO ; (Advance A2 by one word) TST.B DO ; then jump to DisplayLlne9 BEQ.S DisplayLine9 JSR DisplayChar;Display the byte MOVE. B 02, DO ,*If the least-significant byte 3E0.S DisplayLine?; of that word is a zero ; byte, then jump to Di3playLlne9 JSR DisplayChar;Display the byte BRA DisplayLinel;Jump to DisplayLine1 (continued) INTERCHANGE Share objects between Sculpt 3D and VidcoScape 3D Use Sculpt 3D as an editor to create objects for VldeoScape 3D Use Sculpt 3D to make HAM ray-traced Videoscapc
3D schemes Full Intuition interface for all functions Inlerdiaiigs™ converts Sculpt 3D objects to VidcoScape 3D elects and back agiin. Save hours of vrork and tcdiotB calculations by using Sculpt 33 to make VidcoScape 3D objects. Share objecls with others.
Price $ 49.95 Send check or money order only. Hrasc include $ 3.00 postage & handling. Wi and MA residents add 5% sales tax. This product requires Sculpt 3D and AdeoScape. It is not a stand-alone animation facgram.
Send a stamped, sdf-addresscd envelope fir a catabg of Syndesis products. Dealer inquiries invited. Inlcrchaqgc is a trsricmark of fymdesis.
Sculf* 3D and VidcoScape: 3D are mastered (nidcmarkB of Ilyto by Byte Corporation and Aegis Devdnpmont, rveportivcly SYN 20 IDESIS WEST STREET W1MWGTON, MASSACHUSETTS 01887 617
• 657 * 5585 t DispiayLIne9 MOVE.L A2,12(A7);(Set the return
address to A2) MOVE.L (A7)+,D2 ; (Pop registers) MOVE.L
(A7)+,DQ :(Do not optimize thisl) MOVE.L (A7)+,A2 RTS ;Return
DisplayChar .‘Display Character routine ;This routine displays
one ; ASCII character on the ; console :In: D0.B - the
character MOVEM.L D0-D3 AO Al A5, - (A7) ;(Push registers)
MOVE.3 DO,DisplayCharx .-Output a character MOVE.L
ConsoleOutputHandle,Dl;(File specifier) MOVE.L DisplayCharx,D2
.‘(Buffer location) MOVEQ 41,D3 ;(4 of chars to display) MOVE.L
DosLibraryHandle,AS JSR _LVOWrite(AS) MOVEM.L (A7) + ,
D0-D3 A0 A1 AS .‘(Pop registers) RTS ;Return DlsplayChars
.-Display Characters routine ;This routine displays : ASCII
characters on the ; console ;Im LineBuffer contains the
characters, ; CharsRead - the number of characters in
LineBuffer MOVEM.L D0-D3 A0 A1 A5,-(A7) ;(Push registers)
MOVE.3 DO,DisplayCharx ;Output a character MOVE.L
ConsoleOutputHandle,Dl;(File specifier) MOVE.L LineBuffer,D2
.‘(Buffer location) MOVE.L CharsRead,D3 ; (4 of chars to
display) MOVE.L DosLibraryHandle,A5 jsr LVOWrite(AS) MOVEM.L
(A7)+,DQ-D3 AO Al AS ;(Pop registers) SUBSCRIPTION PROBLEMS?
Pleose don't forget to let us know.
If you are having a problem with your subscription or if you are planning to move, please write to: Amazing Computing Subscription Questions PiM Publications, Inc.
P. O. Box 869 Fall River, MA 02722 LineBuffer DS.B DufLen
DisplayCharx DS.B 1 .‘Character buffer CHOP 0,2 CharsRead DS.L
1 CHOP 0,4 DosLibraryHandle DS.L 1 FileHandle DS.L 1
ConsoleInputHandle DS.L 1 ConsoleOutputHandle DS.L 1 end
Please remember, we cannot mail your magazine to you if we do
not know where you are._
• AC* Please allow four to six weeks for processing.
By John Steiner Bug Bytes The Bugs & Upgrades Column Since starting this column, I have learned many new features of Amiga software ... new to me, at least. One such "new" feature involves Cold Disk's FageSetter and LaserScript. As a regular FageSetter user, I was surprised to learn that it reverses text (white characters on a black background). If you were not aware that you could reverse text, all you need to do is make a box for text, fill it with black, then put R in front of the text to be placed in the box. It reverses and prints properly (white characters on black) from PageSetter or
PagePrint on a dot-matrix printer.
This point brings up the bug I am reporting here: LaserScript does not reverse the text when printing to a Postscript laser printer. An update is available from Gold Disk. Dr. Rod Ludwig also found a solution to the problem which can be used until you get the updated version from Gold Disk. When using LaserScript, print the file to disk, rather than to the printer. A Postscript file is not a text file at all. Rather, it is a program, and Postscript is a page description language. LaserScript takes a PageSetter document and generates a program to drive the Postscript laser printer.
Here is Dr. Ludwig's solution. Use a text editor or word processor to load the Postscript file, and use the editor search function to locate the text you want reversed. For example, you might want to reverse the phrase "Amiga Users Group" in your newsletter, Locate the text in the Postscript file, which will appear in parentheses "(Amiga Users Group)." On the lines above and below the phrase, insert new lines that contain SETGRAY commands as follows: 1 SETGRAY (Amiga Users Group) 0 SETGRAY Use a communications program to send the file to the laser printer.
Aegis Software's Draw Plus has a bug apparent to hard disk users. Starting Draw Plus from the CL1 docs not exhibit the bug, but using the Icon to start the program causes a problem with the plot routine. Normally, Draw Plus first plots to a disk file before sending the file to the plotter. The file is written to the hard disk normally, but when it starts to send information to the plotter, it reads the plot file on the disk in DFO: (if there happens to be one there), instead of the newly created plot file on the hard disk.
When trying to load a file in Deluxe Paint (if you are using a hard disk and do not have floppy drive dfl:), you get a requester that says, "Insert disk dfl: in any drive." There is no way to change directories at this point because the only requester options are "Retry" and "Cancel." The Cancel option goes directly back to the program without bringing up a disk requester. If you have a drive DF1:, a requester says, "Insert disk in drive dfl:." If you insert any disk in Dfl:, the load file requester appears normally.
A temporary solution to the above problem with a single drive system is to use ASSIGN from the CLI, and ASSIGN DF1: to DHO: (or any other logical drive you may have including RAM:). Then simply start Dpaint as usual. Thanks to Jacques Chatncy for reporting those two bugs.
Absoft Corporation has released seven patch notices for version 1.2 of the AOBASIC compiler. These patches are being sent free of charge to all registered users. The patches and a patch program are sent in printed form; the user must type the programs into a text editor or Amiga BASIC's editor, and then compile. A copy of AC BASIC is then inserted in the drive, and the patch program is executed. The program modifies the copy of AC BASIC, correcting the problem that the patch was designed to fix. If you have had problems with certain AC BASIC commands, you can use this patch list.
2. 01 Fixes INSTR function
2. 02 Prevents CVL from eventually crashing Amiga
2. 03 fixes internal housekeeping in DECLARE FUNCTION
2. 04A B Allows LOF & LOC to work on huge files
2. 05A B Fixes handling of serial port CCOMD
2. 06 Fixes bug In PRINT USING with commas
2. 07 Fixes bug in incremental garbage collection Absoft is also
working on another release of AC BASIC, due out before January
1, 1987. This release should fix the aforementioned bugs, as
well as other problems which cannot be patched. This new
release will be (continu£d) distributed free to registered
users only. Absoft encourages owners of AC BASIC who have not
yet registered their compilers to do so soon.
Robert Woell reports a new release of Absoft's Fortran compiler, version 2.3. Mr. Woell beta tested the 2.3 release and noted a few improvements. First of all, ho previously used a very early release of 2.2, and there was a problem with data in common blocks that was fixed in later shipments of 2.2. Some calls to Amiga functions have also been fixed. One major improvement in the new version allows the compiler to use RAM: files as a work area, if you have enough memory or your programs are small. This change sped up compile times by at least a factor of 2 on the tested programs.
Extensions to the language have been added, so subroutines can be loaded and unloaded from memory under program control. If you sent your registration card, the upgrade will cost you $ 50; if you didn't send the card, send S50 and your disk.
Send your registration card and technical questions to: Absoft Corporation Technical Support, 2781 Bond Street, Auburn Hills, MI 48057 (313) 853-0050 Telex: 235608 Microlllusions has announced an update for The Faeiy Tale Adventure.
If you cannot enter the building that is due north of the tavern in Tambrey, you need the update. Check the save function by beginning an adventure and entering the save command. If you end up in the CLI after the save, you need the update. To get the update, send in your original disk (and registration card, if you haven't already), to: Microlllusions, 1748 Chatsworth Street, Granada Hills, CA 91344 Attn: Faery Tale Update Electronic Arts has upgraded Arctic Fox to run correctly under 1.2 with more than 512K of memory. The upgrade costs $ 7.50, and EA asks that you return the entire Arctic Fox
package. Send all upgrade requests to: Electronic Arts Amiga Upgrades, Box 7530, San Mateo, CA 94403 Electronic Arts will not accept telephone upgrades. Send check, money order or Visa MC credit card information, and allow 4 6 weeks delivery.
According to a notice left on People Link, Dan Browning of Progressive Peripherals and Software, has an upgrade to CLImate. The newest version of CLImate supports virtual disk VD0:. To upgrade, send your disk to: Progressive Peripherals and Software (Attn: Roy), 464 Kalamath Street, Denver, CO 80204 (303) 825- 4144 Thanks to all those who have passed along tips on upgrades and bug solutions. If you have any information you wish to pass along to our readers, send it to: John Steiner Bug Bytes c o Amazing Computing, P.O. Box 869, Fall River, MA 02722 ¦AC* „ COMPUTER MART ljt Your Texas Amiga
Source Immediate Access to over 400 Amiga Titles.
Prices too low to print!
We stock Amiga Software and Peripherals For A500, A1000, & A2000.
Mon. thru Fri. 10:00 AM-7:00 PM, Sat. 12:00-5:00 PM CALL TOLL FREE CUSTOMER SERVICE 800-443-8236 409-560-2826 Computer Mart. 105 Lynn Street. Nacogdoches, TX 75961 I RP1IGR.
0OBQ0 qcddqB 00Q ]30 ? ????
? OOP 0:001 TM A full-featured spreadsheet program written in AmigaBASIC by Bryan Catlcy Bspread is a full-featured spreadsheet program, written in AmigaBasic, and designed for those of you wondering whether you should spend the money on a commercial product. Bspread lets you become familiar with what a spreadsheet is, what it offers, and what features are best suited to you. It is powerful enough to handle most household requirements, and may even be powerful enough to satisfy the requirements of a small business. Who knows, once you start using Bspread (especially if you compile it with
Absoft's AC Basic compiler), you may not want to purchase that commercial product after all.
Unlike many other Amiga spreadsheets, Bspread makes extensive use of the Amiga's user interface (Intuition) and, accordingly, is very easy to use. Some of its features are: 40 columns by 50 rows, for 2000 cells of a width of 5, 10, 15, or 20 characters; automatic recognition of numeric input which may be displayed with either zero or two decimal places; the first columns (containing row titles) may be held on the screen, while columns to the far right of the sheet are being worked on; columns and rows may be inserted or deleted, causing all other columns or rows to shift as appropriate; a
cell's contents may be propagated to the right or down any number of cells; any number of the currently displayed columns may be printed or saved in an ASCII format for export to a word processor; keyboard shortcuts are available for the most commonly used commands; and many others.
Than having at least 512K of memory. It uses the standard AmigaBasic output window (on the Workbench screen), and there arc no requirements for special libraries or bmap files.
By the way, when entering the program, please leave the titles intact.
Once you have entered Bspread, test it menu item by menu item, until you are reasonably sure you have found all your typos. You will probably not be able to exercise every statement of code, but if you use every menu item, you will come close.
You may also wish to change the "ON ERROR ..." statement near the beginning of the program to a comment while you are performing this test. If you don't make the change, you'll receive an error message when AmigaBasic finds a typo, without any indication of which statement caused it.
Of course, don't forget to remove the "REM" or before using the program for any real purpose. If you don't, and an error occurs, you could lose all of your work for that session.
You will also notice SIGNORE ON" and "' SIGNORE OFF" remarks around a "CLEAR ,25000" statement under the "Xit:" label. These remarks are for the benefit of Absoft's AC Basic compiler. They may be removed if you do not expect to compile Bspread. In fact, you should remove them because they will slow the exit processing considerably with the interpreter.
Entering Bspread and Checking It Out Bspread is a long program, close to 1000 lines. Don't try to enter it all at one sitting, and save your work regularly.
There are no special requirements to run Bspread, other Some Bspread Generalities W'hen you bring up Bspread, you are presented with the working screen which contains the program titles. Clicking (continued) P tnt Shed: SiwleSheet.bsp i :r U - j;-; r: ; C* 1 i .
T: F: Hovthher Incone Expenses Totals eeee.ee hhubhhum 1(tfVlvv kKbTkTTTfT 255,el rummi:; 9eB,ee mummm i Ocfi DQ UnimiytKy & JD » vD nTxxTTTTT ise.ee ***«**«»
75. ee KWHHHHHBI J6.B8 WHHHHHBHHCr 2J.75 35,25
52. 30 : 14 B: C: V. Octoher _?ncone Expenses isee.ee 252,86 ,
remissions I Interest I fHortsase Paynent '’Car Paynent
Anerican Express MasterCard Phone Cowany Electric CoHpany Gas
Coif any 5Total for Month “ Total 2iB.ee se.ee
16. 75 22,51 41,62 the left mouse button removes the titles and
places you in the working environment. It also insures the
Bspread window is the current one. Notice that rows are
labeled on both sides, while the columns arc labeled across
the top at the right side of each column. Column names range
from A to Z, and A A to NN.
Just above the column labels is a row of 40 small boxes, with the left-most one highlighted. Each box represents which column appears as the left-most column on the display. Just click in any box to change the column display.
The column of 50 small boxes to the left of the screen performs the same function for the display of rows. As you change columns and rows, notice the delay before you can make another selection. This occurs because the program is redrawing the display area, even if it happens to be blank.
The top line of the screen displays the name of the current spreadsheet; the second line is reserved for error messages, input, and a visual flag which indicates when the spreadsheet has changed from its original condition.
Bspread operates in two modes: Project and Cell.
As the names imply, Project Mode gives you control over the entire spreadsheet. Cell Mode allows you to work with individual cells, and specific columns and rows of cells. Cell data and formulas are entered into the sheet in Cell Mode.
When you start, you are automatically in Project Mode with only the two left-most menus available.
As you move the pointer around the display area, each cell is highlighted; just click in a cell to select it and to move to Cell Mode. Now the right-most two menus are available. You move back to Project Mode by selecting the Exit menu item or pressing the "X" key.
Spreadsheet names, which you can choose, always have "bsp" appended to them. You may enter this suffix yourself, or let Bspread do it for you. Similarly, ASCII files are always given a ".txt" suffix.
When responding to requests for input, you arc presented with the current value (if any), with a cursor over the first character. Pressing the "esc" key clears any current value to null; the cursor left and right keys move the cursor back and forth over the current value; the "back space" key The Project Management I Menu is the first of two menus which give you control over the entire spreadsheet. Each option on the menu is described below.
Load (L) asks for the name of a previously saved spreadsheet. You may optionally include the ",bsp" suffix. The spreadsheets can be loaded from any directory on any disk, simply by specifying the full path name.
Save (S) saves the current spreadsheet under the current path and name. If there is no current name, you arc prompted for one.
Save As (A) requests a new name before saving the current spreadsheet. You may optionally include the ".bsp" suffix.
The spreadsheets may be saved on any disk, in any existing directory, simply by specifying the full path name.
Text File (T) saves all 50 rows of a specified number (prompted for) of the currently displayed columns in an Ttie Bspread Menus Bspread is, for ail intents and purposes, menu-driven. Examining the four menus is a good way of learning what Bspread can do for you. Remember, many menu items have keyboard options (shown in the menus themselves and in parentheses below). These optional keyboard selections are not the familiar Amiga-key combinations.
AmigaBasic does not support this option, and to access it via library routines would use too much memory anyway.
Thus, an ordinary key press will have to suffice!
Removes the character to the left of the cursor; the "del" key deletes the character under the cursor. New input is inserted at the current cursor position.
When running Bspread under the interpreter, you must wait a second or two for the cursor to appear the first time you are prompted for input (This is caused by the interpreter rearranging memory to accommodate the sub-program which handles the input. It does not occur again.). The input routine is a variation of my "Basic Input" sub-program which was fully described in Amazing Computing Volume 2, Number 5.
ASCII format, after requesting a file name. You may optionally include the ",txt" suffix. This format is suitable for loading into a word processor.
Print (P) prints all 50 rows of a specified number (prompted for) of the currently displayed columns.
Quit (Q) terminates Bspread and returns to AmigaBasic (or to the system if you arc using a compiled version).
Professional display and animation language for the Amiga™ The Project Management II Menu is the second of the two menus giving you control over the entire spreadsheet. Each option on the menu is described below.
Calculate (C) resolves all the formulas in the spreadsheet in a left-to-right, top-to-bottom sequence with the results displayed as appropriate.
Go To Cell.,, (C) requests a cell name, and then repositions the display so the named cell is in the upper left-hand corner of the display area.
Clear Sheet removes all entries from the current spreadsheet, resulting in a clean sheet.
Reset Sheet replaces all displays of formula calculations with asterisks.
Cell Size 5,10,15,20 allows you to choose the width of the cells you with which you will be working. You may change widths at any time. The current width is indicated with a check mark. If you select a new width which is smaller than the current data, the data will be truncated on the right if it is character data, or replaced with "*LEN*" if it is numeric data. Note that all cells must always be the same width.
Two Decimals states that all numeric values are to be displayed with two decimal places. (Checked when selected.)
No Decimals states that all numeric values are to be displayed as whole numbers. (Checked when selected.)
Hold 1st Cols Release Cols causes the first n columns (prompted for) to be fixed on the display, or to be released after being fixed. This option toggles back and forth, and allows row names to remain in place, regardless of which columns are in use.
Make a Shell causes all numeric values to be removed from the spreadsheet, and all formulas to be reset to asterisks. This option allows a new spreadsheet "shell" to be created, so you do not have to reenter a standard scries of column and row names when you want to create a new sheet in the same format.
• Use any IH- images, any resolution, any number of colors
• Fades, Dissolves, Blits, Wipe , Stencils
• Page Rip full or partial screens
• Preload images, fonts and sounds up to your memory limit
• Flexible script-based structure
• Basic-like vocabulary: For Next. Gosuh Return, II Else Endil
• Arithmetic expressions, random number generator, variables
• Execute AmigaDOS commands from the script
• Text siring and file input and output
• keyboard and mouse interaction
• Digitized soundtrack module
• Supports HAM and overscan
• Supports IFF AN1M playback
• Built-in drawing commands DEMO DISKS 510 each Probe Sequence
(512k) RGB (I meg)
• No copy protection
• And much more . . .
The Right Answers Group Department ( $ 69.95 Check or money order payable to: Right Answers Plus S3 shipping and handling.
Calif, tesidrms add 6 ales lax Box 3699 Torrance. CA 90510
(213) 325-1311 Amiga is » irjdcmifk of Commodore-Amiga. Inc The
Cell Management I Menu is the first of two menus which give
you control over individual cells. Each option on the menu
is described below.
Cell Data (D) allows you to enter new data, or edit existing data, in the currently selected cell. Bspread automatically recognizes character and numeric data, displaying it left or right justified in the cell. Numeric data may be entered with a leading (to indicate a negative value) and or with a (to indicate decimals). Any character data you enter should not include a or a prefix.
Cell Formula (F) allows you to enter a new formula, or edit an existing one, in the currently selected cell. The entered formula is never displayed on the screen (Its length may exceed the cell width.), but rather is shown as asterisks when unresolved, or as the actual value when resolved.
Zero Cell causes the current cell to be reset to zero.
Blank Cell causes the current cell to be reset to blank.
Copy Cell is copied to a specified cell (prompted for). The original cell remains intact.
Move Cell moves the current cell to a specified cell (prompted for). The original cell is reset to blank.
(continued) Propagate Right causes the current cell to be propagated to the right a specified (prompted for) number of times.
Propagate Down causes the current cell to be propagated down a specified (prompted for) number of times.
Go To Cell... (G) requests a cell name, and then repositions the display, so the named ceil is in the upper left-hand comer of the display area.
Exit (X) returns you to Project Mode.
The Cell Management II Menu is the second of the two menus providing you with control over individual cells.
Each option on the menu is described below.
Zero Column causes all numeric ceils in the current column to be reset to zero.
Zero Row causes all numeric cells in the current row to be reset to zero.
Blank Column causes all character cells in the current column to be reset to blanks.
Blank Row causes all character cells in the current row to be reset to blanks.
Insert Column causes a new column to be inserted as the current column. The existing current column, and all others to its right, arc shifted to the right with the resulting loss of column 40.
Insert Row causes a new row to be inserted as the current row. The existing current row, and all others below it, arc shifted down with the resultant loss of row 50.
Remove Column causes the current column to be removed from the spreadsheet. All columns to its right are shifted left one column.
Remove Row causes the current row to be removed from the spreadsheet. All rows below it are moved up one row.
Cell Name Specifications To perform certain functions (in response to a "Go To..." request, and in formulas, for example), you must specify, or name, the cell in question, Cells may be identified by their absolute name or by their relative cell name. The relative cell name Is only valid in formulas. Cell names may be entered in either upper or lower case; either is perfectly acceptable.
Absolute Cell Names. There arc 40 columns named A to NN, and 50 rows named 1 to 50. To request a specific cell, just combine its column and row names. For example, Al, Z 9, CC6, and NN50.
Relative Cell Names. This form of cell specification is reserved for optional use within formulas, and must be enclosed within square "" brackets. The desired cell is specified as a plus or minus value to both the current column and the current row, represented by C and R respectively. For example, 1C-1,R-1] refers to the cell which is one left and one up from the current cell; [C+5,R-10] refers to the cell five positions to the right, and 10 up from the current cell. Both column and row values must be specified, even if there is no change (Use a zero in this case IC+0,R+1], for example.).
Column and row values must be separated by a comma.
A relative cell name is obviously longer than an absolute cell name; it often only needs to be entered once, though, and then propagated when a similar formula is required in a number of adjacent cells. Further, relative cell names are usually still valid after new columns or rows have been inserted or deleted! One drawback to using relative cell names is that they arc not calculated as quickly as absolute cell names (even with a compiled version of the program).
Bspread Formulas The heart of any spreadsheet is its ability to process formulas and display the results. In Bspread, formulas may be entered into any empty cell by selecting the "Cell Formula" menu option (or by pressing the "F" key) when in Cell Mode. When the formula is first entered, the cell appears filled with asterisks. It remains this way until the "Calculate" menu item is selected (or the "C" key is pressed) in Project Mode. The asterisks are then replaced with the result of the evaluated formula.
A formula is a series of absolute cell names and or relative cell references and or numeric literals separated by arithmetic operators. The numeric literals may optionally start with a sign and may contain a decimal point. The supported arithmetic operators are + (addition), - (subtraction), * (multiplication), and (division). Parentheses are not supported, and operations proceed on a strictly left to right basis.
For example, to find the average of the contents of three cells, you would use a formula similar to: B10+[C+2,R- 3J+D10 3. To express N20 as a percentage of NN10, you could use: N20 NN10*10Q. To add 25 percent to the contents of the cell directly above, you might use: [C+0,R- 1P.25+[C+0,R-U. Formulas may also reference cells containing other formulas which have already been evaluated. Evaluation proceeds in a left-to-right, top-to-bottom sequence.
In addition to defining your own formulas, you may also use two special, predefined formulas to perform two of the most common calculations quickly and easily. "TOTCOL" totals all numeric cells that are above, and in the same column; "TOTROW" totals all numeric cells to the left, and in the same row.
If a formula references a cell which does not contain a numeric value, an error message is displayed. The asterisks remain in the cell containing the formula which made the invalid reference.
Error Messages A number of error messages may be generated. The meanings are usually fairly obvious in relation to the situation (Most arc concerned with invalid formulas,).
You may also receive an "AmigaBasic Error: n" message, where n represents the AmigaBasic error number you can look up in the AmigaBasic reference manual. At the same time, you are automatically returned to Project Mode where you may recover from the error or save the current sheet before quitting.
Sometimes you must identify which statement caused the error. To do this, you must recreate the situation, using the interpreter, with the "ON ERROR ..." statement changed to a comment (just as you did during the initial checkout phase). The error is probably just a typo which survived your initial testing!
A Simple Example If you've never used a spreadsheet, you should look at a simple example. One popular spreadsheet application is household budget management. So, to start things off, let's do a very simple household budget!
First, we must decide what size cell to use, and whether to select zero or two decimals. For this example, the default width of 10 is probably adequate. As far as the decimals places go, it's up to you! Do you round things off to the nearest dollar, or do you like to see exact amounts?
Having made those basic decisions, we now must decide on format. For this example, we'll use two columns for each month, one for income and one for expenses. This means the first two rows of our spreadsheet are reserved for column titles: month names in the first row, and "Income" and "Expenses" in the second. In turn, the names for the umffsaving 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 CL1.
• Runs on ALL Amigas . . . 500, 1000 and 2000 (V1.2 required).
• Not copy protected.
• Plus ... 3 other time saving utilities are included.
Just send $ 29.95 plus $ 2.00 S&H to: SOFT-UNK inc. P.O. Box 304, Coventry, Rl 02816 Dealer inquiries invited.
Amiga is a registered trademark of Commodore-Amiga, Inc. individual line items appear on the left side of the spreadsheet. Because more meaningful names require more than 10 characters, we'll use the first two columns for item names.
Okay, load Bspread, click the left mouse button to start, and let's get going!
We'll start with the income line item names. Move the pointer (the cursor will follow) to cell A3 and click. Cell A3 becomes the current cell, and you are now in Cell Mode.
Now select "Cell Data" from the "Cell Mgmt I" menu (or press the "D" key). You are prompted for the data to be entered into the cell. Type "Salaries" (without the quotes) and press return. Lo and behold, the word "Salaries" appears in cell A3! Now click in cell A4 and select "Cell Data" again. This time enter "Commissions." Note that you arc not be allowed to enter the final "s" because it's the eleventh character (only ten characters are allowed in each cell). Press return, move the pointer to cell B4 and dick.
Select "Cell Data," enter the "s," and press return.
"Commissions" now occupies cells A4 and B4. Using the same technique, enter "Interest" in cell A5. That's it for the income line!
(continued) Now for expenses. If you wish, leave a blank row following "Interest," then enter the following expense titles in column A, extending into column B where necessary: "Mortgage Payment" (or Rent), "Car Payment," "American Express," "Visa," "MasterCard," "Phone Company," "Electric Company," and "Gas Company." The list is obviously incomplete, but it will do for our example. In column C of the next row, enter the 10 character string "-" (ten dashes). In the next row, enter 'Total for Month" in columns A and B; go to the next row and enter "YTD Total" in column A. Jumping up to cel!
C2, enter the first column title "bbbbln- como" (bbbb represents four blanks and causes the title to appear right justified in the cell). In cell D2, enter "bbEx- penscs." We just need to enter the name of the month.
This entry can go in cell Cl, Dl, or split in the middle between the two. I'd opt for the latter; it looks much neater.
Repeat the column heading for a second month in columns E and F. Move over to column G and enter "bbbbTotals" in row 2. (We're only going to do two months in this example.)
There arc only two more things to do before wc start entering actual data. First, click in the ceil which contains the dashes, select the "Propagate Right" menu item, and enter "3" at the prompt. The cell of dashes is now spread across the spreadsheet an additional five columns. Second, enter the formulas. Entering these now, instead of waiting for the data in the spreadsheet to be completed, allows you to monitor the data are being entered. The most obvious formulas for use initially are the predefined "TOTCOL" and TOTROW" formulas.
Click in the cell in column C immediately below the cell of dashes. Select "Cell Formula" from the "Cell Mgmt 1" menu (or press the "F" key) and, when requested, enter 'TOTCOL" (without the quotes). The cell is then filled with asterisks, indicating it contains an unresolved formula.
While the coll is still current, propagate (or copy) it to the right five columns (as you did with the dashes).
Now click in cell G3 (to make it the current cell), select the "Cell Formula" menu item, and enter 'TOTROW" when requested. As before, asterisks appear in the cell. Now use the "Propagate Down" menu item to copy the formula down the column for each line item in your spreadsheet (except for the rows already containing 'TOTCOL" formulas, of course).
The only remaining formulas are the Year-To-Date ones.
Well, in the first two data columns (C and D), this total is nothing more than a repeat of the months totals from directly above. In the YTD row of column C, enter the formula [C+0,R-1], and propagate it one column to the right.
Obviously, this isn't really a formula; it simply copies the above total. The big advantage of doing this is, if we choose to insert more rows at a later time, this formula is still valid!
For the third data column (and all subsequent columns), wc want to add the contents of the cell immediately above the YTD cell to the contents of the cell two columns immediately to the left. This formula looks like: [C-2,R-1]+[C+(1,R- 1]. Note the use of relative cell specifications. The same formula is now valid for every column! Enter it in the YTD row of column E and propagate it to the right the appropriate number of times (With our simple example, this move is only one column.). You now have a spreadsheet shell you can save for later use, or which you can start filling in right away
(You can always use the "Make Shell" menu item, if you wish to start a similar spreadsheet from scratch.). Now, enter some data (Click in the desired cell, select the "Cell Data" menu item or press the "D" key and enter the data you desire.). Numeric data is recognized and right justified in the cell. Once you have a reasonable amount of data entered, return to "Project Mgmt" mode by selecting "Exit." Save your spreadsheet, and select the "Calculate" menu item (or press the "C" key).
Calculation takes a little time; the entire sheet must be processed, and relative cell names are not calculated as quickly as absolute names. As results are evaluated, the asterisks are replaced with the appropriate values.
That's it! Your first spreadsheet is complete. Experiment with this example before creating your own spreadsheet.
Finally... As I said earlier, Bspread is a long program. You may want to purchase the Amicus disk which contains it, instead of typing it yourself. If it has not found its way onto an Amicus disk by the time you read this, it shouldn't be too long before it becomes available, so write for it anyway!
Listing One ' “BSpread” - art Ami q* Basic7* Spread Sheet; ' Written for 'Amazing co.mputip.q' Magazine
* by 3ryan D. Catley, August 1987 1 Copyright (c) 1987 by
FelineSysters, ' All rights reserved.
CLEAR ,25000:CLEAR ,205000&:OPTIOH BASE 1 HaxCol-40:MaxRow-5C:CWidth-10:NumCols-7:Yes-0 Dlk-0:Gra-l:Mag-2:Yel-3:m0-0:menuID-Q;menulT-0 n-Q:x-0:y-0:z-0:rowtop-0rcolleft-0;oldtop-0 sold left-0 StartCol-1:EndCol-7:ColLite-0:FirstCol-4 0:LastCol-600 StartRow-1: F.ndRcw-19: RowLite-G : Fi rstRow-32 : La st Row-1 84 ErrSw-0:RelSw-0:Total-0:CellMgmt-0:Hoiding-0:HoidCols-0 TempCol-0 rTempRow-0:NoGdgt-0:A110K--1;Saved 1 xt-G : rowl-0: Col%-Q: Print Coll-6 : PrintRowl-5 CellValueS-**": TypeFlagS-"" : Res pen se ScellS--* TempCol 5-"": TercpRowS-"" : Prompt S-"": PromptsS-*"* a$ -"" : bS-"" :xS“" "
:y$ -"": z5-"":FileNm$ -"" :TXtNm$ -"" Formula?-"" :ErrMsgS-"" :op$ -"":ops$ -"+-’ !"
Mask$ -" m * * *** . -":KeyS-"" DIM Ipcursor*(20),CellLite%(165) DIM ColHdgS(MaxCol),BSpreadS(MaxCol,MaxRow,2),MKeys$ 2) GOSUB Initialize:ON ERROR GOTO BasicError WHILE MOUSE(0)-0:WEND:WHILE HOUSE(0) 0:WEND LINE (40, 32)-STEP (560, 152) ,Gta,of WaitForUser: IF ErrSw-Q THEN COLOR Mag, Blk:LOCATE 2,1 PRINT"Use Project Menus or Select a Cell.SPACES(33); END IF mO-O :menuID-0 :menuIT-0:Key$ -"":ErrSw-0 MkeysS(1)-"LSATPQ":MKeysS(2)-"CG" WHILE rao 0 AND menuID-0 AND Key 5-"' x-MOUSE(1):y"MOUSE(2) IF x FirstCol AND xCLastCol AND y FirstRow AND y LastRow THEN GOSUB MouseOK ELSE IF oldtop 0 THEN
PUT (oldleft,oldtop),CellLite% oldtop-Ekrovtop-Q:oldieft-0;colleft-Q END IF mG-MOUSE(O) :menuID-MENU (0) :menu IT-MENU (1} :Key$ -lNKEYS WEND IF KeyS "" THEN FOR n-1 TO 2 x-INSTR(MKeysS(n),UCASES(KeyS)) IF x 0 THEN menuID-n:menuIT-x:n=2 NEXT END IF IF menulDOQ THEN ON menu ID GOTO ProjMgmtl, Pro jMgrotll X MOUSE(1):y-MOJSE(2):WHILE MOUSE(0) 0:WEND IF x 40 AND x 600 AND y 16 AND y 24 THEN NewColumn IF x 4 AND x 16 AiND y 29 AND y 179 THEN NewRow IF x FirstCol OR x 600 OR y FirstRow OR y 184 THEN WaitForUser CellSelected: CellCol-INT((x-FirstCol) (CWidth*8)+StartCol)
CellRow-INT((y-FirstRow) 8+StartRow) MENU 1,0, 0 :MENU 2,Q,0:MENU 3, 0, I :MENU 4,0,1 CellMgmt 1 NewCellSelection: COLOR Mag, Blk: LOCATE 2,1 PRINT"Use Cell Menus or Click in Another Cell.";SPACES(28); n0-Q;menuID-0 iraenuIT-O: Key$ ="" :MKeysS (1) -"DFSSSSSSGX":MKeysS (2) WHILE nO-O AND menuID-0 AND Key5-"" mO-MOUSE(O) : menu ID-MENU (0) :menuIT-MENU(1) : Key S-INKEYS WEND IF Key SO"" THEN x-INSTR(MKeysS(1), UCASES(Key$ )) IF x 0 THEN menuID-3:menuIT-x END IF IF menulD 0 then ON menuID-2 GOTO CellMgmtl,CellMgmtII ELSE x-MOUSE (1) : y-MOUSE (2 ) : WHILE MOUSE (0) 0: WEND IF x 40 AND x 60 0
AND y 16 AND y 24 THEN NewColumn IF x 4 AND x 16 AND y 29 AND y 179 THEN NewRow IF x FirstCol AND x LastCoI AND y Firstkow AND ycLastRow THEN GOSUB MouseOK:GOTO CellSelected ELSE GOTO NewCellSelection END IF END IF NewColunn: StartCol-INT((x-40) 14 +1:LastCol-600 IF StartCol+NunCols MaxCol THEN LastCol-((MaxCol+l-StartCol)*(CWidth*8))+40 END IF GOSUB DoColHdg: GOSUB ShoData IF CellMgmt THEN CellSelected ELSE WaitForUser NewRow: StartRow-INT( (y-29) 3) +1: LastRow-184 IF SlartRow+19 MaxRow THEN LasLRow-((MaxRow*1-StartRow)*Si+32 GOSUB DoRowHdg:GOSUB ShoData; IF CellMgmt THEN CellSelected
ELSE WaitForUser CellMgmtl: ON menuIT GOTO CellData,CellFomula,2eroCcll,BlankCell,CopyCell ON monuIT-5 GOTO MoveCell,PropRight,PropDoun,CMGoTo,CellExit CellData: CellValueS-BSpreadS(CellCol,CellRow,1) TypeFlagS-BSpreadS(CellCol,CellRow,2) COLOR Gra,Blk:LOCATE 2,1:PRINT SPACES(68) LOCATE 2,1:PRINT"New Cell Value?
X%-CWidth:GetDaca CellValueS,"CHAR",x% IF CellValueS ”" THEN BspreadS(CellCol,CellRow,1)-CellValueS BspreadS(CellCol,CellRow,2)-TypeFlagS ELSE BspreadS(CellCol,CellRow,1) BspreadS (CellCol, CellRow, 2) END IF GOSUB PrintCell:GOTQ CellChanged CellFormula: CellValueS-MIDS(BSpreadS(CellCol,CellRow,2),2) COLOR Gra,Blk; LOCATE 2,1:PRINT SPACES(68) LOCATE 2,1:PRINT"Ncw Formula? W; GetData CellValueS, "CHAR",53:CellValue$ -UCASE$ (CellValueS) IF CellValueSO"" THEN 3SpreadS(CellCol,CellRow,2)-"F"+CellValueS 3SpreadS(CellCol, CellRow, 1)-STRINGS(CWidth,"*") ELSE BspreadS(CellCol,CellRow,1) BspreadS
(Cell Col, Cell Row, 2)-'"' END IF COSUB PrintCell:GOTO CellChanged ZeroCell: BspreadS CellCol,CellRow, BspreadS(CellCol,CellRow,2)-"N” GOSUB PrintCell:GOTO CellChanged BlankCell: BspreadS (CellCol,CellRow,1)-"" BspreadS(CellCol,CellRow,2) GOSUB PrintCell:GOTO CellChanged CopyCell: MoveCell: ?rompt$ -"Target cell? ”:GOSUB GetCellNum BspreadS (Terr.pCol,TempRow, 1) -BSpreadS (CellCol, CellRow, 1) BspreadS (TerrpCol,TempRow, 2) -BSpreadS (CellCol, CellRow, 2) IF menu IT-6 THEN BspreadS(CellCol,CellRow,1)-"":GOSUB PrintCell Bspread5(CellCol,CellRow,2)-"" END IF IF TenpCol -StartCol AND
TenpCoK-EndCol THEN IF TempRow -StartRow AND TcmpRcwc-Endftow THEN IF menuIT-6 THEN GOSUB PrintCell x-CelICol:y-Ce11Row:CellCol»TempCol:CellRow-TempRow GOS’JB PrintCell :CellCol-x:CellRow-y END IF END IF GOTO CellChanged PropRight: COLOR Gra,Blk:LOCATE 2,1:PRINT SPACES(68) LOCATE 2, 1:PRINT*Number of Columns?
Responses'*"": GetData Response?, "INT", 2 :y-VAL(ResponseS) IF Responses "" THEN IF CellCol+y MaxCol THEN y-HaxCol-CellCol FOR x-CellCol+1 TO CellCol+y BspreadS x,CellRow,1)-BSpread$ (CellCol,CellRow, 1) BspreadS(x, CellRow, 2)-3SpreadS(CellCol,CellRow,2) NEXT y-y+EndCcl:IF y EndCol THEN y-EndCol x-CeilCol:FCR CellCol-x+1 TO y:GOSUB PrintCell:NEXT CellCol-x END IF GOTO CellChanged PropDown: COLOR Gra,Blk;LOCATE 2,1:PRINT SPACES(68) LOCATE 2,1:PRINT"Number of Rows? **; Responses-"":GetData Responses,"INT",2;y-VAL(Response?)
IF ResponseSo"" THEN IF CelIRowty MaxRow THEN y-MaxRow-CellRow FOR x-CeilRow+1 TO CellRow+y BspreadS(CellCol.x,1)-BSpreadS(CellCol,CellRow, 1) BspreadS(CellCol,x,2)-BSpreadS(CellCol,CellRow, 2) NEXT y*=CellRow+y: IF y EndRow THEN y-EndRow x-CelIRow;FOR CellRow-x+1 TO y:GCSUB PrintCell:NEXT CellRow-x END IF GOTO CellChanged CMGoTo: GOSUB GoToCell:GOTO NewCellSelection CellMgmt21: ON menuIT GOTO ZcrcCol,ZeroRow,BlankCol,BlankRow,InsertCal ON menuIT-S GOTO InsertRow,RemoveCol,HemoveRow ZeroCol: BlankCol: COLOR Mag,Blk:LOCATE 2,1:PRINT S?ACES(68) IF menuIT-1 THEN Prompts-" Ok to zero":?rompt2$ -"
IF menuIT-1 THEN aS-"N":bS-"0" IF menuIT-3 THEN Prompts-" Ok to blank":Prompt2$ -" this column?"
IF menuIT-3 THEN aS-"C":bS-"" GOSUB YesNo;IF NOT Yes THEN NewCellSelection IF menuIT-1 THEN LOCATE 2,1:PRINT"Zeroing column..." IF menuIT-3 THEN LOCATE 2, 1:PRINT"31anking column..." (continued) FOR TempRow-1 TO MaxRow IF BspreadS (CellCol,TempRow. 2) -a? THEN BspreadS CellCol,TempRow,1) b5 x-CellRow:CellRov-TercpRcv: GOSUB PrintCell:CellRow-x IF menu IT-3 THEN BspreadS (Celled, TempRow, 2)-"" END IF NEXT GOTO CellChanged ZeroRow: BlanXRow: COLOR Mag,BIX:LOCATE 2,1:PRINT SPACES(68) IF nenuIT-2 THEN Prompts-" OX to zero" :Prompt2S-" this row?"
IF menu17-2 THEN aS-'N":bS~"0" IF menuIT-4 THEN Prompts-" OX to blank":Prompt2S-" this row?"
IF menuIT-4 THEN a$ -"C" :b$ -'"‘ GOSUB YesNo:IF NOT Yes THEN NowCollSeloction IF menuIT-2 THEN LOCATE 2,1:PRINT"Zeroing column..." IF menuIT-4 THEN LOCATE 2,1:PRINT"BlanXing column..." FOR TempCol-1 TO MaxCol IF 3SpreadS[TempCol,CellRow, 2)-a$ THEN BspreadS(TempCol,CellRow,l)-bS x-CellCol:CellCol-TempCol:GOSUB PrintCell:CellCol-x IF nenuIT-4 THEN BspreadS(TempCol,CellRow, 2)-"" END IF NEXT GOTO CellChanged Inserted: COLOR Mag,Blk:LOCATE 2,1:PRINT S?ACES(68) Prompts-" OX to loose":Prcnpt25-" column NN?"
GOSUB YesNo:IF NOT Yes THEN NewCellSelection COLOR Gra,BIX:LOCATE 2,1:PRINT"Inaerting column..." IF CellCoKMaxCol THEN FOR TempCol-MaxCol-1 TO CellCol STEP -1 FOR TempRow-1 TO MaxRow BspreadS (TempCol +1, TempRow, 1) -BSpreadS (TempCol, TempRow, 1) BspreadS (TempCol+ 1,TempRow, 2) -BSpreadS (TempCol, TempRow, 2) NEXT NEXT END IF FOR TempRow-1 TO MaxRow BspreadS(CellCol,TempRow,1) BspreadS(CellCol,TempRow,2) NEXT GOSUB ShoData:GOTO CellChanged InsertRow: COLOR Mag,BIX:LOCATE 2,1:PRINT SPACES(68) Prompts-" OX to loose":Prompt2$ -" row 50?"
GOSUB YesNo:IF NOT Yes THEN NewCellSelection COLOR Gra,BIX:LOCATE 2,1:PRINT"InsertIng row..." IF CellRowcMaxRow THEN FOR TempCol-1 TO MaxCol FOR TempRowMaxAov-1 TO CellRow STEP -1 3SpreadS (TempCol, TempRow+1, 1) -BSpreadS (TempCol,TempRow, 1) BspreadS (TempCol, TempRow* 1, 2) -BSpreadS (TempCol,TempRow, 2) NEXT NEXT END IF FOR TempCol-1 TO MaxCol BspreadS(TempCol,CellRow, 1) BspreadS(TempCol,CellRow,2)-"" NEXT G0SU3 ShoData:GOTO CellChanged RemoveCol: COLOR Gra,BIX;LOCATE 2,1:PRINT SPACES(68) Prompts-" OK to delete":Prompt2S-"current column?"
GOSUB YesNo:IF NOT Yes THEN NewCellSelection LOCATE 2,1:PRlNT"Deleting column..." IF CellCoKMaxCol THEN FOR TempCo1-CelICol TO MaxCol-1 FOR TempRow-1 TO MaxRow BspreadS(TempCol,TempRow,1)-BSpreadS(TempCol+1,TempRow,1) BspreadS(TempCol,TempRow,2)-BSpreadS(TenpCol+1,TempRow,2) NEXT NEXT END IF FOR TempRow-1 TO MaxRow BspreadS (MaxCol, TempRow, 1) :BSpreadS (MaxCol, TempRow,2) NEXT GOSUB ShoData:GOTO CellChanged RemoveRow: COLOR Gra,BIX:LOCATE 2,1:PRINT SPACES(68) Prompts-" OK to delete":Prompt2S-" current row?"
GOSUB YesNo:IF NOT Yes THEN NewCellSelection LOCATE 2,1:?RINT"Deleting row..." IF CellRow MaxRow THEN FOR TempCol-1 TO MaxCol FOR TempRow-CellRow TO MaxRow-1 3SpreadS(TempCol,TempRow,I)-BSpreadS(TempCol,TempRow*1,1) BspreadS(TempCol, TempRow,2)-BSpreadS(TempCol,TempRow*1,2) NEXT NEXT END IF FOR TempCol-1 TO MaxCol BspreadS(TempCol,MaxRow,1)-"":BSpread$ (TempCol,MaxRow, 2 NEXT GOSUB ShoData:GOTO CellChanged CellChanged: Saved-0:LINE(609,9)-STEP(6,6),Mag,bf GOTO NewCellSelection CellExit: IF NOT Holding THEN MENU 1,0,1 MENU 2,0,1:MENU 3,Q,0:MENU 4,0,0 CellMgmt-0:GOTO WaitForUser ProjMgmtl: ON
menuIT GOTO LodSheet,SvSheet,SvSheetAs,SvTxt,prStart,Xit LodShoet: IF NOT Saved THEN Prompt$ -"Sheet not saved":Prompt2S-" Continue?"
GOSUB YesNo: IF NOT Yes THEN WaitForUser END IF COLOR Gra,BIX:LOCATE 2,1:PRINT SPACES(68) LOCATE 2, 1:PRINT"Load sheet?
Lsget: COLOR Gra,BIX:LOCATE 2,13:GetData FlleNmS,"CHAR",39 IF FlleNmS-"" THEN WaitForUser IF RIGHTS(FileNmS,4) ".bsp" THEN FileNn$ -FileNmS+w.bsp" OPEN FlleNmS FOR INPUT AS 1 AfterOpen: IF ErrSw-1 THEN ErrSv-Q:GOTO Lsget LOCATE 2,lrPRINT SPACES(68) LOCATE 2, 1; PRI NT"Loading sheet ".-FlleNmS INPUT l, Cwidth,NumCols, Started, EndCol INPUT 1, Lasted, StartRov,EndRow, LastRov INPUT 1,MasXS FOR TempCol-1 TO MaxCol FOR TempRow-1 TO MaxRow IN?UT 1,BSpreadS(TempCol,TempRow,1) INPUT !,BSpreadS(TempCol,TempRow,2) NEXT NEXT CLOSE *1:GOSUB DoColKdg:GOSUB DoRowHdg MENU 2,5,1:MENU 2,6,1:MENU 2,7,1:
MENU 2,8,1 x-CWidth 5+4:MENU 2,x,2 Saved 1: LINE (609, 9) -STEP (6, 6), BIX, bf : COLOR Yel, Blk LOCATE 1,16:PRINT RIGHTS(FileNmS,52);SPACES(S2-LEN(FileNmS)) IF MIDS(MasXS, 17, 1)-"." THEN TwoDec ELSE NoDec SvSheet: SvSheetAs: COLOR Gra,Blk:LOCATE 2,1:PRINT SPACES(68) IF FileNmS-"" OR menuIT-3 THEN LOCATE 2,1:PRINT"5ave as sheet?
GetData FileNmS,"CHAR",50 END IF IF FileNmS-"" THEN WaitForUser IF RIGHTS(FlleNmS,4) ".bsp" THEN FlleNm$ -FileNmS*".bsp" LOCATE 2,I:PRINT SPACES(68) LOCATE 2, 1 :PRINT"Saving sheet “.-FileNmS OPEN FileNmS FOR OUTPUT AS 1 WRITE 1, Cwidth, NumCols, Started, Ended WRITE 1,LastCol, StartRow,EndRow,LastSow WRITE 1,MasXS FOR TeaipCol-l TO MaxCol FOR TempRow-1 TO MaxRow WRITE !,BSpreadS(TempCol, TempRow,1) WRITE 1,BSpreadS(TempCol,TempRow,2) NEXT NEXT CLOSE 1: Saved l:COLOR Yel,BIX LOCATE 1,16:PRINT RIGHT$ (FileNmS,52);SPACES(52-LEN(FileNmS)) GOTO WaitForUser SvTxt: prStart: COLOR Gra, BIX: IXXIATE
2,1: PRINT SPACES ( 68); zS-"" UJCATE 2,1:PRINT”Numbor of columns? W;:GetData z$ ,"INT",l Z-VAL(zS):LOCATE 2,1:PRINT SPACES(68) IF z NumCols OR z l THEN z-NumCols IF menu IT-4 THEN LOCATE 2,1:PRINT"Savc a3 text file?
GetData TxtNmS,"CHAR",48 IF TxtNmS-"" THEN WaitForUser IF RIGHTS(TxtNmS, 4) ".txt" THEN TxtNmS-TxtNmS*".txt" LOCATE 2,1:PRINT SPACES(68) LOCATE 2,1:PRINT"Saving text file “.-TxtNmS OPEN TxtNmS FOR OUTPUT AS 1 ELSE locate 2,1:PRINT"?rinting sheet..." END IF FOR y-1 TO MaxRow FOR x-StartCol 70 StartCol+z-1 x5-BSpreadS(x, y,1) yS-LEFTS(3SpreadS(x,y, 2), 1) IF (y5-"N" OR yS-"F“) AND LEN(xS) CWldth THEN xS-"*LEN*"+STRING$ (CWidth-5,"*") y5-LEFT5(CellValueS,11 END IF IF (y$ CHR$ (48) OR y$ CHR$ (57)) AND (y$ "-" AND y5 ".") THEN n-CWidth-LEN(xS):IF n 0 THEN n-0 CellS-CellValueS:GOSUB GetCelllD IF
y$ -"C" OR y$ -"" OR LEFTS (X$ , 1)“"*" THEN IF AllOK THEN IF menuIT-4 THEN yS”BSpreadS(TempCoL,TempRow,1) PRINT 1,xS;SPACES(n ; zS-BSpreadS(TempCol,TempRow,2) ELSE IF LEFTS (Z$ , 1 )-"N" THEN LPRINT x$ +£PAC£$ (n); CellValueS-yS END IF ELSEIF LEFTS US,1)-"F" THEN ELSE IF LEFTS(ySfTHEN IF menu IT-4 THEN CellValueS-yS PRINT !, USING RIGHTS (MaskS, Cwidth) ,'VAL(x$ ) ; ELSE ELSE ErrMsg$ -"Unresolved Formula at "+CellVaIueS:Err5w-l LPRINT USING RIGHTS(MaskS,CWidth);VAL(x$ ) ; END IF END IF ELSE END IF ErrMsgS-"Character Null at "+CellValue$ :ErrSw-i NEXT END IF IF nenuIT-4 THEN PRINT 1," “ ELSE LPRINT " “
END IF NEXT END IF IF menuIT-4 THEN CLOSE 1 IF ErrSwOl THEN GOTO WaitForUser IF opS-"+" THEN Total-Total+VAL(CellValueS) IF opS-"-" THEN Total-Total-VAL(CellValueS) ProjHgmtll: IF opS-"*" THEN Total-Total*VAL(CellValue$ ) ON menuIT GOTO calculate,PRGoTo,ClrSheet,ResetSheet,CSzS IF op$ -" " THEN Total-Total VAL(CellValue$ ) ON menuIT-5 GOTO CszlG,CSzl5,CSz20,TwoDec,NoDec,HoldRloe opS-xS:CellValueS-"" ON menuIT-11 GOTO Template ELSE x-LEN(Formulas) Calculate: END IF COLOR Gra,BIX:LOCATE 2,1:PRINT"Caleulating...".-SPACES(54); END IF FOR CellRow-1 TO MaxRow NEXT FOR CellCol-1 TO HaxCol IF ErrSw-Q
THEN IF LEFTS(BSpreadS(CellCol,CellRow,2),THEN BspreadS(CellCol, CellRow, 1)-STR$ (Total):G0SU3 PrintCell FormulaS-MIDS(BSpreadS(CellCol,CellRow,2),2) END IF Total-0:ErrSw-0 IF Formula$ -"TOTCOL" THEN RETURN GOSUB TotalCols CalcXit: ELSEIF FormulaS-"TOTROW" THEN LINE(609,9)-STEP(6,6),Mag,bf:Saved-Q GOSUB TotalRows ELSEIF FormulaSO"" THEN GOTO WaitForUser GOSUB Evaluate PRGoTo: END IF IF LEN(STRS(Total)) CWidth THEN GOSUB GoToCell:GOTO WaitForUser ErrM3gS-wRo3ult too big!":Errsw-l ClrSheet: END IF Prompts-" OK to clear":Prompt2$ -" Sheet?":GOSUB YesNo IF ErrSw-I THEN IF NOT Yes THEN WaitForUser
BEEP:COLOR Mag, Blk:LOCATE 2,1:PRINT S?ACES(68) COLOR Gra,Blk: LOCATE 2,1 :PRINT"Clearing Sheet..." .-SPACES (51) LOCATE 2,67-LEN(ErrMsgS) :PRINT ErrMsgS FOR x=l TO HaxCol END IF FOR y-1 TO MaxRow END IF BspreadS(x, y,1) NEXT BspreadS(x, y,2)-"" NEXT NEXT GOTO calcxit NEXT LINE(40, 32)-STEP(S60, 152),Gra,bf TotalCols: LINE(609,9)-STEP(6,6),Blk,bf IF CellRow-1 THEN 3SpreadS(CellCol,CellRow,1)«"0" Saved 1:GOTO WaitForUser ELSE ResetSheet: FOR y-1 TO CellRow-1 Prompts-" OK to reset":Prompt2S-" Sheet?":GOSUB YesNo IF LEFTS BSpreadS(CellCol,y,2),1)-"N" THEN IF NOT Yes THEN WaitForUser Total-TotaH
VAL(BSpreadS (CellCol, y, 1)) COLOR Gra, Blk: LOCATE 2, 1: PRI.VT"Resetting Sheet... ".-SPACES (50) ELSEIF LEFTS(BSpreadS(CellCol,y,2),1)-"F" THEN FOR CellRow-1 TO MaxRow IF LEFTS (BSpreadS (CellCol, y, 1) , 1)0"*" THEN FOR CellCol-1 TO MaxCol Total-Total+VAL(BSpreadS(CellCol,y,1)) IF LEFTS (BSpreadS(CellCol,CellRow, 2), 1)-"F" THEN END IF BspreadS(CellCol,CellRow,1)-STRINGS(CWidth,""") END IF GOSUB PrintCell NEXT END IF END IF NEXT BspreadS(CellCol,CellRow,1)-STRS(Total):GOSUB PrintCell NEXT RETURN TotalRows: LINE(609,9)-STEP(6,6),Blk,bf Saved-0:GOTO WaitForUser IF CellCol-1 THEN CszS;
BspreadS(CellCol,CellRow,1)-"0“ CS210: ELSE CszlS: FOR x-1 TO CellCol-1 C5z20: IF LEFTS(3SpreadS(x,CellRow,2),1)-"N" THEN MENU 2,5,1:HENV 2,6,):MENU 2,7,1:HENU 2,8,1 Total-Total+VAL(BSpreadS(x,CellRow,1)) IF menu IT-5 THEN MENU 2, 5, 2: Cwidth- S: Num.Cols-14 ELSEIF LEFTS(BSpreadS(X,CellRow,2THEN IF menuIT-6 THEN MENU 2,6,2:CWidth-10:NumCols- 7 IF LEFTS(BSpreadS(x,CellRow, 1),I) "¦" THEN IF menuIT-7 THEN MENU 2,7,2:CWldth-15:NunCois- 4 Total-Total+VAL(BSpreadS(x,CellRow,I)) IF menuIT=8 THEN MENU 2,8,2:CWidth-20:NumCols- 3 END IF END IF GOSUB DQColHdg:GOSUB ShoData:GOTO WaitForUser NEXT
TwoDec: END IF MENU 2, 9, 2:MENU 2,10,1 :Mask5-"M * ** , 9*-” BspreadS(CellCol,CellRow,1)-STRS(Total):GOSUB PrintCell RETURN GOSUB ShoData:GOTO WaitForUser NoDec: Evaluate: MENU 2,9,1:M£NU 2,10,2:Mask$ -" * opS-"+":CellValueS-"":Formula$ -Forraula5+"’" FOR x-I TO LEN (Formulas) GOSUB ShoData:GOTO WaitForUser xS-MIDS(Formulas,x,1):y-INSTR(ops$ , xS) HoldRlse: IF xS-"r OR RelSw-1) THEN IF NOT Holding THEN RelSw-1:CellValueS-CellValueS+xS COLOR Gra,Blk:LOCATE 2,1:PRINT SPACES(68) IF x$ -"l" THEN RelSw-0 LOCATE 2,1:PRINT"How Many?
ELSEIF (y-0) OR (y 0 AND CellValueS-"") THEN Responses-"":GetData Responses,"INT",1:HoldCols-VAL(Responses) CellValueS-CellValueS+xS IF HoldCols- NumCols THEN HoldCols-NumCols-1 ELSE (continued) StartCol-StartCol+HoldCola:FlrstCol“40+CWldrh'8'HoldCols NumCoIs-NumCol3-HoldCols:PrintColl-6+CWidth»HoldCols MENU 2,5,Q:M£HU 2,6,0:MENU 2,7,0:MENU 2,8,0 MENU 2,11,1," Release Cols ":Holding--l:GOSUB DoColHdg MENU 1,0,0:MENU 2,12,Q:MENU 4,6,0:MENU 4,3,0 ELSE Startcol-startCol-HoldCols IF StartCoKl THEN StartCol-1 FirstCol-4 0:PrintColl-6:Holding-0 MENU 2,5,1:MENU 2,6,1:MENU 2,7,1:MENU 2,8,1 IF Cwidth-
5 THEN MENU 2, 5,1: Num.Cols-14 IF Cwidth-10 THEN MENU 2,6,2:NumCols= 7 IF Cwidth-15 THEN MENU 2,7,2:NumCols- 4 IF Cwidth-20 THEN MENU 2,8,2;NumCols- 3 MENU 2,11,1," Hold 1st Cols GOSUB DoColHdg:GOSUB ShoData MENU 1,0,1:MENU 2,12,1:MENU 4,6,1:MENU 4,8,1 END IF GOTO WaitForUser Template: Prompts-" OK to Make" :Prompt2S-" a Template?":GOSUB YesNo IF NOT Yes THEN WaitForUser COLOR Gra,Blk:LOCATE 2,1:PRIN7"Making Template...";SPACS$ (50) FOR CellRcw-1 TO MaxRow FOR CellCol-1 TO MaxCol xS-LEFTS(BSpreadS(CellCol, CellRow, 2) , 1) IF XS-"N" THEN BspreadS (CellCol, CellRow, 1)
BspreadS(CellCol,CellRow,2) GOSUB PrintCell ELSEIF xS-"F" THEN BspreadS(CellCol,CellRow,1)-STRINGS(CWidth,"*") gosub Printcell END IF NEXT NEXT LINE (609, 9) -STEP (6, 6) ,Blk,bf Saved-0:GOTO WaitForUser Xlt: IF NOT Saved THEN Prompt5-"Sheet not saved" :Prorr.pt25-"Quit 'BSpread'?"
GOSUB YesNo:IF NOT Yes THEN WaitForUser END IF MENU RESET:COLOR Gra,Blk ' SIGNORE ON CLEAR ,25000 ' $ IGNORE OFF CLSrEND YesNo: WINDOW 2, , (120, 51)-(258, 97),0,-1 COLOR Blk,Yel:x-22 FOR n-32 TO 0 STEP -1 LINE (0, n) -STEP (137, 0) ,Yel x-x-1 LINE(0,x)-STEP(137,0),Yel NEXT LINE (15,31) -STEP (32, 16) ,Blk,bf : LINE (95, 31)-STEP (32,16) , 31k,bf LINE (12,28) -STEP (32,16), Cra, bf: LINE (92, 20)-STEP (32,16),Gra,bf LINE(12,28)-STEP(32,16),Mag,b:LINE(92,28)-STEP(32,16),Mag.b LINE(13,29)-STEP(30,14),Mag,b:LINE(93,29)-STEP(30,14),Mag,b LOCATE 2, 2:PRINT PromptS:LOCATE 3,2:PRINT Prompt2$ COLOR
Mag, Gr a .-LOCATE 5,3:PRIN7"Yes";?TAB(100);"No"; NoGdgt •!
WHILE NoGdgt WHILE MOUSE(0)-0:WEND x-MOUSE(l):y-MOUSE(2) IF y 28 AND y 44 THEN IF x 12 AND x 52 THEN Yes--1:NoGdgt-0 ELSEIF x 92 AND x 122 THEN Yes-0:NcGdgt-Q END IF END IF WHILE MOUSE(0) 0:WEND WEND WINDOW CLOSE 2 RETURN GoToCell: Prompt$ -"Go To Cell? GOSUB GetCellNum StartCol-TempCol:LastCol-600 IF StartCol+NumCols MaxCol THEN LastCol-((MaxCol+1-StartCol)*(CWidth‘8))+40 END IF StartRow-TenpRow:LastRow-l84 IF StartRow+19 MaxRow THEN LastRow-((MaxRow+l-StartRow)*8)+32 GOSUB DoColHdg:GOSUB DoRowHdg:GOSU3 ShoData RETURN GetCellNum: COLOR Gra,91k:LOCATE 2,1:PRINT SPACES 68):CellS-"" GCNget:
LOCATE 2,1:?RINT Prompts?
GetData CellS,"CHAR", 4:GOSUB GetCelllD IF NOT AllOX THEN COLOR Mag,Blk:LOCATE 2,67-LEN(ErrMsgS) PRINT ErrMsgS:BEEP COLOR Gra.Blk:GOTO GCNget END IF RETURN GetCelllD: Cell$ -UCASE$ (CellS):AllOK 1:Errsw-O IF LEFTS(CellS,l)-"[“ THEN n=l;GOSUB RelCell IF AliOK AND MID$ (CellS,n, 1)-"," THEN GOSUB RelCell ELSE IF MIDS(CellS,n,1)-"]" THEN ErrMsgS-"Missing Col Row: "+CeliS:ErrSw-l:AllOK-0 ELSE IF EirSw-0 THEN GOSUB RelCell END IF END IF ELSE GOSUB AbsCell END IF RETURN RelCell: z$ -MIDS(CellS, n, 1) IF z$ -"T OR zS-"," THEN n-n+1:z$ -MIDS(CellS,n,1) IF Z5-"C" OR zS-"R" THEN n-n+1:aS*MIDS(CellS,n,1) IF
a$ -"+" OR a$ -"-" THEN n-n+1:y5-MIDS(CellS,n+1,1) IF y$ -"," OR y$ -"]" THEN yS-MIDS(Cel IS,n,1):n-n+1 ELSE yS-MIDS(CellS,n,2):n-n+2 END IF IF z$ -"C" THEN IF a$ -"+" THEN TempCol-CellCol+VAL y$ ) IF aS-”-" THEN Tgir.pCol-CellCol-VAL(y$ ) IF TempCoKl OR TempCol MaxCol THEN ErrMsgS-Tlleqal Column: ”+Cell5:ErrSw-l:A11CK-0:TempCol-l END IF ELSEIF zS-"R" THEN IF aS-"+" THEN TempRgw-CelIRow+VAL(yS) IF aS-"-" THEN TerepRow-CellRow-VAL(yS) IF TempRow l OR TempRow MaxRow THEN ErrMsgS-"!llegal Row: “+CelIS:ErrSw-l:AllOK-O:TempRow-1 END IF END IF ELSE ErrMsg$ -"lllegal Operator: ”+CellS:ErrSw*l:A11OX-0 END IF
ELSE ErrMsgS-"Must Specify a C or R: "+CeilS:ErrSw-1:AliOX-Q END IF ELSE ErrMsgS-"Illegal Relative Format: "+Cell$ :ErrSw-1:AllCK-0 END IF RETURN AbsCell: TempCol-0 IF LEN(Cel1$ ) 2 THEN Acerrl IF LEN(CellS)-2 OR LEN(CellS)-4 THEN n-LEN(CellS) 2 TempCol$ -LEFT$ (CellS, n):TcmpRowS-RIGHTS(CellS,n) ELSE IF MIDS(CelIS,2,1) CHR$ (58) THEN TempColS-LEFT 5(Cells,11:TempRowS-RIGHTS(CellS,2) ELSE TempColS“LEFTS(Cell 5,2):TempRowS-RIGHTS(CellS,1) END IF END IF IF LENITempCol$ )-2 THEN IF LEFTS ItempColS,1) RIGHTS(TempColS,1) THEN Acerr2 TempCol«2 6:Terr.pColS-RIGHTS (TompColS, 1) END IF TempCol-TempCo1+ASC
(TempColS) -64 IF TempCoKl OR TempCol MaxCol THEN Acerr2 TempRow-VAL(TempRowS) IF TempRow l OR TempRow MaxRow THEN Acerr3 GOTO Acexit Acerrl:ErrMsg5-"Illegal CelllD: ”:GQTO AcerrEnd Acerr2:ErrMsgS-"Invalid Column: “:GQTQ AcerrEnd Acerr3:ErrMsgS-"Invalid Row: ":GOTO AcerrEnd AcerrEnd:ErrMsgS-ErrMsg$ +celIS:A110K-0:Errsw=l Acexit: RETURN ShoData: LINE (FirstCol,FlrstRow)-(600,1 92),Gra, bf rowtop-0:oldtop-0:colleft-0:oldieft-0 FOR CellRow-StartRow TO EndRow FOR CellCo1-StartCol TO EndCol GOSU3 PrintCell NEXT NEXT cellcol-StartCol:cellRow-startRow IF CellMgnt THEN x-FirstCol+4:y-FirstRow+4:GOSU3
MouseOK RETURN KouseOK: n-CWidth* 8 rowtop-INT(y 8)-8:colleft-INT((x-40) n)»n+40 IF colleft LastCol-n THEN colleft-LastCol-n IF rowtopOoldtop OR colleftOoldleft THEN IF oldtopOO THEN PUT (oldleft, oldtop) ,CellLite% PUT(calleft,rowtop),CellLite% oldtop-rowtop:oldleft-colleft END IF * RETURN PrintCell: IF collett 0 THEN PUT(colleft,rowtap),CollLite% row%-P rintRow%+CellRow-StartRcw col%-PrintCol%+((CellCol-StartCol)-CWidth) IF row% 24 AND row% 4 AND col% (77-CWldth) AND coll- PrintCol% THEN LOCATE rov%,colt:COLOR Blk,Gra xS-BSpreadS(CellCol,CellRow, 1) yS-LEF75(BSpreadS (CellCol,CellRov, 2),
1) IF yS-"N" OR yS-"F") AND (LEN USJ CWidth) THEN COLOR Mag:PRINT"*LEN*" ;STRINGS (CWidth-5, " * ”) :COLCR BiK ELSE n-CWidth-LEN(xS):IF n 0 THEN n-0 IF y$ -"C" OR yS-"" OR LEFTS|X$ ,1)-"-" THEN PRINT LEFTS (x$ ,CWidth) ;SPACES(n) ; ELSE PRINT USING RIGHTS(MaskS, Cwidth);VAL(x5) ; END IF END IF END IF IF colleftoO THEN PUT (collet!, rowt op),Cel1Litel RETURN DoColHdg: COLOR BIX,Mag;LOCATE 4,6;PRINT SPACES(TO):LOCATE 4,PrintColl GET(24,24)-(24+CWldth-8-l,31),CellLitel EndCol-StartCoH-NumCois-1 :IF EndCol MaxCol THEN Er.dCol-MaxCol FOR n-startcol TO EndCol PRINT SPC CHidth-3);ColHdg$ (n) NEXT IF
ColLiteOO THEN LINE (ColLite, 17) -STEP 1 0, 5), BIX, bf n-41-13+(14*StartCol) LINE(n,17)-STEP(10,5),Yel,bf:ColLite-n RETURN DoRovHdg: COLOR BIX,Mag:rowl-5 LINE 124, 24)-STEP (15, 160) ,Kag,bf LINE(600, 24)-STEP(15,160),Mag,bf EndRcw-Start.Row+18:IF EndRow KaxRow THEN EndRcw-KaxRow FOR n-StartRow TO EndRow LOCATE cowl,4:PRINT USING PRINT SPC (70): :PRINT USING rowl-rcwl+1 NEXT IF RowLiteOO THEN LINE (6, RowLitel -STEP (8, I) ,B1X, bf n-3 0-3 +(3-StartRow) LINE(6,n)-STEP(8,1),Yel,bf:RowLite*n RETURN BasicError: COLOR Mag,BIX:BEEP;ErrSw-1 IF ERR-53 THEN LOCATE 2,S3:PRINT"File Not Found!"
RESUME AfterOpen ELSE LOCATE 2,1:PRINT SPACES(68) LOCATE 2,1:PRINT"AnigaBasic ErrorERR; END IF MENU 1,0,1:MENU 2,0,1;MENU 3,0,0;MENU 4,0,0 RESUME WaitForUser Initialize: FOR n-1 TO MaxCol:READ ColHdgS(n);NEXT DATA” A".
H" DATA" I", J"," K" L"," M"," N", " O”, " P" DATA” Q", X” DATA" Y" r" Z","AA", "B3", "CC", "DD ","EE" , "FF" DATA"GG", "HH","11"," JJ","KK","LL" , "MM", "NN" PALETTE 0,0,0, 0:PALETTE 1,0,0,0 PALETTE 2,0,0, 0: PALETTE 3, 0,0,0 COLOR ,BIX:CLS LINE(24,24)-STEP(592,160),Mag,bf LINE(40,32)-STEP(560, 152), Gra, bf LINE (40,16)-STEP (560, 7) ,Gra,b LINE (4,29)-STEP (12,150) ,Gra,b FOR n-54 TO 592 STEP 14:LINE(n,16)-STEP(0,7), Gra:NEXT FOR n-32 TO 176 STEP 3:LINE(4,n)-STEP(12,0),Gra:NEXT GET(24,24)- 31,31),IPcursorl GOSUB DoColHdg:GOSUB DoRowHdg COLOR Gra,BIX:LOCATE 2,69:PRINT"Changed:"
LINE(608,8)-STEP(8,8),Gra,b COLOR Yel,BIX:LOCATE 1,1:PRINT"Current Sheet: unnamed" LOCATE 1,69:PRINT"'BSpread'" MENU 1,0,1, "f MENU 1,1,1," MENU 1,3,1," MENU 1,5,1," MENU 2, 0,1, MENU 2, 1,1, MENU 2, 3,1, MENU 2, 5,1, MENU 2, 7,1, MENU 2, 9,2, MENU 2,11,1, MENU 3, 0,0, "i MENU 3, 1,1," MENU 3,3,1," MENU 3, 5,1," MENU 3,7,1," MENU 3,9,1," MENU 4,0,0,"' MENU 4,1,1," MENU 4,3,1," MENU 4,5,1," MENU 4,7,1," COLOR 31X,Gr ’roject Mgrat I" Load (L) ":MENU 1,2,1," Save (S) " Save As (A)" :HENU 1,4,1," Text File(T)" Print (P) *:MENU 1,6,1," Quit (Q»* "Project Kgmt II" " Calculate (C)":MENU 2, 2,1," Go
To Cell...(G)" " Clear Sheet ":M£NU 2, 4,1," Reset Sheet Cell Size 5 *:MENU 2, 6,2," Cell Size 10 Cell Size IS ** :MENU 2, 8,1," Cell Size 20 Two Decimals " MENU 2,10,1," No Decimals "
* Hold 1st Cols ":M£NU 2,12,1," Make a Shell Cell Mgrat I" Cell
Data (D)“:MENU 3,2,1," Cell Formula (F)" Zero Cell ** ;MENU
3,4,1," 3lanX Cell Copy Cell ":MENU 3,6,1," Move Cell Propogate
Right *:MENU 3,8,1," Propogate Down Go To Cell. .. (G)w:MENU
3,10,1," Exit (X)" Tell Mgmt II" Zero Column ":MENU 4,2,1,"
Zero Row Blank Column ":KENU 4,4,1," Blank Row Insert Column"
:KENU 4,6,1," Insert Row Remove Column":MENU 4,8,1," Remove Row
a:LOCATE 19,32:?RINT"'Click' to Start" LQCATE
7,19:PRINT"'BSpread' - an AmigaBasic(tm) Spread Sheet" LOCATE
9,20:PRINT"Written for 'Amazing Computing' Magazine" LOCATE
11,39;PRINT"by" LOCATE 15,22:PRINT"Copyright (c) 1987 by
FelineSystems" LOCATE 16,31:PRINT"A11 Rights Reserved” COLOR
Mag,Gra:LOCATE 13,32:PRINT"Bryan D. Catley" LOCATE
21,14:PRINT"2221 Glasgow Road Alexandria PRINT"Virgir.ia
22307-1819" PALETTE 0,0, 0,0: PALETTE 1, . 75, . 75, . 75
PALETTE 2,1, 0, 1 : PALETTE 3,1,. 8,0 RETURN SUB GetData
(TextS,DataTypeS,maxlenl) STATIC SHARED TypeFlagS, I Pour sort
() WHILE TNKEYSO "" :WEND
IF LEN(TextS)-0 THEN TypeFlagS-"N” n-maxlen%+l-LEN(TextS):IF
n 0 THEN n-0 PRINT TextS+SPACES(n)LOCATE ,Start
xpix-(Start+Cur-1)* B:PU T(xpix,ypi x),IPcursorl NxtChar:
xS-"":LeftPart$ -"" :RightParts-"" WHILE x5-"";xS-INKEYS:WEND IF
xS-CHRS(30) THEN CurRight ' Right-cursor IF xS-CHRS(31) THEN
CurLeft 1 Left-cursor IF XS-CHRS(8) THEN DelLeft * Back-space
Xey IF xS-CHRS(127) THEN DelRight ' Delete Xey IF xS-CHRS(27)
THEN ClrText 1 Escape Xey IF xS-CHRS(13) THEN GetDone ’ Return
Xey IF DataTypeS-"CHAR” AND TypeFlag$ o"C* THEN IF (X5 CHRS|4B)
OR xS CHRS(57)) AND (xS ".") THEN IF LEN(TextS) 0 OR xS "-"
THEN TypeFlagS-“C" END IF ELSEIF DataTypeS-"INT" THEN IF
xS CHRS(48) OR xS CHRS(57) THEN BEEP .-GOTO NxtChar END IF END
IF InsertChar: IF LENI TextS)-maxlenl THEN BEEP:GOTO NxtChar IF
Cur 0 THEN LeftPart$ -MID$ (ToxtS,1,Cur) IF LEN(TextS) 0 THEN
TextS-LeftPartS+xS+RightPartS:Cur-Cur+1:GOTO ShoText CurRight:
IF Cur-LEN(TextS) THEN NxtChar Cur-Cur+1:GOTO ShoText CurLeft:
IF Cur-0 THEN NxtChar Cur-Cur-1:GOTO ShoText DelLeft: IF
LEN(TextS)“Q OR Cur-o THEN BEEP:GOTO NxtChar IF Cur l THEN
LeftPartS-MlDS(TextS,1,Cur-1) IF LEN(TextS) Cur THEN
Text$ -LeftPart$ *RightPart $ :Cur-Cur-l•COTO ShoText DelRight: IF
LEN(TextS)-0 OR Cur-LEN(TextS) THEN 3EEP:GOTO NxtChar IF Cur 0
THEN LeftPartS-MIDS(TextS,1,Cur) IF Cur+l LEN Text$ ) THEN
RightPart5-MID$ (Text$ ,Cur+2,LEN(TextS)-Cur+i)
TextS-LeftPartS+RightPart$ :GOTO ShoText ClrText: PRINT
SPACES(maxlenl+1)LOCATE ,Start Cur-0:Texts-"":GOTO ShoText
GetDor.e: PUT(xpix,ypix), Ipcursorl END SUB
• AC' Roomers by The Band i to An 80386 based BridgeBoard for the
The new "newfs" file system for Amiga hard disks is still in beta testing. Testing has shown that some Amiga programs circumvent the AmigaDOS file structure and functions to gain speed. These programs are incompatible with the faster file system. There are several commercial programs that do not work with the new software. The new software will reportedly need a new Kickstart and Workbench. It will be able to boot from any arbitrary device on the system, such as a hard disk or network connection.
Commodore is semi-officially working on version 1.3 of AmigaDOS. Technicians and programmers have been visiting the computer networks, asking "techies" for their suggestions for improving the operating system. The new software would need to be burned into ROMs for all existing Amiga 500 and 2000 owners, which means a trip to the local service center for a chip upgrade to run new software that might require the new DOS. Chances are that most software will continue to adhere to the 1.2 standard, given the great number of machines out there with that version of the operating system.
Rumors say the new "fatter Agnes" graphics chip that addresses one megabyte of CHIP memory has the ability to address two megabytes, too.
No current Amiga design can handle it, though. The decision to address one meg or two is a "bond-out" option on the chip, meaning the choice between one and two meg is made at the time when the silicon chip is placed in the ceramic chip package.
The two meg design can't run in today's machines without a significant board design change.
This "bond-out" option also means Commodore can gear up for a new architecture on a moment's notice.
Word has it that the Amiga 3000 design will have yet another bus design, but some slots would be backwards compatible to the current Zorro II design.
Rumor has it that Commodore is holding back on shipment of Amiga 2000s because they want to ship a two megabyte memory card and a hard disk controller with every machine.
Both the A2000 version of the Genlock peripheral and the A2000 composite adapter provide composite video.
Commodore may never produce a separate composite adapter for the 500 and 2000, but you can always buy a third party composite adapter, and got a genlock to boot.
It turns out the coprocessor slot in the Amiga 2000 is actually compatible with original 86-pin spec expansion cards. The gender is wrong, but with an adapter, you can run one and only one old-style card in the 2000.
You can't run any new Zorro style cards at the same time, however.
The Software Distillery is porting NetHack 2.x to the Amiga. NetHack is a multi-user game of Hack. They are also considering their own hard disk software to increase the speed of the AmigaDOS. They still have driver code left from their ill-fated hard disk commercial venture.
At COMDEX, IBM showed OS 2 running on a Model 80, but it was crashing a lot during the demonstrations. If you looked closely, the revision dates on the software revealed that it was last modified the day before!
Recent talk says Commodore West Germany is working on a 80386 based BridgeBoard for the Amiga 2000.
Rumors say it will be shown at a spring computer show.
More indications that Ashton-Tate is developing programs for the Amiga come from spies on bulletin boards close to A-T's main offices. Employees have been visiting local Amiga BBSs, looking for technical tips. Chances are they are porting the dBase data base program to the Amiga.
Rumors are flying that an Amiga hardware company is making a do-it- yourself Super Amiga with a 68020, a 68881, and lots of memory and card slots, it is made from the company's motherboard and an Amiga 500. You disassemble the Amiga 500, remove the custom chips, and drop them into the new circuit board. Other hardware companies arc talking about expansion boxes for the Amiga 500, to turn it into a high-powered, 68020 based workstation for universities and software companies.
• AC- As I See It Another Software Generation is Born First, Some
Current Events Well, the big move is over. Good-bye Charleston,
hello Dallas. And with the new job and new home came some new
equipment. Ole Faithful has been given an infusion of new life
through a 2 meg Alegra board and a Phoenix hard drive. 1 also
have a A2000 with 3 meg of memory and a 20 meg hard drive. I
will reports on how they all work, as 1 use and abuse them.
Meanwhile, now that I've brought you up to date, let's move on
to more important issues.
East is East, West is West, and Now the Twain Shall Meet!
Not very long ago, the only programs which worked together were written by the same company. New companies soon sprang up, making their livings by selling add-on programs which worked with other, "big ticket" programs.
The demand for these types of programs grew into an entire market.
As both computers and users have grown more sophisticated, the desire to share "resources" has also grown.
Nobody wants to re-invent the wheel. Once you are accustomed to a nifty feature, you sure hate to give it up.
At the very end of this historical jaunt comes the Amiga with its multi-tasking operating system, making it absolutely necessary for programs to live together in peace. Peaceful co-existence does not mean file compatibility, though. IFF was supposed to provide that peace.
The problem was that when the IFF standard was decided upon, no one thought about animation. So, when desktop video emerged as the Amiga's strong suit, it caught IFF people off-guard. When a standard finally arose from all the confusion, several very good programs were left out in the cold.
Products are now appearing to solve this situation. Like the add-ons of old, products like Interchange can rectify some incompatibilities of older, still useful programs. Of course, programs that read other formats besides their own should always be encouraged. City Desk's inclusion of WordPerfect format is an example. Let's give a hearty "Well done!" To the good folks at Sunrize.
(continued) Don't rest on your laurels yet, gang. I'm still disappointed when features are only partially implemented. City Desk only understands the attribute and justification information from within a WordPerfect file. No tabs! No columns!
Sigh. Sunrize isn't the only programming house to go only part of the way, however. How many desktop publishing packages or word processors which allow the inclusion of graphics also allow HAM? Aren't HAM pictures graphics?
Sure, it would mean more work, but still... Anyway, 1 know an upgrade of City Desk is going to allow importation of more info from the WordPerfect file, and the battle for the desktop publishing buck is just beginning to heat up. Look for some spiffy features in new packages in the near future. Isn't competition great?
Another Software Generation is Born!
First, there were Deluxe Paint and Images. (! Suppose 1 have to include Graphicraft in here, but since it was still-born, 1 won't mention it again.) These first generation painting programs were, by today's standards, pretty crude. No dithering, no perspective, and no worky-worky with extra memory. It wasn't very long before the second generation appeared to make our lives easier. Once again, healthy competition gave us more features and better user-interfaccs.
Deluxe Paint II, Digi-Paint (filling in the gaps in DPII), and Prism all pushed the Amiga a little harder, while allowing us to do more than ever.
The third generation of paint programs has now arrived.
Photon Paint, HAM's answer to Deluxe Paint II, arrived at work for me to beta-test. By the time you read this bit of wisdom, Photon Paint probably will be all the rage, and everything I say will be old hat. I'm going to put in my two cents' worth anyway. 1 think it's awesome as evolutionary a paint program as Faery Tale Adventure was a game. Microlllusions does it again! Its HAM features include texture mapping on any surface, some real spiffy brush manipulation (like twisting), and a simple to use perspective which makes DPI! Archaic! Photon Paint is truly the next generation. The rest of
the graphic houses have to get really busy to catch up to Photon Paint.
Now In Stock!
Insider 1-meg board ¦ w Clock-Calendar Call For Our Low Pricing!
New & Expanded SUPERMARKET SOFTWARE 3670 Delaware Ave.
Kenmore, N.Y. 14217
(716) 873-5321 Rumor has it that EA is already taking steps to do
just that, by acquiring D'Buddy. D'Buddy has evolved quite
a bit from the days when it was just going to be a Gizmoz
for graphic work. Now John Bottcri at Digital Creations
tells me it's a full HAM painting program in its own right.
His description sounded really great, but no working copy
has arrived for evaluation. Maybe EA can sec into the
(Remember when they claimed to "have vision?") Could D'Buddy become DPIII? Only time will toll.
Viruses and other Pestilence The favorite topic on many bulletin boards nowadays is viruses. Many programs supposedly have viruses (especially if they arc from Europe). Wc used to say software was "buggy." Now wc say it has a virus. I guess next year programs will have bacteria... I understand there really are some problems along these lines, but a lot of the talk sounds bogus to me. I think the computer industry as a whole has a tendency to give too much credence to fables. Look how we react when software turns out to be "vaporware." From wrhat I can tell, the only real pests in the software
industry arc those who have software they didn't buy. They deserve whatever they get.
And Speaking of Europe... How about those European arcade games? Some of them look familiar, don't they? Talk about look and feel!
Garrison ought to be called Gauntlet II. If Amegas isn't an Arkanoid clone, I don't know what is. I'm all for competition and free enterprise, but how about some originality in arcade games? Why is everybody copying everybody else, so we get three versions of the same game? There are many arcade games that haven't been made for the Amiga yet, gang. If you need a memory jog, here are a few titles I'd like to sec brought over: Venture Let's try some simple arcade games. Most games today are just too hard!
M. U.L.E. I will never forgive EA for not bringing this out on
the Amiga. Come on, Europeans!
Impossible Mission If the C-64 can have it, why can't the Amiga?
Boulder Dash Where is Emerald Mines, anyway?
1, Robot Hey, it was done on an Amiga first anyway. How tough can it be? So what if Atari has the rights, Clones are in style, right?
Arcade Classics How about three to a set? Volume 1 could be PacMan, Donkey Kong, and Dig Dug. Volume 2 could be Defender, Gorf, and Bcrzerk.
Wizardry If Infocom can put all three Zorks on a disk, Sir- Tech can get at least two. If they won't, which is likely, vector-drawn dungeons aren't copyrighted, you know.
See how easy? All it takes is a little imagination and a good memory.
The Mandatory Disclaimer Well, time for me to scroll out of here. The preceding comments are products of my own fertile imagination. My new employer has nothing to do with this column. Neither do my friends (both of them), acquaintances, or colleagues.
If your own thoughts are along these same lines, then you are as vector-oriented as 1 am.
- AC- 68000 Assembler Language Programming on the Amiga™ Create a
graphic image with the basic, gf low-level graphics routines in
the ROM Kernel L. by Chris Martin Last time, we discussed the
various structures used with the Amiga graphics routines in the
ROM Kernel. This month I would like to present an assembly
program that creates a multi-colored screen without using the
Remember, you can create a graphic image with the basic, low-level graphics routines in the ROM Kernel. Those routines are divided into two categories: display routines and drawing routines. An explanation of the order in which display routines must be called is essential.
Display Routines Notice the space allocated for the structures at the end of the program. Certain structure elements use bytes, some use words, and others use long words of storage. For each element, I defined the necessary space to correctly align the structure's elements in memory. Each structure's name is listed as a label. The memory address of this label is necessary when you use any structure with the system routines. Each following element must be properly sized, since the system routines look for the value of each element in an offset from the address of the structure's start address.
Certain elements of each structure have labels attached to make data storage into each element an easy task. Space is allocated using the syntax: iabel ds. size .1 .w b of longs, words, or bytes After space has been allocated for each structure, display routines must be called to create and display the structures' definitions. Examine the section of the program labeled "createscreen:." This section actually calls the display routines to create the display. (See Figure 1.) First, "createscreen" allocates memory for use by the bitplanes.
Each is 320 bits wide by 200 bits tall (full-screen).
Next, the system routine AilocRastcr is called, since the memory allocated must be in the first 512K of memory (CHIP memory). The Amiga's custom chips can only use memory in the first 512K. AllocRaster is called three times, once for each bitplane used by the bitmap. The pointer to the start-address of each bitplane is returned by AllocRaster in the DO register.
(continued) Now, the pointer is stored in the section of the bitmap structure labeled "planc n " ( n is a number from 1 to 8, representative of the bitplanc number). Next, the structures are initialized. The default values of each clement arc stored in their memory spaces. At any time, we can change the values of each element, simply by storing a value in a data register, and then storing the data register in the address of that element's label. For example, to store a 3 in the bitmap element defining depth, do the following: move.b 3,d0 move.b aO.bmdepth "bmdepth" is the label of that
element. The following arc the routines called for initializing the structures, in the order they are called: InltViewO for initializing the View structure.
InltVPortO for initializing the ViewPort structure.
InitBitMapO for initializing the BitMap structure.
InitRastPortO for initializing the RastPort structure.
When structures are given space in memory, that space is sometimes filled with garbage. When a structure is initialized, it is filled with default data valid to a system routine which uses the structure. The above routines simply initialize structures, but without them, the program would crash.
The Copper Before I discuss the routines which actually show the display, an explanation of the Copper is necessary. Copper stands for Coprocessor. It is a helper chip to one of the Amiga's custom chips called the Blitter. The Copper handles display, while the Blitter controls drawing and areafilling.
The Copper is a computer in itself; it has its own instruction set, and it is constantly executing small programs in the Amiga's memory. To control the display, the Copper looks to a "list" of its instructions and executes them one at a time. The Copper instruction set manipulates the display based on "raster interrupts."
Mainframe quality, full feature ANSI FORTRAN 77 compiler includes: Debugger, Linker, Library Manager, Runtime Library, IEEE math, and C interface. Supports Complex numbers, Virtual arrays, Overlays and Linking.
Not copy protected. $ 295.
Version for CSA 68020 68881 Turbo board also available $ 495.
From the authors of Microsoft BASIC compiler for Macintosh, comes AC BASIC for the Amiga.
Computable with the Amiga BASIC interpreter: has more features and includes BLOCK IF, CASE statement, and STATIC keyword extensions and executes up to 50x faster. AC BASIC is the new BASIC reference for MC68000 based personal computers. Not copy protected. $ 195.
Absu-ft Telephone orders welcome Scientific Engineering Software 2781 Bond Street. Auburn Hills, MI 48057 (313) 853-0050 Amiga trademark of Commodore Amiga. Microsoft trademark of Microsoft Corp. Remember, a raster display is created by an electron gun inside the monitor which the display's highlights dots (pixels) one row at a time. The gun moves down each row fast enough to draw the entire display in 1 60th of a second, in a raster interrupt, the computer says, "Wake me up when we get to row XXX." When the monitor has drawn row XXX, the computer is "interrupted," and a routine to manipulate
the screen is called. When this routine finishes, the computer returns to its normal functions. The Copper instruction set is nothing compared to the 68000, but it is important and powerful, nonetheless.
Here are the instructions:
• WAIT Walt for The raster beam to reach a specific screen
• MOVE Move data into one of the custom chip registers,
• SKIP Skip to the next instruction if the raster beam has
already reached a specific screen position.
When defining a screen and calling the routines to display it, the Amiga creates a Copper program for you how nice!
Creating the Display Finally, the routines that actually create the display are called in the following order: MakeVPortO Sets-up the ViewPort structure for display.
MrgCopO Merges the new display specs with the existing display.
LoadViewO Shows the display.
MakeVPort creates a Copper program based on your screen characteristics. If you have three ViewPorts (See Figure 2.), each with a different color set or resolution, a Copper program is created to interrupt the Amiga when it must change the color set or modify the resolution. MrgCop works in conjunction with MakeVPort. It takes the Copper program created by MakeVPort and merges it with the existing Copper program. Finally, LoadView ties everything together and instructs the Copper to begin execution of the new Copper list.
Drawing Routines All drawing routines use a very important structure called RastPort. The RastPort structure is directly tied to the bitmap, since all writing to the display is done into the bitmap. Here is the RastPort structure: Structure: RastPort Include File: Graphlcs RastPort.i Size Components Explanation LONG p_Layer Pointer to first layer LONG p_BitMap
* ** Pointer to BitMap structure ’** LONG p_AreaPtm Pointer to
areafilling pattern LONG pJmpRas Pointer to temporary space
LONG p_Arealnfo Information for areafilling LONG p_Gelslnfo
Graphics ElementS (animation) BYTE p_Mask Graphics bit masking
BYTE p_FgPen Foreground pen BYTE p_BgPen Background pen
p. AOLPen Pen for outlining areatills BYTE p_DrawMode Drawing
p. AreaPtSz Areafilling pattern size BYTE p_Dummy ??? Who knows
BYTE pJJnepatcnt of bytes used for line pattern WORD p Flags Flags for the RastPort WORD p_LinePtrn Pointer to line pattern WORD p_cp_x Current pen position x WORD P_cp_y Current pen position y 8 LONG pjnlnterms Special bit-plane manipulation WORD p_PenWidth Pen width WORD o PenHeight Pen height LONG a_Font Font used currently in the RastPort BYTE o_AigoStyle Algorithmic style (bold, italic) BYTE p_TxFlags Text flogs WORD aJxHelght Text height WORD p_TxWldth Text width WORD p_TxBaseLlne Text baseline definition WORD pJxSpacing Special Text spacing WORD p_RP_User Current RastPort user 14 LONG
rp_wordreserved reserved space system use) 8 LONG pjongreserved 8 LONG preserved All wo really need to define is the pointer to the bitmap; the rest is defined by system routines.
Drawing routines called by this program are as follows: MoveO Move the pen to a coordinate in the bit-map DrawO Draw to a coordinate in the bit-map RectFillO Draw a filled rectangle SetAPenO Set fhe current pen color SetRastO Fill the entire bit-map with a color SetDrMdO Set the drawing mode The drawing routines, as you will notice, are called in the same manner as the display routines. First, you must place the address of the Graphics Library ("graphicsbasc") in the address register A6. The parameters arc then passed through other address or data registers. For example, to set the bit-map to
color 1, use the following syntax: move.I graphlcsbase.ab lea.I rastport.al * 'rastport' is the label of the structure move b l,dl ’ pen number 1 SYS SetRast(a6) * "SYS" is macro to call a sys routine Looking For More “Byte” For Your Dollar?
A list of all routines (drawing and display) is in the ROM Kernel Manual: Libraries and Devices, available through Addison-Wesley. This manual provides a thorough explanation of all routines and their usage in C and assembley.
Next month. I'll discuss variations in on-screcn display. I'll also introduce smooth scrolling and begin a discussion on dual-playfields. [ Part [I of ASSEMGR.ASM will appear next month - Ed 1 Listing One ASSEHGR.ASM Part I Assembly program to create a multi-color, non-intuition display.
By Chris Martin, for Amazing Computing Compile with the following coitmands: 1 assem assem.gr.asm -o assemgr.o -c w4000D 1 alinfc astengr.o to assemgr library amu.ga.lib INCLUDE files INCLUDE INCLUDE INCLUDE INCLUDE INCLUDE “exec types.i" "exec funcdef.i" "graphics gfx.1" “graphics view.!** "graphics ra 31port.i" MACRO XREF _LVO ENDM MACRO J5R _LVO ENDM Here is the answer, the model PPI-1000 Expansion Unit for your Amiga 1000 by Palomar Peripherals.
? Full auto configuration ? Meets Zorro specifications ? Amiga buss pass-thru ? Built in power supply ? Power on off controlled by Amiga ? Real time clock with battery backup ? Fast RAM
- 2,4,6 or 8 megabytes
- No wait states ? Disk drives
- Supports up to 2 drives
- 20 or 40 megabyte hard drive(s)
- 3‘ 2” or 5'4” floppy drive
- Fast DMA interface With 20 meg hard drive and 2 meg RAM price
is $ 1395 plus shipping and handling (Calif. Res. Add 6% sales
tax). Requires Amiga DOS 1.2.For further information call (619)
748-1202 or write to Palomar Peripherals.
(continued) lea .1 viewport,al EXT_SY5 OpenLibrary * (libraryname,version) (A1,D0 Exf]_SYS Move * (rastport r x, y) (A1,D0,D1) move.1 a0,view • pointer to first viewport in linked list EXT SYS Draw * (rastport, x, y) (A1,DQ,D1) move.1 graphicsbase, a6 EXT_SYS SetAPen * (rastport,color ) (A1,D0) lea. 1 viewport,al * get address of the viewport EXT SYS SetDrMd * (rastport,dravmodc) (A1,D0) EXT SYS 5etHCB4 * (viewport,color ,r,g,b) SYS InitVPort(a6) * Initialize the viewport
* (AO,D0,D1,D2,D3) lea .1 rasinfo,a0 EXT_SYS SetRast *
(rastport,color ) (A1,D0) move.1 a0,vprasinfo * pointer to
rasinfo structure EXT_SYS InitView * (view) (A1) move.w ?320,dO
* viewport width EXTSYS InitVPort * (viewport) (AO) move.w
dO,vpwidth EXT SYS InitBitHap * (bitmap,depth,width,height)
noveq ?0,d0 * clear dO
• (AO,DO, Dl, D2 ) move.w ?200,dO * viewport height EXT_SYS
InitRastFort ¦ (rastport) (Al) move.w dO,vpheight EXT_SYS
AllocRaster * (width,height) (D0,D1) moveq 0,d0 • viewport
modes ( 0 for 320x200 graphics ) EXT_SYS HakeVPort *
(view,viewport) (AQ,Al) EXT_SYS MrgCop * (view) (Al) move.w
dO,vpmodos EXT_SYS LoadView * (view) (Al) move.l
graphicsbase,a6 EXT”SYS RectFill * (rastport,xl,yl,x2,y2) lea.l
bitmap,aO ‘ (A1,DD,D1,D2,D3) move.b move.w 3, dO 320, dl
move.w 200, d2 ¦ External References SYS InitBitHap(a€) *
Initialize the BitMap XREF AbsExecBase * The Base of the Exec
Library lea .1 move.1 bitmap, aO aO,ribitmap move.l
graphicsbase,*6 lea.l view,a0 ' View structure in aO Start of
the program lea. 1 viewport,al • viewport structure in al SYS
move,I MakeVPort(a6) * call the MakeVPort routine
graphicsbase,a6 start: move.1 sp,savesp * save the current
stack pointer lea. 1 SYS view,a 1 • View structure in al
HrgCop(aS) • merge new coproc list with the old jsr
openlibraries ¦ jump and return from 'openlibraries' move,1
graphicsbase,a6 jsr createscreen * create the display lea. 1
vieu,al * view structure in al jsr jsr setcolors * set the
colors for the display dravsomething ¦ draw some boxes, lines
SYS lea.l LoadView(aS) • now 3how the display bitmap,aO
• this is an infinite loop move.1 aO, ribitmap infinite: move.1
lea graphicsbase,a6 rastport,al jap infinite ¦ isn't that
SYS InitRastPort U6) * initialize the rastport structure lea. 1 bitmap, aO * Open Libraries move.1 aO,rpbitmap rts openlibraries: ¦ Graphics Library nove.i AbsExecBase,a6 * Set the colors lea .1 graphics,ai ..... NOTE *
* **•¦ raoveq ? 0,d0 ¦ We are only going to set 4 color regs (for
space pur?0303) SYS OpenLibrary(aS)
* you can cont setting the other 4 (8 in all) if you wish to
move,1 rts dO,graphicsbase * get base address of graphics lib
* use them, setcolors: - Create the screen move.1 graphicsbase,a6
¦ lea .1 viewport,aC move.1 move.1 ? 0,d0 • color ? 0, set to
R-Q, C~0, 3-0 (black) 0, dl createscreen: move.l move.l 0, d2
* allocate memory for the 3 bitmap planes SYS SetRGB4 (a6) move,1
graphlcsbasc,a6 move.1 graphicsbase,a6 move,w 320,dO lea.l
viewport, aO move.w 200,dl move.1 ? L,d0 • color 1, set to
R-4, G-10, B-15 SYS AllocRaster(a6) move.1 ? 4,dl move.1
dO,planel move.1 move.1 ?10,d2 ?15,d3 move.1 nave.w
graphicsbase,a6 ?320,dO SYS SetRGB4 (a6) move.w ?200,dl move.1
graphicsbase,a€ SYS AllocRaster(a6) lea.l viewport,aO move.1
dO,plane2 move.1 move.1 ? 2,dO • color ? 2, set to R-15, C-G,
3-5 ?15,dl move,1 graphicsbase,a 6 move.1 ? 0, d2 move.w
?320,dO move.1 5, d3 move.v SYS ?200, dl AllocRaster(a6) SYS
SetRG34 Ia6) move.1 move,l lea .1 SYS d0,plane3 graphicsbase,
a6 view,al • get address of the View InitView(a6) * Initialize
the view move.l lea .1 graphicsbase,a6 viewport,aO
• AC* By Don Hicks In today's fast and hurried world, it is
possible to forget the needs of young readers. It is often easy
to replace the reading experience of parent and child with a
complacent attachment to television. For years, we have been
told the computer would herald a new approach to an old
problem, the one- on-one needs of a new reader. Hilton Android
has given the Amiga community several short, interesting
computerized stories just to help new readers.
Hilton Android's ROBOT READERS Robot Readers currently consists of four titles with a fifth due soon: Chicken Little, Three Little Pigs, Aesop's Fables, Little Red Hen, and soon, The Ugly Duckling. Each title comes on a single, brightly colored disk with an extremely short two page instruction book. The entire emphasis of Robot Readers is keeping the program simple. A small child could be left alone with the Amiga (all varieties) and be able to play and learn on his own.
The disk is input at the Workbench prompt and then takes over the machine. (Obviously multi-tasking was not a consideration for young readers.) The young reader is presented with a title screen and menu bar. This menu bar appears on every screen throughout the session, and is the only means of controlling the program. By utilizing this simple menu structure, robot readers is interfaced entirely with the mouse.
The young reader does not need to type or search the keyboard in any way.
The menu consits of: C READ F S PACE "G" stands for game. Positioning the arrow cursor over the G, then pressing either mouse button, places the program in a game mode for the current page. The game consists of finding the word requested by the computer, "Find the word...." The young reader positions the pointer over the correct wrord and presses either mouse button.
If the correct word is found, the word is highlighted by a second primary color, recited by the computer, changed to a third color, and a now word is requested by the computer.
As each new word is requested and found without mistakes, it turns to the third color. This process continues until the entire page of text is the new color. The page flashes once, then stops. The reader is now able to continue.
If the reader does not hear the word correctly before pressing an incorrect word, he can repress the "G," and the word will be repeated. If he presses an incorrect word at any time in the game, the word is highlighted, spoken, and the game stops. The player must repress the "G" to begin again.
When pressed 'READ ' reads the page in standard Amiga phonetics. There has been no attempt to create digitized sounds or voices for the series.
Certain voices are created for characters by altering the Amiga voice in pitch, in the same manner used in "speech toy."_ "F" is selected to increase the reading speed of the computer. With each press of the mouse button, the reading speed is increased by 25 to 50 words per minute. The highest speed level of speech is a screeching 400 words per minute. The child would no longer require these aids at that speed.
"S" is selected to slow the reading speed of the computer by 10 to 50 words per minute. At the slowest speed, 40 words per minute, the new reader has ample time to sec and hear each word as it is read. The slow and plodding sound soon gets on the nerves of older readers and is a sure way to get a set of headphones for the Amiga.
"FACE" advances you to the next page. Unfortunately, there is no way to move back either single or multiple pages. However, the entire program is a continuous loop and consistent pressing of the mouse on the "READ" prompt places the reader on any page he wants.
Not listed in a menu, but addressed in the instructions, is the ability to select individual words on a page and request the computer to "sound them out." By placing the cursor over a single word and pressing once, the computer highlights and reads the single word. By selecting the same word again, the computer highlights the word, reads it by syllables (sometimes its own variety of syllables), then reads it by the individual letters or groups of letters that produce the individual sounds. Finally, the computer reads the entire word very slowly, This is designed to build a better
understanding of the group of letters that produce a particular sound in a particular word.
Possibly the most immediately appealing portion of the program is the graphics. Each page quickly appears on the screen with its text. The pages are not unlike the small readers most of today's computcrists read as children. Bright colors and uncomplicated drawings set the stage for each page of text.
Drawbacks Since the standard Amiga speech interface was used for convenience, some faults occur in the reading portion and the syllable portion of the program. Certain words, such as "animals" and "tell," sound funny and stilted. Other words, such as "summer," develop new, interesting syllable structures. Also, digitized sounds and voices would have added a great deal of life to the material.
Some of the vocabulary words arc above a beginning reader's comprehension level. However, great care has been taken to allow the reader to select the individual words and understand their meanings through the context of the sentence.
Strong Points The program is easy to use and is clearly written for a young person to use unattended. The brightly colored illustrations, simple mouse interface, endless loop program construction, and simple games allow a young reader to progress at his own pace and still remain interested in the story.
A Personal Bias This program is quick and simple and gives the new reader some support.
However, it should only be used to augment and reinforce a young reader's learning. The gift of reading is a personal value, passed from parent to child. Through reading, we share the joys and understandings which cross generations and time.
There will never be a substitute for the time spent with a child learning a story that is old for you and new for him. While we teach them the basics of a new talent, they show us a new and remembered view of the world.
Hilton Android has done an admirable job of producing a vehicle for self- learning and reading practice. Yet, an adult is still required to add the depth and questioning neccessary to broaden the understanding of the reader. As an example, Chicken Little tells a great story, however, the moral is not available in the text, only through the questioning of the reader. Hilton Android can help with the mechanics, but a parent is still neccessary for the magic.
Robot Readers: $ 29.95 each Chicken Little Three Little Pigs Aesop's Fabels Little Red Hen and soon..... The Ugly Duckling Hilton Android
P. O. Box 7457 Huntington Beach, CA 92615-7437
• AC* by Steve Faiwiszewski Modula-2 Programming on the Amiga™
M2Amiga by Interface Technologies [Steve took a Step back from
CALC this month to give you a chance to input alt the listings.
Some of the listings were carried over to this issue, and the
remaining ones will be listed next month. Steve will continue
with CALC next motith. * Ed] There is a new contender in the
Amiga Modula-2 arena.
The newcomer is M2Amiga, distributed in the United States by Interface Technologies Corporation of Houston. This compiler was developed in Switzerland by the people who worked with Niklaus Wirth at ETH Zurich; thus, it reflects philosophies newer than those present when the TDI and Benchmark compilers were developed.
What You Get The package consists of one disk, a manual, and the book Modula-2: A Seafaring Guide and Shipyard Manual by Joyce.
The disk contains a README file, an editor (based on Emacs), the compiler, the linker, a couple of utility programs, some definition files, and some demo programs.
One of the utilities (called DOME) sets up a working bootable disk that contains all the necessary executables. All vou need is a blank formatted disk and a workbench disk.
J The workbench disk is necessary for copying all workbench related files, since the disk supplied docs not have the workbench on it. This setup program is quite slow and causes the disk drive to grind a lot (It took over 10 minutes to run.), but very little manual intervention is required, so there's not much chance for an inexperienced user to mess things up.
The Environment The second utility program, called M2Project, is an interesting one; it lets the programmer user set up "projects." A project is a directory which contains at least two other subdirectories: one called SYM and the other called OBJ.
The intention is that the user keeps all work related to a given program in such a project, and all the related symbol flics (the result of compiling definition modules) arc saved in the SYM directory, while all object files (the result of compiling implementation modules) are stored in the OBJ directory.
Sometimes it is necessary to refer to symbol files which exist only in other projects. This is done using a file called M2Path, which contains the names of other projects to be searched for symbol files. Each project can have such a file, and there is a global one in the S: directory. The search proceeds as follows. The compiler first looks for a symbol file in the current project's SYM directory. If the symbol file isn't there, the compiler searches through ail the projects listed in the current project's M2Path file. If the symbol file is still not found, the compiler searches through all
the projects listed in the global M2Path file.
This setup works nicely from the Workbench environment.
The editor and compiler have attractive icons, and both the editor and the linker can generate icons for the files they produce. All you have to do to compile a program is click on the program's icon and then double-click on the compiler's icon while holding down the SHIFT key. The same process goes for linking.
Because I'm an old fashioned kind of guy, I prefer using the compiler and linker from the CLI, which gives me greater control over the various options that can be set at invocation time.
The Compiler The compiler is one-pass, which makes compilation quite fast, compared to multi-pass compilers. When invoked from the Workbench, the compiler opens its own output window in which it shows the progress of compilation, if the compiler is launched specifically to compile one file, then it exits when the compilation is finished. However, if the compiler is launched without specifying any files to compile, then the compiler prompts the user for the name of the input file, compiles it, and then prompts for input again. It will keep going through this cycle until a blank line is entered
for the input file name.
I came across an undocumented "feature" of the compiler: If the original CLI's window (the one in which LoadWB was executed) is stil! Around when the compiler is invoked from the Workbench, then the compiler's output goes to the old (continued) AMIGA DUAL 3V2" DISK DRIVES 100% Compatable with Amiga 500, 1000 & 2000 Computers
• Internal Power Supply
• All Metal Chassis
• Horizontal Layout
• Vented Enclosure
• On-OfF Switch
• 6 foot 3-prong linecord
• Primary Circuit Breaker Protected
• Color Coordinated to Amiga Computers ONLY $ 395.00 20 Meg Hard
Drive (SCSI) with Controller ONLY $ 785.00 Over 400 PD Disks.
Call for complete catalog Cotnp-U~Save i H Maple Avenue.
Westbury, NY 11590 In NY State (516) 997-6707 Outside NY State
(800) 356-9997 “Meeting the Needs of People in the Electronic
Age” CL1 window even though the compiler opened one itself.
Attempting to close the compiler's window might crash the Amiga.
Launched from the CLI, the compiler behaves in the same way as when it's launched from the Workbench, except it does not open its own window. Instead, it uses the Cll's window. One annoying feature is that, for some strange reason, the compiler changes the window's attribute from CON: to RAW:, which prevents the use of ConMan, a utility i've grown to depend on. The problem is exacerbated by the fact that, unlike the other Amiga Modula-2 compilers, this compiler requires the full name of the file to be entered.
I have been informed that this "feature" (messing around with the window) will be fixed in the future.
Another problem is that the compiler can be exited too easily; simply entering a blank line is enough to exit the compiler. Since the compiler is quite large and cannot be made resident, it must load from disk every time it runs.
This is a lengthy and annoying process. Using FACC seems to help the load time a bit, but it would have been nice to make the compiler resident or make it more difficult to exit.
There are some documented bugs and limitations, most of which I either did not encounter, or didn't consider to be serious enough to mention. For example, the size of open array parameters must be some power of 2. This is quite bizarre, but it might be fixed in the next version. A more common limitation is the data size limit of 32K per module.
Both the Benchmark compiler and the first release of the TDI package had this limitation.
The Linker The linker's behavior, when executed from the Workbench or from CLI, parallels the compiler's. Here, too, the full file name must be entered. For example, if you want to link a program called foo, you must enter FOO.OBJ. I find this very silly, since the compiler always generates a object file with the .OBJ suffix; why couldn't the linker implicitly append a .OBJ to the supplied file name?
The Manual The Modula-2 manual is about the size of the TDI manual.
It has one chapter about the editor, one about the compiler and language implementation, one discussing the linker, and a section listing all the support definition modules. The documentation for the compiler and editor is barely adequate. Fortunately, the authors realized this and included a reasonably good book on the topic. However, there arc plenty of implementation-specific items which should have been discussed much more thoroughly in the manual (the run-time support module, for example).
The style of the definition module listings is atrocious! 1 cannot believe these were meant to be read. Conventional indentation is nonexistent and the text is cramped, with practically no white space at all. Reading this section is a miserable experience. The package I received contained no index or cross reference for the support modules. This is totally unacceptable; without such a cross reference, any serious programming will become tedious or even impossible, since the programmer must scan the support module listings manually for all Amiga-related variables and types.
I have been promised that this will be rectified immediately, and that future M2Amiga packages will contain a cross reference.
The Editor The editor is based on the Emacs, supplied by Commodore on one of its developer's disks. I feel that the authors would have done better to go with a variation of mg (formerly known as MicroGnuEmacs) instead. Mg is a more recent and advanced version of Emacs. The Benchmark package uses such an adaptation of mg to its advantage.
M2Amiga's Emacs knows about compilation errors and can list them one at a time while placing the cursor on top of the offending code. This is the only Modula-2 related The All New SS-20 Fixed Drive System for Amiga 500, 1000 and 2000 Computers The Model SS-20 is fully compatible with all three AMIGA Computers: Model 500, 1000, and 2000, It is a
3. 5 inch MiniScribe winchester drive with SCSI interface housed
in a small enclosure. The SS-20 comes complete and ready for
use: no additional hardware or software is necessary for
operation. The back of the SS- 20 chassis is fitted with a
SCSI port connector so that as many as six additional SCSI
devices may be "daisy- chained" to the SS-20. The Amiga's
parallel port provides the interface to the SS-20. An
extension of the parallel port is brought out to the rear of
the SS-20 chassis for simultaneous use by other peripherals.
NEW FAST VERSION 2.4 SOFTWARE DRIVER* Die new SS-20 runs under Amiga Dos 1,2 or later. Easy to use startup utility to install the drive as a DOS device. Diagnostic utilities included to verify and test for correct operation of the unit. The driver installs during startup sequence of Workbench to appear as a drive icon. The new version 2.4 Software is compatible with Amiga "Fast File System" and future releases.
To place orders or request additional information contact: Epic Sales Inc., Garland, Texas, [214) 272-5724 Intercomputing, Inc., Grand Prairie, Texas, (214) 988-3500 501 Business Parkway Richardson, TX 75081
(214) 680-8394 i i cown f OUNCE SYSTEMS INC
* The software is licensed from Micro Botics Inc. DEALER
INQUIRIES INVITED feature of this editor worth mentioning. It
is certainly not as good as the Benchmark implementation, but
it is superior to that supplied by TDI.
Support Modules M2Amiga's authors took a completely different approach from the Benchmark and TDI implementors. Instead of following the examples set by the C include files, M2Amiga's creators decided to merge most of the support stuff into a few larger modules.
The naming convention for Identifier is also quite different: types and variables begin with a lower case, while procedures begin with upper case. So, for example, a field which is named TopEdge in both the TDI and Benchmark implementation would be named topEdgc in M2Amiga. The authors claim this naming convention is used by Niklaus Wirth and other Modula-2 programmers in Europe, but 1 find It strange.
This naming convention does not pose a serious problem if you are writing Modula-2 code for the first time. Of course, if you intend to port some code from one of the two other Amiga Modula-2 compilers, you will be faced with the tedious task of manually converting the case of all types and variables, besides having to find the correct module from which these identifiers are to be imported.
Language Definition Issues The M2Amiga package differs from the other two Modula-2 implementations on what might be called philosophical issues. I'll just mention one issue, which I think is a major departure from current Modula-2 thinking. Until now, Modula-2 supported the concept of "type transfer" as long as the types involved were of the same size (the equivalent to typecasting in C). For example, suppose you have the following code fragment: VAR b : BITSET; c : CARDINAL: r : REAL: b := SITSET 0}; c := CARDINAL(b); WriteCard(c.l); In the above code, the value of b is placed into c without
any conversion or processing. What actually gets printed, by the way, is "1" since bit 0 was turned on. Doing something like r := REAL(c) is nonsensical, since REALs have a special format and, without conversion, the value in (continued) Robot Readers a powerful new way for your child to learn to read Even if your child isn’t a reader yet he can read these classic stories at his own speed through interactive speech, with little or no adult supervision. The beautiful illustrations and built-in word games hold the young reader's attention while promoting early reading skills, vocabulary, and
?CHICKEN LITTLE ?AESOP’S FABLES ?LITTLE RED HEN ?THREE LITTLE PIGS $ 29.95 each for the Amiga 512k Coming soon: ? THE UGLY DUCKLING HILTON ANDROID PO Box 7437 • Huntington Beach, CA 92615-7437
(714) 963-4584 c is meaningless as a REAL. In M2Amiga, however, r
:= REAL(c) does make sense, since the compiler will do the
necessary conversion. As a matter of fact, there is no
automatic type transfer anymore; instead, there's automatic
type conversion. If type transfer is truly needed, a
special procedure called Cast must be used. The above code
will not compile under M2Amiga, but it works fine when done
by the other two compilers.
This type conversion feature is quite foreign to cun-ent Modula-2 programmers, and it will take a while to get used to. It is also bound to create problems for anyone attempting to port code from other Modula-2 implementations.
M2Amiga’s Forie The M2Amiga package really shines in handling runtime exceptions and termination. The runtime support module lets a programmer designate a terminating procedure for each programmer-supplied module. The module initialization feature has always been standard in Modula-2 implementations, but a similar feature for terminating code has been sorely lacking. This new innovation is certainly welcome. Upon exiting, the runtime system calls all the programmer-designated terminating procedures, closes all opened libraries, releases the memory allocations, and closes all windows which
were opened through its Windows module. This allows the user to release all allocated resources in an orderly fashion.
If a runtime error is encountered, the runtime system displays a requester to notify the user of the error, and then attempts to shut down everything gracefully. The programmer has the option of supplying a debug procedure which gets called when a runtime error occurs. This means it would be quite simple to incorporate a source level debugger and, as a matter of fact, 1 know' that such a debugger is in the works. A source level debugger greatly eases debugging, thereby speeding development time.
Comparison M2Amiga will compete against the Benchmark package.
Both are one-pass compilers, and both use some version of Emacs as editor. They are also within the same price range (M2Amiga lists for about S250.), Execution time for the executables produced by the two compilers is pretty much the same, but the size of the M2Amiga generated executable is larger because its runtime module has more overhead to take care of.
The M2Amiga compiler is slower than Benchmark, especially w'hen importing certain large modules (such as Intuition), but it is still much faster than the TDI implementation.
Look at the accompanying tables foT some Benchmark results.
Although M2Amiga's user interface is better than TDI's, I found it is much worse than the Benchmark implementation.
Frankly, I've been spoiled by the well-integrated Benchmark environment, so anything else pales in comparison.
The M2Amiga manual and support module listings aie probably the worst of all the Modula-2 packages, but that should change in the future.
Summary The Interface Technologies M2Amiga Modula-2 package is a viable alternative in the Amiga compiler field. Compared to the Benchmark package, M2Amiga has both strengths and weaknesses; individual programmers must decide which package best suits their needs. One factor to keep in mind is that Interface Technologies seems more stable than Benchmark's distributors; M2Amiga's future might therefore be more sound.
M2Amiga Interface Technologies 3336 Richmond, Suit© 200 Houston, TX 77098 Tel: (713) 523-8422 (continued on page 106) Expanding Reference Volume 1 Number 1 Premiere 1936 Super Sphtrta By Kelly Kauffman An Aflaiic Grapnc* pro£ Data Vlrua By J FooK A otease may ocacx yaur Ar.-gtl EZ-Tarm by Kay Kauffman An Aflatc Tem-ineS prog-am Mg* Merit by P . Kivolowtz PmgfOT-rting 1»« & rrceuSO C&e tn»di CLI Of G Mysae' a guided tneght ms f e AmigaDoa™ CU Summary by G. Mutter Jr. AhBof CLIcomrandt AmigaForum by 0 Luton Vttn Compuaerwti Amiga SO Com mod or a Amiga Davalopm ant Program byD. Hcu Amiga
Producta A ‘eftng o!preaert ard onpeclW Volume 1 Number 2 March 1986 Electronic Artl Comta Through A tvenerf sofwsrtfrom EA Inalda CLI: part two G. Muss* hvestgtnei CLI & ED A Summary of ED Command* Utrtf by Bch Une* A ftww of r* Bata wraon of L««J OnUn a and the CT3 Fabtta 7AM ADR Mod am by J FouC 9upanarm V1J ByK Klu?*man Afcrm. Prog in Amiga Boaic A Workbench "Mora" Program by ft fcW«cn Amiga BES ivnten Volume 1 Number 3 April 1986 Anafyttl a rev*ew Of Enas V wrioa R nr law* o' Ractar, Barttaccaa and Undab ad ow Forth! The tret of our ongoing Ltontf Dafuia Oiwll byRWrth An Anga Baa*e art
program Amiga Bare, A beg mer* tuforal knada CU: part 3 by George IA. Ta George g vet ut FhPE Volume 1 Number 4 May 1986 SkyFoa and Artfcfoi Rrrlewed Build your wm 5 t 4 Ddv* Connector ByEmeatVirem Amiga Buis Tpa by FtehWwi Serlmper Pan 6na by P. Kvolowtz prog la print Amiga tcreen Microsoft CD ROM Conference by Jm Oxaane Amiga BBS fembare PtjHm. |MM Wltjfi Amazing Computing User Group Issue Volume 1 Number5 1986 The HSI to RGB Convaralan Tool by S. PeTowct Color mnpueisn in BASIC AnlgaNotea by Rc* Ree ThaHratoflfw Arga -ijsccoLma Sidecar A FlratLoak byJohnfoutt A 1'ft 'ynqfcr re hood* John
Four Tifita wfm R J. Meal al COMDEX’* How daea Sidecar effect the Tnniformer an nte' Bvr ivSi Douglas Wyman of Sm.le The Commod or a Layoff a by J. Foutt A loo* Commodo’e ’cuts’ Scdmpar Part Two by Perry Kwlwrj Marauder ravinaad by Fvct Wrfli Bulling Tool a by Dane! Kary Volume 1 Number 6 1986 Tampla of Apahal Trtdogy tvtmtd Of Stephen Rebarici The Hailey Project A Mia on In our Solar Syatwn rmffwed by Stephen Petowa Row: ’prewed by E?v Bobo Taitcraft Rue a Flrat Look Of Joe Lowery Howto atari your own Amiga Uav Group by Wi aim Smpao" Amiga liter Group* MiHIng Liaf by Kety Kij*fr5an i bcsc m*l
Is* proyam Pointer Image Editor by Stephen Ret owe* ScHmper: part thru Of Ferny Kvodwti FunWitntnAmlgaDlaltCoritrollertiy'n'om Stertng Oplmlra Your AmigtBaaie Programs for Speed by FcPowcr Volume 1 Number 71986 A eg la Draw: CAD con aa to the Amiga ByKeiyWa-s Try 30 by J-m Meadows anmToducSon » Joyatfc* Aagla triage te Animator; amvew ErrBobo Dmuii Video Construction Set ¦*men by Joe Lmwy Window raquaatan In Amiga Baalc by Steve Mcrrt ROT byCaliFrancnaSOgraprcaadtbr 1 C What I Think* Ron Fwwraon wn a few Cgrvhc prog Your Menu Ski by Bcebey proyam AmgaBascTenjos WF Bruth ip AmlgaBi ale BOB'
Base eat? Cy U Swnger Unking C Programa with Aaaanblar Roulnaa on the Amiga by Gerald Hu'l Volume 1 Numbers 19B6 Th UrV»fairy Amiga By G.Gambia At gaY inroids atWatingtan Sta» Lhmiiy Micro Ed a Uok a! A on* nan anry far tie Anga McroEd, Tha Lawta and Clart Espedtden rarawad F*» e ScrlbtSa Ytrkon 10 a rtwew Computara In the Claaaroom by Robert Frjai'e Two far Study Of Frj»e Decwery & ThaTa King Coo'rg Bom True Baalc renewed by Brad Gror Uaingyouf printer wldi Tie Amiga MarbSa Madnaaa rovwwed by Stephen Pebawct tikng Font* tom AmlgiBuJc by Tim done* Screen Sa Var by P. Knnlowrtz A momicr
protacSon prag, m C Lattka HAKE Willy re*«*d by Scttt P E mOen Atafa ofThrn EHACSrt S»r« Po'ng JmpF"* Raadwln ArigiBaaicbyTJanea Volume 1 Number 91986 Inttint Mutlc P v«r*»C trf S*'* PWBamez Hntfwikr Revwwwd ty Fkrard Kkhw The Aiegra Memory Board RsvwW by Ren Wi*tfi TiEd Revmwodty Jan and Ciff Kart Amazing Directory A guide to the aoi ces and resoi OBB Amiga Developere A iH* j o' Supp-W't WV3 Dwvwopar* PuBIc Domain Catalog A liftng of Arcut and Free Fr PCS Dei 2 Dot wm R K-«o ' T»r*V 1** tom PCWSOOS nd K~ pBtx MudRlfl -e-rww ty RtfrC K-*o*r T w Ar-ga Sp-eads-wt Ctinai tytvewec DyPrto'Waf'or
Am-gaeirai The Lam hlorrraBon Progrem tyBranCetty Base prpg. ‘j ‘y yoi fnanctl opt on* Starting YcvrOwn Amiga ReiatodGuiineeetyW, S pson keao Track of You' Builneae Uiiji for Tun cy J. Kummar The Aaao*! Amiga Fortran Com pilar wowed By H A. Raw UtVig Font* bom AffligaBaele, PartTwo ty Tm Jon« £5X9 Masse on ;h* Amiga tyG. Hvf Acvaxe yxr aB ty, TdiUod-i-3 Am ga Compiler'torew By Sfawue Volume 2 Number 11987 What QgLVIrw to_ Or. Whet Genlock Should Be* By J. FouC AnlgaBadc Default Colon By Bryan CePey AmigsBadeTTBeetyftyran Ga'ey A Public Domain Modula-2 Syaten mmmO By Wmen Bock One Orfve
Compila by Dsug Al Lovell Us"g Laltce C wi?i a angedrve system A htogabyte Without Megebutk* by O'* kvmg Ai ht-i ktegjty* jxf aoe D« gUV! N'A-mi By Ed Js« Si* Oe'ender of Tn Crown ¦errweC by Kw? Cb'bj't leader B Qt'd rmewed by Ctu * R Adorn Roundh.il Computer Syitame PANEL 'erewed ty Ray Larxto Dtgl-PainL by Hew Tek prevewed by John Foust Ow uib Paint II __from Electronic Arta prevewed by J Fouet Volume 2 Number 2 1987 Tha Modem By Joipn L RoTwian aborts of a BfiS Sysop UeeroUodtm revwwed By Stephan R PwTowa G£MM or ”1t fakii two to Tango* by Jn UsadCMn Gaming b**e*n -nadine* BBS-PCI rev owed
by Stotrer fl P«*rawK3 Tha Trouble Wti Xmodem try Jowpn L Rodman Tha ACO ProjecU-GraprvcTdacontorencJng on the Amiga By S R Patrowcz PlghtSimuli1«rR_ACroa County Tutorial By John Re*1ertr A Oik UbnHin In AmigaBASC ty Jotn K*nna,n Craion g and Udng Amiga Workbench kona by C. Hi-wr AmigaDOSv wdon UbyCrfo S Kent The Amulng MU In'.wfeci buCd your own By Furjeb Ran Am gaDOS Opvidng 3yitam Cilia ind Dak File Marvagemwi! ByO, Hffp* Wodung wth !h* Workbench By Uui A Maruot P g n C Volume 2 Number 3 Th 1 AmIgi 2000'“ ty J Fouat A Frs: look C 7w nflw. Higy *nd Anga*1* The Amtgi 500™by JohnFouit A look
at tw new, low pr«cod Am gi An Analyaii trfthe Hew Amiga Pcl tyj Foust Soecuatan on 7w Now Amgu Gemini Pe 1 H ty J m Mmdows Tty concu mg artc« or- Subecripa ms Supencr-pta n AmlgtBASC ty Han C. SrT Tha Wirttar Coneimer Ejectroniea Show ty John Fourt Am igiTrti ty W Bock AtgaT“s-arru» Intuition GadgetityHa-r* Uiybacv. Taty A jxmoy through gadget-land, ueng C Srnnghd reviewed ty K*1h M Corbr; Cheeemastef 2000 A Cheeem an «y«wedby Edwin V Abel. J Zng! Bom Meridian Sofbrara revmed ty Ed Bvcovtz Forfi! Ty Jon Bryan Get stow Wund mb yoi Fo'Ti 9091*1 AaeemttyLmguigicn tie Amiga™ ty Or 1 Main Roomera
ty T«6andto Genxxi are fna y f. pong. & MORE’ AmlgeNoteebyR Raw Hum (Lston . *No ikrroo Ynot?.. Th* AMCUS Network ty J. FouE CES, user group nauea and Amga Eipo* Volume 2 Number-1 1987 Amazing IntarV*vra Jim Sacha By S Hut Am-g* A*tE The Mouae That Cot fleatcred ty Jarty Hu Ii nc Boo R*»« 3u*IhingPubl 0omiln0i**«rW ClttyJafw FpuE Highlights born :h* San Frandeco Commodora Shew try S Hul Speaksr S*ealcra:9an Frindaeo Commodora Shea Htcfy Thi Household Inventory Syrian In AmlgaBASC™ tyB Catey Seer el ¦ ol Screen Dun pa ty Naftun Okufl Uaing Function Kayi wt ti MieroEm aci By Greg Douglas
Am-'gitrli Jl ty War •an &coi Mre A-gs ancrrua Bide Cadgita By Brm CaTey Ooato gadget troor* Grldiron faewod By K. Contort Rato *ool)pl Tqrffie Arga Star Flral I Vardan 2.1 revawad By J. Tracy Angam Space The HC reviewed by J, Fousl Bettory powered Clock Calendar Metaicope ravawty H. Tdy An easy-to -uw debugger Volume 2 Numbers 1987 ThaPededSeundOigiarir r*v«wpyR 3ana Tha Future Sound DgiQnr By W Ek-cx App«d Vman'i SO Forth! By J. Br ncnparng Jfd'ti end Hit-ForTi Bade Input By B. Cecey ArgaflASlCinpLi'Oulnetar uta n ail jojt progrimt Writing a SoirdScape Module -r C by T. Fay Programming wtn
MiOt An-ga and SoundScape ty SounoScape Ahor Ptogrimmlng in 6800Q Aaeembly Language ty C. Martn Cart ruing w*5i Coumars & AJOressig Modea Uelng FutureSound WW AnlgaBASlC ty J Meacows ArgaBASC Programming utirywin raa-.flg watJ STEREO AmlgaHotaaBy R Raa A reywwof Mm«»cs So 'dScase Sound Samp-or Mori AmigaNolea ty R Ran A hrhor rsvew ol Sunr ini Pcrbct Sound.
Waveform Worfcah op In Amiga BA3C by J, SbeWi edit & law waveform br use n oTe* AmigaBASlC programa The Mrnelca Pro MD4 Studio ty Sjivr »7 A fftr«w a IM meoca’muac odsr.y tyw'.
IrrtulBon GadgetaPartllby K MtybeckTay Boo-ea-511099b prance ho ueer aen tn orVoh nwrtoce Volume 2 Number 6 1987 Forfi! By J &ye“ Access ’esxmws m h* rou K rs_ The Amazing CompuSng Hard Ddi Review tyj Foust&S.
Leeior h-rwh ooki at the Cltt Ha-d [he, MctbbcIcs’ UASf s*?3, Byw oy Byte‘a PAL Jr. S-cxa* 4x*Hra Ove and Xebec’* 972DH Ha d [ *e Aao t bok if tk» onw' soJtwwe currenty i«tord«Vicprrieni Modula-2 AnlgiDOJT*4 LWKdaa by S Fandizewtt A Calf* lo AmgeDOS and Tw ROM wrnd.
Anlgi Ejtpanelon Peripheral ty J. Foue Eibianason 0! Argaeoaneon pa'pne'ts.
Amiga TechHcd Support ty J. Foust How arc ww-e © get Aniga *cn euppoil Goodbye Loa Gatoa tyj Fouat Cbang LosGaas The Amlcua Network ty J. Foust West Coast Computer Faro.
MetacomcoShdland ToolldttyJ FouB Arnvi«w Tha Magic Sac ty J. Foust Flr Mac programs on your Am ga Whet You Swuld Know Before Chooeirg in Amiga 1000 Eapanalon Device ty S Grart 7 Aeaambl era for the Amiga ty G. H J! Choose yx.f assamp« Ugh Level Shekevp Raplicee Tup Management it Commodore ty S. Hull Peter J. Bac or‘by S Hul Manage' at C8M vwsin mt-os look Loglili A revw ty Rchard Kneoper Ogenl e1 ty A ravm Rch**p K ew*' dEabesa 61C00 Aaaembty Language Programming on Vie Amiga tyOv‘1 Martin 3uper«ue Preonal ReraUortalDetabMetyRay McCabe Am j iNoiee ty Raa. Rciatt A look a; FutoraSourd
Commodore Showe the Amiga 2C40 and SCO it tie Boston Computer Society ty H Uaybecx Tofy Volume 2, Number 7 1997 New Breed of Zdeo Producta ty John Foust,.
Very VTWd! Ty Tim Granfiam .
Video end Tour Amiga ty Oar Sands II AmigutWea er Forecasting sy Brenrien Larson A-Squared and the Uva! Video Dgltlzar ty John FouE Atgie Animator Scripta end Cel Animation by Jyn Fouat Ouiilty Video from a Qualify Computer ty On Sndt It fa IFT Really 1 Standard? Oy Jom Foutt.
Amazing Storlea and tia Amlgir“byJohn Foufl AJI about PrSmar DrN*ra oy BcM d Beat Intuition Gadget* ty Hamet Mrpocx To-ey Deluie Video 12 ty Rsb E -er Pro Video Cd By Oan Stnda III BgFVIewZC DlgmrarflJoftwarety JonrvV M Jmk Prlem HAM Editor from knpulea ty Jennifer M Jank Eaeyl drawing tabiatty John Fouat.
CSA'a Turbo-Amiga Tower by Ahed Aburto 69900 Aeeembfy Language ty Oini Mart'.
Volume 2, Number 8 1987 Truman* Amazing Com put ng™ focuses on erttertanman: paduageafor m Amiflt. A TArnggam&r* ews.
Sot,£ar1We»wBaseaa:, Porai.TF'eSs geon.l::* Cb-outor F oo . SiokJ. StarGcer, King's Cxesf 1,11 a-d III F«7 Tie Advert *, Ijtrrt IH Faces o' *:«-*_,¦*. Vo*c VegaatrtJ BarflYTM Plua Amazing moniNy column*™ A nga Noas, Rooret.
Modula-2. G8CC3 Asaer-O-y Language and TV* Ancut Netoortu D-M-2-Dlk by Mnw Lmcs The CaaFonu Sandero by Jahr Fa us: SkJrwjr C Programs by Robert Re"* *, Jv HiCdn Ueeeigie Vi Yo fcngi By Jot, Fault The Consumer Ejactonlca S*vow and Comdex by J Desiifop Video F-TI
i. „. gg- Your Resource to the Volume 2 Number 9 1987 Analyze 2J
m ewec by Km Scne'er hi pa cl Butinwa Gnphlct rwe* by Crjck
Rajdoms Moofleh* Flar re *w by Harv Las« Pegeeetter *ev*w by
ft k Wfch Glzmoz Produrivlry Set2J ?*vswbyBo&E' f Kickwortt
'evw by Harv Laser O ji T*Jatommunle*Jon* Package **vew by
Si* * H ' Mouee Tima and Tlmeaivar n» *w sy John Foust haider
Memory Expansion ¦avewty James OV«ne Mcjcbotic* Stir board-2
tevew by S Fav szew»i Leather Goddessa of Phoboa ’evewec Dy
Har'*' Maybecx-ToJy LaSca C Conplar Varaion 11Q -evewee by
Gary SarH Man* 3Aa Update T ewed by Jo*m FojC AC-BA SIC ev«¥*c
by Sr*Cor La*-a- AC-a ASC Compiler t“ ibrma co-pr«n py B Catey
Modyla-2 Programming S Fawiwvn*.
Fla* Cor ib* De-vc* Evro Directory Lletfinge lindar AmigaDOS by Dm Hayr* AmlgtBASC PiCema by Bran Cltey Programming witi Soundscape Todor Fay rnanpylale’s samples Bill Volk, Vlea-Praaldenl Aegli Development, rtPYcwfld by Sieve Hull Jm Good now. Devakoper of Mam 'C* rlarvewbyHarr*: Utblfy Commodore Amiga Volume 2 Number 10 1987 Mas Headroom and the Amiga by John Fo,s; Taking the Perfect Screen 5hoi by KeiT Cohort Amiga Artiat; Brian Will I am a by John Foust Amiga Forum on Compu*erYa*v.„ Software PuUlehklg Confarinca Trtnacript by Rc.narJ Rea All About Online Conferencing by Rchen! Ree dB MAN
'evwred by Of*ord Kart Am Ig a Piacal revewed by Wer»i M hie I AC-8 ASC Compear rev ew*c by Bryan Crtey Bu g Bytea ay John S»n*r Am Ig a Nolee by R.cha’C Rae Room era by Tne Bardto ESCX Aaaambfy Unguaga by &i*i Urtn TV a AMICUS Netwrork by }y~ Foust Am. Igs Programming: Am ig i BASIC 3tryctir*i 9 Stov* Uc*W Quick and Dirty Erne by Mc-ae Sw-gr Du ectory Liatlnga Under Am Iga-DOS, Part I by Cave Hayn a Fiat Fil* LO arith Modula-2 by Steim FawuawM Window 10 ry Read Predrnore Volume 2 Number 11 1987 Word Processors Rundown by Geoff Gmb* P'bWriB. Sc*06*'. And Wrcffc'toctcsT&i'W LPO Writer Review
by Uanon De*rtf VlraWrlti Review ty Karv Laser Aid It Review by War tn Boa WordPerfect Preview by Han* La*' Jaz San Interview Dy Ec Bercoztz TV* euro' o' S'j’fl d iomu!
0o-it-yowr*ei1 Improvement* lo the Amiga Ganlon Ogl-Pilnt Review by Harv Laser Sculpt 30 Review 9f S*v* Perowci Shadowg if« Review by L net Kaban TalaGamM Revise by Met* T Cafa RaaaonPrevwr touck 00k It an niM*i gir-*« *u- natonaooicaton A* I Sat ft by Eddw Oiycn I Pew -g atWypFVtac*, GznjiVIOtTiZng Keyi Bug Byiaaby John S*-W' AmlgaNotea ty R RaeAelectonc muacboaka Moduf»-2 Programming by Steve Faw saws*.
Oftvces. TO, a no re s a port Roomer* by Tve Band'to 66000 Aanmbly Language by O" i Maon Cnrij wa «x Trough 7 o tpi ay rouinet The AJJCUS Network by John Feuit OeMtspP-b a*mg & Seybsd C Anim ation Part I by M *Sw-ge-An" itonOoeca BASC Tart by Bear Catey P*« b** ; po*tr Soundecacii PirJll oy Tobo'Fay WJ UeW' and "5't Fun wti Amiga Fambwa by Atn Ba"W3 Flit Browaer by BryanCaoey Fyl Fea -e &ASCFaBnjw*ngut ty I’M The phrase above is not jusl empty words. The pages of Amazing Computing™ arc filled with articles on technical operations and procedures, basic use, and just-plain-fun. The growing
library of Amazing Hack Issues contains articles from building your own IBM Disk controller, to selling up your own startup sequence. Amazing Computing™ has repeatedly been the first magazine lo offer the Amiga users solid, indcpth reviews and hands on articles for their machines.
Volume 2 Number 12 1987 The Utmate Video Acceeeory by Lar Whru The Sony Connection oy StewrtCobb tSPurzfeln AmlgiBASIC byZtftan S»p*j Ule.Partl: The Beginning by Gerald Hu’i The ufra-compiea nne b*t aoLiton tb 5w “Gar* o' L1a * Amiga Virus! By John FouK A new A" gain rut ha* Surfaced. Peas* crow you' sysTr- CLI ArgumanM in C by PaJ Casarg ay MDI Lntarfica Adaptar by Ba"y Maascn Arga fCOOafy* uO aces can ft A2K5* v SCC* Module-2 by SfmreFa wveww.
F. at in a l*r«a • command Inacitculitor mModua-2 AmigaNotee by
RkTlfd Rao The k do changn mad* rh the Ar ga 501 i_d 25CQ-
Anmaton for C Rookie*: Part IQ by M Swnger taodng
The Big ftctura by War*n Rng ArgaTV Ai*"Dy languag* programming far rw brave Karat* Kid Revlewby S»pn*r R. Petiowcz GO! W revfnr by John Fouft Jam** Okeare. Ard Rck Wti Three C-&4 wDehs mvnoga*a new Aer q* 6a tmjau'.
A-Talk-Phja Rev aw by &«nd*nLlrlOrt 'Full-lodged Irrmral pmyam'S Terrenes capabi I*a Chllgriphar Review t JohrFouK Animator: Apprtndc* Review oy John Four Pitying Dynamic Druma on the Amiga by Da d N Blank WordPerfect Re iwa by Stov* rtj!
InAderXvdkatirt Ravi aw by EnestP. Vvo'SJ Sr RAU 5 RCW ej pa "a-or; Comrwrtsand nsteltfen tp* Bug Bytea by Jam Swror Forth! By Jon &ya* DjrpRPyt uality hr yoj Uxbforn tgodoa Ael See ft by Eoc* Ojrcn An of&ea: look on Dg-Pa nt. Portal, and Voeosa** 30 The Amlcue Network 9 JohnFouK Tn* Commodore Show and Am £apo: New York!
Amazing Com puling™ was the first magazine to document CLI Amazing Computing™ was the first to show Sidecar™ from COMDEX™ in full detail.
Amazing Computing™ was the first to document a S 1 4 drive connector Amazing Computing™ svas the first with a 1 Meg Amiga upgrade hardware project!
Amazing Computing™ was the first magazine to offer serious programming examples anti help.
Amazing Computing™ was the first to offer Public Domain Software at reasonable prices.
Amazing Computing™ was the first magazine with the user in mind!
From the ffeginning Since February 1986, Amazing Computing™ has been providing users with complete information for their Amiga. This store house of programs and infonnation is still available through oor back issues.
From the Premiere issue Lo the present, there are insights into the Amiga that any user will find usefull.
$ 4.00 each!
Our Back Issue price is still $ 4.00 per issue! (Foreign orders, please add SI.00 per issue for Postage & Handling. All payments must be made by check or money order in U.S. funds drawn on a U.S. Hank.)
Limited Supply Unforunaicly, nothing lasts forever, and the availabilty of some of our Back Issues is definitely limited.
Please complete your Amazing Computing™ library today, while these issues are still available. Please complete the order form in the rear of this issue and mail with check or money order to: Back Issues, PiM Publications, Inc., P.O. Box 869, Fall River, MA 02722 (Please allow 4 lo 6 weeks for delivery) 5 Reasons Why You’re Ready For MacroModem
1. You love telecom, but not memorization. Macro Modem's user-
written macro libraries and companion help screens 36 macros
per file) store tog on procedures, remote system menus and
2. You've always wanted to use the mouse after you’re connected,
too. Write macros that mimic remote system commands and menus,
then execute them with the mouse or keyboard.
3. You like automation, but not script languages. Our macros use
normal commands from MacroModem. Remote systems, and AmigaDOS,
as well as text and control codes. A multi-windowed
MacroEditor is included. No new programming language to learn.
4. You want to do other tilings while downloading a file.
MacroModem is truly multi-tasking, with a NcwCIJ available anytime, even during file transfers. And MacroModem's error checking won't stop downloads unless you tell it to.
5. Of course MacroModem includes standard telecom software
features, too. Teach MacroModem what you want, and it will
remember for you.
MacroModem - the better way to do telecommunications. S69.'J5 Kent Engineering & Design
P. O. Box 178, Mottville, NY 13119
(315) 685-8237 Benchmark Results
1. Picase refer to the Vol. 1.9 issue of Amazing Computing for
the listing of the benchmark programs.
2. All compiles were done from VDO: to VDO:. All links were done
3. All runtime checks were disabled.
4. TDI note: The compiler was run resident. The optimize option
was at the link stage.
5. Benchmark note: The compiler was loaded into the editor and
executed from there. For comparison's sake, I've used the
InOut module in all programs, even though the compiler comes
with a module called TermlnOut which is only slightly more
limited; but it can cut down the executable size by 50%.
6. M2Amiga note: The compiler and linker were loaded into
separate CLIs and never exited, to avoid having them reload
for disk every time.
Primes Tdi M2Amiga Benchmark Compile Time 3 1,8
0. 9 Link Time
2. 2 Build Time
3. 1 Run Time 53 51 51 Obj (.Lnk) Size 344 460 196 Executable
Size 4692 11980 7656 TDI Sieve M2Amiga Benchmark Compile Time
4 2 1 Link Time 14 3 3 Build Time 18 5 4 Run Time
5. 9 Obj (ink) Size 734 668 384 Executable Size 5024 12188 16064
Window TDI M2Amlga Benchmark Compile Time 38 12 4 Link Time 25
2. 9 Build Time 63 15
6. 9 Obj (Ink) Size 1368 840 343 Executable Size 4512 12136 9828
Continued CALC Listings) IMPLEMENTATION MODULE MySealOut; I
. (• (c) Copyright 1986, 1907 *) (* by Steve
Faiwiszewaki ¦) * •) For non-commercial, non-profit use only
*) ( ) FROM InOut IMPORT WriteString, Write; FROM Conversions
IMPORT ConvertToString; PROCEDURE Convlu: LONGCARD); VAR line:
ARRAY[0..79] OF CHAR; done: BOOLEAN; BEGIN
ConvertToString(u,10,FALSE,line,done); WriteString line) EK'D
Conv; PROCEDURE RealToLongCard(VAR r: REAL; VAR cu: CARDINAL);
(• This is a dirty hack, but it works! •) VAR overflow :
BOOLEAN; U : LONGCARD: BEGIN overflow FALSE; IF r 65S35.0
THEN overflew:-TRUE; r r - 65535.0; END; CU TRUNC(r); U t-
LONGCARD(CU); IF overflow THEN u u + 65535; END; Conv(u); END
RealToLongCard; PROCEDURE WriteRealtr : REAL; decimal:
f. U : LONGCARD; i,cu : CARDINAL; BEGIN IF r O.C THEN Writc );
r :--1.0 * r; END; RealToLongCard(r,cu): Write('.1 ); FOR i;-
1 TO decimal DO r r-FLOAT(cu); r r ¦ 10.0; cu TRUNC(r); Write
( CHR (cu+ORD ( ‘O')) ); END; END WritoReal; END KyRealOut.
DYNAMIC DRUMS The program that transforms your Amiga™ into a professional drum machine.
• Incredibly realistic sound
• Create your own studio-quality drum tracks
• Rea! Or step time programming
• Graphic Editing
• Over 100 percussion samples included or use your own IFF
• Fully adjustable volume and tuning levels
• Randomizing options for a dynamic, human feel
• MIDI compatible Requires 512K Amig3™ DEALER INQUIRIES INVITED
MI. FL, it CA add sales tax Send Check or Money Order for S79.95
to: IMPLEMENTATION MODULE MylnOut; FROM InOut IMPORT Read;
CONST LF - 12C; PROCEDURE ReadString(VAR s: ARRAY OF CHAR):
VAR i : CARDINAL; BEGIN 1 :- 0; REPEAT Read 0(1}); INC(i);
UNTIL (i HIGH(s) ) OR (s«i-l) - LF) ; IF 3 [ i-1 ] - LF
THEN 3 [1-11 =“ 0C END; END ReadString; BEGIN END MyInOut.
IMPLEMENTATION MODULE InterpreterO;
* .. (• *) (• (c) Copyright 1986, 1987 by *) (* Steve
Faiwiszewski 4 Richie Bielak *) C *) (* For non-commercial,
non-profit use only. •) «* •)
* .... (*SQ+*) (* Change all JSRs to BSRs in this module
*) FROM InOut IMPORT WriteString, WriteCard, WriteLn; FROM
Strings IMPORT Length; FROM Storage IMPORT DEALLOCATE: [31 31
771-44G5 Amiga is a trademark of Commodore-Amiga Inc.
PROCEDURE WriteLine£VAR line: ARRAY OF CHAR); BEGIN
WriteString line); WriteLn; END WriteLine; PROCEDURE Trim(VAR
sss: ARRAY OF CHAR); f* Trim trailing blanks ") (continued) 1
MEG Ran Expansion TH only To thank AMIGA™owners everywhere
for the great response to our ads, Kline-Trenics is offering
this special Holiday price. This price is onio available
dinectlu from Kline- Tronics. Order now before the rush. [
Regularly $ 239.35 c 1 Meg*'FAST' Ram in Meta! Case oTrue
o Fully Assembled A Tested 090-Day parts h Labor Warranty * All
Ran Chips Included) “HlGH QUALITY1' at a “LOW PKICE“ rtuHE-rmcs
i 10 Car lisle Court York, PA 17404 Tel. (717)-764-4205_ W W‘
Pius Shipping & Handi ing Lin; It'd Tine Offer IMPLEMENTATION
MODULE Interpreter; (•**“ ***** * .... f (*
(c) copyright 1986, 1987 by * Steve Faiwiszevski & Richie
Bieiak (* • For non-commercial, non-profit use only.
¦ t ..... (*$ q+«) (• Change all JSRs to BSRs in this module *) CSS-*) I*ST-*) FROM InOut FROM MathLibO FROM Storage FROM Strings IMPORT WriteString, WriteLn, Write, WriteCard, Writelnt; IMPORT sin, cos, tan. Log, In, exp, sqrt, real, pi, entier; IMPORT ALLOCATE, Createtfeap, De3troyHeap, HeapLeft; IMPORT ConpareResults, Compare, Length, InitStringModule; FROM CommandLine IMPORT CLStrings; FROM InterpreterO IMPORT Trim, WriteLine, FrceNodes, nodep, naxtree, raaxoper, treestack, opcrstack; CONST CmdSet - CharSet 'S', 'C', '?',' L', 'E' ,' AM ; DigitSet - CharSet v0r. .'9'); OperSet -
charset ' + ' ,* : nodep; (* hide this *) CARDINAL; tl linesize PROCEDURE ItsAFunction toper : CHAR): BOOLEAN; BEGIN RETURN (oper IN (CmdSet + CharSett ’Q','N'}I) END ItsAFunction; PROCEDURE precedence(operator VAR p : INTEGER; CHAR) BEGIN (• precedence *) IF operator IN (QperSet + CharSet I M V)','H THEN CASE operator OF
MV) ' : p:“0 t p:-l : p: -2 KLINE-TRONICS' : p.-4 I
* 1' : p: 1 ELSE T'" WriteLine('Precedence: Program Error!!');
p :- -2: END ELSIF ItsAFunctlon(operator) THEN p 8; END; RETURN
(p) ; END precedence; PROCEDURE nextoken(VAR line: CLStrlngs;
VAR Linelndex: CARDINAL) : nodep; VAR i : CARDINAL; fun :
ARRAY[0. .2] OF CHAR; m, sun : REAL; tl : nodep; done: BOOLEAN:
PROCEDURE CheckForFuncs(VAR line: CLStrlngs; VAR tl: nodep);
VAR i : CARDINAL; BEGIN IF line[LlneIndex*lj IN CharSet! 'B' ,
'X', 'O',f I' , 'A', 'O', 'N' I THEN what:-func; FOR i:-0 TO 2
DO fun i]:-line[LineIndex+iI; END; IF Compare(fun,' SIN')-Equal
THEN tl*.oper:-'S' ELSIF Compare (fun, 'COS')-Equal THEN 11 *
.cper:C' ELSIF Compare(fun,'TAN'I-Equal THEN 11". OperT' ELSIF
Compare (fun,'LOG')-Equal THEN 11 *. Oper: U ELSIF
Compare(fun,'EX?')-Equal THEN tl*,oper:-'E' ELSIF
Compare(fun,'ADS')-Eaual THEN tl*.oper:-'A' ELSIF fun(0) - 'L'
THEN tl* . Oper:-' N' ELSIF Compare(fun,'SQR')-Equal THEN
tl".oper:-'Q': IF line[LineIndexO]-'T' THEN INC(Linelndex);
END; END; ELSE what:-oops; END; IF uhat-func THEN IF tl*.oper -
'N' THEN INC(Linelndex,2) ELSE INC(Linelndex,3) END;
done:-TRUE; END; END CheckForFuncs; PROCEDURE
CheckForVariabies; VAR i : CARDINAL; BEGIN i :-
ORD(line(Linelndex]) - ORD('A'); IF valdef(i) THEN (* Ok, the
variable is defined, but instead of copying ¦) (* its value,
lets just keep a reference to it. This is *) * usefull if the
variable's value may be changed after *) (* the tree is built.
* ) tl* . Val FLOAT (i); tl*.oper :- *V'; what :- number;
INC(Linelndex) ; done-.-TRUE; ELSE HandleError
Mi33ingValueError,ORD(line(Linelndex])) ; what oops END; END
CheckForVariabies; PROCEDURE CheckForNumbers; BEGIN what :-
number; sum :- 0.0; WHILE (line[Linelndex] IN DigitSet) AND
(Linclndexc-lincsize-1) DO sura :- sura * 10.0 + real
(ORD(line(LineIndex]) - ORD ('0' )); INC(Line Index); END; IF
LlnelndexClinesize-l THEN IF line I LineIndex].' THEN m:-0.1;
INC (UneIndex) ; WHILE line[LineIndex] IN DigitSet) AND
(Linelndex -llnesize-l) DO sun sum + unreal ORD(line
[LinelndoxJ) -ORD( '0')) ; m:-m*0,1; INC(Linelndox) ; END; END;
END; tl".val sura; done:-TRUE; END CheckForNumbers: PROCEDURE
ChcckForOperands; BEGIN what operator; tl".oper :-
line[LinelndexJ; INC(Linelndex) ; done:-TRUE; END
CheckForOperands: BEGIN (• nextoken •) (¦ skip blanks *) WHILE
(line[Linelndex] - % ') AND (Linelndex - linesize-1) DO
INC(Linelndex); END; IF Linelndex linesize-1 THEN what :-
endofllne ELSE ¦ get a new node *) done:-FALSE; NEW(tl) ;
tl*.lson :- NIL; tl*,rson :- NIL; tl".val :- 0.0; tl*.oper :- '
(* check for operands *) IF line[Linelndex) IN (OporSet +
Ch*rS«t(MV)'M THEN CheckForOperands; END; IF NOT done AND
(line!Linelndex] IN cmdSeU AND (LineIndex -linesize-3) THEN
CheckForFuncs(line,tl); END; IF NOT done AND [line[Linelndex]
IN CharSet[‘A* ..1Z'}) THEN CheckForVariables; END; IF NOT done
AND I line [ Linelndex ] IN DigitSet) THEN * check for
"regular numbers'* ¦) CheckForNumbers ; END; IF NOT done THEN
what :- oops; END; RETURN t1) END; RETURN [NIL) END nextoken;
PROCEDURE PushPopGrow; VAR t2 : nodep; BEGIN (•pushpopgrow") (*
pop the operator stack *) t2 :- operstack[ostack] ;
operstack[ostack] :- NIL; DEC[ostack); (• "grow" a subtree •)
IF ItsAFunction[t2*.oper) THEN t2".rson:-NIL; ELSE t2*.rson
trcestack[tstack]; treestack[tstack] :- NIL; DEC (tstack); END;
t2*,lson :- treestack[tstack]; (¦ push the subtree back onto
the stack *) treestack(tstack] :- t2; END PushPopGrow;
PROCEDURE ProcessOpenParon(tI: nodep); BEGIN (* open pren
cannot follow a number ¦ IF whatwas - number THEN
HandleError(MissingOperatorError,0); what oops; (¦ otherwise
*(* is pushed onto the stack •) ELSE INC(ostack);
operstack[ostack] :- tl; AMIGA HARD DISK BACKUP HARDHAT
Full lncremental Directory Single Fite backup to microdisks.
Option list allows skipping of files by name with wildcards.
Catalog file provides display of backed up files by name with size, location and datestamp. Double data compression reduced disk space. Printer interface. Uses CLI or Workbench.
Multitasking provides background operation. S69.95 AMIGA DISK FILE ORGANIZER ADFO Having trouble finding that file somewhere in your stack of floppys? Can’t find all the copies of a particular file? ADFO maintains a database of directories and filenames from your collection of disks. Fast response inquiries return location and last update information. Printer interface. Uses CLI or Workbench. 512K ram and 2 drives recommended S59.95. AMIGA SPELLING CHECKER SPEL-IT Uses 40,000 word primary dictionary and optional second dictionary. Add Delete words to both dictionaries. Includes
plurals. Text wordcount totals. Uses CLI or Workbench, Mouse or keyboard. $ 49.95 Include $ 3.50 S&H Mastercard Visa Accepted Calif. Residents Add 61 2% Sates Tax 7He4tcom 3386 Floyd Los Angeles, CA 90068 (213) 851-4868 Order phone 1 800 621-0849 Ext. 494 whatwas operator END; END ProcessCpenParen; PROCEDURE ProcessCloseParen; BEGIN (• A closed pren cannot follow an operator •) IF whatwas - operator THEN HandleError[MisslngOperandErrcr,1); what oops; ELSE [* if everything is ok then pop the ¦) [¦ operator stack and build subtrees until '('is *) (¦ found on the top of the stack. *) WHILE
(operstack[ostack]*.oper '(') AND (ostack 1) DO PushPopGrow; END; I' pop 'I' of the stack *) DEC (ostack); (* check for stack underflow *) IF ostack 1 THEN HandleError(NissingOpen?arenError,0); what oops; ELSIF ItsAFunction(operstack[ostack]".oper) THEN PushPopGrow; END; END; END ProcessCloseParen; PROCEDURE ProcessOperator(VAR sign: INTEGER; tl: nodep); VAR pi, p2: INTEGER; BEGIN (• processing of operators and parens •) (• is a little more complicated *) IF tl".oper - M* THEN Proce3sOpenParen(tl); ELSIF tl" .oper - ')* THEN ProcessCloseParen; (* consider arithmetic operators •) ELSE (*
an operator can't follow an operator *) IF whatwas - operator THEN (* check for a unary minus •) IF tl".oper - THEN (continued) siqn :- sign ¦ (-1) operstack[ostack| :**tl; ELSE whatwas;-func; HandieError(MissingOperandError,2); END what oops; i END ELSE operator: * if precedence of the operator on the top ) ProcessOperator(sign, tl) | (* of the operator stack is greater than or ) endofline: [• equal to the precedence of the scanned *) ProcessEndOfLine(sign) 1 I * operator then pop the operator stack and oops: (* build subtrees.
HandieError(GeneralError, 0); ¦) ELSE WriteLlne(*GrowTree: Program Error **'): (* Vie assign the precedence values to variables and *) END (* CASE ') (* compare the variables, instead of simply comparing •) UNTIL what IN tokenset(oops,ondofline) ; (• the function itself i.e. do •) END Growl ree; I* IF precedence(t1 *.opor) - *) * precedence (operstack [ostack] * . Oper) *) PROCEDURE SubstituteVar(root : nodep); REAL; I* J VAR *) sign : REAL; * because of a bug in version 2 of the TDI package. •; 3EGIN sign
1. 0; pi :- precedence(tl*.oper); KITH.
Root* DO p2 j- precedence(operstack[ostackJ*.oper); IF vaKO.O THEN sign -1.0; END: IF pi - p2 THEN C* vai*sign gives A3S(val) *) PushPopGrow; RE TURN(sign*symbtable[TRUNC(val'sign)]); END; END; whatwas :- operator; END SubstituteVar; INC(ostack) ; operstack[ostack] :- tl PRCC EDURE Evaluate (root : nodep; VAR sue: BOOLEAN) : REAL; END CONST END; MaxExp - 11.6; END ProcessOperator; VAR i : CARDINAL; PROCEDURE ProcessEndOfLine(VAR sign: INTEGER); x,p : REAL; BEGIN BEGIN (• clean up the operator the stacks •) IF (rcotONIL) AND sue THEN * if there is a ’('on the stack a ') ' was missing * CASE
root*.oper OF WHILE ostack 1 DO ’ ’ ; RETURN(roOt*.val) IF operstack(ostack)*.oper - ’(’ THEN ‘ ostack 1; * i.e. glveup •) Hr : RETURN(Evaluate (root*'.Ison, sue) + Har.dleError (MlssingCloseParenError, 0) : Evaluate(root*,rson,sue)) 1 what oops; ; RETURN(Evaluate root".Ison,sue) - ELSE Evaluate(root".rson, sue)) (* if the tree stack under flews *) : RETURN Ievaluate(root*.Ison,sue) * (* then we're short an operand p) Evaluate root*.rson,sue)) IF tstack - 1 THEN Vr : ostack 1; x Evaluate(root*.rson,sue); HandieError(MissingOperandError,3); IF x 0.0 THEN what :- oops;
RETURN(Evaluate(root*.Ison, sue) x) ELSE (* its ok ") ELSE PushPopGrow; HandieError(DivideByZeroError, 0): END; what:-oops; END; END END; 1 END ProcessEndOfLine; 'A* ; RETURN(A3S(Evaluate(root*.Ison.sue))) 'S' : RETURN(sin(Evaluate(root*.Ison,sue) * pi 160.0)) PROCEDURE GrowTree(VAR line: CLStrings; 1 VAR Linelndex: CARDINAL); ’C' ; RETURN(cos(Evaluate(root*.Ison, sue) * ¦** * ...* ) i
* i pi 180.0) ) !
(' Build the binary evaluation tree *) 1 1 ’I' : (* *) x:-Evaluate(root".Ison,sue); ("**"*** ..*.....**) p:=cos(x*pi 180.0) : VAR IF pOO.O THEN RETURN (sin(x"pi lS0.0) p) sign i INTEGER; ELSE tl : nodep; HandieError(IllegalValuoForTanError,0); BEGIN * grow tree ¦) what:-oops FreeNodes(treestack(1 ] ) ; END linesize:- Length(line); 1 sign :- 1; ’E' ; REPEAT x:-Evaluate(root*.Ison, sue); tl nextoken(line,Linelndex); IF x M.axExp THEN RETURN (exp (x)) CASE what OF ELSE (* A number was scanned, just push it *) HandieError(IllegalValueForExpError,0); (* onto the tree stack. *)
what oops: number: (* A number cannot follow a number *) END IF whatwas - number THEN 1 HandieError(MissingOperatorError, 0) ; ’L' : what:-oops; x:“Evaluate(root*.Ison,sue); ELSE IF x 0.0 THEN RETURN(log(x)) INC(tstack); ELSE tl*,vai tl*.val ¦ real (sign); HandieError(IllegalValueForLogError,0}; sign 1; what:-oops; treestack[tstack] tl; END whatwas :- number 1 END 'N' : I x:-Evaluate(root*.Ison,sue); IF x 0.0 THEN RETURN(In(x)) func: ELSE IF whatwA500perator THEN HandieError(IllegalValueForLogError,0); HandieError(MissingOperatorError,0); whatr-oops; what:-oops; END ELSE 1 INC(ostack); [The
remainder of IMPLEMENTATION MODULE Interpreter will be presented next month - Ed) *AC* The CompuServe AmigaForum Presents.
An Interview with Dave Haynie of Commodore Amiga™ This is a transcript of the formal conference held in AmigaForum conference room 2 on November 11th,
1987. Our guest was Dave Haynie of Commodore Amiga.
The following is a heavily edited transcript of that conference. Guest speakers' and moderator's comments are identified with their initials, e.g., DH. Forum members are designated with their names inside parenthesis,
e. g., (Mike).
(Mike) Hi Dave, nice to see you survived the return from Vegas!
DH: Yeah, Vegas was a blast. Because everything worked. For those who weren't there, C-A really showed some new stuff this time.
RR: Dave, we're hoping you'll give us the show scoop tonight; are you willing? We'll just give you the floor and you can ramble on about COMDEX stuff in as much detail as you'd like, then we'll go for questions ... unless you have another suggestion?
DH: Okay. Starting with the reason 1 didn't get any sleep before Comdex, the 68020 board. This is a plug-in for your A2000; it contains a 68020, 68881 FPU, 68851 MMU, and two megabytes of RAM. You can clock the FPU as fast as you like with the addition of a clock module (and faster FPU). 1 expect it would work in something like the 2000-and-l box that ASDG is planning, for all you A1000 fans.
Moving to the right, w'e had the PVA device. This was designed for C-A by folks at the New York Institute of Technology. It contains a high quality genlock and frame grabber in one box.
Also supports two video inputs, under software control.
On the other side of this part of the booth, we had the new hi-res monitor.
This gives you 1008x800x2 monochrome, and it works on any Amiga just plugs into the video connector.
Currently, you RamKick a few new libraries to get it running, but future ROM Kickstart releases will have support built-in.
We also showred the 80286 Bridge Card. While Steve Ballmer of Microsoft calls the 80286 a "brain-damaged" chip, and I'd probably agree, for you MS-DOS fans, it's certainly faster than an 8088. 10MHz, to be exact.
Also in the booth was the A2000 internal genlock. Better quality than the 1300, and probably cheaper, too.
From 3rd parties, there was a deinterlacing device shown. Basically a scan converter that fits in your A2000 video slot and gives you up to 705x512, all 4096 colors, displayable on a multi-sync or IBM VGA monitor. If you've seen the quality of the IBM VGA, you know exactly what this looks like.
NewTek showed their AmiGcn genlock device, which fits in the video slot of any Amiga. They also showed, near the end of the show, their "Video Toaster." That's a killer machine.
Does simple things like "pixelizations," or more complex things, like wrapping live video images around spheres. All the things hard-core video types AREN'T using Amiga for right now.
At least, i was very impressed.
Software was shown too. Some good software. Deluxe Productions, basically a storyboarding program.
Professional Page, City Desk, lots of things you may have heard about from AmiExpo. There's even more going on behind the scenes; I think the outside world is really starting to notice Amiga. My only complaint: fewer Amigas in other booths than Macintoshes, though there were some.
Oh yes, except for Progressive Peripherals. They had an almost all Amiga booth. One ST, one or two C-128s, the rest Amiga. They've got a very fast frame grabber, two CAD packages, and a little program for digital signal processing and other graphic manipulations called PixMate. Does basically what the University of Lowell DSP board does, things like line detection, only not real time. Still, they use the blitter to do DSP faster than a fast '020 could do it. Anyway, ! Guess I can answer some questions now.
RR: Dave, before opening the floor, can you project prices or releases on any of this, or is it still too early?
DH: We didn't have any pricing available on most of the C-A products shown. They haven't been officially announced yet, though they're really (continued) not that far off. In the old days, these probably would have been shown in private. Still, I'm reasonably sure that the '020 with 2 meg of fast RAM will cost far less than any similar configuration for the Amiga currently on the market. Wish I had bettcT pricing info, but it's really a marketing sales thing to set the pricing, and they haven't been given any of our new stuff yet.
RR: Okay, fair enough. The floor is now open for questions.
(Vic) RE: Hi-Res monitor: "1008 x 800 x 2 monochrome"? What's the "2"?
DH: That's two bitplanes. Like a normal Workbench screen, except in this case it's black, white, light gTey, and dark grey. You can run it in one, if you like, but for compatibility reasons, two planes is the minimum that most Workbench software will be happy with. The "1008" some of you may recognize as an Agnes number.
(Marlene SYSOF) Dave, can you tell us more about NYIT's board, your impressions of it, and potential release date.
DH: Sure thing. As far as release, I believe it's already in FCC test, which indicates that, barring any changes to make Uncle Sam happy, the design is comolete and frozen. No official word i on release date, though. As for potential, I played with it some, and it's kind of neat. Really good quality genlock, on par with the best I've seen. You have in instant frame grab, though that's into local board memory; the transfer to an Amiga IFF file takes longer. It does have software which looks pretty far along too, the captured image can be converted to HAM, lores, or hires. Programs can swap
video inputs, which is a feature !
Haven't seen yet. They had it set up on one camera and one VCR; you click on a gadget to go from VCR to camera, or from live to captured image. Tm not totally familiar with it; it may have other features as well, but what I saw of it worked very nicely.
(Paul B.) Dave, can you tell us if and when the medium long persistence monitor will be available?
DH: Last I heard, the 2080 monitor of which you speak would be available in January, or thereabouts. 1 haven't personally seen one since the last demo unit at CES last January, but that's not really unusual, since the product is OEMcd from outside. The one 1 did see was very nice, tighter dot pitch than a 1080, and with ProWrite running black on white the flicker was all but non-existent, no worse than a PAL monitor. Hope they ship as nice a unit.
(Fred Kohler) Dave, will there be any hardcards out for the Amiga 2000 that go into an Amiga slot?
DH: I haven't seen one yet. C-A isn't planning one. The decisions behind the C-A hard disk were based on realities. Like, you can get a large ST- 506 drive from any Pclone garage shop vendor cheaper than you could from CBM. They'll sell you a hard drive, but integrating would kind of force you into accepting the drive WE pick for you instead of the one you really want. Maybe a 3rd party will make one.
(Dave K.) Dave, I'd like to hear more about the 68020 board. For instance, can you turn the '020's instruction cache on and off with it? Can you still use 16-bit RAM with it installed?
DH: Okay. AmigaDOS will turn the Cache on automatically on system initialization, and then leave it alone.
So once you're up, you can turn it on and off at will. The on-board 32 bit RAM autoconfigures as the first 2 meg, but any extra 16 bit RAM can still be used out in the expansion bus, and 16 bit DMA devices can DMA into the on-board 32 bit RAM if they like. The 32 bit RAM runs at 14.2 Mhz with one wait state (due to the MMU).
(Isaac Cruz) Good evening Dave! Anv news on expanded memory (beyond
1. 5M) for the A500? And how about the availability of hard disks
for the same machine. Prices?
DH: Glad you mentioned that. Byte- by-Byte showed a 2 meg external, self powered memory add-on for the A500, nice unit. Detects when the A500 is powered on, sits on the left beneath an add-on floppy, if your floppy reaches over there. I think Supra already has a hard drive for the A500, and I know of at least one other hard drive for the A500, unannounced at this time, that will also probably house a meg or two of RAM as well. WARNING: DON'T BUY A NON-POWERED EXPANSION DEVICE FOR THE A500.
(Doug) A non-powered expansion device, Dave? You mean like the A1010? [Grin] My question concerns the new bridge card. The current software for the 4.17 Mhz card that's available now is pretty skm on screen scrolling, etc. Are there any new breakthroughs for changing this, since scrolling will supposedly be more intense with the new 286 bridge?
DH: Well, one A1010 is OK, after that, worry. Anyway. Yeah, I finally broke down and hooked up a bridge card myself. The color screen will be more along the lines of w:hat you get in PC performance, I believe, since there's less Amiga-side manipulations involved. The AT card will run a bit faster, since the 80286 is running faster. But they do use the same interface chips, and the same Amiga- side software. So short of adding a 68020 card, don't expect a major speed-up until perhaps the next revision of the PC software.
(Doug) [Sigh] That's what I was afraid of. R.I.P. 286 Bridge!
RR: Dave, Steve Ahlstrom asks if you can pull the 8088 in the bridge and replace it with an NEC V20.
DH: I've never actually tried a V20, but I imagine it'll work OK. The 2088 system timing isn't extremely tight, the interface chips WERE designed to support the AT board as well. But I'm not all that familiar with the differences; trying it would be the best test, of course.
As far as RIP bridge board 286 goes, 1 doubt it. I never expected the 2088 to sell very well, but we can't make them fast enough, by about a factor of 3.
As the PC, at least in my opinion, was never a graphics intensive machine in any stretch of the imagination, I don't think slow graphics would kill it necessarily.
(Bill Atkinson) Dave, how would you compare the MicroChannel and NuBus to the B2000's bus for performance and expansion (32 bits etc.), and, by the way, THANKS! For the B2000.
You're quite welcome! Anyway, first and foremost, the B2Q00 bus is very much the original Zorro bus with three interrupt lines changed somewhat. And it's very much a 16 bit bus, though as long as I have any say in the matter all your B2000 add-on cards will drop into a future 32 bit machine and work just fine. As far as comparisons to other busses. MicroChannel has basically caught IBM up pretty close to the rest of the world, and the Amiga bus really was the first there (among the three).
All three systems have a method of autoconfiguration. NuBus takes a very simplistic approach; there arc 16 slots, each has a ROM at the top, and each occupies 16 meg. Easy to do on a 32 bit machine, but the Mac software doesn't like this yet, so in reality each slot is 1 meg. I think Amiga's system is better in that respect, though real NuBus has a 256 meg pool to draw upon for those things that don't take up just 16M. But NuBus is better as a peripheral bus; it's slower than onboard memory, being self-clocked at 10MHz. The Amiga bus, while slower than NuBus, incurs no penalties, speed-wise.
MicroChannel's configuration looks pretty convoluted, but at least it's there.
MicroChannel also supports shared interrupts, something we've always had, though there's no software support for it yet, and I heard a rumor there won't be in (the initial releases of OS2) either. NuBus has one dedicated interrupt per slot, which I don't like, 'cause you can't handle system priorities right that way.
As for DMA, Amiga's DMA, except for the Coprocessor slot, is an all-or- nothing affair, whereas NuBus and MicroChannel both support some fairness, so they can better deal with alternate processors on the main bus.
Fairness isn't much of a win in dealing with burst DMA like hard disks, though. NuBus also supports resource and DMA locking, which is essential to multiprocessing. MicroChannel and Amiga don't, though the fact that Amiga doesn't have DMA fairness kind of eliminates the need for locking, since once you have the bus, you can't be thrown off. Oh, and even on the 386 machine, MicroChannel doesn't have enough bandwidth to truly support a full-time coprocessor; neither does Amiga. But then again, I haven't done MY 32 bit bus yet. NuBus could reasonably deal with one. I could rant and rave for days,
but that's basically it.
(Glenn) Dave, what improvements and new features are in DOS 1.3?
And, when wilt DOS 1.3 and the 1Mb Fat Agnes be available?
DH: Can't really get into too much of that, and it's not just because I don't really know that much about it. The next release, 1.2.1, will give you boot from arbitrary device, like hard disk or EtherNet. But no enhancements.
I think the main idea behind 1.3 will be to hone the system. 1.2 pretty much fixed the major bugs, and put in the hooks for things like RamKicked library modules. 1.3 would certainly APL.68000 $ 99 A HIGHLY OPTIMIZED ASSEMBLER BASED APL INTERPRETER FOR FAST AND POWERFUL PROGRAMS.
FEATURES A COMPLETE INTER FACE TO THE AMIGA ENVIRONMENT WITH PULL-DOWN MENUS.
REQUESTER ANO ALERT BOXES, SPEECH, SOUND AND GRAPHICS FACILITIES.
Order direct for S99 + 57 chipping, $ 10 Careda VISA MCMMEX + 4% NJ res + 6% sales tan.
SPENCER ORGANIZATION, INC.
P. O. Bo* 248 Westwood. N.J 07675 (2011 666-6011 fix all known
bugs, and I think they'll be speeding things up all over. Lots
of folks know about the faster print drivers. They're called
1.3, which tells me that they're targeted for the 1.3 release,
which I wouldn't expect for maybe 6 months or more. But also
they're very far along, so you might see them sooner. You
could run just about any 1.3 enhancement that I've heard of on
a 1.2 system, so there's no absolute need to release the
entire thing at once, only the desire to keep OS releases well
understood and under control. But as I implied, I'm not really
the guy to ask for this.
(Karl Sparklin) Other than those mentioned in responding to Bill, what other changes were made to the A2000 to arrive at the B2000? I've not heard much about it.
DH: Well, the 100 pin backplane changes, which were minor, were put in for the A2000. And I didn't do anything to those, 'cause we wanted to keep the 100 pin bus as standard as possible, since we're planning to use it for a long time to come. What I did change was the coprocessor and video slots, Part of the reason for the changes was what we had identified as the reason for these slots at the time of my design, versus what was originally envisioned.
(continued) The coprocessor slot started out being basically a local bus access point for the extra 512K of A2000 RAM, and possibly a bus-monitor type MMU at some future point. (All this does is sit around and yell, via BUS ERROR, if an access violation occurs. No translations possible.) Anyway, the extra 512K was gone when I put that on the motherboard, and there was a need for a real 68020 upgrade, which includes a real MMU. So I added the B2000 coprocessor protocol stuff, which basically allows a 68020 card in that slot to request the bus from the 68000 and become a fully equivalent bus
master. Any 100 pin bus masters completely lock out all others when they have the bus, as I mentioned before. Okay for burst stuff, but not when you're taking control. Anyway, it is possible for a 68020 or whatever to come on, run as a full 68000 replacement with hard disk DMAs and everything, then get off (though our 68020 card never gives the bus back, for A2000 compatibility). On the A2000, you have to pull the 68000 out to use a coprocessor, but 1 kept the data sense of the bus arbitration lines the same, so a single jumper on our '020 card sets it up for the proper motherboard.
The other main enhancement I added was the second half of the video slot.
Originally, that was intended for genlocks or modulators, but I though it was kind of weak, so I added the second slot for access to all 12 bits of digital video and more system clocks.
George Robbins basically suggested the port lines from the parallel port go there too, so we can have some communication to devices there.
Anyway, consider the video slot a standard thing that you'll see in future machines, while the coprocessor slot is a machine specific thing that will probably go away if the general expansion bus gets upgraded in the future on a 32 bit machine. Huff and puff, my fingers hurt.
(Paul B.) Dave, we have been hearing for some time now of a new Agnes chip that will give us extra chip memory, higher resolution, more colors, etc. Is there any truth to this at all? And if so, when?
DH: There's certainly work being done on new chips all the time. First of all, anyone who takes a second look at the Fat Agnes architecture will notice that it's controlling 1 meg of memory right now, though internally Agnes only talks to 512K of RAM as chip memory. So it's definitely possible that a drop-in replacement would support 1 meg of CHIP memory. However, when such parts will be generally available, I can't say.
When 1 get mine, then maybe we can talk [Crinl. As far as higher resolutions and more colors go, that is more complicated, because it requires an agreement between Agnes and Denise.
Agnes supplies the video sync signals and stuff, but Denise is responsible for interpreting the information that Agnes gives it and turning it into the video you get. From what 1 know of Denise, higher resolution is possible but also not very straightforward; more colors is more difficult. Not that you won't ever see such things, but they're not going to be here real soon or anything.
(Isaac Cruz) Dave, given that the A500 power supply is, to put it mildly, barely functional, are there any plans to provide a more robust supply either by C-A or other vendor?
DH: Progressive Peripherals is making some kind of memory expansion for the A500, and it comes with a beefier power supply. That's the only one i've heard of so far; I'd expect most add-ons to have their own addon supplies instead, since that's simpler to do unless you go inside.
(Jim Williams) Dave, what is the supply of Amigas like? Will there be enough for Christmas sales, since dealers seem to be getting a lot of back orders?
DH: I sure hope so. Last 1 heard, they're just barely keeping up with A500 demand, but they are keeping up. A2000s are coming along slower, I guess due to the fact it's a newer machine, there arc more parts to gather from the four corners, and the trade-in deal has probably boosted demand more than CBM expected.
And the fact that the Germans, at least, are buying them at more a consumer than a business professional machine rate. Which suits me just fine, if only they can got production up. By the way, they are building them downstairs in West Chester, so I expect that the dealer supplies, now pretty well dried up, should start flowing again soon.
(Thom C.) I missed out on Comdex but am thinking about on going to the World of Commodore show. Do you think the trip would be worthwhile?
DH: I think so, Thom. I was at WOC last year, and, based on that, I expect that CBM will be showing pretty much the same kind of things that were at Comdex, probably with the addition of C-64s and C-128s. I'll have a 68020 board for them. The WOC show was a step above CES last year, my first trip to WOC. 1 left feeling all kinds of warm and fuzzy about Amigas.
RR: I'll dose this out with a question from Marlene, who's doing duty on another channel. Dave, what about 68030 support?
DH: Good question. The current OS would detect a 68030 as a 68020, and run it accordingly. A reasonable thing to do, since the 68030 wasn't fully specified when 1.2 was frozen. I'm sure 1.3 will have a 68030 flag, though.
RR: Marlene tells me that what she REALLY wanted me to ask is [Grin] do you think CBM can remain competitive, especially with business oriented users, if you don't pursue the 68030 rapidly (since by the time the 68020 support is available, that chip will be "old news")?
DH: Fair question. Let's look at it from another point of view. The 68000 was already in two machines on the market, one with a significant lead time (the Mac), by the time the AT 000 came out. Even if Apple has a 68030 done by the time we have a 68020 machine, I'm skeptical that it'll be that much of a difference. Then again, I still don't see the 68030 as THAT MUCH of a great advantage over the 68020 in our future designs, given the same system clock speed. Also consider the fact that a 68030 will add maybe $ 800 or more to the final cost of any 32 bit machine we might produce. About all I
can say is that,
(1) our 32 bit machine will do things that Apple's doesn't, (2)
we certainly won't ignore the 68030, now that it's real, and
(3) at least WE have an OS that supports those 32 bit chips.
And, on the '020 vs. '030 question, we may have a surprise or
two you aren't considering.
RR: I, for one, have a dozen more questions, and I know you all do too ... but Dave's been typing (LOTS!) For about two hours, and that takes a toll.
So, I'm going to close down the official CO. You are all welcome to chat for as long as you wish. Dave, thanks a million for a great CO and you have a standing invite to come back! Thanks!
[At this point, the formal conference was terminated. The following arc excerpts from the informal chat which followed.] (Paul B.) When will we see a 32 bit machine, Dave?
DH: Well, I've got this '020 board to finish up. "Not soon enough" is a good answer.
(Doug Erdely) Any word when the 68020 board for the A2000 will be out?
And the price?
DH: Don't know the price or release.
It's almost done, engineering-wise.
(Nelson) Will the A1000 support 1.3 and vice-versa?
DH: Yes, 1.3 will be available on the A1000.
(MarlenefSYSOP) Dave, you must be back-ordered like crazy on the 2000.
DH: I'm worried, the A2000 seems so back-ordered from what I hear. I'M still waiting for MY A2000 (at home, got one at work).
(Thom C.) BTW, Dave, have you guys had any problems with the seating of the Bridge card in the slot of "your" 2000?
DH: I've never had any bridge seating problems, other than it's generally tough to plug in. I've drawn blood more than once pulling them out.
(Marlene SYSOP) Dave, have you heard of some 2000s not GURUing properly? Mine does this; the screen just freezes, and I have to controi-A-A to get a GURU.
DII: There is a know AlertO bug.
Happens on any system with SCOOOOO memory.
(Glenn) Dave, has C-A recognized yet that there is some kind of problem with SCSI and the A2090?
DH: C-A has recognized that there is some kind of problem with SCSI in general: that it's a non-standard standard. They're trying to keep a list of all SCSI devices that work properly.
(Glenn) Will there be a software fix, so that the SCSI formatting problems go away?
DH: Glenn, there apparently should be a dcep-format capability, wrhich, as I understand it, is basically a utility that sends the "format this thing" command to the SCSI controller.
What is absolutely needed, for this and other things, is a SCSI.DEVICE. Oriental Desk Top Art vol. 1 High resolution images Oriental artwork IFF format Use as clipart in desktop publishing programs Price: $ 29.95 Software Integration Solutions 16496 Bernardo Center Drive iv San Diego, CA. 92128, * '' f' n Tel: 619-451-3094 The main problem with SCSI is its implementation. The thing is that some controllers arc basically dumb SCSI controllers. But SCSI is a smart interface standard. So on these devices, it's up to the implementor to provide a microcontroller with the smarts. If there's a bug in
the SCSI code of the microcontroller, you lose.
The A2090 uses a Western Digital SCSI chip with intelligence in it. So if wre screwed up the SCSI, at least low-level stuff, that's them, not us. But I'm pretty confident that WD did it right.
I'm really happy with my A2090. I've got twro ST-506 drives on the one at work, two at home. It's real DMA, reasonably priced, and even if you get ST-506 drives, I think SCSI will become increasingly important in future years.
(Steve SYSOP) Glenn, SCSI wrorks fine with the Adaptek 4070, but there is a DEFINITE problem with the driver if you have a non-workbench screen up. Using a SCSI drive you get I O errors ALL the time; hit retry and it recovers, go back to the non-WB screen and more R W errors. (This happens with 1 ST506 connected and 1 SCSI.)
(continued) HARD DRIVES 150 meg $ 1595.95 65 meg $ 949.95 40 meg $ 87 9.95 20 meg $ 659.95 £ DRIVE 95 CABLES: Serial or Parallel each Hard drive comee complete with SCSI controller, fan cooled power supply with case and a true SCSI hard disk (no interface boards).
Full ONE YE&R warranty!
ASK ABOUT OUR REMOVABLE MASS STORAGE DEVICES $ 9.95 -u RAM AMIGA 500 RAM 512K with CLOCK .. $
1. 5 meg INTERNAL . $
389. 95 2 meg EXTERNAL ... $ 449 . 95 AMIGA 1000
1. 5 meg INTERNAL . $
389. 95 2 meg EXTERNAL ... $
449. 95 AMIGA 2000 2 meg INTERNAL ... $
409. 95 EXTERNAL 3.5 ONLY $ 159.
ASK FOR OUR COMPLETE PRODUCT CATALOG PIONEER COMPUTING
- BLAZING NEW FRONTIERS IN PERSONAL COMPUTING- 2469 EAST 7000
South 200 Salt Lake City, UT 84121
(801) 942-1174 DH: What Steve's talking about is based on what I
call DMA latency.
You can eliminate some of this by running SlowMemLast before Binddrivers if you've got fast memory on the bus. But what Steve says makes me believe that there must be a software problem too, for at least I was led to believe that SCSI was happier with choppy DMA access than ST-506.
RR: Dave, what exactly is the source of the problem?
DH: The problem is based on the bandwidth of CHIP RAM getting tied up in display at higher resolutions.
The DMA device asks for the bus, and the 68000 would like to oblige. It gives the device a Bus Grant, which says, 'Things are all right by me for you to take over the bus." However, the Amiga DMA arbitration follows the 68000 protocol very closely, and this says that you must wait until the end of a memory cycle before you take over the bus. The custom chips keep the 68000 off the bus by wait stating it, which means you may have to wait a full scan line before your DMA gets the bus, even though you really have the expansion bus yourself.
The problem is compounded when you're DMAing to Agnes controlled memory, because you not only have this long wait for control of the bus, but you then have to spit out DMA data only during non-display time.
The end result is that you can easily have a disk overrun. If you DMA to expansion bus memory instead, once you have control over the bus, you get your burst DMA without waiting, since the custom chips don't wait-state anything that's using expansion bus memory. Well, the problem is that in hi-res modes, ALL of the video bus bandwidth is being used during display time. I would have liked to at least remove the latency problem, but the obvious solution to the problem requires an 010 or 020.
(Murray Trickett) Arc there any boards around in the USA that allow you to plug in IBM type hard drive to the A500?
DH: There's some kind of device driver combination I've read about that turns a PC hard drive into an Amiga hard drive, without a bridge card. Don't think it was specifically aimed at the A500, though they may have a version.
(KEITH YOUNG) Dave, is the 1.2 DOS in the A500 A(B)2000 any different than that released (on disk) for the A1000?
DH: The 1.2 KickStart and ROM are identical. The A2000 A500 vs. A1000 WorkBcnches have some minor differences on them.
Copyright 1987 by CompuServe AmiguForum, Dave Haynte.
• AC* The AMICUS Network W v Tx :Vx ix&TxkT;Tw; i w;-: t;
w; x.;xb:;::* ;•;•;• :v,T. Vx-sCa;C:s%-:;i k ' -£¦¥.
’•( ;:;:;x viCiy £&W::;;;U;-;i;: fei-lky New Public Domain
Disks, Commodore and Developers By John foust The national
computer networks have been very busy during the past few
months. This activity brings a windfall of new public domain
So, here are descriptions of three new AMICUS disks, numbers 24 to 26, as well as highlights from the latest Fred Fish disks, 103 to 110.
Disk 24 AMICUS disk 24 has a little of everything, from C, assembler, BASIC and Modula-2 program examples, to games, animations, and utilities.
Sectorama is a disk sector editor for any AmigaDOS filc-struclured device, David Joiner of Microlllusions developed it for recovering files from a trashed hard disk.
Iconize reduces the size of IFF images, performing full anti-aliasing for the best results possible, it does a wonderful job and comes with a companion program, Recolor, which remaps the palette colors of one picture to use the palette colors of another. Using these programs and a tool to convert IFF brushes to Workbench icons, you can make icons which look like miniatures of the pictures.
CodeDemo is a Modula-2 program which converts assembler object files to inline CODE statements. Modula-2 programmers would use this tool to incorporate short assembly language programs in their programs. CodeDemo comes with a screen scrolling example that makes a fly walk across the screen. AmiBug is a cute little Workbench hack that makes the same fly walk across the screen at random intervals. Otherwise, it is completely harmless.
BNTools are three examples of assembly language code from Bryce Nesbitt. The programs include: Set Lace, a program to switch interlace on and off; Why, a replacement for the AmigaDOS Cll Why command; and Load It, a program to load a file into memory until a reboot. (Only the most esoteric hackers will find Loadlt useful.)
Monolacc is a Cll program which resets Preferences to several colors of monochrome and interlace screens. C source is included so you can change the preset colors, it works with DisplayPref, a Cll program which displays the current Preferences settings.
BoingMachinc is the latest animation from Ken Offer, a winner in the BADGE Killer Demo contest. Offer makes his animations with Sculpt 3D.
BoingMachinc is a ray-traced animation of a perpetual motion Boing- making machine. It includes the latest version of the Movie progTam, which has the ability to play sounds along with the animation.
Daisy is a minimal example of using the translator and narrator devices to make the Amiga talk. It is written in
C. QuickFlix is a script-driven animation and slideshow program
that flips through IFF images. Bmon is a system monitor
program written in AmigaBasic; it lets you perform simple
manipulations of memory.
Moose is a background program like the Macintosh Talking Moose. At random intervals, a small window opens with a moose that resembles Bull winkle. The moose says something witty, such as "Get back to work," and the window disappears.
You can change the phrases, if you like.
DGCS, short for "Deluxe Grocery Construction Set," is a simple Intuition-based program for assembling and printing a grocery list.
The Virus Check directory holds several programs relating to the software virus that came to the US from pirates in Europe. This insidious program was detailed in Amazing Computing V2.12. The program has boon fully disassembled by Commodore technical support, and Bill Koester's full explanation of the virus code is included. According to Koester, "Just like the real thing, the best course of action is education and prevention." One program checks for the software virus on a Workbench disk; the second program checks for the virus in memory, which could infect other disks.
The Commodore analysis of the virus code says it only prints a message at random intervals. Although the current version of the virus docs not format or destroy most disks, it can harm some copy-protected software, if the software has special program code stored in the boot block of the disk, it is interesting that this virus can only harm programs copy-protected in this way.
(continued) Disk 25 Nemesis was an entry to the BADGE Killer Demo contest. It is a graphics demo that pans through space towards the mythical dark twin of the sun with wonderful music and space graphics.
The KickPlay directory holds text that describes several patches to the Kick- start disk. For Amiga 1000 hackers who feci comfortable patching a disk in hexadecimal, KickPlay offers the chance to automatically do an ADD- MEM for old expansion memory, as well as the ability to change the picture of the "Insert Workbench" hand. A program is also included for restoring the correct checksum of the Kickstart disk.
KeyBird is a BASIC program that edits keymaps. You can adjust the Workbench keymaps or create your own.
RcolorWB modifies the Workbench so three bitplanes are used, meaning icons can have eight colors, instead of four. Several eight-color icons are included. Fortunately, the public domain program "zapicon" or "brush2icon" gladly converts eight- color IFF brushes to icons, so you can use Deluxe Paint to make icons for this new Workbench.
Brushlcon converts brushes to icons ... or maybe it isn't. The documentation is in a strange foreign language with lots of umlauts and long noun-based words, such as "Workbenchomgivnin- gen."
Egraph is a graphing program which reads [x,y] values from a file and displays them on the screen. It is similar to the same-named Unix program.
Keep 1.1 is a message-managing program for telecommunications fans.
It lets you save messages from an online transcript to another file. Keep
1. 1 understands the message format of the national networks and
several types of bulletin board software. It moves through the
transcript and lets you save messages that interest you.
Kill.fastdir is a must-have for CLImatc owners, written by CLImate's authors.
To speed up directory access, it creates a small file in each directory on a disk which contains the information about the files. Some CLImatc owners don't like all the "fastdir" files, though, so this program removes them all, from each directory.
The LaceWB program changes between interlace and non-interlace Workbench.
Previously, you were forced to reboot after changing Preferences to an interlaced screen. This program flips between the normal and extended screen heights.
PW_Utility is a shareware utility for ProWrite users that changes margin settings and font types. Guru is a CLI program that prints out probable causes for Guru mediations; C source is included. DiskWipe, the latest from the Software Distillery, removes files from directories or disk drives, much faster than "delete." Snow is an AmigaBasic program that makes snowflake designs. Mlist is a mailing list database. This disk also has a softball statistics program to maintain records for a team.
Dodge is a short Modula-2 program which moves the Workbench screen around after a period of time, presumably to prevent the edges of your monitor screen from burning out.
Disk 26 At press time, a package arrived with Todor Fay's SoundScape module code from his Amazing Computing articles.
The source to Echo, Chord, TX, and VU is included. The Lattice and Manx C source code is here, along with the executable modules. AMICUS 26 also includes Fay's ImageMaker program, an interesting tool which edits Image structures for C. It loads and saves C code directly.
Claz2 is an update of the program which converts IFF images to PostScript files for printing on laser printers that understand particular page description language. SDBackup is a hard disk backup program with Lempel-Ziv compression to reduce the necessary number of disks. TCB prints information about tasks and processes in the system; assembler source is included.
FunBut lets a function key act like a rapid series of left mouse button events. The author says this program is great for winning Defender of the Crown.
DC is a handy program for people who use an Amiga 1020 5 1 4 inch drive as an AmigaDOS floppy. DC is a Workbench program that sends a DiskChange signal to the operating system. Instead of typing "diskchange df2:" over and over again in the CLI, just click on the icon. C source is included.
This disk also has a system configuration file that makes the screen wide enough to show 80 columns of text in the Scribble! Word processor. Two programs are also included to move the Scribble! Spelling dictionary to and from the RAM disk.
Lexical analyzes a text file and gives the Gunning-Fog, Flesch, and Kincaid indices which measure readability.
HcxDump is a Modula-2 program to display memory locations in hexadecimal. Tartan is an AmigaBasic program to design Tartan plaids. DirMas- tcr is a disk catalog program.
BMP plays 8SVX sampled sounds in the background while something else is happening in the Amiga. The author suggests playing sampled sounds as your Amiga is booting, for example.
This disk also has a collection of mouse pointers, along with a Workbench program to display them in turn. A CLI program changes your pointer to a given pointer.
New Fish Fred Fish has added disks 103 to 110 to his collection. I must report that Fred Fish is a real person. I've talked to many Amiga owners who thought the name of this disk collection was an imaginative invention.
Disk 103 contains: a C example of AVL trees, an efficient data structure technique for some applications; an RPN calculator; a C cross reference generator; DosKwik, a program that quickly saves and restores a RAM disk; IntuiDOS, an alternative Intuition interface to the CLI; and a text import utility for Microfiche Filer.
Disk 104 contains a spreadsheet program called AnalytiCalc. It seems very powerful. AnalytiCalc supports large spreadsheets and has many functions found in most spreadsheet programs, as well as some unique features that make it more like an outline processor or a database program. C source is included, and the author plans other extensions to the program.
Disk 105 has a number of assembly language programs for manipulating memory and CLI tools, some Ami- gaBasic programs for solving least squares problems, and a Freudian analysis program. Bison is a an update to compiler generator tool on disk 51. FlamKey password-protccts your Amiga. If the correct password is not entered, the keyboard and mouse are locked out. Pere-et-Fils is an example of reentrant processes.
Record and Replay arc updates to the mouse and keyboard recording programs on disk 95.
Disk 106 has an update to the function key programmer from disk 89 and some IFF pictures. QuickFlix, a slideshow and animation program, and a game called RistiNoila are included.
RistiNolla resembles gomoku, if you know what that is.
Disk 107 contains several FORTRAN programs. Two programs plot data on the screen, in two and three dimensions. Another program drills young people in multiplication skills. A program is also included to slowly copy a text file to the printer, in order to avoid overrunning its buffer.
Another program provides an example of timing events.
107 also includes a program to convert text files of numbers to Lattice UniCalc spreadsheet format, and tutorials on backing up hard disks using public domain utilities and ways to avoid interlace flicker.
Disk 108 has MonlDCMP, a program to monitor IntuiMessages that pass through an IDCMP window. (If you haven't guessed, this is a programmer tool.) A program to calculate the characteristics of steam (useful for engineers) and Tek, an update to the Tektronix graphics terminal emulator on disk 52, are also included.
Disk 109 has a new animation called "Machine" from VideoScapc author Allen Hastings. Machine is a scene from a factory that makes Boing balls.
This disk also has a CP M simulator which, like the Transformer, interprets the machine language of a CP M computer and pretends to run CP M programs as if they were on a H-19 terminal.
Uupc is a series of programs that lets your Amiga function as a Usenet node. You can send and receive Usenet mail and news, including stuff from the over-popular "comp.sys.amiga" area. This software may tempt people who would like Usenet to come to them, instead of them going to Usenet. Be forewarned, though: This program requires a bit of hackerish tinkering and cooperation with the administrators of a local Unix site. C source is included.
Disk 110 has an update of the C compiler on disk 53 which generates assembler source code in Metacomco form. A public domain assembler, written in C, is provided on this disk, along with "blink," a freely distributable linker. You need the "amiga.lib" from the Commodore developer kit in order to write complete Amiga programs, however.
FAUG meeting In November, I attended my first FAUG meeting. FAUG stands for "First Amiga User Group." It is headquartered in the Silicon Valley area where the Amiga was born, and meetings are now held in the Hyatt Hotel in Palo Alto, California. On December 1, FAUG will hold its second anniversary meeting. A cash bar is available in case the speakers are boring.
(I retain the belief that the AMICUS Network was formed before the First Amiga User Group, but I've never challenged its name. Of course, I might not win the argument, considering that the AMICUS Network has never held a meeting, and no one, not even me, will admit to being a group officer.)
Average FAUG attendance is about
500. On the way to the hotel, I spotted several Amiga
bumperstickers at the intersection in front of the hotel.
Can you Imagine traffic and parking problems because of a user group meeting?
The speakers at FAUG are rarely boring. In fact, FAUG group leaders complain that they are having a hard time impressing the group, because most Amiga notables have already spoken at the meetings. They don't know what to do for the anniversary meeting because the users have seen it all.
There were many familiar faces in the crowd. Dan Silva, author of Deluxe Paint, many of the original Los Gatos Amiga people from Jay Miner on down and many current Amiga developers were present. I spotted at least a dozen developers, which is more than I've seen at some trade (continued) shows. Allen Hastings brought along videotapes of his latest VideoScape animations.
Politics and Problems At COMDEX, I thought Commodore was playing a silly definition game.
In later discussions, one topic reigned supreme: the high resolution monitor and the 68020 card. The question was, "Did Commodore announce products, or was it just showing them?" The answer measures Commodore's adherence to a policy decision. This decision promised to prevent the unpleasant reaction when products are announced too far in advance of actual shipment.
When Commodore showed the Sidecar, A500, and A2GOO well in advance, some dealers complained.
Many people heard about the new hardware or read "product previews" in magazines and came to dealers expecting to purchase the new computers. When the dealers told customers the computers were not shipping, some felt misled. Dealers do not like unhappy customers, particularly if the customers are unhappy about something Commodore did. Word about unhappy customers trickled back to Commodore, and they came up with a solution and revealed it at the next show: They would not announce products before they were ready to ship.
The silly game comes down to the difference between "announcing" and "showing" a product. When Commodore shows a device, but says little about it, is it an announcement? Is it only an announcement when a ship date is included?
Without any official statement regarding a new device, no one can spread more than a rumor. If you can say you "saw it at COMDEX, in the Commodore booth," stories gain credibility. If you can only say " heard it somewhere," stories are taken as just that only stories.
Very little information was supplied at COMDEX regarding the high resolution monitor and the 68020 card.
There was no mention of these things in the press releases, and there were no flyers.
With no official information, misinformation reigns. Before I checked my sources, I had some serious misconceptions about the high resolution system.
A source who should have been reliable told me the card was for the Amiga 2000. In truth, it is a special monitor coupled with software running on any Amiga system.
I tend to think little was accomplished by the lack of information about the new products. The word will get back to the same people who waited for Live!, the Sidecar, A500, and A2000.
They may complain just as much unless the products appear soon.
Booth Space At COMDEX, Infinity Software was asked not to show Shakespeare (their desktop publishing program) because Gold Disk was showing Professional Page. CSA was not allowed to exhibit in the Commodore booth because their 68020 products would draw attention away from Commodore's own 68020 board. 1 had visions of CSA representatives being turned away on the show floor, arms full of product boxes.
Booth space is premium at any show.
Commodore must decide who can display in their booth. In a 75 foot square booth, there is no room for duplication. It is a very cut-and-dried process one or two desktop programs, one spreadsheet, one CAD program, one or two video products, and a few games.
The situation is scary, given the previously cordial relations between Commodore and CSA. Commodore always welcomed CSA into their booths. The action against CSA may frighten other vendors.
When dealing with any outsider.
Commodore must be necessarily tight- lipped about research. Unfortunately, they are just as tight-lipped with information for third-party developers.
The situation is potentially tense when the Commodore product in development is similar to a product from a third-party developer. The third-party developers' perspective is easy to imagine. Why is Commodore nosing in on territory the developers consider theirs? Why should the parent computer company compete with third-party developers?
Sculley on Developers I have wanted to use the following quote for several months. It seems particularly appropriate in light of the incidents at COMDEX. The quote is from. John Sculley, CEO of Apple Computer, in the September 1987 issue of Playboy magazine. Sculley has been interviewed recently in dozens of publications to promote his latest book. I don't agree with all of his ideas, but this quote rings true, especially when considered as advice to Commodore. At this point in the interview, Sculley is discussing the informal network of business people that surrounds any large company.
"What I've discovered and I hadn't known this until I came to Apple is that third-wave companies arc totally dependent upon the network of third- party companies they can build around them. This allows us to think of our personal computers as platforms on which others can go and innovate; and in fact, our experience is that the best innovation has not been done by us but by outsiders.
"We didn't invent VisiCalc, as you know, IBM didn't invent Lotus 1-2-3.
We didn't invent Pagcmakcr. Those were all done by entrepreneurs... The impact on almost any market that Apple has been in has been caused by a network of resellers or a network of enthusiasts or a network of developers who are doing things with the platform technologies that Apple creates."
• AC- The AMICUS & Fred Fish Public Domain Software Library This
software is collected from user groups and electronic bulletin
boards around the nation. Each Amicus disk is nearly full, and
is fully accessible from the Workbench. If source code is
provided for any program, then the executable version is also
present. This means that you don't need the C compiler to run
these programs. An exception is granted for those programs only
of use to people who own a C compiler.
The Fred Fish disk are collected by Mr. Fred Fish, a good and active friend of the Amiga.
Note; Each description lire below may include something like 'S-0-E-D which stands lor source, objocl file, executable and documenlalion'. Any combination ol these letters indicates what forms of the program are present. Basic programs are presented entirely in source code formal.
AMCU5 D-ita 1 AMCUSWri2 sen teste se-a pott com rands Amiga Baalc Programa: Asitie prograna:Graphfci C programa: sensamp.c ex am a« o'serial pon use (Note Mary of resep'og’amsarepfwer'on AMCUS 30SOCS 3d SpiiCS mowing prog wtmtM
• D Am gaDOSoMCTib'ary manager, S-E prP'mrc ta-p* pnmar
i-nefracecaoe D*x f Sewal of tww we*e corwtec o Amg* Base.
Data f ie* er lexltiearcrvw orogrtm. S-E prtiaseh prirtr devcede'nfiona and are mduded hera | Bo»a drees Bocks liob euta nopaeuKutaoiB im negntetc regon test p yam AocetsBook a a~o e add **» tio«k oraaase Cubes C'Wrt Cubes m smpeCLIsntn.SE wtacec »aoe to i-teHKteOrVoff program Bail O'awsabS Osv dram pcVes in the s te of Du,*r sc. Uaq * compresaion programa S-E separate! C se:the attrb-teacf TteparBtelpott Cow program to convert Comxi*Vth*x FscaM C'ms fractal anGtaoes YacrsC e fam iiar game. SE Selena c set the attrbutea (par caatrx's jf the free » O na , SO Horten 30 d'awng program, W hdden
In Uaxfl a simple'maWe'progra nm ng uiJty, S€ sngpay c te" e piayfrted example Cle toe game. InUfron Or.wi removal Emac* inwy wrson of he AngetexteOttr, S-E-0 speecfitoy c »acetor*TaS)r ax pnonettsoemio CaforArt artdrawng program iPad imp® pan; prog-um Aaaenbier programa: irtedelyc ample ttr er dem,o DefuxeOm toe orawng program n toe 3rd AC. SD Octal draw sewal opbcaJ I'fuswns Bsea'cfr is- bnary seetncoce tmer.c exec x ppor :mef frjnc or a Eili co"versatona computer psych009s: PantBox limp* pen; program qsoriaam Lb t campatbe qsort() *jnc10". Uurce imratifc mcreexectupporttmer furmans Oreo
toe gann*. As known as o‘ SnutSfl draw the StuUe in 3d wrefrerr* end C test program WvrFontc roadt and disptsyaal ova adte system fonte RatMsn 30 ratntJB game Space Art graphics demo wtyrp asm seqmp() code tor Latte* 3 02 process* and prtbese i assmed-er ndude Ites.
Rofl bogging gr phCt j*rno Speaker speech utfrty Svprinfl Unn syitem V compare pnntJ(| sL te-qsp.ftt wamingaofdeaa ocka wJi xbraquestera Shu Be Crews 30 0‘dres of the space snutte Sphere draws sphe’es »eeso Un-x (Bmpattiie ree ) funaon.O-D cpnsMlOWt coty of reRKMoonspe iOcropter SpeJng ample weihng program SpmI draw color spves ThSdiiKfopnartyhedfFspeakciijnrifaandexampet Srx* dtex'ontsc warning of d »font toad ng bug Y0Y0 wera lerogr1 t*"1®. T**1 TvklW 3d Vctsn p 33 b s spec is constancy updated. R» FF tpec f i« nave been Liifuntptl latofSdefret. Maroa'oictons yo-ya to toe mause Topog'iary
anfofc! Topog'aphy moved B Mr wmOsmnyteAUICLISaiecon ) rpuwv.txt preim rarycooy o're nputcwce c*ap»r Encutebfe programa: W-ees craw cde g'asmcs John Dipe* Amiga Tutorials: Lcetee Yomnatar on Wo'ktench dsrbuton icans 30cuoe Mod ja-2 dam a of a rotasng cuae Xrn caw ‘•aca sine: 'aneacaces A-1 rate oescr Pea ar.maton afcgo'ttva prnter pre-reeexe copy of M chaote- on printer Cm**, from Atlcon seti a seconc con mage, a spayed Asaiicprogranu: Tools Gwgett was-jMjn RKW1.1 vlttotxt Yfr'f of frjite(rangesfrom wson 1 Oso f 1 Wter-re con sco.ee AootrssSao*. T-“0« catebsse progim for addresses Me-ut
ee-aooutKiton-e s v2ftr' d“ t Tot tnCjoefe cringes from xtraon 2fite 1.6 A-gxSoe a aaw butsr pe spe:" cnecxjr. E 0 C * f+ s-D« cau 1 e :£joi» program AUCU3CSW 3 AMCUSDIkS Flee from the Amiga Link ac to ARC fr compeaaan piogra D*mo motiwndsw Wo C pograma: Amiga bformaton Network mjttri*ir**3r teecom. E D K* Coo« snows « f:odes b* a key you proa X'ef aCcoss 'ete'enceg ' , SE Wr» ra:ao-e o'rese'es ate o«, ana »ete- a ocer versons of Berra ne gr acmes oemo Ue-u run miry Aqosc yogra-S from i menu Go to or exra-ma brgyitcnp gv oemo, S-E reepeitrgsystem Thesetesa1*fro™ ArgalmiL ForaSme.
0 Kstvage prog 3 resrxe fr ashed (Uai. E-0 Uj-eCo s-s wiy s get mo* co oris- re so ten 0*30 rotate tcnopi ie* to sa, S€ Commodore supponed ArgaLniu aka AK fy ari-e oevex KwkCopy a quo but nasfy d k ccpy a: once, us ng a asr-g Cea’up rer-ows srt-nge ci'wei from »rt t« tecrnca xooom. T was onry up and runnrg for seme's weeks prog'a": gno'es t'rora, E-0 i‘xp« tmpe coC shape oesg er Speakfr, CR2LF corw j cam age mi 'j r *re teecs r These ‘lesaonsica y awimarty. And are tredjcatonl x'- LbOr k» rurki m an oo ctf e E-Q ipeec.- anc narnar demo Argefea.&E poses ory Ofcau*se, thafsnotts say Mydorlwo'k.
SaveBjBM H*iirysceena$ Ffpc E O??
Abaaic program*: Cimaa E"or adds eamp*e emo* to iCf e. S A demo of Intuition menua caBid 'menuderno'. In C source ScreerOvr-p V' e*ewae saeen danp prog, E onfy &*ckOu: daste compute' trek wall game Hels wrWwex from M RKM, S whe'teic Ind a f.w»arcnng at sjbd'ecty« 5terT*nn wrsion 2 3, term program, XmwterrE-0 Qtoeno i n «,npw u'go' Kernni; gene'c Kermaimf ementasor, fmy bob teste BOB programming examp* Taxta: 5i_.ee' i ro« rpo»m p;ime no Irma mode.SE teiteeoc aoo symhea-sexampe Lar.ceUan Ipa on fxng mend in Unce Seel ng Stpa s eng spa. Ng game Sc*« sound Pamo payi acaet, SE Aatembfarllae:
QdkDw r««eyxl0WnSfM9'VB TjyBcx tMCxtw graphics oem o SxewB RjbkCjbeOemo n b-Bstaio*, SE ryoter atm aa-pe oev-c* or *• GauMed eipe'i re Goj njrbera Abuic prognTni; 5oyrd» AmlgaBaec ogaltfrJ my aaam «-p« 13*7 ex*-p« Lad03bugs bug isto'Latto C te*son 3 03 E-ara-er ttays toar.-ne A tj-ate cs uer autemia *»„ tcton myto.
Uforgeflev usertvew a'r« M joForge HO halsx: o'e»xts -tts a roe. Compute* CraryE gn* card gam ryoev.i Prr potf ESCLJTE-tiased pr.n:apoai prog P ee S“D« pCk* S'flT Rjnfl Grapn ‘jnean grapmng pragrirs Bsmxppj .BMAPfVaa; SugarP. - p'ayt Tne Dance of re Suga'pan WtnngHx’ ¦ game macron asee-bwri-kS'jOefte* These a** M necessary krAa &et*w- A ga Bas and r Fi'*‘ AbieC program a: Tart: system! Orves Totakeama-jgeo'teeAmga'scapaoi tei C program i: Cemo gamea o' poker. Uec en. «ce. And caps argaboa ipaonCLlcorr.mmds 11 Base, yx need resefiea BMAPt are needed for'd $ f, AT*m S'je terminal program, S-t
Gompku a so known it 'otwt o ext-tei axtemai d * speofrcaton ¦curiae', t***onf, 'exec', 'con', IrtiiJon', layers’, oc 14 a comping wn Lrtce C SatMtege sott of an adventt game gameport gam* pprt spec ma?»e*edoa)u,1 aree«rgou,i VrathfrBna1. ’pctgo1, decVt oppos te of CONVERT for cross Eaacutable prognma: peretel caHtei potsoec Tme'' and Varbajor', dev® opera Duster i GfiOOO d ustembier, E D sera aeial port spec AistGUlDoii Dotty source code a toe Jotty wncowoemo OpSide snows a given «« of Ffpctjrea, E-D
vi. fuodate f*t of new features m verson 11 Amiga Btaic Programa:
echox unjc*styfe frienarre expansion, partial S.00 Arrange a
tat tomattmg program. E-0
vl. lh.ttt biff o' include tie cftangesfltiote.'tion Fig'ttSm
ampie Igrrt simulatof program festarfp explains use of
fast-floating pant rrefn A*aentWar programa: Files fer build
ng your owi printer drivers, indudng dospeoa c, HuePaam
expans Hue, Sauration, & Hensiy Fat Date fries tuUre Cass on
al Ae* on a d ik, G£ Argotem wmina'program wttt apeecn rd
Xtodem, epsordric, n tin, pnn»r, ; prnfrsr.lnk. phntettag an,
Recueste* ex of requester a from Amg a Base freecaw amp*
War berai ctoaw ng prog .S-E S-E render.c, andwatasm. Tha d»
doeieon&n arumber dhas ScrolDemo Oem or* Straw Iff pi tog
Omti tot G*xM*m g-apttc memsy usage :nd aS'. S-E AmfCU5D»k4
Fhei from PM orlpJnal Amiga deserting re FF ipeafrcalon These
are no* frw latest and Synreaw tosi ) program G'*p a*ar ?’«
bra glaring p«f»ewr Technical BBS greatest Htt, bu1 men he-*
for ft Stored papoaes They Wo'ldMap draws a map of toe world
Cki him mows c'tre hotd-ana-moafy No teff at some of pies*
a e od. And eter te oeer vrs on» of ndude text t ec anc C
wiw eumpet The atest FF toec a Executed* programa: rertod of
color geme'atan re ooe ¦eng system Tneae tea came from Msur
system rr 9aware ;n JxaliOrtry Bongl latest Bb'ng1 demo,wto
ae'ecaoe ®o«,£ 6U2A~ga fast pe'afei case ttnsferj cwtw«n
sevaois A- gi» rnical*uppdrtHO‘ormos!ofl985 T «e AMCUSOwfi
IFF Picture* Brur2C co'verts an FF brun a C ora an IBM and r
Amgt f es oo no; cany a wama'tty. And are 'or educator*
purposes Thsosxrcudesfrw DPSide proyam.Wicn can vewagvn
rstoxborte. Nbaijiton code. E Mince Uanpeb'Ot SB! Program, S€
only. O'coune.StefsnptaaayMy oonliwni.
Se*es o'FF pnaes anc f«‘r*owptf prograr, wttcn can vw &-jjr2fccin carwts FF tturn to an icon, E mjr* patS'red g'apnc demo. S-E eeer 4 * at tne c?e* of an an. The pcturesncJjde a screen from Daue graottca oar 0 „ racus to m x a*. E etjtx maxes Lalde C »«c:fie ry-boi Compete and nearly up-to-date C so ace to image ed*. An aary ArtcFax, a Degas dancer, re guys at E ecroncArtt, ago'ila, Dec GEL wse-per program forwppng v smb We». S-E wrsion of m fcon Editor Th« a a iitfe laky, but cvoet ax houses, K ngTiA, a ghfxse, a screen from Ma-Di Maaness, M 5601C errors S-E-D QJCK qtwck sort iTngs routine
Buga Bunny Martin, a IfcU from an ohj movte. Frte D'l Sfrntt Klocti m nu-bar dock and oate dspfay. E ISA eiflTpe sample wneow LO mowng cot par y, a screen from P"toa Confrucson Set a TV j;»e toe gam of life, E uf. Ace ajm* on irtreoe rrcde, S-E An rtuoon cemo. M Ml C aou"ce, irduong fl ea demomenu c,
• waste', re PertCen. A world tbo. E Ponc-ne, 1 stt.se TmeSet tot
bon-bised way 3 set the tme & date SM S q a-type g'apficdemo,
S-E demomanu2c, oemoreqc, graac c. oemoe. PdemogLwje.
Muson pocn, a yannoMurui rex. A panet vew. A VISA card, EMEmaca arotoer Emacs mom orenbd to Otor executable progrtrrra: demo make,dersal h, nodoao. And trwtec and a ten-soeed word pmctessng. S£-0 SwectToy Kwd-certcrsaroi addmem.c acwextemal memory tore system AMCUS Dak 7 DgiVlevr HAM demo pi Mure die UyCLl a CLI rei. Woks wrthout toe WnJiForS c Sdaysa ni iae'xs bobteslc exa~pe of BOB u e Tis ok has ocv« from me Dg.Vew roo-artJ-nod y v*oec Wonoenct. S-E-0 Txrt: console,c cor-aoe Deia~pte Ogtifr’. Ft .neucesr* atieswfrporc sardioiytiopsTteyoag Tart: BSC2C oesc'bes S8C2C soeedup bord from CSA
creaoottc omste tx c«k pots S', re yjcnztr'. Re noi* and buggy, the 6y» ca**r. Re FrwKays ¦etd ‘uhctan keys from Am ga B**c Alaaa* tort useso*rw ASSIGN comneno creasto c reite ttandant lO requests 0«t orary page. M'ooctanoRooem Tma ncjoeaayogram a Hkts* "
• xpana now a nan to* gam* frater* Boj* tnowr Dug t*sn Lance C
1C2 dMtaskc cettng tin eta-pwa vweacn pc r*sec aritey, and a-
bgreiiHom.txtite httO'O guoe 3 ret* rg a SK’C w 'flu Amga
CUCa-O reb'e a c»tt for Am ga£X£ CU dskoc uroatlTici'Mitina Kwt
Tn see am‘ ttogrir. A Vr any aeeen na an FF Bengi itest Bo ng
oemo.wto aeectePeapeed, £ CUCcm-mcs 5-.de 3 using toe CLI oo
rye axx*to7teT»ry wxow ae-o oxtt-te Bn„r2C ca-wts tn FF brum 3
C CXI Co--anc i AmgaDOS duapayc due payfrvd u~pw AUCUSD.tol
nstoxto'a, mtaiiabon code. E CLI commanca toodc food ft exampe
C progrtma; Bn WZtean co-vers FF vur 3 an co", E EcCo.mn-inds
g,*)* to Tie ED ac tor taemapc aid xen,on o’ eemao' Brawe vw
text frtes on 1 ffsx, u»ng renj* S-E-0 Datre
grteyxcsoemo.raoutemxie. £ Ftenames A-gsDOS lenarewccarc gemote
taoaforVSpntesendBOBe Cryncn W'Cve* commerta *xi *k*rte Space
OecGEl as»™tier proyam 3r rtsppng contrentona gfi-nen.c grapnc
memory v»ge inicaw from C‘tei.SE 683'Cerrcra S-E-0 Ha'flrgfrl
txy ena rare yiprcs crtpa Mt can do Itefe.c w‘'dow axirpe from
RKM tor Exec EXECLfTEaaeres cTcor-manca Kw
- eru-oa* dm and ca» e may. E nyec ys moutoevc addng an input
mndiefte the input stream tom Worxbench S-E lit* toe game cl
life. E MoorrPr* oescrpjon oftnesv a ponproul juystkc readng
bejoyrtck POScreer Oumpdump* RaCpott of '¦gnest rree" 3 pr"tter
TreSat toiiifrorvpased way 3 aet re :me cate, RAJAjjxi 1 PS on
semg uppj'RAM Oik keytkfc O'eel iwyboant mad ng SetAtomfte
aesasecora rage br an coo.
• no re* Em act. More orer»d 3 ROUWta bps on i*k g RCWWacx
fayertesc layeri*iamp«i ereo cckeo once S-E wore pfwtetung,
S€-0 ScuttJa exp1 an as on o' Inttumentdemio aound no. Spot c
tectmxaepon SettV*ioo w mauiivndowsforaCLIp'og’tm Myai a CLI
shei worsa wrtoojt toe
f. bm-at ownoc.
A w utoer Workbench 5-E Worxbentf-. S-E-0 Spate 'e*uti50H of Amiga's CPU anc c ram cn p sa»o «r»b asm eia- eofmawngyx'wmlara'y wf- Latte© Sm.aiCto« asral oya cotxn ¦ wndow me . Oar WaoCres tbs v usrgWao; pa'atestc tests bemei oor.cormaxa Scrmpar MsceenprntencrefourrACS-E T«»: FncrXtys npi't new a read Lrccon keys ooomemcon and C arc avse"''! e' sau'ca fy urtng own ibrarws, anc -»r?acng Ctsasse-be* - ev« Wr na-pe ThsC » aso con m*sevw! Hes o4 scenr 'or A-ga Fg’t ;7ystc Sncws howto set regarepo'tbftce as a isytsoc oem or 5f am (J-ect com m ca.
Hscw'Sr from AmgaBaiC S3 J"d S-ja»'ll ByoutS’g oneo'rese set*- ‘tsrisixcu, keybOteO ¦xpi*-i how to writhe gar* t*ac*e'‘ and -«ong t reo'veaTe'pe o-’rgasoecacor-and r, JonswTh TtexeybOifl Snows »se c4 re ayen 10*7 FF Uindeorot prog-am hooks uO "*a;Se T rgnt joysbcx port Otjpe wcowde-o ts&C'.S g*c? To nrttfrgaMCtO r yoj Arga Eiec.taOeo 'rs f s ga-e. A njhber s1 niwscng 'ocatsrs ee pew*, mo T» rje-s Pr.-te'Tip sarong *»c«* sadMr-eesa yo,r pr-sr V** Sc A-e* Jar 6-6 gmrtaton graphc FgrnS- eSrprog-am, Fo*ei4”M. Yesce r 0 Pices 'fij Stt1 pTp XT-rfttvew IpiO" »rg wdyaursart-p-MC-ence1* k*tof
T'rifarior prag't-s ret work Teo inJaton, S€ D dre 0- Acarat w e «-:rer pus you r Ce-ra Part AMCUSftAlI mo se one w -cow PflPttr Driven; Pr r ? C n*»far T+ Cere n PJ-1 J* K ** c ton Pw te*. In .mpfqved EpSO" Orm* 9*4! *'“¦natea Steakr-g, T* Epson MO mik* yoy o»r MO mmm ntrtce, wr docurwrmton and a h es achematc pcture.
AMCUSftAH T*com,-u-caT3"*d'W ertidl oo’te-s li er "Ji prog-ari
* Comrr*Vl,J3 **m yog w*i Xmodem, WX-OO*-.
'ATrr-’Vra *n yog mcucet S oe' Kern*: P«r*V pnrter Dr’o-sram acceuto repa'ae pon.
Ocemng ard u*ngT* prfter, does 1 scee- dm-ft not wxu-g Prr» supportrout'te! Not Wohmg sa-fte b*:cesscreaton cooe. Rot wcx.*g dem 0* spit tfawr.g -eg ons Sampleforrtwf rb on ceatrg you'owi DsmosreJB'Blport Creates 320 x 2CC day'dd a test version of cjte ipaoch demo LO CO, Grr n S-A'-IO.r* MEC8C25A. R« CxciS UL-
92. T* Priton.c KX-PlOa fcmfy, and re Srtfi-Ccrone D3C3, wh a
(toaj'w*descrprg re -ate ebon p'ocess Se*, prog'amtfram
Amirng Corpu3"g Uues Tom Dan Karyi C siuctur* f'Cmi pr jgram.
* VT*f 00*V26 "At ga Kerm.f Dave Wec s VT-1SC er uiaar »*
Xmodem.Kerrr.iL and scrptng ViOLTW) poh o4 Tw Uni C-Kerrrtt
pRrtsuppod b'OCteST AMCYSDIlUS hotrunintoourtd dinot Tfr* i* an
icanl wi demo, cremated to many ceater* (t Arga Base prog its;
* VTek* V2.11 Tetrs’a gapnes armir,i( emu'atar based an the
VT-1C3 prog V2 3 andcontans sampiebnt nciuc« •hoso-'cs o‘ on
acoustcg jtar, ant! Am. ¦ oi-o, a FFB'vsf'2806 ty Hue Swnger i
aSest 'arc* kb compress.on sngePa ed sqeocn'jy speech demo bass
guitar, abcink, icilope, o ca' hom, caves, wrt • dr p,
AubReounter example ‘AmgaHoif VT.9 br CompuServe hdudesRlE
etecT-c guttr, a flute, I Harp irpagd, a kicfcdrjm, a mamba,
DOSHetw Wndowed help jy*»m fo1 CLI TiiHunk* graohcs ab tes 4
CIS-B file Ta-sbr protocol teTpified verton of speechtoy, wfi D
a organ minor chord, peope takng, p gs. A pc» o gan, a command!
S-E-0 eipanuon memarynecDsaiy rocjosts Rhodes nano, n
saxophone, a asar, t trait drum, a steel PETrart Tans ass PET
ASCII ftot to ASCII ¦FiaOfij* removes ga'bago charactors from
text demo diso'oysava'ab'e fonts demo* irr.er device use drum,
bolls, a vibrophone, a vo'xi. A wailrg guitar, a horse S-E-0
modem recevedfJei timer wfvmy, andawhiile, C Squared G'oaAcs
program from Soertte
* Tjcf 1l»s taxt Hiee Tom other systems trackd.sk demos y aked sk
btiwh AMCU3DHh.lt Amercan, SepfiB6,S-ED ta be read by the Amiga
E.C. AMICUS Diak 71 C pmgrams Inuian-oased.Cll replacement
manager crif addsb'remowscarnagereLmsfrom files.
’oddmem’ execjteibie version for use will men Ta-ge: Maxes eacTi rr.ousa cfck sxnd Ike a dftriJ S-ED expanson atda in AC v2.1 gunshot S-E-D Smftega-aof sane fr. Blow*ne S-E tJpdecodo decrypts Del use Pant, remo lledjonenteson mdn besctutoiai Sand cpri show! T-d BojUSta priony d CLI ves cooy proBCton. E D on un 'rc'ngfes rr.ouia porter. ED P* prdCMtfi S-E SfOwf rfo on CLI proceuet, S-E OueryWB
• us Yas or No Tom T* user wTrn* eit code, S-E ’ecro’ br mateng
‘arc’ hes E C AUCUSDLHL.1I PmpGadget Harret Maybeck Toty*
tr»oflo-al gaogetexrrbe, S-E Cnecks a see if you have
exTi-hel-bnght greancv S-E-D V hM c so «ys Compusenne RLE pcx,
S-E VC V s-Ceetype to-aaduw, -k tiojh contot.
Logo Amga ws3" o' tw popJacomputer EH0 A-gaBasc programs E-0 ang.ag«, wn e*a-pe orograr L. ED ppriMC} po-w nd ux-a edtor program.
Xew vrwi rt its wr w-cow and TvTat Oemo verson o*twTiTTed Patj Smp* p*-o sound bmg'i- opema 9pC“ 2«ton et e- e •'am AC ertoo eoe- gadget, ED PageSeher d-«racter gene tor CeSc*!3 Me-.es c* imajs- r.saV Aeg s caencar li'ge, arriM cienoa', da7 and Ong, Sprpng. YiScrg, £3 ng are sy -CCVC Feey d strbutabe ve*son s o' T» jpcatec An-iar -A-gaBasc era boos pTO A- Bpng oe-fi! S-ED PageP"*t I'd PigeFF programs br?* a-srtM ler- •me'*ianjr$ ClCoai. JCxx, wCock at wndow borpr Pocks, S-ED FJW.XJOW PageSebr desktop put* shrg pacuge Thscsihu eecTomc cata ogs *r AMICUS Oki 1 te23 tvurtaBOB convex aril FF
brjvrrsts A-gaBss-c Tnta Resws a*7 Clf wndow u*ng ony ancFnonvif aftfi Tn«y *'*v«wc wr TwDKCat BOB OBJECTS A’ irxe 0" Wqfnitra pnecor "Oitors. : r-lin( Cl 1 cam-rot. ED proyi-r. -Cuced he-* AMICUS D ak 72 5*di c*n ax pay weve'o'-s prunes p* odd !h*se*:n De- j»e Pafl, and wco-T«nc»tr'i on L%od J-0 verso- dCaneey'slFE non cm 14 be*, cixvh eon -graces kom Ccm-ajtre-A-ga.
Prog*am, ED Cycet Snow Prrti Lgf-t fyce S**n . ED Vews arc p’-'te FF pci m. Mtfudng rid a mao lorsry gererror AMCU5D*15 Debw CLI it 713 * as*g- a*ww ms** tahmg m*Sng sit program TtaC programainduda: Worsaencn OK S-ED 4"jer ?A~ SC*een Lres: vte'Son 3* i pr.nmdrvw genwat' reiCkMJO JO g-apra prog-t-. Ton A C™ artce V a1 e prmtng utlty. Vf c* can print fies ;r the Caence WKS LoLt-compatbe worxsreetT*! Ma*« P-CmG r23 I maverick n»,»rsK*gii4TO»nritjn3« secsT d. Arc wr ir* rv-ors and co-to a*Ws Anmalon* VdecScsoe aamato'* a* pm** md siot siot-aarne game cra-BOB' h»nng SrKey Demo o' xeyoord ey re-
bo-gpai Mun Vactal ga*de*scaoes tctactoe regame Tm’ otpays a cram of re boos atocaec bog-arrmer, vrT FF pet,* S Garden i wrw paenno Ikega-e On a Oik.
- axe fund on k«y atws, E D Base Sot Eiampfe* A bniry tee*cft
s.nd rsrio" w**d nires strange Iduncs Am‘ o*es: y s an iec
uie‘ f ?, r*t n 1 tr Vd»5 pattern generator for sad in A
osfiflsc Executebfe program a error code n canro re eaecuton n
¦ gmgmorvwri, ED AMCUS Ifak 71 cp uni kacopy mmmind. E ra:
batch frt HP-IOC HwettFacxa'd- ke catakro', E-D An AMCUSd sk
com ete*y one cited to m use on he Arga
Tfnid-.skcontainst*omuse di acfeender, S-E Star an enhanced WOT
0* Am gaOOS SerPefs Cha-ge the Pete"erces seCngs dfl um-uka
erean ediBr uses output to is Ilea Dssave’
* StatLl‘ command.
Random-dot ttsso e demo d sp'oys FF pcture SarPtooe on }* fly, n C. S ED Progrn slides stellar evoluton pi eye's, songs, instrument! Ard payers to bmg The tiril of paying ’Bg Sound' on yojr An ga a coitoctidA of 25 instruments for playng pm chal reco'oer oerfornancei indcator
* to»fy. Dot by dot. In a random fashion.
C source included for Am ga and As&emther prog’ams PodCLI?
Invoke new CLI wndow a! The press 0* ROT MS-OOS. S-E D hitnuments da screen clear and CLI arguments aiamp* a key.
C verson 0! Colin French1!
End creating muse. The cd'ecdon ranges Modula-2 The eiKutabla programs Indude; Am gnflasc ROT program from Tom Ctmon to Mar.mba traila moving-worm graphics oemo Form" fid termattng p'og’am trough ?* Arrajsng Gompjtng. ROT edits Lilt NSTR program to 'lithomiTumentiDMCSwi caseobn mrt corr« Hmjs-2 neywb'fli to uppercase primer dnver to seecs prntstyes anc dsPayspoygon* b create not load as wet t* let the ongmtfor any nth nent Forn BrasheftAfl a'de aigonrm eumple DskCaf cataogidnkA manta re, aorta, me'ges rreedimensona sbecte. Up to Anaya 12 temp ales tor tw spreadsnw! Anayze lists oldufies 24
fiamet of a.lm*toncan be Mj*C a co ecton af 14 C sstca peces Tnara a*e four yograms -ere that reed Commodore W Psound' Svnfliie induitres' urrped sound Scat created and d sbayed ED
* 0120 * The 'S-n.iecaiuca teaTjte co-pet pe*_ret« Tey can
t*a.nt«a Koate Pad. Daotfe, Pnrt ed to- 4 reco'oer Lxe hg
wxttws an screen run ftj|n(Tn-'l Shop nd News Room y a pres to
FF fc-nal Gating r» lconiTaujr‘ mates cons br most programs
a*ay from t* mouse, ED Thrue Amca M sc Pive-s file*
fromyourC-WtoyxrAr.ga ire bam pan.
T'ecasj1 chaws gme'•seta'seascapes end mour-an DK Decays’r* CLIwrx»w -to Cur.
SMUSPiy MUCUS DW11 scapes.
Ip Moo, a I S-ED Ujvc&i-iSMUS £ iscutabe p-g-s-i
* 30 Br««a-f 30 gasMrs, (?*«* PreaRjuf n a newdme**on Oao Shade
w2 Aodi laya-ec s’acows to Musc£vc:2SMJS ofna dean
‘•¦mc’eompcde nker. But‘wl5r, E-0 s 'trediibr dakceane'i, EO
¦Ar g* orTo memory uae.
Dwaystrt of open**!
TasAi, Pev-cei and pots n uae Wyxbamcn w*xbw! ED f AhvVS-ftuI frovt Frth Aikfin Pi vnto* fPWnje* jen(»EpW" seEngstoPAflfum m*"uE-D Cor-y ?d s’ vwson a* 'BrtmocV for r* A”ga ThfOwct'estevera progr*mi o- A"aingCr’pj;"g The tmeg «ww t» j*s 9ca in ow et tuoro tmao. E 0 hg- retp.io- g*aar ca oer 5 xr-nen FfpciuesonTiaoat xjuoaJe A-ga Wiwwr.T-uir*logo. i- soe-o G*srcai barxr-ak b*campa*-g ,x«* W re lm*. E-D ."cmh a I*. E-D Ttita: r, Mao, a 1 a *a*e o or "-re* mages* AxjyGr anc Se A-ga Lv» pctums from re Amazng Sbres epsode ta! Eit-md re ervaotf'n convex Awe 1 low. ~ec um a.nd r r r« pcu m a FF,
E-0 an- trT cj * s escape sequences re CON oerce 'esoends» Arga, Sove Lree* ecueiar- lorvw r. swr-by 1- giw- s-D* commj-xato-s bbg'am w?
- nued manu ec f yicnC cooe mwva.E-0 Fxey' re uses * paie b' n
aarg otov t st n Tw Tay it t*e too o' be A” ga Gadgets
argiigt. 5-ED Bryan C«bey’s A- gxBai cBJfc'i, be a »mu*ton s*
Te "•.•ere Tmgy' wt os s or *r-gs Showso uia o*hcd ard-m«j
V-oda Dryshre twxTman p'og-am Sou'oe to T* ’dory wncow'oems on
re WyxoenchBK A sma *p*-f type pn gr*m wT Ires.
DO«e! Etc qjc* qjcifA QJCR C4k »-C!t ntoa coper. E-0 copes EacTomc Artsd fcs, rar.awet ¦Soawm’ teyooard proyam-ert document Com irocye Houseud Brye- Ceoey1* A- gaBesc ho usehoc in*mory progra-, S-D COOr*u) dTystone ootty ‘•fed'aw t»d t.3 Cprogrinj spin3 proiecto E-0 oar 0 0* in ted tor tom Ucov ra.E-0 rotating booj graohcs oemo, S-E-D A-ga.d«cr 3s wr sto-sehe A-ga,s~Uti»*.ng capabutes inyw own pog'ara.
AmlgaBaalc program a: ¦Gres’ aawsound wivflTyrs. And hear Mem payed WM*orm DvLo SubScrpS Am Sh«d*’Waw'o'm WtArW Sav; SO Jonr Krran’* AmgaBascOM 1 bran in progra-, SD Nan Srith’i Amgafiasc subecrot P0pQ' Start a new CLI at r* cress a* o Lgrf a verton af The Tron igm-eybe vc« game.
Example, S-D gad gtxmem hai*?r te vspite button, 1 ke Soekw, S-E-0 Vsprte eampe code from VgaSal* ¦Stas’ a game of soltaire program to cocJan bettng averages Srrg. Boolean C programs rd executa&esfor Hanet Maybecx Toiy* Titiiton John D'iOe-’s Gadget tutoral pog-am Gmoncat rremo7 usaged S *y prog dem on st? Ates *E cTa -H 01 -8'fte’m ode, Commodore, S-E-D War*
* ry to grab all fa begs ol money liat you can' b ton is, S-ED il
you nave it ampte window demo acoossrg he Motorola Fist Flo at
ng Pont library from C Sampe p-og to deign cclw poettes.
DemonsTates use ol theTackdisk Orver.
AmioaBBS Am ga Base bU «P Pol'd prog, 5-D AMICUS 15aPo includes two beautifur FffKtu'B! Of the enemy SknnyC BobRemersmai example for fiello Awwnblsr prcgrwri sta-’O ma?.es star feds like Sur Trek wo Vor»fr am 9 e K» pi anet 1 n Sta r W w s, ana a pcli re 01 a cheetah.
AMCU3 Dirt. 18 COMAL h mak ng snna'I C program! S-E-D Make C look 1 ke COMAL rfeQer t o, laflp Pctures inro,S-E-D ]ugger' demo by EncGrahim arabot juggler bauncng free m»ryed ball*, wifc sound elects. Twenty-four Tame* of EmacsKey Maxes Emac* f vcton key oeiriiohs by Greg Douglas. S-D palette Tackdisk Mount Mrdefo'tf 30v«waf Mandteorotaet HAM anmaPan ore f pped quiddy to produoe this rage Ysu Amcml.t Snoop on system resource use, E-D requeste's John D-upe'’* ?eq jester tutor af arc examoe prog**-.
Sample speeen oer a p'og'am Stepped cown "soeecT’S .
Anorte' SDMCn oe-ia p'OQ-am StarDmtoyer hi-res StarWa-s startbp conro; the speed o4 Tie lugging. The Birr’s doonentawn BTE Barn's Tale character edto, E D n»ot Taste V*nOOte robot arm g*abbng a cyroer Amga vendors, ramet. Addresses hints that n s program ngn*. Wmeday be *va ape as a prott i FF pleWrae parodesofre co*ri of Am ga Wyio anc Amaiing Computng Sa WrSte CLI pnoyam shows t*e sjb ol a gvwi set of fH»! ED CLI w-dow ut'ty res re* event speech speecntov cardco ties » eaFy Ca*oco memory boa-di magajsnes wxwr.SED Frad Fi*h Oak 3: crtwsa cross-'eVenee to C incuoe Met Cprogrtma: AMCUSD.k.25
a o rngdu* litranan.
Rr ndaraTv Cjti to pAyng re game we' Vsx.rantfer* eia-de ofmakng an input ninoer Compactor, Decoder Steue Wche A-gaBet: Too ! S-D cc Lhi- a Tf’temd for Lattce C loMho* ma e your own SlO«now! From FeZipT bn try f e «t tng prugrri BooEd BC6 !"0 K)*te edbjr w »n n C.S-ED kijctsccoe flu ¦S-OwPr.-1 dtosys FF pcL’e. Ex) pr.nts l So 1eMa»-l[ Sprite eoar end an -no* by Brie KeV, E-0 dbug make Macro based C ceCuggng Decnage Men** xecwoem.
Subset of Una we co and.
AMCUSDakiJ A- 91 Base crogrirs ¦Ger' jroyar noeejWTMsC Stuctres ax: ve aoes seca*ec in Blao B aa'chp exp rat on C prog'am by Ty-as Row. S-ED RxArm. Tam. Cmsff Senecone' of COM Teer Suxor, a T* A-ga rcuoelesysbm Fpe »-age pocessmg orog*ar E*B»Bush cars
- m2 A**oTter ’iii Subset co and
* eed nddsday FF pc *M* n A-ga Base Wtidocu- Eitcutabia Fhogrtma:
and saves FF -ages, changes T*«m wr mc'oemacs Sma! W'ssn o4
w’ici nc c*. Eh mnalan Also rcLoeC i« a (yog'«n to do town
prate « F-iK.'xZ 'eparsanaaecutade program l« fc-ooa-Ced sw*
tecrmcue! E D ac'oi "o etesjrt A-ga Bate, and t* "••c BWAP *i
m. wr 103'’•can Ccr- memory Bare Co'-pate nom* oaring progfar.
Oorar Porape *¦• itw vrfD program Wr *x!“pe p t W! And he Tts2smua' crets U.*c Etc a Sea to FF starear: baancayx*cheo.t»« ED uf DECuS C era mvrc*-ce s.ty Li icrencaovaaroyn SUUS’format. Ihavehean! R* program mgfl cons Co-soe oe.ee ce-s crog*ir wh suopctng prtd F]*h De have a ew bug! Esoeoa.'Y r eganS to very Vee-iO macro ra,1-« go?vc
• ofl GaTc Ts-t banrar or "te* Ra-rnet a oad anc bay FuVeSound
and FF tajx fi« «ang songs, but r. wcxs n moat cases Oestes a
vsuD dayar of Tee memory A’ f tyoatexttj CW A *97 tlE test
tymatte' f»am Amoa BdSc.byJannFi.st'BT tooec Vtm W?
Mssa' An g a v«r* o n of The H »• e Cam mexf rpLtoev sampe rputnarde , race «y or veeogr-e.
Mouse evens A mgr y po'VM torr .-bene-talon Lao'goooev xia Xip 1.4. rat work ng co-acTy Frad F.i* D_m 4: Sirne* Prt* xrzart* D*-n«r og-eo Abcyer-Moyegtofri oa utlty &*:" CNU Uni -apt*'-*'-: yecc. Rot warkrg bm. Axre* Boye'-Maor* gxpv n* jolly g-ep DECUSg'ep Unfit *.mp« po".¦£** KerrmtwT no corned mooe.
MyCLl Replacement CLIbf ra Arrga. V. I.fl rr.andel A Maroe ora? Set program, by Robert Frex* and RJ Wcai F-id Fiih P»k 5 cons ConsoectovceoeToo'ogfan wr supporting macro mines Voemap Cretttosa visunt d og*am othee memory rputoev samoie input hind! , trep* key or mouae event* joystcn Snow* how to sat up the gameport device as a joystick, keyboa'd demonstfetotdrectaKnmunicilona win r* keyboard layers Snows use of delayer* library raxebro: FF Maxb bet program rrouie hookiucmou»etorigmjoy*tickport oxwXow combe wndowdemo pvae Demons-ato* access to toe pe-siei port pnntor
openngwsluangthapnnJBr.doast screen d-rrp, networking pMtlypport P'nuer aupoartfQuTrx*. Xtworkng pnocaest sam cw process creC on cooe. Xt wyXrg 'agon oe oi soctaawng'eg ont sa-petorr! Sa-pe tort wto -to on peeing you* own sr* Drwrenoar.
SngePi ec Ctnas 32Si 2D3a«y**c toeee-toy afes? Verson o'eutosoeectoae'T'o sp*«n demo a -pi‘ec vw*on 0' speec-toy, wf O 'toess tor.cer- a c so ays na a&e tons qmar oeroat-e'Offnae-ie tctift cer yt a jC a or ve* ffitf f:l.h. P.Mt il c:_S'«s i-ke Una co-c-ea. A te K.».f dace a** ag coca impersonator
- ro*mac* upg'aaeaversono*- roer-ac*trom 0*2 mat remwes iruftpto
oaeunng tnesin lea scaes demos utrg *ouX ax Oj Jo tunesors
uoi’i a Aaws tr.angng parallel port pera-ek-s setter a A
owscr.arging sena fXJftpa'a-eX's sot; q cksonpesec sol prolan,
in C st pc Stops commemi ax ex?a wnT-saace from C sourae
F«lflafe Dirt 7: Tnj id * contain* re ou*cutabes 0'toe game
1. 0.1. Futflir. P.pJ. Tr, id* carta's re Ctou'ce to Hacxoncm?
EfljfliHfflHLfc nqjfl [ W5 rrpr* wnem* fi bac aX wm* MVP-FORTH Moi-tan Vew Press Fcrto, verson
1. 0G03A, Asna-ewaeve anol FORTH Yam Fa-tasa Systom* praf a more
powerfj tort formaSng program seraee Prog**m v
togge-TB'aoer-ode on and off.
S-ews a rJac1cjde*ypedeno spe-ks moving *na e GraphC* O»mo EtiiEihJaiOL congest An m»T» ar acwve snJaton gar ce-ex carver a nex fie to 0 na'y
* eiap Patn program for any type of file iiop Stop groige off
Xmooem trrtiM fei rff R&-tpetb lead and an tarf formatle* Id
ijnpe dracUry prag'an II MnmalUNKl.wtoUrtjuY* wtocardng, mC
sc,»m f e sojeese ax trsc-eeie t?ek73 Star Tr* game yacrx Oce
game Fred Fah Dak 11: dp&oe Side txwprogram fordtpnyng FF
rn-agei w* m aoeiireo j% pcinea FfiiEthKUt 1L S"-ja jc SnoMa
rj'jttng 3 tT«nftionB aofrd ’Amga egnr.
Aig )Term a tormmal emuator prog'ir,, wrtlan tn asae-oer anow3d Sxws a roa;ng 3 o**e t ora we Fame wa* U c •eC37 iipngprogram to*e»c SetWXwv iwa crags tor le ncfvng progs Fon Wax bentfr, pneirXy o’fy wy*& yw CLL SevA V"a» Uaneo ar or sxw a McaX -age wren cjc*« a*c* SsirTer- » raemjaa*. Ei*i ASOlX-ooem, a Mr, more: fnlFU-ftiK 13: A Boxes'Base Prog'tms, .raying: Jpod toypci «wen jcsacs rar baX brw.t oxe cjbesl cagsar dyr an crang* filbuSBf rsxeor: amooem aodx* a-gsaq1 oa xa canvas esaxreet otpas® C'igon Elza ageora l-ga apy box carol Copy dra frecut tocaoe gamo«j cm Mac V aw Vew* Wscf5*. -t
&cto-e* n A- t low MU X9C5C h*ey xj-iecM Mxua-2 A yevyeaje vwiton o' re ix* P*»
* xwen jon Saz r-anod Modua-2ccmp«ryg-ayoeveo3«to' frAacFssr at
res, x H_oc pctu-es. By Scod mena m»n©*nt -xse Ore 3 EtriZ
Ttoscoce waiTa-smttod to re AMGAarX * Evemor-.
Pam pr*e pmnnee goes esscunBC y T*e AMIGA u*rg a *paca sacar B-aryorsy.
PuZ» S-jaton a.zrt wr movrg sc-re raxamc*cei Frad Fit* 0**25 tat ftox-e
• gb rgwes; Ftor: G-ay c H3» A g-aye of re ga-e «r dsx* SxwWAU
Vew HAW pcVw from CU.
U»tage u«i‘s( rxxs irapes 7andB Trst .ireg'aprc* arytac Hact So to -e AbasC ga-es of Cvrfred ax »rjtde gaxbyJonnToebes Onyr*a*ea jfce Kontf ke. Vj-. Drvd Aod son
* exxx ipaceart loeassoeacn 11 prefet Sb"3 G-a ores x-o o' s»x ng
cubes, ioe* r«isy scei sox-e Fred Flab t*ik 26 Oou&e-bu*Ved
U '«l st pe* sjperpad suprs*.'
UrHjnt Processes re A-ga'xx* oadei Sword Swoto of F*f«n Argel tort aove"ture tola tormmel Colfttocxe, data, are bss njnka togere', aiswi ixiwduto game wit»n in Amga Base tor-test tan topog*apny ra-ge soec.'fcata s' cooe. Data, ax bis or g ns. AX gex'ates Tm* Leaves a rai bemX mouse, r UXJa-2 vrws lenas rrosTiptf Pray ftewtn fonnit rermmsoent of Unix ‘a. Out* tow at The FndfUhfiUhS (note: same programs are Adss c. mast are Argaoasic, and output 1e ca- oe eas y prxesseo by 1 sepa-oto prsg'iT to 3e*tar* 3d vwnon of re yogram below.
Some p'og'ars 11 prmentBd in both languages) produce Motoroa 'SjecaMi' tutafi* tor oownloadng to Bgmap Low-O el g-apn cs exarrpe taoi* frad Flah Dlak 14: PROM pogra-nw By Ere Back bTTOO WT1 ScrollVPort.
Amiga3d upda» of 12. Ixijde* C source to a Gwernt Port of tie Kerm.t fr o transfer Dbufgo-s Doube-bufto'ed flnmiton exampe Kal hddon surface renova and 3D graphics program ax server tor BC6s «nd Vspr tol beep Source for a function that goxratet a Ps Dsplay *X ®t prooesi prior tel DskMapper Dia ays sector iCocaton of foppydnki beep wind ArcTx Yetanofher program for buXling up MomVew Vi«w memory ri real 6me, nave wflt dec eitracts tod from withn C saurce f les 1eat fito* *ndm*lmg orpcitngrern xjyiXk.
Omens, on s oemanstratos N dmensonA graph-cs es a srCe f le unit Ong Boux-g bal'sdeTo 1 ezap update d duk 10, a tte psxn utili Frad Fiih Diak 77 Spromg Ong, wr wjx effecto.
Update a4disk l,g'apmcrriemoqrusagfl Aecemo* Am ga Base demo* from Cors y Soiepcry, ScreenOurp Dum p* higfreat screen 0' wXow to re indicator NewConverfD ceases .p-ap* from to fr es.
Gsnverts IFF dush Hes to Image struct, r Bpanes ixi acc-esxs af ax wn« a Sdb Stpedatabase p'ogram f m * Cleat bto1 axi of tfw icreen'i btmip.
DEC US tape pdto'm sir pe ANSI VT tDO term na emulator, Abo jS nap 5 A totyiil on ceoion ix .r o' tr-apa Sa-i Sta- feid «ma. Lae Sto' T-es.
N 63 i 25 sewn UadLBM sads ax d so ays FF ILBM pci Term? Us Term na prjg'om wr caofe.
Bx imp a Ur t* tr'sye sr» LoacACBM laaos IX dso ay* AC0M pc* ItKl'y, t ncson aeyi Xmw, tormcao masiy Lfrn.ii campatEse ,»'-cap' SoeenP-rt ceates a «-o war aX du- pa a to a CtSB aratacat rp«-*r*jton g*ap".cy"to?, vnoc Vww- 2.3 0* Dave Weay * VT-13C FridF.r.Diili Dsassem S-pe 663CC ciasse-pe* Reac* emulator, wT sc-pto 1 frrcjpn Bros yaprcs Oemo. Lot Iha Vo'mi* Stax I'd A- ga stoect *« ax falEltSnJK Cxs »mpe eg to'dock 3 1- v 7* tt* m- oiasse-bes re coda sacbon Data Alnt Suooo't ‘ e* tor G - pe 1W Ouze A" togrt toe eymreTy aa r progra-.
Wcto-ia'i Ou-oed nh« TX actua' rr*JU trecxr Rea y p-efty suie-a1 rjj-.nts we set jo to x &tna PO ¦*-Vca-paoe rw'.'astor.Xtto*. Fm oa e to tor«d lecuex* cyce ca a&efrom a usw prog**- *0 riTjcSOn* Bowser Uocrec to FF • 3 Vowse-', in an-aion 0* a in -*-rycr »c*e**y-b*5 0)rerc*»y Mo* 1. Wr ic-o be'*, bug *rei Uorao*y A t* y mce -oxacy gi-e wrtien m Qy B1 Roge-l Bfree b-Tee data sTud e eii'pei AoasC &o-*.Key-ip Ex amp* o' a «y-ao cucvt fy 1-e Bre«2 Ax re- ixso- o' toTee’ OcauCXmp (Xdata UL3Z Cmrw and Wo- Bencn t rc-* yeposC tysu*. Lfr-testod but Caexa' Axo're-tcaexe- wr ar~ scree- Oumpyag-*,-.
Ixuoec beca.se aise-by e«a-oe* aw Leu F e vewy. Krc- ng. Oos.io- by Payd'aw A cawng pragfam w t*n in ApapC.
Tow ix *1* &etww- By RsaemBumis'CA eweer-. Iixnunbr.
Payvac-j* A fracta' progmm w ben n Aoas C dy&acycac* Sorsg-ay-, *rp- Feo 6a Byte frivwFsri Set o' 2S n*w Amga torto from Frad Ftor D.ik 16.
LxsOe s Exampe of pr&pomoral gadgets to Bl Ficxr A co-easy drw atocoa aow Ffou scroi» SuowBtUap Pt Becvg-a.x prntubTy, cy* fttd fi* Dirt 17: My Exp arson Sex-ate* re drectonjfy buddrg opcax, wdcatoi The MewT* Dg -V ew voaa dgtze* HAM demo d» pj Sw- X-ecew * Mb mamyy Rkjisv Dto-» pert type * e ¦ec.esto'. Frtd ETJJxUL fta-un, byM f» Fei ngw eMrw A- gaOspay ttj-D»rrnri program WT-be .
SreMa x Psg-am to Xbug *A acO’ca * Fred Fiih Of toe 35 seec*Jbto tomj ScexeOe ss Cc-rert Jj an to so at tx sicwea Asex Packet C exa-pe of -akng asym r'anou* 10 Ain Pre*e ease C Sxl~ « s*el program, jm« t» x wstans rd raa a ca * to 1 DOS herder, w tton by C-A toatory. Loops, et ve o&ty epodr ca a. itors and Ga iean CcmioeVVxpw Ceia-pe o'getl-g the Hj Son Drowse- mXeri ¦ 1 e Tee. Dupays 1es. Ail satex patty. ByOavdEage oonaraCCN or RAW wxow, for wth Tto rouse Fred Flah D»aV 21
1. 2. by CA Moacic doc* on Upg-M ng your Amga to use S Afiaic
ga-« by Davd Ado ion Backgammsn , CnOXge, DvUti Wax re O'eco
ree. Eo CLI MC £8(310 Mestsx. AX Orel a opyatonsfrom menus
Uitdm rotate an N Oimenaona' cube wTr a ;oystc Cpo DECU3
'cdp‘ C pwncesiy, aX a .-ocfed DvUt 2 Axre-var ent of Drutl.
PgLatn SAY cammax Fat tikam Pg Lain ’cc1 rat nxwi aoout re ’asp', to- Mans C. F»eRec-esB' Lattce C te requestor -odu’e, wTi Sc--per Screen im tpnntor Shar Ur'i-comnat&e srw senvur, tor oemo o' ver, 'ram Cna' ie Hear.
X. »* 6 so.*ce, coca, ax eiec.'joe V a Lsp pad ng * esfsr rare
MacVew Vews MacPa rt &cto'« in A-ga low nterp'etor.
SuoerB ap Ejti-pe s' ut ng a Scro Layer, lyxmg orrgh res, wr sa-pe pcurtl Of Fred Fitf- D js 11: Su.oe-9 Max tor prmsrg. And craatng Scot: Evemoen.
Tosterertoed g*T* dumTy Rastfto'ti Ptop Stm FF -eaoe' Soesoy Jay Mmy, A- gi g'apnesenp Frad Flah O.k 2J Popai Soekcs fiyto prag'irt rvanes a new oaogner. Irawng *awtJ-arto're A- ga Aeg s£ -aw Oe- a De-s p*og*iT wthout saw ax x loci CLI, wti outo-atc screen br«.ng mtorai. M £*0» 40f Anmaty Cyo Pay* fy t-e Aegs Artrratvliet Owt*Copy Devwportca caoers duocatocopy- Key-ap Tost tos* pn g*a- a »c r» cry -app-g r»„j-es Cc Ifrni-lke yon?-end for Max C protoctod d *a LooOten Fxi xtoieofr* tocM.fy prog’t-s Exugn Test* to* ei ix xe of ay Bam SaoiiPf Du piayfed exampe. From C-A ratdanf own up.
Tsou'cos, fes. Ax owces rows ACC 1300 * 2 bt pax ffrtfltf.DlsZQ. R o Vimneo RuoVtaoe yog-*- payVd on a 320120C a 2dax deep V-gaToAtar conveys Am ga spec cooe a Atari tom” at SrngLb DayX-o 0*S«:v pog-a- to -ecova' fes Fam a rasxc V;:03 VT-tOQ tormra e-Uttl' *rf Krrr.it *X SexPecwt Gener* pyposeiubroutxto i*X AmgaDOScv.
Xmoaem y i toco 1 A- gaDos pacxts friar eia-peofre A-gaDOSdskhastong Fnd Flah Oak X Spr «Ma«er Sff to ecto- car* save wrkisC oat* torxion Swera tnawwa-e pragx-i The ajco** 'bqupsJ a daxban sruCut. Sr-reww by Ray Lrion ?to frieidump utltyatComxier if you ‘x rx* program ui**jlt ao txy can *r « my* T-ao.a' Converto any dw "to * «. ‘v Language magaz x, Apr. 86 sotow-e.
• «tro"«yirsm*aon P-e*env** Mixe Brots Maxe&'a! Contost wnneT.
BBS r A- ga Base BBS Py Ewar G-a nr on er*'e1 e st-jdre S'a-mva-e by lArtTitkng Tutor d ax «ar pe* tor E»c we!
FxAn Amgart &ad Wuon.
MufKnAng Fy. cta’ Xiffrrti byTim ftobxsn TrCtope 3-D a ace mrsso' ga-to. Fo eiy Pao
* r » wmiespace Fam C tcj'ct MenuEcty Gwte merj,s. Live r*m a* C
so-'ce, co erca.nowpuac com*n prom Pa'tHaXer lampie Pot-HaXer
progim ec by DavC ftonrion Geooe&c Pub cat on s peX'T.a &now»
BCPL emrronrer- Cue*.
Star Tern 30 Veviujato'ecOTmy jox byJ Nangi-o T*ze Prntasa ize of eifret-n Rixot Rax am ni r- Be' gex'tty in assemsy, t (Fred F*h 0* AX s free if reqje$ *j wXn yawed wf- at SuXnecto'e* 0 ar assember eastrwotoe' dikifrom nea'ecty) Unfttet C preorMessor to remow gven SeMoj*2 let* r.ouaa port to ngnt or eft Frad Fiah 0** 31
• toefa secto--* of a file, «vng re SoewnTerm
* fmnal Emulator wn iceeci Lto Ltogame, uses b ttr to do 19
Bge ratons restaox B DaveYost capa&i tai Xmxem
• second Vbeit VT-*00 emJaxn tost program.
T. Ed Oe-a eoty tom licraim r $ Oar e Hear Uanoe’brat Ve-sonS C
of Rswc Ff*x'’’a prag'om Reou'es a l a syr»- Fred Fldt Diis 21
UiEunpa kLtoa »cuson gaoget ei amoe FrtrfFr Prt» Th4 *«copy
3JThomisWrfc3i'iMaxeDQ:5«,:EiD3rer Rar Scwc Measye xatvf RAM
soeec. Cro rd ACO Uhif ke to raoy aroyem dir. Verygaco Set Rea
icemen: ‘y re Mini ’let' Coca Uoditod wiji o' car* on cs* 15
Fud.FUtiDiii22 co-max to* rvronmnt vaxaevwr Csr Man cnVoa CLL
haayy. Var aset etc The Os* conns 0 new ’sra'-s’ a* "oria.
Mprjvementi De-Ad Det pan-sng ed O’ganze* * yi.
L»-acs vana-3 6&yDan* L»rexe Fy Tree [ »* a 'ecyjvf ye*, ;tt es cao'*s Un,» V7, BSO12. Amgi. MS-DOS, nstfei Eero horovec ' cx‘co-m»x Wf COO'.
VMS Use* Arga fl xSon key*, TiEc Cr x«d ee-0 vrton of llcro*m cursor access-5
* »'.* x, erecute iu--p tes. -ye Bit eo ty. TiEd.
FafrAx Fxs prag*a-1 to el re- -jn n Fto-acs By AndyPogga New fcr.es tcjM Vcrew Fur-toato-edcew-g program by Bto“t -to-yy.
AiT» ceyi u wteta *eyi. -ou» Stebne" Var-«uton.
Fm Moos re aecto-s a 1e -» an re e *.
Hpoot,Rf« pry y, 5KO‘e5.
Xcon tovyes CLI acrps tojm con KcvBex- Docs, crog-ar to make a S"ge c » wo*d wK, toxton Ton D»jys*it‘esancon ratwqm* et K«$ totarcW:'»bex?-.
Rmnnitmn Fred Fijh On 32 Lb Co-puto* Fog, Fear-, ex xad [ * u1 soyce to rMcroE-aci, aewa ve-s-yi tor most kx'tit EitoXed add'ess Boos vrxn "A-gaBa.sc
- eacabt'ty o‘ Text*« popuiro 'r.ng iypr-»on n-crsiarp-artosmei.
Far Caexr Caex*.*da'y prog*am ar a*n n A-gaBue T-rxV a an Davo
to so" Asetc 30-aze peopewwa wa- to pod MoaE-ac* to toef to«'X
m acn x. OwRuif F'*t vo' ne a* CLI yenxc to»i for D*rsp*ctve
ga-e FctdPiinDil2i; oevesort Vc Vscsc wa spreactoxttcecJfto'
Coxues mtrst* v acve-t e * myiatsn ga-e DosPui2 SecaX va u*x af
CLI onerM too 1 prog-a- C*h .pciteto sxi v D» M.wfibultin
to-oevwope’S VTOO VWSC" 2 2 of Dave WeoierS toecam comm and
i iamed var aoe* iwtosttutsn.
Executases only; program YlBOrtQ O’g ry« ;j”« c ir f-r*n* ltx«7 AjTor MinDlan Lav Dsp-lyinj-pw otSUI nfunp-*u* Wc-oE-aci Conf sy Uc*oE' 8C1V3 00. Newe' u » coixo- ceBcu 3"Ubocs SuDul Be'vvy V i* *u Vn'naooifar ravaged av*r ait 1. 5. And 15 rnin,* rrc»22. S-E-D f? Id Fnfc DjIl JZ ¦pTjf pe'adi Dy W a m RucLdge Pea'Fon: Lte Tip*2, DuVxmec edges ThsPM 11DOto o* T “stoy Bjetfs Lt! Small*! SysSBf.
ViSjbk Tri-*to'ma a1 * Fon Eng sr to Vttay ucrTxs Pag*anj » p ey'ward *rxgr T* TerT*n Gff-«,5tos *Tcar sctneTr SE O oon* 9y BI K-neifly C Wwnngan Sirs Lh Wily So** .
MO IF. DyFrecCusv Vsc tos Hues 25 VKKtoS. For- PfcttDiL
F. 'tS Filtl P.fcJI Frrt F:K.C:ii4I MoreRovri Pog'ar to mu* re
Wor» Bemn Sc*p«n Frt0 FaF Dak 62 Cso-ared Sea S6 Sc Ar*"car.
Crc* Scjtc 30-A.-T Snjianon of 1 nDoac a rn. Wy good arga'
ttin norm*’, Dy N* Katn and Thl i ipd'.s're Uni game Hio,'. Dy
toe ScVare i yt- graprKB **o-ng too1, rcxrng C sx'ae m Maoi'az
Ds: ey. Vvs-an 1 5 30, FiOOj Sr m gamage o* X- ar- mVK xgg*
Ef Oft*'*n’* »tx*nr g HAM tnnt an of a TiH Pog'ir to -at yox
A- ga too* ka Fnd F*F Dak S3 o&eci 1«s rotol;ugg*r
ilflCrYpasixM or Hirg Tni iax'1cJ7«U'lIglr*Lan,. Dy toe Sahara
Ds*.!e7. Hamer Kr gaQCS "mPe* (devcai nr:.« VT-tOC V*r*on 24
o' D*v* Wecte'1! Irmmg ay Loo Bos Exnac- Scrwao wrsar* ’23B
from C-A anijibr, mf tnad*r* and Kar“ t!« FradFfhDai.55
FrvlfiihDiAH Hp-’Oc M-ci 1 HP-'CC ei a.ator. wrier m ra-oV
prjBcO1* Cr V2.55 at Ma= D ortocr- k* mel |Mx fed Ths 4 a-
o ca FF Smefcator* o» Yam Comrocore. An Mad- trl Ffttf
FahP'.ah4l to' Ma-i C) Dy Mall Diiorr.
Jodstotodu 15 FFEncsM Sarw re sc-w as sr Fftoe Brj Jlsn* war ter of a r*rc C » le t*crirtr l x tec oy 5»e Dew Frtd FliH Ph 63 toOx-p O-rpj irfa iDo.t *- FF 4* Conn Waor T 3C of i torni’*l *ny!*Br WewS’A'topi New C Siatoxi n«j*i Ba«* Lh* **: vocessy a ’awi'. Ooeint won.
Jift BCSC-iteCLIm* wif pro** d todo-e* Aslart-p a*m wf 12 t«i am 3e1W xott mrd ng.
Dvt tx-ce i ihCuded S-E-D NewStot STATUS-1 te prog-ar. Thawi to Vo'Bon 204 0* Mto DuarX l ii Tan’-iia rrVSto't.p aim open a nso w-cow. J»rg uv specs Dy MWB Eiampie o4 ra'aulng Woriaench w-oow pnorty processes CLI rap aoanarl, rc-dnj Cenmoooto, ooe- can to amto*' cuco- xw flew'B Game 0?Revert. Ve'aon Si La lea am Mari C toxca pc nw a BIX by Cttoiyn StfeppBr Vericn 131.S-E0 Uuoeende Trans ato Drary to toil, Uni- DwpaH Di* ttox-narij ogrin tor Um am At ga PaePe Oarge anotoer progrrn to saoen co'ors CoseWB Example to'dating I G.storn l-te pag’BTj Du Computaa dit ilorag* of 1 fa or drectory Dy
Ceoy- Screoper WoriD*n r xw SE-0 VC'BM D'awng prog*am. Vet an 1.14 WerrWtfcr Poyan. To watn tor progrt“s tb; 7as.n tow PD*Deirc* A ows toe iii'cato xput 0* one p'ocau » Caafce Ge"era»s am- re trtone-cooise VoceF v OX Mot symBSzer reca far ¦nefryy t Btto" 5lS B'»» ' f C S~ SgB.
3e tod to toe ttonoati npu* of anotoe.
Aphorisms. &-5-0 progrart am pus ud a r« j*»*» mfom yx of re Dy Man Dion JT.me Bxc-yx'-oin mo.se poricoci.
WndOw Exampeafc'eato-g tDOS wmowon* ca-ege F*on too Sotovve Dsi ey SaewSa Saw a rom g o* HAM n x« sreen as MenuButoer Oeatos C sxc* f es tor reojt.
Arc- rr»" Profte A 'a* Jn* exec.*.3n proflir tor Ma-j r FF tte. By Catoym Scnepoe based on *r oescmto-s SE-O.
FridFiMlDlAll C pnjyrr 1 K:-ob»C aoj'c* Snang-a Da-o D*“o o' to* Actvipn gam* Snangn* Ne Pacteto CBM ’-to’ a1 on new ox-*is am A**Ecfo 'aco', *toucto',' sf. F«“ w Ttor n auer- i*1 ElKLEjtli ia!L4l SxmEimpe Ada J * Xved ixm •** £ !* for sto.cl.tot m A-go Dos 1 2 Dipiy Dsoiys HAM t 9*1 fo*- t 'By- Cycoci Uoca* sJ*«7jnc sptogray fan. 0* 27 M*-iC. Dy “ Gowmow PascaToC Pasca to C tataar. No*, so 70*1 S-F-0 ?icng Ddyir.wrurM XV‘« D-UD Er-amao ter*or a* D'l)i! To“ on 3S ViC'tes AwjvngviD'teeia-o* DyEmCo’ton PtoO tllto' ieFOnTRAkDtoprDCBBy S€D o«- Eia-j aotorce»te'iX'oe1 sen MutDat Scar 1 a i«t
s'o3«*clr- x-« am &¦*« VS1BD V2 6 o4 Dawto VltOC IB ra amxato' wto R -B*cs S’an aroyar 1 fo- CLI * owng CU lia*RAM 0*1 s**ton -g tor" u:oy «***c sy-w* te-rtaodi-aden OyDawWec"*' wrdowtocase E-D X» XL so 1.7, Becutotoe any MyLXKi* D*» xok b y wrf spsss to' Fred Fiah Dai 56 SrUx*e Ths orog - xtar jxa y ccis n Fr.dFahD.Me U CP"gconT«ru* *i CneXer 'teii and CoBoarS Gpooa oenc* -m ac* rxt"*s. To prowse wmowi aren rm-0 j* ,t moved Voit
T. '- n*! A"Jito' wT X-xJb-. Kr-l 'Ta'aCv* vr*a*t3m sf r* srxess
¦ Stoma'S " tce Dy Amy F me ?»erto«r Vmjot • 3. E-0 1-0 C6B
pmtocp s. torcon teyv vrcn.
Pal Cc-xw amoioay13 c -*n»ona CorPaoin Da-oi to jn o*DOS Pactei.
F-td FibF Pak 66 RLE gnxcs AtJ ca-Vtoice “Me t-rctx* -n nr*i CenO ; at by C*'Din Scmaope A-Sea Fnr - "*7 ora *y a SCSI au Ar rt3' Dy •“ c* y C *0 «y* Tte ?-io1-to Sl*to, Ftoygan U: ,*73*D«T»'“5orvas'BfrcDo'cyif*g GeDui Pogra- to 4m a' avs.ioa 0 u o*v * confa -er t»i*a IX* 11 30*“ 1 «. *Ctve 'JSU. ’MX'CBS.
OU:.i* Ouer« *rer*'i nxtacijar sowsec na-es rd ’tr ren it ar erec 1st by Asr6* Mara c*-:e’ was- *.0.1 E-0 cerca nun. Ir*"-ai. 1 bar-at ora, ec TF 1 car g t* a torn caOo ft! Car Pm aLnctay Asignec Eia-p* to' i»u-g DOS raam- V: Paxnr **«carp*i*3''sys»-, r c-*to" a 1 n"- *5.ra »sec r GetVoLim* Pog'ar to o*t vomt* ran* 0* toe d» toC-ntr, Dy sca rg toe ill stomatob' 7i-sto-g let trvrv a *x« x»n was s-esaoc w ire r«i a gv«n i« -espei on.
To sssg-’ed -ares. S-E-0 A-*«Coa» Pnqrir to al decodes aet caoet Tcjct Eiarpe 3' aelS-g toe Cttosia-p on a *£e.
Dy CmcxMdJins Dc Peiams c eei a*y r CLI .nto sta» am Cc* Cy «vng a ¦C'rcu* to- Con-xrt A-ga tar a: React ar con ieam w'natoula wmaw S-E-0 Bnk ¦ark*teoiBCBr*r' mar. v*uo'i 6 S T*«l U:-e nm **vor ofreoees tig-e-l ot C cooe wto toe cfcra Fip
F. oswme sctoe* sis;oke. SE-D Como A"lW»l'c«.
Orogran on Du 31 Cucves Dy Cam y- Screw Foc o!
Foogo crossomp e' gm-wnst 0;2'a Dtii Gere** D-210 Tr-ira B Jito* Frtdl Raft Djak SQ Mo'geMem Pog'im to "¦*«£*•» MenLsS antes ot VAX asse-Dy cade S-E-0 0-U5J Wroowao DOS -lertocB pog’*r*, V 1 * A*“ Ve'nr Ma*ai“f«wa’e6flCC0r«?o seo-entiiy con4g-jed RAM ward* F-e* Prts arxnt to tee sc-see an « cr vet 005H.
W cswac Ar iOOS CLI crjyi- it io d ¥, con aai&« erto r* Meaco-co by Caroyn Scneccer S-E-D Pt tPf - Pr-'a m Aat wrir saga monfrp T i mttKSa* an nanpM tiartp nCAD An ocjac: y *r*fl arawng orag-an.
Me xTer ra'iDo'te* mem.j'yiM:orD7*T. 1 te ryrOT* nodu1* am rot Motonli ""ejnjro
VI. 1 Dy T it Mooney SE-D PopCU Stori ¦ *w Cltvr-n a sng« Bra*
*0.1 A Drci cr**ixigan« .tea 3-Dg tisei Fred F ah Dsk 57 Met
Pesms to me*', toe screen SE-0 kiyeote, fan try pogrirt, Wti
a Dik2*d Ve'«wi 11 of a proguT toed id ses Reo Bced Dy FF37
Due to Copyngri pra&*ni N*t G Dhcfyng stong Oeno. S-E-0
sc»''-wrrw tesC-'e Vssk a,mbn*'ylM Fred Fi*h Dak 54 P ny
Easy way to set pnw in Sc’teEd Sv to Edlo’ aC to Vw «r to* e!
¦ t-te Fi'CSicsn A *nan CLI rapace-en w f toil ASDG rd
Eite-ey u»‘j sra-ws'o Yom Woribencto. E-D
Spaling cr«cte' a iowt eon »1M X tng am ’eca 1 at prev o-i con n am* Tkave'toe ram du. Dy Fvy Kvdowtz RrfTraper Smperaylraorigpragrrr. E-D Fr ad FI Mi Pi* 41 Mu* A M ii* Connanc-yo ga-e. Wn BgV«w Dip »y 1 any Wf pcf*, ndepeman; SwcPBc-es Updr»d C8M ti r-jn 0! Pacie!
VgaVarl e Cmito yx» a»n tor! Mivrtf* lojt n IIM'O*' of re pr-yycu dspay sre, usng roUSne* on on 35 S-E-D orc-grani in A- iBaic RbrtoCSoj-fl Scjnd Bduy to' a to«r-coC icjnd dg liar harowM icroi. Oy Jom Hodgtn Snapshot Mer“O7toiCe"lvctoer0ump E-D tor Vtoaor 233 at O' onl C wvi te in*!1 Sa-vs G'ap'vcidonoa EG'opn Reads pa n of 1 and y vab* •nm ¦ l.st Tag BBS S-4'ewa'e BBS sysas-. Verton 1.32 Ei*cjt*&* a* y LhaiArc Ve,*y o' ‘arc1 tor Urn Syrr- V r*etin*i of t«i *m d-twi 1 tormaiw apn frtd Flih Oak £7 Dc-jg Msec c&sec C wxgg -gun*r fF 12 mC Dy Laxenece Turner At Cel S'rswe ouc«laDgng&E5'*“
Ob*Payf«d ijca-pi* fran CBM. JtxJeto B Kjtan Wa-ioa* We'aor 3 Ot o' Dtve Wa'ter's HywBase SnarMrs'B era r*"*gem*n systom VI 5 AmgaSo* Sna-Wffl-e ll lx spe ng eni »¦“ "a tzy UrC«‘ Wan torougn toe *¦** meno in art ng (toecter, V2J. ED Gttf* ha*fll t « 'eq jesto*. Erf ioxcq FfMF.lfiDilkJl
• tie -emory tflng to* way Bo. New SO toxmng t*.1 »“l»n ;r Mxlf
orto, SE-D LiUW Cal* toto*ercB a'Lna* 310 *te*de'i« Bic- 6HU
tor Uni "yaoc'. Trying update to Dy Jor.n Hoagion Camm Ter-
prag'r- verson 1.33, E Lm* Lr* C'fwn; 0*-o payir OH 4 v*r*0B
NnwZAP Atoi'd enamion n Jtopxpoia to* DiaS Amtoe* »*r*o-to
D-Uto. SE-D 5* Font CF*Tga* ‘a*1 j»«C m ¦ CU wOcm Ca-pBti
Upcaie to to* f-e co-Dtei* on SBC&r *dttrg i4ty V3.0 try J nn
Hoogesm HeiCec Hn, oci. S Oeprc cacueipr E-D V!*00
VtoBD«21a‘r»*VT-iOO**“na poyi- prog’rn on Du 6 Ra Bcw Amaxa-ae'
Sye r*ndow gerwrat¦ bom Varxt Dg and tf-n .mag* cx$
fUl£fcJJl*ey Co* W-«B ofFonj-B'.ywgin* - A-giBeiC by Jom
Hodgson Uamta Mam* * 7*c*Hct am txm E ?¦ ipuccntons ¦" *."91
wtci o'UcraGNUE ic* 0*S«t3 Un i • A* to ' am lierf tor ‘rd"g r*
SMUSPayei Two SMUS p lyi, to pay SMUS FF PwiMai Demo
s-rewereoe'to-* te-i-ager ftrt Filtl 0*43 0*Vrces 5rt«' V»o f
- jictor-i»a **i Dy RSLCoo Ma-. Da'cociwson 1 3 E-0 BostSsr-j
A", gsBflscprogra*r0arD* aagBtgorgDf to*- 'ocnmg *i« atoar.
Gven an* Jem Hodgson RTCuDes Gnrrcsaemo o43Dc.b*i E-0
• 30cj6b am to*1 k : o*toemei V«w Ap-y LBM vewr Dy John Hodgson
W-e* kVHee to Fe't.-w'-ryaegame, r A- ;s&sc 0&m De s ccof a1 BE
ST. Bbs-*ss Sq.LHfl P'toD* v*rto“i y to* CPU WbdJ-p JX43 opl-
z»d wc'ibencr p'rsar Frrdni&HHH Mi"*ge*n*' Syttor
ic. ee* srn x*C-*«* tor Coe* not lh Cxrn pRPort Dy Tmmar 4G1
Do*re McoGNUEmacs So-'oe*m BciL si Ai n o' Argi Ba«n Bora
Syi*-t Frttf Far Pi*H 57 Jem Hoocion si*CLlAD« sre*cxed. 1*
we usx'cetor otoer co-Xto't Cc Ccorrpte tjnpnoi BT0 LartCH C
Attgr Rep n»n«r 1 to* Ar giDOS aitgn' Fad Flah DiaK 5i Desdes
toe Am 5* G-pom AnarOvWBcaop*' H 0 lain*- z«' Oomanfl in C
&0WWr itoca* to browaa- pmgran or c ui ifl
F. 'lfl FlLlK.fe NdFF Cd"v* » hst r rmcte o aa-ro« to FF Ffaclto
Uaxei 'ancon tarial »fra n
• m3* S-E As-6& Mac-a auemNar,»1.6,3. E-D Urp«0 13. "CJ Poy,
HAMPay WofMMcn-ryp* Cenoi tor nacng Brow»r2
AiOto*rO'V*n1trowiB'prog'im. E B UD Bnier expo-ng proyam, n C,
S-E-D PcpCoou's Aout R G8 coon at any *c**b- wygoni nioreird
HAM Cock Cxi prograT wf torra. Cdoi E Con m an Reo acemflrr
co-to e oevce ¦nor iocs Spr»Coci Sf-EMOock iflsoiyad v aso'd*
MiGks Eianp* 0! Muuai eiCuson gaoges Dm
Dtonteledto'V1I22torpmgramme'* £-0 eotog am hstoy to any
appcatan toet aortei taeri wt GaogeiTei: DopC of PjS a palto'o
on toe Wo*k&ercn DacWrop uses CON; vC 9. E-D ST 6muH»» Nt''-**'
9-i Abi ST amjlttor TeiUQtQ TeWyonu 43‘0 to'n-nai enXalor E-D
Consoe Reoacemem corsoe roirtnea, in C. SE-D In Wo'Oar’cr
progrtmi b* nxi fa" VO aw Versoni 1.16and l.lloll DeMW
DopSnadow P-SsfifldowsoinWoriaencto wndows E-D Dk Decays toe
son b! By updato to 7* at Pan-k dr axing program FxWB Srtiilar
to DopOoto, but doesn'. Work ye!
O» 66, m Uodgl* 2 SE-D Wo TwoUnnnel iiya urticaro niwrg Eridilih. DiiK 33 &D F'agl Dltoayi memory fmg-reniaiby litog 'win** VmKort Derno amnator'i wto payer program tor rrCAD Objed-oriented drawng proym, wraor re tize otfee memory boaa in C, SE-D Fud Fih Dak 44 Aeg * Anmaw
1. 22 Much irrprowed ewer dk 56 tconlyp* Oa-ge toe pe ot an cor,
m C, S£ 0 tors M loeanexi cant ARC'a Oeatoirenam*
soptitor*loaxrto long Rot oDo*l Demo of anmitod pointer* on
Workbancn, Mai* tri me1 n Mam C, SE-0 NewFF New IFF m ator a
fom C8M to' nan*i. Io toty can be *«»y 'arctod *m S-E-D
MonProc Mo"tnrrxtts« tor packet aebvity, in M"&«d vaca am tjsc
»«s un’arc tod.
&jp*rmo*t Geneto! Compound ngf nor*2«on lor CSED RiyTrace Pet Tno tan xt ray-r»crg po’e* ARP Perm nayrA.- gaDOS 'eraser ers tor ca‘cuator E-D MojseOxk Tu'rs msu» pomer into a cgtS dodv" trsn FF»39. Nawco'wted to FF HAM bT«', ctf, ttTTotf, tod o’, 'ite’ote* md ’ Fred Fi*h [ *k 60
C. SEO fp'mtl far *fruefT 5as»' vwg nawdr’ Va'.o.s inanwa1* trd
*wworo p'0g*ani Sb Browses sycem prxl-'es, Yom VewlLBM Ocpaw
npnal and HAM LBM t*» Comp«r Mottoiypo'ted ©toe Amga
tom ia66003C Biz Memry resde'1‘*vow*' Vey 4*s; E D Trr-sacto'
magame, vl.O, in C, SE € Fridiiitlflliil Comp b’ fiw
prxuce&npeai&oncyy B'aFo-ns Maioisniojipuitosto' E-0 Spew
Geme'stoi Hitona1 Em rer‘-7pe Out Cue Dat'd game ang nge
OjlpUL &-1 a 13! Ot •w'V HandSnate Tamr* emxato'wto VTSiVT'OS1
n** J n*iFomr *i5i* FiC.SE-0 Mite A ofto' ntte-. Wrf ntp0
Wjsi Sa*Badsr«t Update wto tojee o' to* Vc' VtiC2iJDport E-0
Spool Tfree prjyir s to de onstal* Pcto'es M Uto ItteXI DCVM
lprBftCi*w«l on ou 36 Med Mouse-dr »n toxtedto' v*T.on 21 E D
mjrwarg enp spo? "g in I prner Upciv Uccr»s an aoe'dsi mrtr.
•-evrt' t«* ton Ta'Spt Pori of prjgr n b ip ; Lhi tararcnw
PdvGen Geneses p*"torc*vws, verso" 1,1. Souce sDMtef. In c. Vi
5. SE-D a-em d» Uuexofla Usl *i to erysrde and decode &niy
*i-*t tor urtWronuw, E-D Wc Cou-ms word Da Ini ‘wc’, Dj!
Hstor, m W'*'*fl Seat'tos a 0 k to' *« o* c te- r*-« ASCII
Danin lay. Eipamng fern ty 35 Snow Soerow-te Ffvew*', V21 CSED
FrclHMiJJliiifi pe'oem: Ued!
Cdttom jioe toiled tor V2.0. £-0 FndFlit! KtkTO Asr Srttowa** 66510 racro ii*e“Der, ROM Fred Fl . Dili H Ur-too Eirrt Uec: *ei.B "icoi S-C-D Thinadu o'STffewafetyogrami Ka'na Maxaco“DatDe Hrci So'eei Tcwm ot Ham' Pm Sen .n if* FrtdFHr.Kl.16l AmgaMon to' Erpxes rjfc to toe tytlam, vl .13 0*c*JJod« %iacjSB'Ftepagrafft c«tocis own Wo'Awmn wrocer ?y A 0:e* ATPaton Pa tnei T mforme* to wci xxJt' Ac S'jroat f*compr«so’ and' idrrm, pmsenc* a*noo*n Bob Pad af a Un* mbwi stemocJ. I'toradv* A- tOOS 11 S-E-D v J23, epodtoUS-DOSvSO E-0 E gad G*og« ac cx tron fm Jvag'Bi ic* ng cracte' ;E«di-vo* RAM
¦«. •«] F Du W'toi ze-oea to 4*e* Dtocxi 0" * &a«Bow Fhjn* dou program.
NaVixi Dy Pk* Wr uon du*or **0,17 S-E-0 DoTl Yili»ftdnvenfi*ni*ipulcof po7«m,v25.
Jv* T nnjtorrr * a la *ron E gl in ta Jv* hg A Screen 0* ig** gl Dxrcng | (J* Lpatr Pa tr 'or progms fiat bocxi G'awyWa's Gere tooaneS stops and Deci hoes.vI.Cl My Jib A &.n*7 ory copy a1 Ma It's ftonato erndowa ay Leo Boil Extk Scmnoo wmn loadrg umer Ar gaDCS 1.2. S-E-D Joos Aa'-ae user rBhace to CLI am W3. Vi 1.
Lri llagr les area arx-x) mouse.
Trews .1«1 w nd ow. * 1.0. fa re aass-cce'J arte, tomato-gam , vti Logo ar-g. Age -te'toet* Lte-3d Logo Setfey Vpg Demokeycap actoft *1 0 Makes d»iyt fa' aignng vdoc man tote,
* 1.0. E UEfcCiiill Htffll Maxes arfa i usng fa© Jouows*
Mfttfamnaion, n C. S-E-D ArgiBi»c
MscB'aneojsprog'amsnauOr'g3Dpjt program, a xaecsscope, C-A ogo
toawng program fit* companion util.iy string tMXft program,
S-ED Bx » AvariatoneMrtes'.butwto vr at© ccfa* 5 «xs E-0 Comm
Greittermra! Program, *1.34,E-D D»kX Ift'fly far exploring 1*
systemE-D Fpc Smpie image processing prog fin mil ooofaBs on
Iff pictures. Wto levara.
Users, me’gng mages. E-0 teonM* Maxes cons fa' * n, vl 2a, EO fco~s Newsco-s Newfoms Two new far:*; ‘¦ha.'ttflV an mcto -k ckurt ©iemectfo't, And IbmS, a PCJ. * fan: PeCLI At AmgeBASlC CLIshe:l p,og,am.
FWDemo Demo of faeoomme'caf product Powe’Wrocws.vl 2 Itadscraeton o4 custom wncowv nrj. Anc gacgcA gv.ngC Ofasaer-tiylX'Ce E D Rot 0«ms and inmates 0 obecto, »C 5. E ?
T m*Set Sea tr-e from Workbench. E D F-edFitetDikTS Tn* saCSx of IFF pCtotel Frrtfir.Pjin
* oc C cnaiitcng pjg’r nrwiwr Amga-xey ircrrjtA Aw "cjC« VW‘,
when was j"i a gvr wndow 1 created 9n*r©w*©. M C. S-E-D
AutolconOpen Fools WB nfa thnfang mouse hat douttedcxed cc-s fa
C. 5-ED Da Ge*«'¦«: Exec Wv« interface code 'or open ng Itoenev
gating rnfatpe IO cra.'T'as, eafxfa'onxsawrato-s. Et In
C. &E-D Dsaolve Sowyc so ays FF ftes, aaNw85 [ .
Dot*’* program. HC.S-E-0 Otarm F«»Dte. Refaog'amma&ete'rrinif program *1.10. E-0 Eipoie Re-arranges wndOMrt so fast at teas! One pitf fa menud* gadgets ate exposed h
Lrt Scans a tert file, conwrsto G-st e printable sfangs C,v2.0, S-E-D Ln* "Lang Move1, program vwi seres 0! IFF pets m puck successs-. -as 19 fpa S-arewre. E D UoumOR Uo„se po'¦ * Os appear n *te* »r secc-di of non-use h C. S-E-0 PaOjt Exar pet of contra ling pwafei port wfa tesoyrcet mm ad ol tne PAR: oar ce fa
C. S-E-0 RenPteFont Cfr-tW4lw fart RvnBec Groxo
Smii'»R.rBar«:ondi 66, r.nt program from fa© CLI llowng fae
CLI widowsCc«e faiC.SE-0 Srap&iot Sereendfanpy-lly .update FF
66 ED TypeAntfTBi Exam deinstalls a oev s nine©* bfay© fastm.
And isuciaar rey aa it 1 pressed Ir Crd aoeraw.SE-D Xpfa'
Rr-»i-fa aoxt system kia, in aster aer.S-E-D EiglfifciMI* Ced
EdS ard recte sCLIeomnancs.vl 3, E-D Consol
fatwcepsg-aprKtrnlw (Ampersand (ECfs$ «cj v rao. Wcr.arc scrae"
resfauion. C.S-E-D D-e Srp«WY5WYG5w!« JtO'for progrr-mrMl.25
Upcra of FF59 E D &opS-adwr Wofxt»ncina'0Dsr'Adows,v23 Update
to Ot 59 E-D Fjnds AmgaBASCprogriiTifrBwsmjHAlor ttx* p-D
Less Teitvcwng pog-an. IneUnx 'more', *1.1. Locate s os* 34.
SE-D Maae-Ke Scars Cwu-aaf tea and construes a vania‘nakelte'm
fate anentOrecDY S-E-D mCAO Cto ct-oriflntod dnwrg pog vl
.2.4. tipcaa a FF 59 Snawate. E D Random Srmperandor
numta'genwrjnnC S- E-0 Tdeoug Wotto-toevces by nse'ceccrg Exec
SendD() and Do CO vecfa's. R C. v VO.
S-E-D Urns Co -vers measurements in 6fVent ts, ncfades ’cr art* opeon, m C. SE -0 Xcocy Repace-wrtarAmgeDOScopy’.coer't crwnge fae date, uses Una wkfcarot E-D tM&bJMU 6erw Pay wfa Bere'cntes pants aid yaTiA'Cy. SE-0 Bso nes Paywfat«p.net. as aoove. S-E-D Comm C S3uB8 far Con-.- termini: prpgim v' Jt SE-0 Co r Rep ace-ert cop co a-c *1C, onrm dale, m C. SE -D Off Smpe'dkffin C S-E D [XM2 AnorwDnnii'iUadutiivl.5. SE-0 Eetl Fat! ’dr' program n C. S-E-D Fd Faste'etess'mC. SE-0 HiteCopy Senas a fri-at'ot o'1 CLIiteteor b afw.m C, SE-0 UxveCfa* Update 5) dt» 73,5,-to?-Ou teperar, S-ED Sefor;
Charges fae fan; m aWonit»ncrtcw’,
* 20. S-E-0 SoatedD’ AnoTte* faC‘9r‘. In Msempw. SE-D
F'wn*"p.rtTnTT Tn*M we 3 irst 1 a-*? 2 9* Ora Gray's
Dacaoarauionfor faeA-g* D»co sacomptec.tfaxfaited arg ige tem
nsoer; j* bofa C and Patca. AV -telrafi A-jlDOS and |r-!uton 4
a,spied Be t efagwaofa ok 76 anc 77 EfMfHilffltm Cyces Cyde
game line 7,on,,vl,01 E-D EOMS Eioe's Cny Mero&'’A7 Sms.ir.of
MandelVfoo- Mandeb'otgwerato'wfa enranoed paetle cwtoit, tattfletfng po n*s presets, vl 50. N M*-x C. S-E-0 I'M n*0l*AU AtmToofs CLItaoliinattemolerecho.loiiH mounted.
&«*«», wry. S-E-D AaugrDev Gvo 00 vc« mul 5 pie name a inC, S-E-D AjiHa-der Eiarpe o' a dot hander faa! Alowl-te of a CLI vt fae *ef« port, faduoes »jree Ajfaor Steve Dew Cmd Red'oc3pr.n»ro-txia a le. 11 C.S-E-D fa to Am g aDOS '.n*o' rep ecem r% m C and attem per, SE-0 Kll Ram a ws a tan and ts rew ce a fa C, S-E-D U2E'rs» Dtpayte'-O’tfram TDI Lbdua-2C3r-&(tet.
S-E-D Mo"Poc UooatetopooesapacretorogrtnfrompM
68. M C.SE-0 Mounted Pog'am for teSSngifl drvte spretenr, na vs
pt fa C. SE-D f*o Vofaer foT-t etefafarmrtr. R C, SE
FfafTaW Fmea we-ttew, nC.SE-0 OueryA"y For act(M. 111 a
cjeco*. Accteots YU, g*e* tin csoa hiisroe.SEO ScnSier Resets
pob'enoet sen-vjj so sen tie. M C, SE-0 S-recLb Exempe a! I
t"a”ed *17. N C srd istw-jy SE-D Taut &maeDea»Tatd)eu“&te n
C. S-E-0 Uw Urn* Wncowsaert .nC. SE-D Who bstslans on ready
and watdjejes, m C. S-E-0 Fred FI ah Dlek Id (tee Fred Fin
93) Fred Fjn 63 rat oeten wfadr*n due to coof gn! Prwwms.
FrrtfifiPwn At-Efl VV1.0 0! A macT) asae-ber A toFacc Sfarnns fae FACC w"dow and moves t fa faa back Brushes 53 euKom FF Prusnes ofeectromc symbos ChocklFF Oec i ttfuc*jr© o) an FF fie CedVI 4 update fa Pax 74 of a amp. command in© ed tor Conrran Repacescontote "A-faie'to aw Bding and h«st710 many p-og-aT 1 Font* MsceianeousVts bon V6.0 of fae bon programming language Keylock Freeies fae keycoi'd and reuse jnri pass «-d "te'ed ScatO sp sy heck created Van 'hg‘ Sm.ir Srutnetw Fffe Ta-gat Eatrmouiepnc!»cD“©tiguntnot fufi-BADjlkJU AdwrtreA po-t o' fae c asac Crowfaw amo Wooos AovemL e ga~©
ArdTenm VS 5C o' a teecom.mu'calans p’og'f. Wh scptt teOt, oeacs, er-a-ced fe-acuesa?'
D20-Dr-0 Dr-o vwso" of Dtx-2-Dw from Ce-?i Coast S fatware DX-S ifa Voce f©rpog-sr far Ya-ahlDX wet rymresiars, update to dal 38 DaxMtn Vt 0 of inofaar D4Jt pog’am bont Mscelaneout new con* Pam Lfante-sA uo patfprw. Vli Fboe? Anofaw wyttrrxr -apt. P ays bntr laroe- Sand Gameo'sancifafawngyst ponter ft ad FI tei Dak 13 Thi* dsxcortalni a demo vertan of TeX from N Squared.
His I it *d to srai fet. A-d fa© perew©’ can a-tydoPay ten pages or «s, and only itmal rvmberfafa-sitpovoed FrtdFa DiikM AmPoToo iP-og'am t from Rob Fteor's JuyAugust Am ga Wokd ancte IV l mo Biite' espanmentiDon pogra ri. V1.2, update to dak 69 Ed Smpieodfaf, t-m iirto Uru’ed'. Based on fae wato' i n Sofava-e T 00*.
GrevyWi's Game of penets, sfa »end oacx "det, vi £«. Update tod »7C.
HunxPid Adds ©gal paddng to exeatobes fy Xmodem tra-sm 15-on PpeHandier A- Ar gaDOS ppe ctew* efaicn tvpws named PD« and tape. Vli PooCLI V3 Cc?thatkeyto mrokeaCllwncow.wfai acaen barxe-.upcn tocaWO Reo-«4te* Udoib »oU 34 faa h* »*ou©ite'tm iarb Dpam ScottDevce V331 of a ¦mount'ab© UcoFyge SCSI Prver Vic*- *•«•». 5«oil!l-(CT.-iUsTV-« EEC an wee- hsi FM. D.es ti Can V2 06 of Dlon't‘ctei -i iwt*teJ Fi efleq SojcetowPcerd'terac jester Hoe Rdesexpa-Bon memory from progrimt biageTooa Shareware toss to mAipJcon IFF mages LowMe- Se S-ated araryto ad miowm oy SuCfal PtotS A rar pdti-g program wn
Co-outei rd prnts eipreiAjn R»D £*am e fa aeti »aw ”00© sn Ea-csfa
• Cubes Tincenoe-ta fanclon mpJt Suooo-v c So face nc uoec Roowt
L-nay LaTde* fa' Wo'sbe-cr, wfa so 'ce SyJyrOr Vmo-e V yg‘-«
teit *©•*v j ul y. v* C wfa S-a.’ Two prog-amsto pacx and
So face H'cmvw [rad lono! Usenet p,nd ng of Vnews S-w Lfax r©wt 'wk»' mutpetextfesfarpostng or F»d Ftl PlsLM eecTsncmaii). ¦xajbes C xoface AjtoPortA-la-iwoctiwndow -nfie fa r out* Pa -ter. Wfa byFaobr G D-fae sc'ee'sew S-» Lb 3 :~ei r»» fc-ga'faiworr; CckToF'pr!
DofaJec i » in wnpow brings it to front. *1.1, t ~a*y ry. Oy Byce Neson S-E-D Ulkr-cade Encaofadecooe b nary * les far • ma 1 ar Cmc V3.0 of a tool to rod me! Prrtef output to AIM.
Text-dfry mefaadi Upoa» of FF53, FlellSG-Demo Demo ol Sofawoc Fi© Hag. A catoDose incudes cfrecxiur ted,*voue.
Ranager wfa sound ana g-scncs compatb© wfa doer veri'ont pui EtriFahDiii: trrscaren; to 3 or vws ana aptJ** AcvSys A3v©"tfae system from Byte May 19S7.
ByMa-v Morton, ft ad fad by Ar
* 12 E-D RowrM re Byce Nesor.
AjtotonOoen Foois Workr en ri 10 open dtk cona, VI2 FitdfmuxriLfl update to disk 73,5-E-O Dme Verson 1 27WYSWYG p*ograrriiT©r Oar Converts IFF Mot to PostScript, V2.3, SED editor. Not 1 ware processor hdudes Commod* teiHxvu'i ComrroPtes Eichango, on xey macpng. Last acrPI ng. Pie-i.n ©10c l yay to range trw wpu! Hantfer, vC 4 5*Jtstc5.mu|np!ewnd3wi. ablryto Df Update to P« 75olUn*-l ke Bff, S-E-D xr*ywvaws Uocate fa FFB7.I [ -« Vt 27 of D !on'» tea! Eo to*. .oce» to 0 m 74
- cfuoessofacecooe, pyMacD' an ,EO MicroEmaci Versan 36. Locate
to FF61 rentes DopSnadow V2 3 of progrnm faa! Pots shadows on
sou** Og by Dave Conroy rruiipie Wo’kbench. SE-D mopfcecons by
Darw Ltwrce Efc Sni’ed tb'ayeiamp;© r Ua-a C EnlEiltuBrt 94
D-Harpw An Am gaDOS Oevan ha"C*' fa ¦! Ge-w'ttet AjdoTooil Demo
ex ogams from Rob Pecx'i Ju*y sqj« oantiM, Vt O.SE-O Ajg.r
ssu* fa A-giWo-d on fatal Ater-ate A-g aOOS * nate. Drogrr* a
SE-0 acoesa-grwax ooevce Mrs 0-2.
UerrWatr Wats fa* awrwmoy *afl-rg V2 0. SE-D uwr» a* FF04. Hsucessofaoa UovePsrter Moves po nter to g ven locatan, SE-D by RobPecx UaveWndjw Mcve wndow to gven locator. SE-D OckUpftont Smlar m ffaiclon to C J»TaFront lAr r ngSc Mfa«nng Squabs hetfc. SEO proyi" (FFB6). Brrg w-oows to ra Palest Exarp© jrowitesttotee if fan si PAL front by cicvng on any part fa hr* macrne. SE-0 Vi.C byDivd Ce-von©SE Sc Generates ranpa-i aceney. SE D HmooUmi Auto-itcaly actvtte 1 wtJow smpry Tfr'4695 TeaS95 pr nier cry* bynowngbanjjie pon»* -b fae VfrBDuaPF Example fa Oua-payf«d sceen, update to wnddH V 1.0.
htuoes tbu'ce By Oik 41. SE-0 Davd© Cer*en© WrpTeit Fas sit renoe-ng rx:-©s. SE O IFF2P1 Convert any FF f «to postscr fa. For Ya“ Eia-pe FF *eaoe'. SE-D pr«i-g y vewng x a oosacrst Zoa Afre a'crv©' -a 'at', vl *2A E-0 cam pa! Ce derce Verton 12. By FredFtehftiA K iseeFteOFtr®) W ar Mason anc Sam Paoua E F'ed f sn D sx 68 fas been ¦©- ovad a jo 0 cotyng-t probdr-t ModuiaTofas Vw xs Moduli 2 faograrm ng Fr«JFfteh! ¦ It (tepoceiFred FitfrflO) rputrtel. ByJeryMacx D-Master Dskcata ogueprog'am, VI Oa, E D Tr'»n3d Paejds-ranoorn 3d rp©' iceney FurdCey Sha’ewB’e fanctor xey od to', Vt 01. E O
generator, uodate fa'ac*. FF87 by MFF-Oero Demo fa UcraFtreFi drabase ChrsGrAy byHowefa Kjl program Frtd FjiiDi*. ?5 Screen Sfa ft Adult scteen poston »© Refa-encei.
Cmd red tecs re se a oevce v paate.
SE-D Owes output to a ft©. Usefull for Srtaxe Bouncng sq ggiylr©* demo, SE-D capa mg paint fobs for deougg ng or AutoE.ngurer screen contaption rocurrsto' nprovemant ‘fafins* printing.V4 ByCSche»n©rSE SEEf CjgnuiEoDera Demo of Cyg il sSafa s Cyg* usEd etfar, Don alt on D»ay Haw SE-D
• mfatfle*©, mjspe Itatfat e )!fa Fred Flafai Oak 90
• So mfljOes demo 3 0 fa MandFXP An Gu»' Mg-1 sky *«w©r o' '573
stars, set date.
By CygnusSofr Sofwre E ime.oay E-D Gomf 'GetOuta My Face' make* fae Gfau 93 CwdFe At gaBas-c ca'd file sturdy ad. E-D away and aiows re user :o cean-uo Cocman Con»l© fTAPd«r wpiiomert g w -w andsn-tdown moreceany VI 9, eotng arc niByto moEprogt ! 98.EO dy Dtraian Jorrtan £ WanoeV-po- Sgrt uCClte to asx 78 Mind*brat Journal reco*cs swjwwce fa mouse progtm. E-0 keyocrd **e-5, stores r©m a * © *y NewOe-os Reo acwems fa11 nes and boxes aemas frjfate ptybsx Good far tte-os or faat ok© ess CPU tm©r E -D oocfanje-rtng pugs E. toy D Ce-vcne Dfaelo Game faOfated, E-D Me'geMem laemfas T©rgng of MfmOsI
enfrei of FfrrText Dsoiys tei! * ©1 wffai gadgeto. Sow IFF 5©Cje*rtiiycorigfaed ram boerdl fl »ay. V1 2, E-D ff’r Auoesfau. T ows Kocaing 1 ffrl vGe-
A. to-abcfa1**' O'vw generatr. V22o.
Sera- of me-oy *f cr soa-s bar ED twafas V2, upcate ofFF56.
Fta-Be-cn Cjces cocrs fa Wyxbencn aedid'op y by Ce'sy* Scnespne* SE text E-D P--terSteaer Asmi!(f © ‘Cmd*. Aowsdversonfa S dTCut Mixes K.ng e-vey aho.rtouts far err' ng Ojtaut cetlned for prrfar to 1 Me.
Cdmrrorvy !yp«o CLI a m-§xt 3 *e! U BnAfjr enfy. Sdunte eva abe from Gultomriacroi ED ajtoo'i by Aex Uwrti »WwP-r!
Dipays rd pnnte FF pct es of ¦' lit anc J M Fj-ees a-te ccto 1 p-n*' outpul syet v2 C E-0 Record Repay Anmtlar to 'Jfaum©*. Records ITC p'lyl S-Hfl’i Graycaoemsi. *1.7.9, ED pack reus© anc xeypoard everts Tr« Sri I Wa'frBencfri t-wr ccunto fare arc V o-aryony source aveUPe from
m. rtute.E-D author Arbi Lrrsnts and J-M Fomess Tools
faovafrorcstooii: a memary edtor.
EltiElLfLD! ft memory d saise-b«r_ ASCII era- and AimP.ay©. Ammtton r*ace' a-** d sfaay©' by fae cacurafar E cam tt red elfartj of Veeo scaoe.
FiMFuhDii r Scupt30, S'ver. FfaTs-l-El nL and Advenve Dafr.ton Larguage (A£X) a superset o' r older Amrrato'AapreteebyMartn Hashetai.
Language ealed DOL by M cfaaei Urban. Chris Kostina*.
Cness Usenet pasted Amiga port. Non-Am ga Mcfreel Stem, Bruce Ad or. And Warren Uivi ACL miarfAoe Hgh eya&i ty. V 1.0. S ty ertilflcementa by Rots Curwrff. Faduded are 1 jjtbj ‘d fae
J. Strtoack, Angaportby B Levi" ADL comp s', rterpret', aod
dobugge* Bp'o,tes combined by Hackbencn provces source
t'Wo'xBrMTE w Rotswfa Lattce 3 33. CLIe ynr©-- orly
Docure-jta- pogri-. Fo- eoe* mertoton and a eva go© from re
aunort va datort o'newi'tertaceioeas Nots wserxfa tepacemier*
by qii Kme-sey Ffri.fjih Piik n Label Prni apes wr aroraytert
V 1 3. SE AsbuCZ portabfe 6532 aaiember, induCfag C ava'abe
from tu-faor. M Hr sen as face byj VanOivm; LteDr awer
Ptoduoes l ne O'iwrgs baaed pr A-ga Dotcy Jo* Swanx downg
commands sto'fd n a test 4* B*w Textyocesso' update from FF65
iTCjCesoemo M'O-iM an j.tra fasp ted by UNIX im Bo v jevcnes
map fa fae USA anc rate tra'drs.
1« fa* patterns. Pe*far-$ act an V1.0, SE. TyJorriOsen besec on paper i By Bab Sodt.
PooUpMe u Eiamp© coo© imfaem© ng pOMud A- 94 aoit by Johan Woe- menus. *ee so ra piy com paid© w fa HunxPad toatea'FFW vwson. By J Harito-.
IrtoJflon me-uiSE DyDfaexZinr Dads a- oaect' e to a muftpte fa * 28 Tex 4695 Texro-iiAMSteaSEr-terd-ve' SE ty»S far ttette' x-0O©m rar-ste' S E ty P-ipSteuO Lets Lxe Uni better, veaon 1 2 Tmaflar FestancCxp'ar tesprog-in F ucoiteo'FFTi Scro s Bacx and f by Brix»Taxras.n onxiaro. S E by Mark Nudem©*. Amga Wa-pText Fast text tender ,-g rajtnes, B be linked port by Bob Levan Wfa acocatir programs Teitosoiy Mb' Lfairy fait m per©nj r* 4BSD fata ‘as las: or faste* fan tz" Vteridn 23 or access -auras cy U xeUeyw. S uocnsfaFF17. S byB* Kuy Pwse Retfatve desoem: exyesson pa*ce'.
Fial Fl2hO« IT MFF-Updato A tort rrportutl.fr McroFcra INDEX OF ADVERTISERS Replaces FF57 for Copyw* proo'ems O AndPwto hi&lenwntaions of Una at and paste eorrrr.ards. by Job" Wead Pack-It Fie demo onFFMJ andupdatos » sorn.e Fdcisk library daatoases.
Twes ailfiesrefies an5d*s. An (tan ft frogran to pot simpe functors n 2 or 3d mens arts by Fyvn Fvnran a d'» a a oao.s nem i.ita a irgie 'if. To* senbng via modem.
A-Squared Distributions, Inc. 17 VI 2o1robOtjuggieranmaioa Uses HAM mode a-o ray tracing. By E** Graham Sb Am ga vwson of so tare.
Frfd HihDftk 104 Absoft 94 Mouse Re ader Shareware program to read teitf« Anayticac l$ a large and po wfjl Ard Mi* FF fifli using only the m ix uf spreadsheet prog.
Aegis Development 56,57 Soi nes by Wiflwn Betz Program to demons?** cy*ve hung Fryd R|h D ak 105 AsmPtogs Son* miic. Tssemby tools,, h Aminctics 70 and renderng Btfrsque*.
By He-ene (lee) Taran Basc ogs SuoessomeS.
L«£*Sc_a’« so ws east $ qua*e Applied Visions CII Shm s-pie g-BoncsoeriD, apptoum.atoiy emulates O'* motion of two inferactng B-son proCs ana g'fiphs -esuis. S. A reaaoerr.ent for urn ‘yaac’ Bethesda Software 49 pendulums. Include* Soyea by Chris Edit Dmotae command. S. Anotoer prog n the trad.Son of Brown-Wagh Publishing 31,33,35,37.39 FredFi.hD.k9* Axees IficaiOf WffuntJ pragfim based on Comm Fto-Key d way hack!’. S. Afows keyooa-c mo mxsa rputs Byte by Byte CIV VI ,34 InduCes Mec*o w'dow, custom gaageS, co'orjed menus, VC. V. Bes C 1ft » be looed ym! A passwo*a s entered Comp-U-Save 100
Backup tyKen Young,comm by DJJames. E Wm A-rgaDosdshs as tie backup GravrtyWa's Game of pianets.shps a“d bladk hotos v20 uodflBS Computer Systems Associates, Inc. 71 oesbnatar., recow ‘es l,om st Oawup ditft Rear res ri » deepens an dw Po2C Autf. To w*;B a C-’ang oe*n 1 an to mime ffto inaaton aon»*S ComputcrMart 78 DCOemo ttvcle. By A an Kent SE DnCat 2.3. a d w caaog p'og*anr,cemo Pr efP E i of Cfeet"g and usng reentry*!
Processes S Data Solutions 53 lim Vd to cataloging 103 if a ime.
By Ed Afard. McroAce Sohwsre Reco'd Repay StfTiLarto 'Journal* v2,3 update to disk 35.
Data Max Research 27 HdDnver 022-05 naro a sk conTober driven Card caaaoe of martaming 3 he'd dskj Fiyoey S-atnwe toncbon key edtoi, vl.1 Discovery Software International, Inc. 64,65 ana 4 fooo«. Re d* w seaoarhe of any one ha*c ds*. By A,an Kb**; sed uDCt»tocsK89 Soyceava: f rom. Autiy(Anson Man).
Firebird 63 Oba® Qjic»-3a$ e. A "Ma Base Ma'age'-ent utnty del re and maintain a muimun of Mo-eA- A smaf SMCton a! Some Amga artwork.
Fuller Computer Systems, Inc. 75 Thai 2C0 records oer Fe py Kevn Harrise E Tka language qjj program. Soeak cu type 01 d.Pi* An FF sideshow and cel an maton prog*ar,i !(l3 Haitex Resources 23 eng sVT-a senunces torn s, ached fie.
By AanKemSE RstNpl* Afirr shgame Asoca'wJGa* Mosy vf.O Hilton Android 102 Fred Flah Diik » A'Reroe' Verson ,3 a Ray T*acrg OonjTuCton Set tor pe FradFlahDtof 107 Csr V2C7 of Man Olton'sctfi ike HyperTek Silicon Springs 68 Anga Ccmputo* ay Bnan Retd ED Fred Fiih Diik 100 D f shellS.
AutL.smiiar to other common InterComputing, Inc. 44 Be'se'k Must see animator*, Iron Seer. 87 FAUG meemg. Oy Leo Sernvao RrpSoito ‘(Sff* programs S Suto prav es e*. Woe of toe1 tes Kent Engineering & Design 106 Conman Crsoe nanoer reoace-en; yovces fin
• otng and command ire nistores fiucr- as F eO Requestor. Xtert.
DoRequesL and a totor * or **ow KlineTronics 108 ransbarent to any application prog'Sm Jiti uses COI . Wndows Shareware Vt,0 SVToba to prt3g*am re Amiga. Boos 1,0VS Some useful tool*. S. Lattice, Inc. 7 WBLanoftf by William Hawes E. Wo*kben *i osoey hack gare, uag'nto of FradFiihpijkiCI Alst D* lepng pmg based on LD4 p S Lightning Publishing 22 ¦Rooef on FF85, now wr soynce'tocs.
9yPe»rcaSva E DrUastor D*skccaioge* vl.Os.uwatoto c*S5.S. Manx C 15 Fred Fish Dik 101 Optane G’cUar pane gene-ato* for VdeoScapejD Dots Re*toc Prnto* Over tor tn Epson MxftC pnnB* wti upgrade k1 rstaled. S. Megatronics 9 Generates aetoewse crzJar polygon wntv MontOCMP Lets you moniurthe IntoMessages re s»c*ed number of ve'tbet VI.3 by mat pass pvough an DCMP wi Meridian Software 43 torAsar iaer Thao FlorytnSE O-ange Worxoencn fcorawp FF*tiru»i Cow. Print* T»e message CasaTouw wore rates.ouav'er Microbotics 11 Macsce les by Sir1 an Lnoanl E Sardadne jpe ngcneoe' cars tart 1« PnnPop ve es G*»ct
torceojggrg S Autl to se.nd common com?« Microillusions CHI ana repGrserrort 1300 common, word Ss* 43,0DC word main dciona'y w5i mu ipie Sector ama settngstoPePRT: oevcw S Utlites to recover lostor damaged NcwTek 1 userdoonarysuoporL Fter ces wrfi data from f oppes and hard d s»s.
UcroE MACS 3 3 wffli an emacs maao to
vl. 1. an update to dw 152.
Newwave Software 107 s*o rough re souroe frepo ng a: T« VtlCC emulator fpr a Tektrona SU5DOC wor« and K wrng re user X) ATOMS 14 (V2.6J upoatoto Pacific Peripherals 19 opcort VI C Da Lawrence. SEO disk 52 S Md m ci korary end ui ty set Incudes Wd Zoo A file arcftver. Muei Ike 'arc', Palomar Peripherals 95 monitor, rdjlng utility, status utiry, and more byBil Barton SED
vl. 248 jDdatetoosKfl FrtC FI ah Dlrit 109 12 Psintp Postacrpf
He'O'eto' ¦eads at prtnr ews Macnme A new animator.
Peacock Systems pbKsaotfes on re tw SmCPW ACPrMsm.sf- jatosSCftC aong Pirn Publications 103-105,128 Santos by Greg Lee S(assyi£ Three C stahup *le ¦epiacemerts for Uupc wnnHmuSaw*. S. Alowsyou to hookup your Amga Pioneer Computing 116 standa’d Asto'top otoj and Lstarup ofj.
Asausenetrode S. Opton* ,ncludo (1| BorSfa'tup.obj. for re Fred FlahDiik 110 Prolific, Inc. Wo'kBervr prograriorCUprog'irri wr Asftft A 6600C ftsSL-be* wntton m C. S. 3 srwtooutconrriindineparftmeie'l (2) Poc An ootnaing Ccnmper for Te Right Answers Group 81 WBSartuft ooj, for Wor*Bencr progrers v 660X pracesso' uodato to dsk Cll prograrrs rial ret|Jre no comTana me peramete's (3) CllStartup.oc? Far Cll 53 but not tesec on re cooe o!
Second Source Systems 101 programs tftal rKjj'W eomnarC line onamete’S Out do not need to be To Be Con trued.
Scdona Software 6 WruBer T funriatne by Bryce Nesbft SE Snake Design Software 58 Fred Rah Dak 102 Dbuc Uacmne -ceoer’der rec'cbnsrw C jnConclmion 83 debugging package Upca* of F4t.
To me oes: o‘ o j k-cweoge. Tvj mato-as r r s Soft-Link by Fred Fun prollmg support tbrary arehe y c mrbutooe Th» me*-j trey »-e 115 by Bnayak Baneqee SE
e. r pubidy posted and paced n Tie Pubic Dim an Software
Integration Solutions Math-stuff Heavy aty tort pettorn mating
tijfl rduoes smpre math tort "Bpace'rent by J»r Aiw, v rey na«
resbdons pub shed in er !ii«to wnich we nave atfm»ed tf you
become Software Supermarket 92 Sector am a capea i . By Prto
Goodew Recr* ipstar oaragec dtahom flspc f awi*e o' any
vrola»n o4 7* aror’s wsr«. Pease cvtact us Of mat.
Software Terminal 127 v hard a sms sr reoa,’ a damaged votime.
55 byDwd JonerE Software Visions SlCor Smad input ine ("Wptoter wto wnddwfdi tut edtng Uog'Sdeof F50
- AC- Speech Systems 50 Xco" OyRstoGaodwe E Use cvs to c«! Uo w
«s co'-jnng Cll Spencer Organization, Inc. Sunsmile Software
113 16 Fred Flak De command! V2Q upg'aoe c* F31 by PeteGoweveE
103 To Order The Memory Location 74 A T-ees lubra and test
prog rnPerrentrouV'es to* cratng and ui'ng Tees held in memory
S Public Domain The Other Guys 21 Gac Of A orog*arr ase RPN
c*cJato* Ace?ossrei prog S. Software, TRU-IMAGE 3 DosKw* A par
of progs vrfiefi a cwrs you to save !l« to one or moto foppes
for quidt please use the form on Westcom Industries 109 PU Dos
ioad ng. Doesnf store Dos tormat.
A prog, to improve control and handl ng of page 128.
R« mttoftol on an d«As in CU-area' For PDS orders, Please use form on page 128 THE ULTIMATE STRATEGY WARGAME TeleWar allows you to use your computer and modem to play the ultimate strategy wargame over the phone, or on one computer in your home for $ 39.95. Make Telecomputing A Blast You’ll Love TeleWar!
Published by Software Terminal 3014 Alta Mere, Fort Worth, TX 76116 817-244-4150 Modem: 817-244-4151 Available At Your Local Dealer
• Compatible with any modem
• 300.1200. 2400.9600 band
• Call originate or answer
• Null modem connect option
• Save game and transmit game options
• Opponent File Directories
• Send and receive typed messages with your human opponent
• Fully copyable to hard disk
• Upgrades available on BBS Amaze Me Please use this order form
when subscribing to Amazing Computing™, ordering Back issues,
or ordering Amiga™ Public Domain Software
Street__________________________________________ City _ St._
Zip _ Amount Enclosed Please circle the appropriate item: New
Subscription Renewal Please start my subscription to Amazing
Computing™ with the next available issue or renew my current
subscription. I have enclosed $ 24.00 for 12 issues in the U.S.
(S30.00 Canada and Mexico, $ 35.00 overseas). All funds must be
in U.S. Currency on a U.S. Bank Back Issues: $ 4.00 each
(foreign orders add $ 1.00 each for Postage and Handling) Please
circle your Back issue choices below: Voll.l Voll.2 Voll.3
Voll.4 Voll.5 Voll.6 Voll.7 Voll.8 Voll.9 Vol2.1 Vol2.2 Vol2.3
Vol2.4 Vol2.5 Vol2.6 Vol2.7 Vol2.8 Vol2.9 Vol2.10 Vol2.ll
Vol2.12 Public Domain Software: $ 6.00 each for subscribers
(yes, even the new ones!)
$ 7.00 each for non subscribers Please circle your Public Domain Software choices below: Amicus: Al A2 A3 A4 A5 A6 Al A8 A9 A10 All All A12 A13 A14 A15 A16 All A18 A19 A20 A21 A22 A23 A24 A25 A26 Fred Fish: FF1 FF2 FF3 FF4 FF5 FF6 FF7 FF8 FF9 FF10 FF11 FFL2 FF13 FF14 FF15 FF16 FFL7 FF18 FF19 FF20 FF21 FF22 FF23 FF24 FF25 FF26 FF27 FF28 FF29 FF30 FF31 FF32 FF33 FF34 FF35 FF36 FF37 FF38 FF39 FF40 FF41 FF42 FF43 FF44 FF45 FF46 FF47 FF48 FF49 FF50 FF51 FF52 FF53 FF54 FF55 FF56 ffNA FF58 FF59 FF60 FF61 FF62 FF63 FF64 FF65 FF66 FF67 FF68 FF69 FF70 FF71 FF72 FF73 FF74 FF75 FF76 FF77 FF78 FF79 FFB&
FF81 FF82 FF83 FF84 FF85 FF86 FF87 FE&&.
FF89 FF90 FF91 FF92 FF93 FF94 FF95 FF96 FF97 FF98 FF99 FF100 FF101 FF102 FF103 FF104 FF105 FF106 FF107 FF108 FF109 FF110 (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 E30n5C Jr 0y Ebon Star is s wift action competition
- wrapped in an electrifying arcade ||f style format.
Exceptionally unique II and challenging, Ebon Star will thrill
I' you with it’s dramatic sound, realistic r graphics, and
options to four players .
And man vs man or machine. Seize jjm the challenge of EbonStar, pick up j||r !E30n5uR your copy today! Am The warp’s fathomless depths The warp begins to explode as opponent is shot down » A true to life adult encounter for iff men or women! Permit your wildest W imagination’s to interact with the W enticing scenarios of the DOME. A t f the DOME, you can set yourself up for what ever you are after. ..We J promise you ’ get what's coming Jj to you!
One ot the Dome 's alluring stories The lounge, a place ot enticing rendezvous DISCOUERY EXPANSION DISK Si L earning is an exciting adventure fy with DISCO VER Y! No w you can f expand your adventure with ' Discovery Expansion Disks: Math 1
• MATH CONCEPTS* SPELLING 1
• SPELLING 2* TRIVIA 1• TRIVIA 2
• SCIENCE• GEOGRAPHY i
- LANGUAGE• SOCIAL STUDIES .jjj HISTORY 7 T Of HER PRODUCTS FROM
, MICROILLUSIONS P •PLANETARIUMn F- For the Serious
Student ot Astronomy j.'
• LAND OF LEGENDS " The ultimate dungeon adventure!
J • ONE TO ONE SERIES '1
- i-~ Fire Power'", Galactic Invasion and Turbo’"
- • BLACKJACK ACADEMY Everything you ever wanted to know about
• THEFAERY TALE -Hi ADVENTURE" A Amiga fs number one adventure
gameI All Microillusions Entertainment and Education ? Issi
products are developed especially tor and f Mk available on
Amiga. C64 128, MAC. Apple IIGS. J MR and PCVMS DOS Formats
Working a solution to a math problem.
Control room of space ship Discovery ROME WASN’T BUILT IN A DAY, UNTILNOW... Create your own universe with SCULPT 3*Drm SC JLPT 3-D brings the power of 3 dimensional solid modeling and ray tracing to the Amiga. Imagine an image: choose a color, a shape, a texture. Spin it, rotate it. Extrude it into the third dimension. Pick a camera lens, set your lights, and let SCULPT 3- D create a three dimensional picture complete with shadows, reflections, and smooth shading. Al! In 4096 colors with true ed ge to edge overscan video. Easilyl Automatically' Change your mind? Change the colors, textures,
camera or lights in seconds and create a new image The only limits are the boundaries of your imagination.
"I haven't had this much fun with a program since Deluxe Paint li." John Foust of Amazing Computing.
"Performance previously only available on mini and mainframe computers" Info Magazine, Now animate your universe with ANIMATE 3-D T* Enter the fourth dimension, time. Choreograph the free flowing and simultaneous movement of objects, lights and camera through space and time. Details of object rotation, camera movements, timing and action are controlled in an easy to use graphical interface or through a simple script langjage.
Individual objects can be linked to orchestrate complex hier- archial movements that simulate live action. Ouick check wireframe playback preview's your final production: storable as a compressed animation file playable from' RAM, or recorded on videotape. Additional output options include single frame VCR control or image rendering to a frame buffer card. Animations can incorporate either solid modeling or ray tracing. ANIMATE 3-D is quite simply the most powerful and easy to use animation program available for the Amiga.
Your Amiga 500 deserves the best you can give it. More memory for more powerful applications, faster performance, better graphics, and RAM disk storage. It deserves a memory expansion sysiem that lets you add additional memory as you need it. In easy to install and easy to afford increments, The included memory verify software provides a visual check whenever you add additional RAM. The BYTE BOX is available in a variety of configurations from OMBytes to 2MBytes of RAM.
BYTE by BYTE.
COMMA) K* Aboretum Plaza II 9442 Capital of Texas Highway North Suite 150 Austin, TX 78759 (512) 343-4357 SCULPT 3-D, ANIMATE 3-D, and BYTE BOX are trademarks of Byte by Byte Corporation.
Amiga is a trademark of Commodore-Amiga, Inc. Deluxe Paint II is a trademark ot Electronic Arts.
1 Length(sss) - 1; dolt:-TRUE; WHILE doit AND (i - 0) DO IF sss [i] r 1 THEN sss(i1:-0C; DEC(i): ELSE doit FALSE; END; END; END Trim; PROCEDURE FreeNodes(VAR t : nodep); ( * .....* * ) (• We dispose of the binary tree pointed to by t in ¦) (• a recursive manner. We first free up the left son •) (* (if there is one), and then we do the same to the ') (* right son. Then we dispose of t, and set it to NIL*) ,*¦•¦*»***«« * ) BEGIN IF tOMIL THEN IF t* .lsono NIL THEN FreeNodes(t~.Ison) END; IF t".rson NIL THEN FreeNodesIt". Rson) END: DISPOSE(t): t :- NIL; END; END FreeNodes;
2 Superb graphic war simulations
• 12 war scenarios
• Animated artillery, armor, and supply units with air support
• Smooth scrolling graphics
• 3D perspective terrain maps
• All moves graphically enacted on teleconnected computer
• Digitized sound effects
• Easy to use menus and requesters