¢ 10 PRINTER ADD- FOR SIZZLING OU

e 7 DRAW PACKAGES FOR GRAPHICS oe \ \ j Plus! oe 2

° HOT ACCOUNTING sa SOFTWARE ° TOP NEW FOOTBALL

0°"71486'02193' "3

oe

ee

sn “<< Sa

64/128 VIEW

Old Mother Hubbard went to the cupboard to fetch her poor dog a bone, but when she got there, the cupboard

was bare—even the 64 products were gone.

Tom Netsel

funny thing happened

today at our cupboard

for new software. When

| got there and opened

its doors, the cupboard was

bare. There was no new soft- ware for the 64.

Uh-oh! How can | fill all those gaping review pages, when | don't have software to review? There must be something in there that I've overlooked. Desperation does wonders for one’s pow- ers of observation.

Aha! There's a package! It's a little dusty, but | haven't seen it before. Sure- ly it's something worth re- viewing. We can give it a good workout and milk it for a few thousand words. It's bound to be of interest to mil- lions of Commodore users around the world.

As | wiped the grime from the faded software box, my hopes for filling the review section faded about as quickly as a smile ap- pears on the face of a soft- ware rep when | ask, “What do you have new for the 64?" As | struggled to stay afloat in the cruel waters of the publishing business, | re- alized that this thin yellow package | was grasping was made of straw—and wa- terlogged straw at that.

The product must have slipped from the shelf above. That’s where we put the software that never quite made it into Gazette re- view pages. That's the shelf where we stash titles such as Great Moments in Bowl- ing for the Adam Coleco or the VIC-20 version of Ther- modynamic Equations for LAN Designers.

In this case, the program turned out to be a spelling program from a guy in a

small California town who worked out of a post office box. Unfortunately, it was published in 1984, and was not the stuff to fill my review pages.

It's amazing how things have changed! A few years ago, when | assigned re- views for COMPUTE and Ga- zette, new software titles vied for attention on several shelves. The 64 titles were king. They filled several shelves at the top of the cab- inet. Down near the floor, occupying half a shelf, were the IBM titles.

The 64 was at its peak. Dozens of new titles came in every day. An IBM still cost megabucks, and its soft- ware consisted of mono- chrome productivity titles that cost $495 each. There were a few games that util- ized CGA graphics and man- aged a puny beep or two, but they paled next to the 64's 16 colors and three- voice SID chip.

As the jiffy clock ticked away, and months turned in- to years, we had to reallo- cate shelf space. New titles for the 64 arrived steadily, but IBM products hit us with all the subtlety of a flash flood. Today we have a whole room reserved for IBM software, and the 64/ 128 shelf resembles Mother Hubbard's cupboard.

A few reviews are in the works, but it'd be nice to see more new things for the 64 again. So take note, soft- ware developers: If you have a Commodore product that's never been reviewed, now's a great time to let us and the rest of the Commo- dore world know about it. Send us a review copy; don’t keep it a secret. a

GAZETTE

64/128 VIEW G-1

It's tough to review new 64 software when the software companies don't send anything new. By Tom Netsel.

ONE MAN’S WORK DISK G-2

Pull all of your often-used utilities together, and spend your time at the keyboard more efficiently with a customized work disk.

By Don Radler.

REVIEWS G-10

Supra 2400 modem, Panasonic KX-P2123 24-pin printer, NovaTerm terminal program.

FEEDBACK G-15

Questions and comments from our readers about converting SpeedScript files to IBM format, learning a programming language, and more.

BEGINNER BASIC G-18

Customize your keyboard while learning about keys that are unique to your Commodore.

By Larry Cotton.

MACHINE LANGUAGE G-20 Use a double buffer to produce fine scrolling.

By Jim Butterfield.

GEOS G-22

What's the best input device for use with GEOS? Examine the alternatives and their drivers. By Steve Vander Ark.

PROGRAMMER’S PAGE 6-24 Here are some tips and tricks for disk drives.

By Randy Thompson.

PROGRAMS

Drixella’s Dilemma G-25 Character Designer G-27 Smart Format G-32 DLiner G-34 XLogic G-35 Polygons G-38 How to Type In Gazette Programs G-40

SEPTEMBER 1992 COMPUTE G-1

ONE MAN'S WORK DISK

MAKE YOUR COMPUTING SESSIONS MORE EFFICIENT BY CREATING YOUR OWN CUSTOMIZED WORK DISKS.

BY DON RADLER

ver time, most computer us-

ers develop a collection of

utilities that they find them-

selves using over and over again. Out of all the programs in a col- lection, these favorites are the ones that rise to the surface.

Usually, these gems reside on sev- eral different disks, arranged in whatev- er order seemed suitable at the time they were first saved. You have to re- member where each one is, refer con- stantly to some master list, or load and list disk directories like mad in search of exactly the right program for this or that need. Then you have to recall whether program A is compatible with program B or just try it and see. As of- ten as not, the computer locks up.

When | retired a few years ago, | start- ed playing around with a 64. Through the dealer who sold me the machine, | bought someone's collection of sever- al hundred programs on disk. There were utilities, applications, games, and a slew of unidentified—and for quite a while, unidentifiable—programs.

There was no documentation of any kind. The only way | could learn any- thing about the programs was to load ‘em, run ‘em, and list 'em. Painfully, bit by bit, | became familiar with the 64. For many people, to know it is to love it. | proved to be one of those people.

Like most people, | learned about the PRINT statement first. As some- thing of a nut about color and compo- sition, | modified the screens on most BASIC programs to make them satisfy my eye. | played with screen color, bor- der color, POKEs, and so on. | started reading COMPUTE's Gazette, which be- came my only tutorial. And | began typ- ing in the programs it published.

Then | had a stroke of luck: The lo- cal library sold off its holding of back is- sues of Gazette at ten cents a copy. | took advantage of that bonanza with- out hesitation, buying up the complete caboodle. It started with the February 1984 issue and ran slightly beyond the first issue | had bought on the news- stand. With those and my current sub- scription, | now have every issue from early 1984 to the present, with the ex- ception of June 1989, which is unac- countably missing. (If anyone has one to spare, I'd love to have that issue. The issues before January of 1984 would be of historical value, but are probably too much to hope for.)

And | kept on typing in programs.

I've Got To Get Organized

Soon | had a truly formidable collection of programs on disk and a crying need to get organized. | was begin- ning to sell some articles and pro- grams to magazines, so | needed to

G-4 COMPUTE SEPTEMBER 1992

make my programming sessions more efficient. This meant upgrading all my work disks, but especially the one | still keep in the front of the first disk case, the one | use all the time.

Many necessary utilities are stored on this disk, including Gazette's MLX and The Automatic Proofreader. Also stored are supporting utilities for those data-entry programs, which I'll discuss later in this article.

As | discovered new programs and learned more about using them, my work disk changed. As | added new programs, | deleted others. Today, my work disk doesn't look at all like the disk it was even a year ago—and it’s

Oo Aud MSSSGS> C seerse

uw

i i 7 2: 6 i i rf i 8 2 4

"0°000-0-0-V-TVUT TTD 9979797397070 90 OIG IGIO PIT FDIS PION

a DHAHAAAHOAHHASHOHIAEY

GRAATIAAGS SBUMOMOOH- Oo! BAMOTAIAIAOVO-

wT -0v:

Oro ercorsene 33

Alphabetical directories are a big help.

L DISPLAY DATA | STARTING AT? CCH PRESS: Sidild3 TO PAUSE,

8 8 BE 5 3

8 3 8 4 ‘i 3 £

Elntatatatatatateeatntetatated einintatetatatatatetstateiate] Root SoSSSaS> DVS DVS DMIDMDO

DOO TOS TSSSENOIOD

Sewn

Utilities such as MLX go on every disk.

still evolving—but it does make my com- puting life easier and more efficient. It's no surprise to me that many of the programs now on that much-used disk are from Gazette. I've typed in a good many programs over the years. It might be of value to other Gazette read- ers to see how that disk is currently or- ganized, so here's what works for me.

Work Disk

The first listing is Art Hunkins' Keyload from the July 1986 issue of Gazette. | use Epyx's Fast Load cartridge, which loads and runs Art's program when | hit the Commodore and Run/Stop keys simultaneously. Then | simply cur- sor down to the program | want and hit Return, and it loads and runs. This se- quence can be repeated after I've fin- ished with one utility and I’m ready to

use another one. (If | want to look over a listing rather than run the program immediately, | just type an L at the cur- sor and hit Return—the program loads and waits to be listed.)

Hunkins gets my thanks for writing a version for the Fast Load cartridge. For readers who don't use that cartridge, Art's regular version for the 64 lets you merely type LOAD “*" 8 to call up Key- load to be run or listed.

First Program

| save Keyload with the filename OKEY for alphabetizing purposes. It's the first program on most of my disk direc- tories. It's great for use on my Sound Ef- fects disk, calling up each sound and letting me hear it just by cursoring to the effect and hitting Return. It's really handy at the top of my Household Help- ers disk, running First Aid (October 1984), Monthly Calendar (March 1989), or Speed Reader (February 1984) when | cursor to it and hit Return.

Save the Monitor

After Keyload, the next program on my work disk is Monitor Blackout. This pro- gram was printed in a Gazette “Feed- back" column (March 1989). If you think you might be pulled away from the computer for a while, it pays to run this short utility at the start of the ses- sion to protect your monitor's screen from burned-in characters. If you don't touch your keyboard after a predeter- mined length of time, the program blanks the screen to the border color. As soon as you hit any key, the screen returns to normal.

Copy This Disk

Then there's C64 Fast Copy, a disk cop- ier from Kracker Jax that's the smooth- est I've tried. It's worth using in place of the disk copier on the Fast Load car- tridge. This takes nothing away from Fast Load. | use it all the time to copy, scratch, lock, unlock, and rename indi- vidual files, but not to copy a disk. In fact, for formatting a disk and copying or scratching batches of files, | use “none of the above” and switch to my Fast Hack 'Em disk from Basement Boys Software. But its disk copier doesn't match C64 Fast Copy either.

Alphabetical Order

| keep disk directories alphabetized. This makes finding programs easier and speeds up the cataloging process with the disk-management program | use, which takes input from directories. The best program that I've found for this is a Gazette program called Disk Di- rectory Sort by N.A. Marshall (March 1985). Although the program is short (35 lines), it runs too slowly for my

Basic Package

299”

Commodore-Ready Printer

from Star At An Incredible Price!

$] 19”

Ne 1000C. Njoy near-letter quality at 36

speed draft at 144 Sa fess paper parkin:

ia aod high- ‘es the new 9 function and convenient

front panel controls, Includes fe i LER fonts and over 20 typestyles, thsisthe Commodore-ready version of the NX-1000. roel plug it in and start Printing—no addi- r yf ional interfaces or cables required, OTHER(STAR PRINTERS Sug. R NX-1000€ Printer sear 322.0 N00 Multi-Font 90895 $139.95 . SPECIAL! $119.95 NX-2420 Rainbow 5104 Ribbon (NX-1000C) 75471 $5.95 NX-1020 Rainbow Asiag? hres 77789 $8.95 LaserPrinter 4 A57934 $799.00

Don’t miss out on the lowest prices on the Amiga 500, plus full line of Commodore and Amiga hardware, software, and accessories.

ct PRICE FOR AMIGA S00!

Pack TENEX Super Graphics Packages! TENEXTowet Bah sascha ite esciotoo a : «Amiga sic SA Plus 3 Great Value “Sottware Bundle #1 PhD same ne Sy Bundle #2 & Joy’ SealWeacr ee - ww Agee TENEX 500 Memory Expansion “Sora ene ~ ol Memory Expansion e ae Softwar : | Price ay 5 _Totolat Reg. Sea e es chee Ubees Price $339.95 Low TENEX picks © Price 0.78 Motel Low TE! a or You Save $24.90

Call today to receive your FREE catalog with the greatest prices on the most popular hardware and software!

® COMMODORE 64 and COMMODORE 128 are registered trademarks of Commodore Elect

lead-times, product prices and specifications are subject to change without notice. “APO, FPO, AK, Hi, CN, VI, GU, and foreign orders are subject to additional shipping charges.

= Commodore*

“AMIGA

Commodore 64 Computer

Commodore 1541 Il Disk Drive

Only

169?

oa

Shipping, Handling, Insurance

Order Amount Charge less than $19.99 $4.95 $20.00-$39.99 $5.95 $40.00-$74.99 $6.95 $75.00-$99,99 $7.95 $100.00-$149.99 $9.95 $150.00-$299.99 $10.95 $300.00-$499.00 $12.95 $500.00-$699.99 $19.95

$700.00-$999.99 $27.95

GS5Z =

aste. | compiled it with Blitz!, and now it moves right along. | can recommend he compiled version to anyone.

More Utilities

Next is Lou Sander's Disk Name/ID Changer, a public domain offering tom the Tip Master himself. This pro- gram changes headers and ID's with a minimum of fuss and, so far, with no glitches.

If you have one program and want lo add a subroutine or other code with- out having to type the program in again, then you need a good merge program to combine the two. The merge program | use is by G.A. Pear- ce, and it comes from an old Transac- tor Disk, volume 5, number 2. The pro- gram is hassle-free, and it works with Fast Load and/or with the K-prefix utili- ties mentioned below. The only true merge program | found in Gazette was Disk Merge (January 1985), but it was painfully slow.

Another great program is Randy Th- ompson’s BSAVE Notepad from the April 1988 issue of Gazette. This su- premely. handy program lets you jot notes to disk at any time. When you run the program, it prints the most re- cent note on the screen. If you change that note, it replaces the old ver- sion with the new one on the disk. You

may enter a screen of text.

Jim Butterfield’s sequential file read- er in “Machine Language Program- ming: File Handling” from the same is- sue is next. This program is written in machine language and, as with most of Butterfield’s work, is lean, mean, and useful. As written, it reads a sequential file and prints it to the screen. With one number change in line 350, it will send its output to your printer.

Then there’s Quick Print by Chuck Webb from the May 1989 issue of Ga- Zette. With this program, you can send lines to the printer one at a time without first loading a word processor. It will also work without disturbing what- ever program you have in memory. It's great for writing notes about the cur- rent program or for addressing enve- lopes or making labels. All it takes to ac- tivate this program is a simple SYS address call.

K Utilities

If my work session is going to be one of writing or entering programs, | disa- ble Fast Load and go to a group of util- ities filed on the work disk with the ini- tial letter K.

First on the list is Braderbund's Kwikload. | use the Kwikload-1 option (load at 36096) for compatibility with the next several programs.

First among many is Multi-Utility Wedge, Jim Klitzing's fine multifaceted PD boon to programmers. Among many other goodies, this utility gives you a directory reader that doesn't dis- turb BASIC programs in memory, an autonumber, renumber, and delete- lines utility. It also has an instant UN- NEW command and abbreviated (two- key) DOS commands including SCRATCH, UNSCRATCH, RENAME, and so on. There's also a two-key screen dump to the printer. On top of all this, there's a simple text editor that loads and saves sequential files in stan- dard ASCII or PET ASCII and can con- vert files from one format to the other.

For most of my writing chores | use Gazette’s SpeedScript word processor. | use it especially for important or for- ma! documents, but if | want to create a sequential file in the middle of a pro- gramming session, Jim Klitzing's text ed- itor lets me do it. | can write a few lines; return to BASIC; and, with two key- strokes, go back into the text editor where the file sits waiting for me.

Compatible with this programming marvel (or with Fast Load if I'm not us- ing the wedge) is Gazette’s One- Touch Keywords by Mark Niggemann (June 1984). With Keywords you can use any of the letter keys in combina- tion with either the Shift or the Commo-

Of all the titles in your disk library, there probably are several that have risen to the top to become the cream of your collec- tion. These programs, through their speed, reliability, and ease of use, have be- come the workhorses that handle the bulk of your computing chores. In this month's feature article, “One Man's Work Disk,” Don Radler talks about his favorites and how they make his computer time more effi- cient and enjoyable.

His article started me thinking about my own work disk here at COMPUTE and how it's evolved. As editor of Gazette, | need a good word processor. It probably won't come as any surprise that the first tool | put on any disk is SpeedScript, COMPUTE’s own word processor. (I used it before | start- ed working here. | typed in the original ver- sion years ago.)

SpeedScript is a relatively small pro- gram. | like that because | can store a lot of files on a disk with the word processor and keep related material together.

Whenever we write or edit anything for publication, we usually have a specific length in mind. Knowing how many words an article contains is a big help in this re- gard. Reviews, for example, usually run 750-1000 words. A word processor that counts words is an indispensable tool for professional writers. | modified my word

WHAT WORKS AT GAZETTE

processor to include this feature with Jon- athan Bell's Word Count for SpeedScript (COMPUTE!, December 1986).

When rewriting or editing, | often like to compare the original with the revised ver- sion. This is where Larry Hagney's SpeedSwap (COMPUTE, September 1991) comes in handy. It modifies SpeedScript So you can load two files into memory at once and switch between them with a key- stroke. Best of all, SpeedSwap lets you cut material from one file and paste it into an- other. This great utility program makes SpeedScript even more useful.

Articles, program documentation, re- views, and columns are usually submitted in SpeedScript, ASCII, or Commodore AS- Cll, which is also known as PETSCIl. If a file is in SpeedSeript format, | load it into my 128, edit it, and then save it back to disk. From this point, the file must be con- verted to true ASCIl for additional editing and typesetting on our PC-based local ar- ea network.

| can print a SpeedScript file to disk as an ASCII file, but | usually save it first and then convert it. For converting, | use Ron Carnell’s Sequential File Converter for SpeedScript (COMPUTE!’s Gazette, Octo- ber 1986). This handy program lets me con- vert from SpeedScript to ASCII or PETSCII and from PETSCIl to SpeedScript.

Two other conversion programs | use are PET to ASCII by Joel Rubin and ASCII to PET by Dave Paul. Rubin's program was released in 1983, and Paul's must be near- ly as old. These programs aren't fancy, but they're fast and accurate.

| upload files from my 128 to our BBS and then download them to my Gateway PC and its network. | use a terminal pro- gram that | think is called XMODEM Term. I'm not sure what it’s called, where it came from, or who wrote it because there's no ti- tle or author on any of its screens. It con- sists of a compiled BASIC file and two ma- chine language files. | needed XMODEM protocol because COMPUTE's old system would accept XMODEM transfers only. Oth- er terminal programs are fancier, but this gem loads quickly and serves double duty as a sequential file reader.

After | fill a work disk, | store it away for safekeeping and create a new one. That's when | boot Ross Ouwinga’s Fast File Copi- er (COMPUTE!’s Gazette, September 1986). | tag all the work programs | want— including Fast File Copier—and it copies them onto a new work disk.

These are the programs that work for me. | am comfortable with them. They make me more productive and my work easier. Isn't that the whole idea?

—TOM NETSEL

G-6 COMPUTE SEPTEMBER 1992

GAZETTE D\SK L/BRARY

VALUE-PACKED SOFTWARE AT AFFORDABLE PRICES

All Gazette disks are menu-driven for ease of use—and they feature complete documentation. Just load and you're ready to go!

SpeedScript $11.95 COMPUTE Publications’ most popular program ever. Powerful word processing package includes SpeedScript for the 64, SpeedScript 128, spelling checkers for both 64 and 128 versions, plus an additional dozen support programs, including mail-merge and word-count utilities.

Gazette Index $7.95 Every article and department from Gazette—July 1983 through December 1989 issues—is indexed: features, games, reviews, programming, ‘Bug- Swatter,”” “Feedback,” and the other columns. Disk features pull-down menus, help screens, superfast searching/sorting capabilities, and much more.

Best Gazette Games $9.95 Best dozen arcade and strategy games ever published in Gazette all on one disk. All games for Commodore 64. Titles: Crossroads I/: Pandemo- nium, Basketball Sam & Ed, Delta War, Heat Seeker, Omicron, Powerball, Q-Bird, Trap, Arcade Volleyball, Mosaic, Power Poker, and Scorpion II.

Gazette’s Power Tools $9.95 Fourteen of the most important utilities for the

64 ever published in Gazette. For serious users. Titles: MefaBASIC, Disk Rapid Transit, Mob Maker, Ultrafont+, Quick!, Disk Editor, Basically Music, PrintScreen, 1526 PrintScreen, Fast Assembler, Smart Disassembler, Comparator, Sprint Il, and Turbo Format.

The GEOS Collection $11.95 Gazette's best 13 programs for GEOS and GEOS 128 users. Selection includes utilities, applications, and games. Titles: Super Printer Driver, Skeet, File Saver, Help Pad, Word Count, Directory Printer, Quick Clock, SlideShow, File Retriever, Screen Dumper, Font Grabber, GeoPuzzle, and GeoConverter.

128 Classics $11.95 Thirteen of Gazette’s best 128 programs, including utilities, games, and applications. Titles: MetaBASIC 128, RAMDisk 128, 80-Column Disk Sector Editor, MultiSort, Block Out, Miami Ice,

The Animals’ Show, Cribbage, XPressCard, Sound Designer, Video Slide Show, Math Graphics, and 3-D BarGrapher.

LS SE SS A EL A SE SS SS SS ES SS

* Residents of North Carolina and New York add appropriate sales tax. Canadian orders, add 7% goods and services tax.

All 6 DISKS FOR ONLY $49.95!

A $13.00 SAVINGS!

Name

Address

City State = zip

Amount Method of

enclosed $ payment © Check or Money Order

Mail to Gazette Disks (for orders over $20) 324 W. Wendover Ave., Ste. 200 Greensboro, NC 27408 Credit card no. Signature (required)

Daytime phone number

Exp. date

** For delivery outside the U.S. or Canada, add $1 for surface mail or $3 for airmail. All orders must be in U.S. funds drawn on a U.S. bank.

i SPECIAL OFFER!

B Ali prices include shipping & handling.

; speedScript D $11.95 i Gazette Index O $7.95 i Best Gazette Games O $ 9.95 i Gazette’s Power Tools Oo $ 9.95 i The GEOS Collection O $11.95 y_ 128 Classics O $11.95 i Special 6-Disk Offer O $49.95 | Subtotal

} Tax’

i Outside U.S. or Canada**

' Total

i

L

i ] i i i i I O VISA or MasterCard ' i i I 4 i i a i

tS mE OSS NY SB GS OS ESE EY YO A a es es wld

dore key to print BASIC keywords to the screen. Once you've learned the 52-word language, it speeds up writing and entering programs enormously. Now I'm spoiled—I wouldn't want to type in a program without it.

Whenever | type in a program from Gazette, | always use The Automatic Proofreader. It's a handy program that helps me avoid typing errors. These three utilities are compatible with Proof- reader, which | enter after the first three are installed. I've found that these utilities, when used with Jim Klitz- ing's autonumbering utility, make typ- ing Gazette programs almost fun.

Avoid Typos Whenever | type, | make errors. | do have a couple of ways to avoid the slow- downs caused by typing blunders.

| have two Cardco numeric keypads that | picked up somewhere along the line. Either one will plug into joystick port 2. On one, | pasted data-entry let- ters over the keys, and on the other | put the MLX keypad letters. | put Cardco's KBASIC program on the work disk, along with the sequential files it lets me create for each of these conversions. The MLX entry pad is a re- al timesaver, virtually wiping out the ty- pos made by my fumbling fingers. With two keys devoted to commas, the

data entry pad almost eliminates the pe- riod-instead-of-comma hangup that Plagues many data-statement entries.

Three Computers Finally, there is Triple 64 by Feeman Ng, from the April 1985 issue of Ga- Zette. This little (seven-line) program di- vides the 64’s memory into three inde- pendent 12K sections, each accessi- ble with SYS 40004 followed by the number 1, 2, or 3. Within these sec- tions of memory, different modules of a program can be entered and tested, or three totally different programs can be tried out. It's like having three superfast 12K disk drives at your disposal and not unlike having a RAM disk. | use Hubert Cross's 64 RAMdisk from the Ga- Zette 1988 Special Issue for several pur- poses, but not for ordinary program- entering or programming sessions. Triple 64 works with Kwikload and the Klitzing wedge installed. Without that combination, it works with the Fast Load cartridge enabled. In either case, it installs itself where it fits and gives you the correct SYS address to toggle it on and off.

My Way

If you'd like to try out the Gazette pro- gram-entry setups, I've found the follow- ing combinations work well for me. If

you're going to enter BASIC program listings from the magazine, run Kwikload-1, then Jim Klitzing's wedge, then Keyword, and finally Gazette's Proofreader.

When you want to type in machine language listings using MLX, run Kwikload-1 and then KBASIC (Cardco's keypad software); then call up the keypad modification for MLX; and, finally, load and run MLX itself.

By looking over the collection of pro- grams you've downloaded or typed from Gazette or other magazines, you can probably come up with some gems of your own that you may have overlooked. By combining your most fre- quently used programs on one disk, you can customize a work disk that will let you work more efficiently.

You may have several work disks on hand, depending on your computer ac- tivity at any one time. While my work disk suits my programming needs, a computer artist would have an entirely different set of programs and utilities, Musical programmers, writers, and game designers would have their own customized disks.

So take a look at your files, your us- er group library, or local BBS offerings and put together your own custom work disk. It will make your computer time much more productive. ao

“Someone's been programming my computer, too!”

G-8 COMPUTE SEPTEMBER 1992

COMPUTER 205-739-0040

4 C AUTHORIZED COMMODORE SERVICE CENTER

MOTHERBOARD REPAIR (Send Board Only)

BANIGAT aa iuheoieteee $90.00: T2O ASTM acacusercotttnogsccd $59.00 COMMODORE DISK DRIVES COMMODORE COMPUTERS 1541 C-64.... $4!

MSD, 1571 : C-128.

COMMODORE MONITORS SX-64 Portabl

1701, 1802, 1084, COMMODORE PRINTERS

D7OZET SCZ S srssraarccassccersexsen $85.00 $75.00

Amiga Call for price

'!! FAST TURNAROUND !!!

All parts and labor included. $7.50 shipping. $15.00 APO and business equipment.

WE BUY ALIVE CABLES AND MISC. PARTS C64 $ CALL | REG6 PIN DIN $ 4.45 | 901 ROMS $11.95 1541 NEWT CALL | 12'6 PIN DIN 6.95 | STR54041 12.50 1541 ALPS CALL | 18'6 PIN DIN 7.95 | 41464 9.95 SX64 CALL | MONITOR CABLES 4.45 | 6560 PULLS 10,00 1571, C128 CALL | TV SWITCHES 2.50 | 74LS629 4.95 1526/802 CALL | COMMODORE 82S100 12.95 MUST BE COMPLETE KEYBOARD CALL | 325302 9.95 S$CALL ON DEAD DSDD-Disk 25 for 11.95 | 325572 9.50 EQUIPMENT 8701 6.85 8502 9.00 POWER SUPPLIES COMPUTER EQUIPMENT | 6526 12.50 Ccé4 $24.95 | C64 REFR $ 99.00 | 6522 4.50 C128 49.95 | C128 REFR 219.00 | 6520 3.85 1541, 1581 36.75 | 1702 CBM 169.00 | 6532 6.29 AMIGA 500 75.95 | CBM 1541 ALPS 159.00 | 6502 2.85 AMIGA 1000 134.95 | STARNX1000C 199.00 | 6510 9.95 AMIGA 2000 141.98 | EPSON INTERFACE 53.95 | 6581 12.50 6567 19.95 4164 2.75 COMPUTER SHOPPE OF ALABAMA | ;,.; 16.85

1310 2nd Ave. NW, Suite C 128 UPGRADE i Cullman, AL 35055 g ROMS 23.65 DEALERS SEND FOR PRICE SUBJECT TO $25.00 MIN ORDER PARTS CATALOG CHANGE

Circle Reader Service Number 178

Yes, save time and money! Subscribe to the Gazette Disk and get all the exciting, fun-filled Gazette pro- grams for your Commodore 64 or 128—already on disk!

Subscribe today, and month after month you'll get all the latest, most challenging, and fascinating programs published in the corresponding issue of COMPUTE.

New on the Gazette Disk! In addition to the programs that appear in the magazine, you'll also get outstanding bonus programs. These programs, which are often too large to offer as type-ins, are available only on disk—they appear nowhere else. As another Gazette Disk extra, check out

fo oI ALL ¥ CmD DRIVES

a § ts

FUN GRAPHICS mnAl HI-RES SCREENS

orsk UPPORTS IMPORTING GRAPHICS AND NY POPULAR PROGRAMS INCLUDING: HANDYSCANNER 64 conPy ES

0 v APTURED SIMPLY BY RESETTING F MACHINE,

GEOS SCREENS COMPUTER THEN

Fem CLIP ART VOL.

FGM FONT DISK OVER 90 FONTS IN FGM FORMAT

C=64 KEYBOARD TEMPLATE NAKE vOUR OWN OVERLAYS

C=128 KEYBOARD TEMPLATE HAKE vouR OWN OVERLAY DAILY, WEEKLY, MONTH

S FOR THE FOLLOWING PROGRAMS a CMD’S HARD ORIVE, RAMLINK, RAMDRIVE JIFFY DOS COMMAXDS SHAP SHOT 5S ACTION REPLAY 4&5 EPYX FAST LOAD BUSINESS FORM SHOP CALC STAR BASIC 55Qer ROCK’S ASSEMBLER (S50 THE FUN GRAPHICS MACHINE i c64,C128,SX-64) OR C64 1S SHIPPED

(503)-673-2234

ADD $3.50 FOR S/H PER ORDER IF ONLY ORDERING OVERLAYS THEN S/H 1S $2,00_ PER ORDER Jey

“Gazette Gallery,” where each month we present the very best in original 64 and 128 artwork.

So don’t waste another moment. Subscribe to- day to COMPUTE's Gazette Disk and get 12 issues for only $49.95. You save almost 60% off the single- issue price. Clip or photocopy and mail completed coupon today.

Individual issues of the disk are available for $9.95 (plus $2.00 shipping and handling) by writing to COMPUTE, 324 West Wendover Avenue, Suite 200, Greensboro, North Carolina 27408.

i] | ' YES! Start my one-year subscription | to COMPUTE’s Gazette Disk right away | for only $49.95.* ; Oo Payment enclosed (check or money order) | Charge OMasterCard O Visa | 1 Acct. No. Exp. Date Signature —. Name | Address ty State/ ZIP/ | Province _____________ Postal Code 4 Mail to COMPUTE’s Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430

* Residents of NC and NY, please add appropriate sales tax for your area. Canadian orders, add 7% goods and services tax.

REVIEWS

SUPRA 2400 MODEM

Supra 2400 is an external RS-232 modem that | can recommend. It's been around for several years, long enough for individuals, businesses, and BBSs to shake out any hardware bugs that it might have had.

It's smaller than a Beta vid- eotape, is solidly built, and has eight LEDs that indicate the various modem opera- tions. Supra 2400 is a Hay- es-compatible smart mo- dem that supports AT com- mands, extended & com- mands, and result codes. It has several internal registers for controlling modem func- tions. The modem works well with most popular share- ware and commercial tele- communications programs, BellTerm, Bobs Term, No- vaTerm, and Elite Term be- ing some of the readily avail- able ones.

Supra 2400 is cool run- ning, which certainly adds to its ability to transmit data for long stretches of time without errors, At 2400 bps, transmission is obviously more likely to be affected by phone-line noise than it would at lower baud rates. Supra 2400 uses adaptive equalization and impedance matching like most other mo- dems do and gives you long sessions of error-free transmissions.

Supra 2400 supports sev- eral modem tests. A power- on test automatically checks out the modem eve- ry time it's turned on. There are also manual and self-run- ning analog and digital loopback tests in which the modem generates and sends signals to itself to check that everything is func- tioning. One interesting fea- ture of the Supra 2400 is its

G-10

nonvolatile memory. Even af- ter the power is turned off, the modem will store one tele- phone number. While this fea- ture is welcome, it's over- shadowed by the fact that many other terminal pro- grams support their own phone directories and store dozens of numbers.

used to be that whenever | turned on my computer, my old modem would scream like a cat in heat; now peace reigns with my Supra 2400. If | want to hear a call in progress without insulting my ears, | can control the vol- ume of the modem's speak- er via the software. Supra

Supra 2400 is a cool-running external modem that can give you long sessions or error-free transmissions. :

There's an-error in the Su- pra manual regarding the store feature. The correct command sequence for stor- ing a telephone number is AT&Z= followed by the dial type (T for tone or P for pulse) and the telephone number, as in AT&Z = 75551234. The equal sign character is missing from the documentation in the manual. This supposedly has been corrected by an addendum, but the adden- dum wasn't included with my modem. However, using the AT&W command for stor- ing any modem settings is a more useful application of the nonvolatile memory. The settings with AT&W load au- tomatically whenever the mo- dem is turned on, which saves you the trouble of hav- ing to reach for the manual or the supplied reference card at each session.

| particularly like Supra 2400's power switch. It

COMPUTE SEPTEMBER 1992

2400 also has its own inde- pendent power supply. Now it takes me longer to warm my coffee on my 64's power supply, but | hardly call that an inconvenience!

The Supra company sells an RS-232 interface for the 64 called Peak Modem Inter- face ($39.95); any similar in- terface will work with any RS- 232 modem. The least expen- sive commercial model is the Com-Modem adapter ($19.95) from Aprotek. You could even build an inter- face with the help of the de- signs and descriptions avail- able on most online servic- es. If you want to connect your Supra through the Com- Modem adapter, make sure that you order an RS-232 straight-through DTE cable with male DB25P (25 pins) connectors at both ends.

The documentation for the Supra modem is compre- hensive, although somewhat technical in places for some

users. However, a good tel- ecommunications program takes care of the technical aspects of using a modem, and you never need to both- er with all those AT and & commands and what regis- ters do. Troubleshooting is very well covered. And the best news is that Supra 2400 has a street price of less than $100 (cheaper by mail order) and comes with a five-year limited warranty. RANJAN BOSE

Commodore 64 and 128—$119,95

SUPRA

7101 Supra Dr. Albany, OR 97321 (503) 967-9075

Circle Reader Service Number 341

PANASONIC KX-P2123

Despite the progress made by 9-pin dot-matrix printers in improving their NLQ (Near Letter Quality) fonts, their out- put just doesn't match the quality of a 24-pin printer. A 24-pin printhead essentially has three offset columns of 8 pins each. By printing each line of characters in a single pass, it not only prints faster than its 9-pin ancestor, it also achieves smoother curves and diagonals on let- ters such as O, C, Vand

The downside is that most 24-pin machines are noisy. That's because they have more pins and they print fast- er. A typical 9-pin character uses a matrix of 18 x 18 dots, whereas a 24-pin char- acter uses a matrix of 30 x 24 dots and gets printed at roughly twice the 9-pin speed. Most 24-pin printers sound like a dentist's drill and preclude any conversa- tion nearby. Anything that could be done to make them quieter would be appreciat- ed. Enter the new line of

PUMP UP

YOUR PRODUCTIVITY!

Harness the potential of your, The Garena sorennics 64 and 128 with these nase

Do it all with Commodore

rf | graphics! powe U pr ogr ams. Here's what's on it— Starburst Graphics,

Get more work out of your 64 and 128 Screen Designer 128, with these two new disk products from 128 Graphics Compactor,

COMPUTE's Gazette the 1992 Best of Gazette Utilities, and

the Gazette Graphics Grab Bag!

The 1992 Best of Gazette Utilities

Seize control of your operating system and your world!

Here's what's on it-MetaBASIC 64, MetaBASIC 128, Quick, Sprint Il, Ultrafont+, RAMDisk 64, RAMDisk 128, BASSEM, SciCalc 64, List Formatter, MegaSqueeze. ;

64 Animator, VDC Graphics, Dissolve 128, Super Slideshow, 128 Animator, 1526 PrintScreen, Supratechnic, Medium-Resolution Graphics, Screen Maker, GAS!64— Special Edition, GAS!128—Special

ORDER THEM TODAY!

Extend Your Computer Power With This Powerful Software!

ee ee ee eH EE EE ee OOO

aa ___ Check or Money Order _ MasterCard __ VISA | | want to pump up my productivity! Please send me the | @ disks checked below at $11.95 each. Credit CardNo,__ EX Dat | ignat | The 1992 Best of Gazette Utilities Stonature (Required) | __ The Gazette Graphics Grab Bag Daytime Telephone No. _— Subtotal Name ___ Sales Tax (Residents of NC and NY please add appropriate sales tax for your area. Canadian orders, add 7% goods and services tax.) Address __ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City airmail per disk.) | __ Total Enclosed State/Province ZIP/Postal Code

Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. ie

Gazette Index

Everything’s included! Features, games, reviews, education/home applications, programming, bugswatter, feedback, and columns!

A superb interface includes pull-down menus, help screens, and keyboard,

joystick, or mouse control. Features in-

clude super-fast searching and sorting capabilities. An options screen allows you to choose text colors, drive num- ber, and input device. And there's full documentation on disk.

Choose from three modes of opera- tion—browse for quick scanning, view for detailed information and descrip- tions, and edit for adding items from upcoming issues—and print to any printer. There’s even a turbo-load op- tion for maximum disk-access speed.

ORDER YOUR 1991 GAZETTE INDEX TODAY!

(MasterCard and Visa accepted on orders with subtotal over $20.)

To order, send $7.95 per disk, the quantity of disks ordered, check or money order,* your name and com- plete street address:

1991 Gazette Index

324 West Wendover Avenue Suite 200

Greensboro, NC 27408

“Please add $2 shipping & handling ($5 foreign) for each disk (residents of NC, NJ, NY please add appli- cable sales tax; Canadian orders, add 7% goods and services tax).

All payments must be in U.S. funds. Please allow 4 weeks for delivery.

REVIEWS

Panasonic machines.

Panasonic printers have always been known for their letter quality (LQ) fonts, and now it's comforting to see that their new product line has been made quieter as well. The new line’s lat- est offering includes the 9-pin KX- P2180, the wide-carriage 24-pin KX- P2624, and the 24-pin KX-P2123. The KX-P2123 should be especially attrac- tive to most Commodore owners.

Not only is the KX-P2123 quieter than earlier models, it also has several new features with hardly any increase in price. The new model has a 14K buff- er, compared to 10K on the KX-P1123. The new buffer can hold approximately seven double-spaced pages of text! Adding a Xetec Super Graphics ur. in- terface and a LQ speed of 40 charac- ters per second means that your com- puter will become available about six minutes before the printer spills out the last line.

The earlier Panasonic fonts (Pica, Elite, and Micron in draft quality; Couri- er, Boldface PS, Prestige, and Script in letter quality) are all there, but some new ones have been added. There are lightweight Roman, medium-dark Sans Serif, and a (slower but darker and sharp- er) Super Letter Quality Roman font (not available in IBM emulation). For 64 us- ers, resident LQ fonts such as these are vital. Although GEOS offers a variety of fonts, they don't look professional. It's nice to have a printer with a variety of crisp internal LQ fonts.

The printing speed of the KX-P2123 is said to be as fast as that of the KX- P1123, but the real improvement is in the significantly lower noise level. Sound is measured on a log scale and each reduction by 3 dB (decibels) rep- resents a 50-percent reduction in vol- ume. At 8.5 dB quieter than its pred- ecessor, the KX-P2123 is about one- eighth as loud as the KX-P1123. This noise reduction has been achieved by adding thicker and bigger covers, foam blocks, and technology that Panasonic calls Quiet Touch. Panason- ic has found that noise is reduced when the pins are fired in a random man- ner, rather than in the sequential man- ner used by conventional printers.

The KX-P2123 can load fanfold pa- per either from the rear (tractor push) or the bottom (tractor pull). Single sheets can be fed from the top, and an optional sheet feeder is available. Sin- gle sheets or envelopes can be used af- ter first “parking” the fanfold paper. A “zero-inch tear off” is a convenient pa- per-saving feature that advances a re- cently printed sheet of fanfold for tear-

ing and then retracts the blank sheet back to printing position. The KX-P2123 becomes a seven-color printer by add- ing a relatively inexpensive color car- tridge and motor option.

On the negative side, the KX-P2123 retains its predecessor's somewhat convoluted LED matrix front panel for set- ting a multitude of printer options such as the font, pitch, form length, quiet mode, margins, and macros. It does get easier once you work with it a while, but, initially, keep a bottle of aspirin and the manual handy.

The KX-P2123 emulates Epson LQ860 and IBM Proprinter X24E. GEOS users will be happy to note that the drivers for KX-P1124 (and also for the 24-pin Epson) work with this print- er. Programs that allow you to define printer configuration files, such as The Write Stuff, also work with a minor effort. If your program supports only older Com- modore printers, however, then you're limited to using the interface-based Commodore fonts that generally don't use the higher resolution of 24-pin print- ers. The Xetec Super Graphics ur. (ROM version 1.3 and 1.46) works well in transparent mode as well as in Su- pergraphix and 1525 emulation modes. For 64 users, the primary advan- tage of using a 24-pin printer would have to be in text-based applications. You can easily churn out a professional- looking document with a KX-P2123.

Most 64 graphic programs don't ex- ploit the highest density available on 9- pin printers (216 dpi); therefore, they can't use the higher (360 dpi) resolution of 24-pin printers. The 24-pin's finer dot size and arguably better linearity (align- ment of dots), however, might improve the appearance of the hardcopy.

Although the nylon ribbons that are universally used by dot-matrix printers are economical and satisfactory, it's a pity that Panasonic and other manufac- turers don't produce carbon film rib- bons. These would offer a truly high- quality output option for those who want their documents to look their best. A con- ventional nylon ribbon actually reduces the apparent sharpness of a 24-pin print- er. This can be quickly demonstrated if you print a few lines (without the ribbon) through a quality sheet of carbon paper placed over the printer paper.

Never print without the ribbon for more than a few lines, though. In addi- tion to ink, ribbons carry lubricants that help cool the printhead and protect it from damage.

| found that, when using any of the double-pass printing modes, the output is better if the curved clear-plastic top of the removable pull-roller on top of the platen isn't clamped down. This is a gear-driven assembly that normally

pulls the paper and keeps it taut. When locked down, it tends to pull the paper a touch too vigorously, resulting in some characters having a dotted or bro- en appearance. The pull is gentler, yet adequate, when the curved top is rest- ing on the paper, not down all the way.

Before using the tear-off feature or fan- ‘old parking or before loading for the irst time, remember to set the top-of- orm option. The manual neglects to mention this.

One way to reduce noise even fur- her with this printer is to adjust the print- head gap with the supplied lever. The chatter appreciably diminishes as you move the printhead closer to the paper (subject to paper thickness).

If your computer system is used for any text-based application and you need good quality professional print- outs but cannot afford or justify the pur- chase of a laser printer, then the color- upgradable Panasonic KX-P2123 with its two-year warranty is a reliable, effi- cient, and economical alternative. RANJAN BOSE

Commodore 64 and 128, printer interface re- quired—$419.95

PANASONIC

2 Panasonic Way Secaucus, NJ 07094 (201) 348-7000

Circle Reader Service Number 342

NOVATERM 9.3

NovaTerm is a powerful and well-de- signed telecommunications program that works well with Supra 2400 or any other modem. In addition to the 64's standard 40-column display, No- vaTerm supports an 80-column ANSI (or VT 52/102) graphics screen. Nitpick- ers will always find fault with the clarity of an 80-column display on a 64, but at least that option exists. The program is easy to use and provides several pro- tocols, XMODEM (CRC and check- sum), YMODEM, Punter, and others, to ensure error-free transmission of data.

NovaTerm has a smallish buffer (8K), but you can automatically direct any buffer overflow to disk. Even if your system is equipped with DOS speed-up utilities, Commodore drives can slow down the data stream if you use large-block (1024 bytes) transfer protocols such as XMODEM 1K or YMODEM. NovaTerm supports RAM expansion units (REU) and can con- siderably enhance your system's effi- ciency. If your system doesn’t have an REU and the file to be uploaded or downloaded is smaller than 8192 bytes, then the NovaTerm buffer (RAM disk) can be used to achieve the same end. The program works well

Calc Il makes your math work breeze | of data * Uppercase, lowercase

lowercase and

whether i's a mortgage calculation, | Commodore graptics all available * Bar

budgeting, orkeeping sports statistics. | graphs on-screen with text * Over two

a Cc (Orusaiit for your non-math chores like | dozen functions, including LOOKUP,

phone numbers ormaking a nel IF, RND, SIN & FIX * 240 rows by to

The Fastest sows and sped gets resus toe | wor ‘worksheet setup * Easy text entry. Spreadsheet pe peers itr! Guide and disk with Calc Il, two utilty

column Commodore 64 cxsaing gs aeperety egustable| andhencia rou PANKHURST PROGRAMMING Dept.G « Box 49135 + Montreal * Quebec * Canada * H1N 376

Circle Reader Service Number 152

LOTSA DISKS! THE BEST in 64/128 PD. GEOS, Graphics, Clipart, Demos, Games, Bible, SID/MIDI, Educational, Basic 8 NEW! Graphics Scanning Service Send stamp for FREE catalog or $2 for sample disk.

Diskoveries PO Box 9153, Waukegan, IL 60079

in PD Software

Circle Reader Service Number 190

64/128 PUBLIC DOMAIN SOFTWARE ~ |, REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE- FUNDABLE). Categories include education, utllities, games, business, PRINT SHOP graphics, pre-tested programs and more. Rent for 75¢ or buy as low as $1.00 per disk side or for 80¢ for 70 or more. $20 order gets 4 free disks of your choice.

NEXT DAY SHIPPING! SINCE 1986

fn) CALOKE INDUSTRIES (Dept. GK) =EE PO BOX 18477, RAYTOWN, MO 64133

Circle Reader Service Number 255

KeyDOS ROM Version 2 is here!

The KeyDOS ROM is a chip for the empty socket inside your C128 that adds more than 40 powerful features. KeyDOS is available instantly as soon as you switch on your 128! KeyDOS i is loaded with useful tools to simplify file access on multiple drive systems without typ- ing file names—all major DOS functions included. Select multiple files for copying, viewing, printing, renaming or scratching. ASCIVCBM/Screen code converter. Full support for 1581 subdirectories. Built-in RAMDOS for REUs up to 2MB. New GEOS SupeRBoot.

Alarm clock. Disk editor. Powerful debugger.

Only $32.50. Satisfaction Guaranteed! Write for more information. Enhance your system with the speed and convenience that KeyDOS provides!

Antigrav Toolkit, PO Box 1074, Cambridge, MA 02142 Shipping outside of US, Canada and Mexico add $3

Circle Reader Service Number 155

Commodore Accessories & Necessities

Ribbons! M3 Mouse MPS 801 - 802 - 803 - 1525 - 1526 - 1000 - Modems Visa 1200 - 1230 - 1250 Joysticks * MC or Commodore Printer (Comm. & PC Comp.) Icon Controller UPS C 64 C Computer * 1541-II Disk Drive Cables cop

1802 Monitor Power Supply

SOFTWARE: Educational - Productive - Fun - Commodore-Amiga Authorized Dealer & Service Center - 24-Hour Tumaround on Repairs - CALL for PRICING

ES ELECTRO-TECH ELECTRONICS 6 677 East Main Street + Ventura,CA 93001 + 805-648-5417

Circle Reader Service Number 148

SEPTEMBER 1992 COMPUTE

SOFTWARE

CLOSEOUTS

For Commodore 64 & 128

‘STRATEGIC SIMULATIONS INC. (SSI) ‘$S19.S0EACH Typhoon of Steel, War of the Lance, Curse of Azure Bonds, Pool of Radiance, Countdown to Doomsday, Battles of Napoleon, Tony LaRussa Baseball, B-24, Roadwar 2000, Hillsfar, First over Germany, Heroes of Lance, Pro-TourGolt, Battle for Normandy, Dragons of Flame or Dragonstrike.

MICROPROSE& MICROPLAY ..... oe SU4.SOEACH Acrojet, Destroyer Escort, Netherworld, Rick Dangerous, Top Gunner, Xenophobe, Crusadein Europe, Decision in the Desert, Spitfire Ace, Hellcat Ace, Solo Flight, Silent Service, Conflict in Vietnam, Stunt Track Racer, 3D Pool, F-15 Strike Eagle, Airborne Ranger, or Pirates!

‘ACCOLADE BARGAINS PSI5 Trading Co., Law Killed Until Dead, Hardball, Dambusters, Ace of Aces, Fight Night, or Jet Boys.

TATOPREMIUMTITLES ...... ossnse $14.50 EACH Alcon, Arkanoid, Arkanoid |, Bubble Bobble, Qix, Operation Wolf, Rambo Ill, Rastan or Renegade.

ACTIVISION BARGAINS .... .- $5.00 EACH Toy Bizarre, Mindshadow, H.E.R.0., Crossbow Championship Baseball, Zenji or Powerdrift.

ACTIVISION PREMIUM TITLES.

Gee Bee Air Rally, Aliens,

Maniac Mansion, Beyond Dark Castle, Titanic, Space Shuttle, Christmas Model Kit, Mondu's Fight Palace, or Die Hard.

MANDSCAPELIQUDATION..

Mastertype/Writer Bundle, re SAT, Shinobi, Gauntlet 2, Bop'n Rumble, ColorMe, Combat Course, Into the Eagle's Nest, Indoor Sports, Boston Computer Diet, Songwriter, Thunderblade, Golden Oldies.

COMPSULT P.O. BOX 5160 SAN LUIS OBISPO CA 93403-5160

$10.00EACH Under Fire, MacBeth, Wooden Ships & Iron Men, Ripper!, Tsushima, Stocks & Bonds, Dr. Ruth, Parthian Kings, Jupiter Mission 1999,TAC.., lLegionnaire, Tournament Golf, Maxwell Manor, Statis-Pro Baseball, Gulf Strike, Darkhorn, |Guderian, Mission on Thunderhead, Panzers East, ISuper Sunday, or Panzer Jagd. INFOCOM BARGAINS iStarcross, Suspet MORE GREATDEALS!!!! Printed Wordor The Tool, by Valueware Partner 128 (cartridge forC/128 only),

byTimeworks

Ghostoriter 128, by Hesware (C/12Boniy!)

. $S.00EACH }, or Deadline.

. JAssembler, byCommodore ........

Pet Emulator, by Commodore Entertainer or Educator, by Valueware Tri-Math or Turtle Toyland, by HesWare . Attack ofthe Mutant Camels (cartridge), by HES $3.50

VISA/MC ORDERS CALL TOLL-FREE

1-800-676-6616 Credit Card Orders Only 1!!! ($25 minimum)

TO ORDER: Send check or money order, including shippingcharges o1$5 for U.S.A, $éfor Canada, $12 others. California addressesmust include 7.25% sales tax. Toreceive our complete catalog of over 2,000 items for all computer types, send $2 in cash of postage stamps. The catalogis FREE with any order. Tocheckfor anitem not listed here, cal (B05) 544-6616.

WE ALSO CARRY LOTS OF SOFTWARE FOR IBM, APPLE, MAC, AMIGA, ATARI & MORE!

Circle Reader Service Number 181

8 BIT PO BOX 542 LINDENHURST NY 11757-0542

NOW BRINGING YOU GREAT PRICES ON COMMERCIAL SOFTWARE TOO!

6PACSETS EACH SET $5.00 1: ASST. (StarTrek+) 2: ADULT IMAGES 3: EDUCATIONAL 4: GAMES (Tetris +) 5: DEMOS/MOVIES 6: PRODUCTIVITY

PARADRO: $5.00

MANY ITEMS ARE CLOSEOUTS, AMOUNT OF STOCK IS LIMITED! Add $1.00 shipping per item ordered*U.S. Fands Only! SORRY NOC.O.D.’s OR CREDIT CARD ORDERS FOR A FREE COPY OF OUR CATALOG, CALL: (516)-957-1110 MONDAY - FRIDAY 10am to 5pm EST

Circle Reader Service Number 162

with JiffyDOS. While a CPU accelerator such as Schned- ler System's 4-MHz Turbo Master CPU cannot be ex- pected to increase the actu- al telecommunications speed (after all, 2400 bps is 2400 bps!), it does reduce the processing time re- quired by the computer. This becomes apparent when you notice the faster scrolling and display. Unfor- tunately, Turbo Master isn’t fully compatible with No- vaTerm. YMODEM doesn't work when you're saving a file to the disk with the CPU running at 4 MHz. Saving to a buffer does work, howev- er. XMODEM works well with- out significant improvement over native 1-MHz mode. Al- so, during half-duplex trans- mission, with the modem ech- oing characters that you type, the characters appear as garbage on your screen, but they're transmitted cor- rectly. This can be confus- ing, so I'd recommend disa- bling the cartridge when us- ing NovaTerm.

NovaTerm has the de-

sired complement of file edi- tors and autorun scripts. By using the latter, your comput- er can go online at a certain time, collect messages, download or send files, and hang up without your having to baby-sit the process!

Aprotek distributes No- vaTerm as shareware with its modems. You can also download the program from Aprotek’s BBS at (503) 582- 1225. Callers can download the documentation and the related files on the first call. NovatTerm is also available on QuantumLink and GEnie.

Since this program is shareware, you're invited to try it at no charge. If you de- cide it's useful, send author Nick Rossi a donation of at least $20. Version 9.4 should be available by the time this review appears. RANJAN BOSE

Commodore 64 and 128—$20 (re- quested)

NICK ROSSI 427 Avenue J Snohomish, WA 98290

Circle Reader Service Number 343

BUG-SWATTER

Due to an error that oc- curred during printing, a por- tion of the documentation of Revelation (August 1992) was omitted. Here is the missing text, beginning with the third paragraph.

This is only a simple exam- ple; the technique opens up myriad possibilities for the programmer. For example, the technique can be extend-

ed to larger, expanded sprites occupying 21 x 21 pix- els to reveal larger blocks of text or user-defined charac- ters. Sprites can be used in Conjunction to reveal whole sections of the screen dis- play. More complex tech- niques can be produced by using sprites which aren't completely solid but are pat- terned or shaped. 0

Realistic Nuclear Attack Sub Simulation

C64 oF 128 In 64

Missions

Under The Arctic Ice.

Row rae ty in The North Sea.

ussian Typhoons in

Requires C64 GEOS 1.3 or 20 WRG $19.95 Check or Money Order

VMC Software Cambria Hts.

PO Box 326

NY 11411 SONV CFC!

Circle Reader Service Number 171

Someone tosandey ou. -B0O-621-0379

(In Illinois 1-800-572-6037)

FEEDBACK

64 to IBM Format

| have two 64s and two 1541 drives. | have been using them for about three years. During that time, I’ve built up a large collection of programs and SpeedScript files, which includes hundreds of recipes. Now I've purchased an IBM compatible. What do | need to convert these files so | can use them on my IBM?

CAMERON C. STEELE SPENCER, IN

The first problem is the one of transferring your 64 files to the IBM. This transfer can be accomplished by using termi- nal software and modems to upload and download the files to a bulletin board or even to move them directly be- tween the two computers.

If you have access to a 1571 drive, there are several utilities, such as SOGWAP's Big Blue Reader, that will copy a file from a Commo- dore-type disk and write to an IBM disk.

This process works quite well when transferring text files. Although the 64 uses its own set of characters, PET- SCIl, as opposed to IBM's AS- Cll, converting between the two is fairly easy to do. With word processors such as SpeedScript, you can save files as ASCII or convert them with utilities such as Sequen- tial File Converter. Special codes for centering and under- lining may be a problem, but these can be stripped out of the text before the file is con- verted to ASCIl.

There's a real problem, how- ever, if you wani to convert programs that will actually run on the IBM. BASIC programs are tokenized, which means that keywords such as IF, THEN, and GOTO are repre- sented by a special token, or single byte. When a program is listed, however, the token is converted to the appropriate

word on the screen, so that people reading the listing know what it is. The specific bytes used for indicating key- words are native to the 64, so these tokens must be re- placed with their equivalent bytes or the actual set of char- acters before any transfer can take place.

Utilities that will take BASIC programs and put them into a text form do exist for the 64. Most computers have soft- ware available that will take a program in text form and con- vert it to a BASIC program, in- cluding the IBM. Unfortunate- ly, not all BASICs have the same keywords, so there might be a compatibility prob- lem. Only very simple BASIC programs can be converted.

If your 64 program con- tains POKEs and PEEKs, the addresses are going to mean totally different things on an IBM. Machine language code is definitely nontransferable be- cause the 64 and IBM use dif- ferent microprocessors with dif- ferent sets of instructions.

ML Pokes to Screen

How can you make a small machine language program on the 64 that pokes values to the screen from a certain ad- dress range?

ROCQUE BEAUPRE

HANMER, ON CANADA

Let's say you have the values you want to have transferred residing in memory starting at hex address $C123 and the target region starting at some other address. What's more, let's say that we have 32 bytes to be moved, a hexadec- imal value of #$20.

The high byte of the source adaress is $C1, and the low byte is $23. We'll sym- bolize this with source high byte (SHB) and source low byte (SLB). Similarly, we'll sym- bolize target high byte (THB)

and target low byte (TLB) . The following assembler code shows how the transfer is done.

LDA #SHB_ ; source high byte, in this case, $C1

STA $FC

LDA #SLB _ ; source low byte, in this case, $23

STA $FB ; $FB,$FC serves as a pointer

LDA #THB ; target high byte

STA $FE

LDA #TLB _ ; target low byte

STA $FD _ ; $FD,$FE serves as a pointer

LDY #$00 ; Y register will serve as an offset

LOOP

LDA (S$FB),Y ; load accumulator with the value at the ; address whose low byte is stored in register ; SFB and whose high byte is stored in register ; SFC and offset by the value in the Y register.

STA ($FD),Y ; load the accumula- tor with the value at the ; address whose low byte is stored in register ; $FD and whose high byte is stored in register ; SFE and offset by the value in the Y register.

INY ; increment the Y

register

; have all 32 bytes

been passed?

; if not, loop

through the trans-

fer again

CPY #$20 BNE LOOP

Typing in Hex

Is there a trick or utility that will allow me to use hex ad- dresses instead of decimal when typing POKEs and SYS comamnds in BASIC? The BA- SIC interpreter must convert

SEPTEMBER 1992 COMPUTE

Questions

and answers about

formats, poking ML

typing in hex, and more

G-15

Suggestions about

and ways to show

Gazette Gallery art in

G-16

a slide show

FEEDBACK

en ee eee eee

the decimal address to hex or binary, so it should be possi- ble to intervene in this proc- ess to handle hex addresses.

G. N. ADAMS SACKVILLE, NB CANADA

Your question obviously con- cerns the 64, since the 128 has functions for converting between decimal and hex.

Indeed, the BASIC interpret- er does convert decimal ad- dresses to the computer's own numbering system for its processing, but you can't sim- ply feed it a hex value. Any hexadecimal value you type in must be processed just as a decimal value. After all, it's simply a string of characters when typed, and any string must be processed for mean- ing. After processing, the final form is in binary (base 2), not hexadecimal (base 16).

We use base 16 when do- ing assembler programming because it's more convenient for coding. Because 16 is the fourth power of 2, any binary number can be grouped in fours, each four bits receiving one hex digit.

If you want to use hex in your BASIC program, you'll need a subroutine for convert- ing the hex to decimal. Here's one that'll do it.

5 REM INITIALIZE SUBROUTINE VARIABLES

10 L=LEN(H$): FAC=1: MIN=ASC(‘‘A"):DV=0

20 FOR X=L TO 1 STEP -1: CH=ASC(MID$(H$,X,1))

30 IF CH>=MIN THEN 38

35 V=VAL(MID$(HS,X,1)): GOTO 40

38 V=CH-MIN+10 40 DV=V*FAC+DV: FAC=FAC*16 50 NEXT: RETURN

The hexadecimal number is sent to this subroutine as a string of characters in H§$, and the decimal equivalent is returned as a value in DV.

COMPUTE SEPTEMBER 1992

The subroutine makes use of the additional variables L, FAC, MIN, X, CH, and V.

To use this routine to poke the hex value #$20 into hex ad- dress $04EA, for example, you might set up a line of code like the following.

5 H$="'20":GOSUB 10: XX=DV:H$="4EA”: GOSUB 10: POKE DV,XX

Which Language First?

| am interested in becoming a computer programmer. | am 14 years old and in the 9th grade. What languages should | learn, and in what or- der should | learn them?

JASON SPINETTI BUTLER, PA

Personal computers all work fundamentally the same way. Information is processed one step at a time. Processing may require looping back through a set of instructions or branching to another part of the program according to some test done upon the da- ta. In this sense, one comput- er language is like another. Since the first skill of a pro- grammer is to think like a com- puter—breaking a problem down into terms the computer can understand—the choice of language isn't really impor- tant. It's only later, when your skills become more finely honed and the problems you present the computer with be- come more elaborate or spe- cialized, that you need to wor- ry about the merits of one lan- guage over another. Probably the easiest lan- guage to learn is BASIC. It comes packaged with your computer, and its commands are easy-to-understand Eng- lish words. People will argue and say that C is best or that they don't use anything but Pascal. Others will claim that to be really effective, machine language is the only answer.

Hogwash. Any language will do for starters, and no lan- guage has a monopoly on use- fulness. Our advice is to start with BASIC.

Gallery Art

|_am a subscriber to the Ga- zette Disk and really enjoy the Gallery art included each month. Keep it up!

I'd like to display all of the art in a slide-show program, and | noticed that there is a program called Super Slide- show in the May 1989 issue of Gazette. Is it possible to transfer Gallery art to another disk and use Super Slide- show to display it?. If so, how do | go about transferring Gal- lery art?

BOB LYONS SIMI VALLEY, CA

All of the art that you see on the Gazette Disk is in either Doodle or Koala graphics for- mat. Both of these formats can be displayed by Super Slideshow. (By the way, we need more Gallery submis- sions; we pay at least $50 for each one we use.) The only thing that would need to be changed is the name of the Koala-type files. Koala files use a 15-character name (pad- ded with spaces if the name is less than 15 characters). The name's first 7 characters consist of CHR$(129) (a re- versed spade), the letters PIC, a space, another letter, and then another space. The filename itself comes after these 7 characters.

The Gallery art viewer, in or- der to let us use longer file- names, looks only for that ini- tial reversed space, and that’s all Gallery art in Koala format has. In order to use Su- per Slideshow with Gallery art, therefore, the additional characters, PIC, a space, a let- ter, and another space, are needed. Any file copier will copy the picture files. a]

New * Big Blue Reader 128/64 - 4.0

Transfers word processing, text, ASCII, and binary files between (64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks.

New Version 4.0 features: Transfers ASCII, PET ASCII and Screen Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip, WriteStuff, GEOS, EasyScript, Fleet System and most others.

Supports drives # 8-30. New Backup (C128) and Format (1571/1581) programs. Reads MS-DOS sub-directories, uses joystick, and more. Includes C128 & C64 programs. Requires 1571 -or- 1581 Disk Drive.

Big Blue Reader 128/64 - 4.0 only $44.95

Version 4.0 upgrade, send original BBR disk plus $18.

Bible Search 3.2

Complete Old & New Testament text on (4) 1541/71 or (2) 1581 disks.

An Exhaustive English Concordance on (2) 1541/71 or (1) 1581 disks. Includes more than 700,000+ references.

Incredible five (5) second look-up time, per/word, per/disk.

Instant, automatic spell checking of more than 12,800 words.

Wildcard and Boolean AND, OR & NOT search options.

Search the entire Bible in 5 seconds with 1581 or HD (version 3.52).

Money Back Guarantee!

Features: C64 & C128 programs; screen, printer and disk output;

users guide, disk case. Available on (7) 1541/71, or (4) 1581 disks.

KJV $49.95 | NIV $59.95 | Both $90

«x Any questions? Call or write for more information.

SPECIALS

OMPUTER SAVER: This C- System saves you costly repairs. Over 52% of C-64 failures are caused by malfunctioning power supplies that destroy your computer. Installs in seconds between power supply & C-64. No soldering. 2 year warranty. An ibsolute must and great seller . $17.95 Deluxe RX232 Intertace by Omnitron Serial Printer Intertace by Omnitronix RINTER PORT ADAPTER by Avoid obsolescence. Allows you to use any ommodore (C-64) printer on any PC compati- le or clone. Does not work with Amiga...

512K RAM EXPANDERS

Super 1750 REU CLone (512K). re not 142.50

Si

COMMODORE DIAGNOSTICIAN II

Originally developed as a software package, then converted to a readable format, the

NOPE wo

cian II utilizes sophisticated cross-reference L, grids to locate faulty components (ICs) on all J C-64 and C1541 computers (C-128/64 mode), Save money and downtime by promptly locating

kind needed.) Success rate from diagnasis-to- repair is 98%. Includes basic schematic..$6.95 f\ (Avail. lor Amiga computers with 313° disk at $1435),

GRAPEVINE GROL

Inc

COMMODORE UPGRADES

NEW POWER SUPPLIES

© A super-heavy, repairable C-64 power sup- ply with an output of 4.3 amps (that's over 3x 2s powerful as the original). Featuring 1 year warranty, ext. fuse, schematics, UL approved. Cost is $37.95 and includes as a bonus the Commodore Diagnostician II (valued @ $6.95). © 4.3. amp supply for C-128. Same features as above—$52.50

© Our Biggest Seller © 1.8 amp repairable heavy uty supply for C-64, (Over 120,000 sold. ). $24.95,

& EMERGENCY STARTUP KITS

Repair your own Commodore/Amiga and save lots of money. Kits contain all major chips, schematics, diagnostics, etc. No soldering. Send for full details. Five different kits available.

REPLACEMENT /UPGRADE CHIPS & PARTS

6567 Video . PLA 906114 All 901/225 4164 (C-64/RAM)

C-64 Keyboard (new) Commodore Cables Service Manuals for C64, C128, 1802,

orden by check, money order, or COD. US funds only. i No Credit Card orders. Gane & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR)

SOGWAP Software ® (219)724-3900

115 Bellmont Road; Decatur, Indiana 46733

COMPUTE’s

1084SP, 1541 Send For Free Catalog bry (co) 3 CHESTNUT ST., SUFFERN, NY 10901 eo <= Order Line 1-800-292-7445 Fax 914-357-6243 Customer Service: 914-368-4242 Intemational Order Line: 914-357-2424 We Ship Worldwide Hours: 9-6 E.T M-F Prices subject to change 15% Restocking Charge Tell a friend you've heard it through the Grapevine. Circle Reader Service Number 145

SpeedScript Disk

A powerful word processing package for Commodore 64 and 128 owners

A Great Deal for Commodore Users!

¢ SpeedScript for the 64

¢ SpeedScript 128—80-column version ° Spelling checkers

¢ Mail merge

° Date-and-time stamp

¢ 80-column preview for the 64

* Turbo save and load

¢ Plus more than a dozen other SpeedScript support utilities all on one disk (including full documentation)

Ives! Send me _______ copies of COMPUTE's | SpeedScript Disk.

I've enclosed $11.95 plus $2.00 postage and handling. (Outside U.S. and Canada add $1.00 for surface mail or $3.00 for | airmail.)

| ORDER NOW!

Amount Sales Tax’ Total Name

Address

City State

Mail personal check or money order to

Commodore SpeedScript Disk 324 W. Wendover Ave., Ste. 200 Greensboro, NC 27408

| Residents of North Carolina and New York, add appropriate tax for your area. Canadian orders, add 7% good and services tax.

Please allow 4-6 weeks for delivery. Program available only on 54-inch disks.

Add personalized touches to

your computing by

G-18

programming your computer's function keys.

BEGINNER BASIC

Larry Cotton

WHAT DOES THIS KEY DO?

Back in March 1991, | asked you readers for some help in writing this column. | got lots of suggestions, for which | thank you! This column is in re- sponse to one reader who asked that | explain the keys unique to the 64 and 128.

The 64 and 128 are blessed with special keys that other computers don't have. (The 128 also has 26 extra keys, which give it even more func- tionality.) Some of the 66 keys common to the 64 and 128 have dedicated functions, some seem to work some of the time, and others seem to do absolutely nothing.

As a general statement, all keys are internally hard-wired to do particular things. By clev- er BASIC programming, how- ever, you can override most of their normal functions until the power is turned off. For in- stance, in SpeedScript, which I'm using right now, the left- arrow key is programmed to move the cursor to the left, de- leting as it moves. Epyx's Fast Load cartridge, however, pro- grams that same key to save a BASIC program.

Those two examples hap- pen to be programmed in ma- chine language, but we can do the same things (albeit more slowly) in BASIC. To do this, we should know two things about each key: its CHR$ code and its keyboard matrix value. The CHR$ codes are contained in the computer's manual and other reference guides. The other val- ues can be determined by en- tering this short program.

10 PRINTPEEK(197),PEEK(653) 20 GOTO10

When you run it, you'll see two values that represent what's in these memory regis-

COMPUTE SEPTEMBER 1992

ters, depending on which keys are pressed. When no key is pressed, 197 contains 64, and 653 contains 0. Each key (except Shift, Ctrl, Commodore, and Re- store) Causes a unique value to appear in 197, based on the keyboard's wiring. If two or more keys are pressed si- multaneously, one of the keys will dominate the others. Note that even the Run/Stop key has a value (63), which you can see by holding Shift and pressing the Run/Stop key. The value in 653 depends on the status of the Shift, Ctrl, and Commodore (C=) keys; the values are additive, as shown below. Key Pressed 653’s Value Shift 1 C= 2 Shift/C= 3 Ctrl 4 Shift/Ctrl § Ctri/C= 6 Shift/Ctrl/C= 7

Let's write another short BA- SIC program that illustrates how to put this knowledge to work for us by programming the function keys to change background and text colors.

10 PRINTCHRS$(147)

20 K=PEEK(197): S=PEEK(653)

30 IFK<30RK>6THEN20

40 IFS=0 THEN ON K-2

GOTO100,110,120,130 50 IFS=1 THEN ON K-2 GOTO140,150,160,170

100 C=5: W=0: GOSUB500: GoT020

110 C=6: W=1: GOSUB500: GoT020

120 C=3: W=2: GOSUB500: GOT020

130 C=4: W=3: GOSUB500: GoT020

140 C=7: W=4: GOSUB5S00: GoT020

150 C=10: W=6: GOSUB500: GoT020

160 C=11:W=5: GOSUB500: GoT020

170 C=12:W=7: GOSUB500: GOT020

500 POKE53280,C: POKE53281,C: POKE646,W

510 PRINT “LIKE THIS COMBI- NATION?[UP]”: RETURN

Line 20 checks memory reg- isters 197 and 653. Since we're looking only for function key activity, we weed out all other keyboard matrix values in line 30, Lines 40 and 50 de- termine whether the Shift key is pressed or not and then the ON-GOTO statement is used.

10 PRINTCHR$(147):POKE646,1

20 BG=53281:B0=53280

30 GETA$:IFA$="*"THEN30

40 V=ASC(AS): IFV<133 ORV>140

THEN3O 50 ONV-132 GOTO100, 110, 120, 130, 140, 150, 160, 170

60 GOTO30

100 BG=5:B0=0: GOSUB500: GOTO30

110 BG=6:B0=1: GOSUB500: GOT030

120 BG=3:B0=2: GOSUB500: GOT030

130 BG=4:B0=3: GOSUB500; GOTO30

140 BG=4:B0=8: GOSUB500: GOTO30

150 BG=10:B0=6: GOSUB500: GOTO30

160 BG=11:B0=5: GOSUB500: GOTO30

170 BG=12:B0=7: GOSUB500: GOTO30

500 POKES3281,BG: POKES53280,B0: PRINT “LIKE THIS COMBINA- TION?[UP]”:RETURN

Line 30 waits for a keypress. Line 40 gets the ASCII value of A$, subtracts 132, and then uses ON-GOTO to choose the appropriate line. Of course, you'll probably want to do more important things than just change col- ors with the function keys, but this should give you enough information to get started. Next month we'll look at more unique keys. oO

DISKS O'PLENTY INC 7958 PINES BLVD. SUITE 270A PEMBROKE PINES FL 33024 (305) 963-7750 Call or write for free descriptive catalog of C64/128 Public Domain & Shareware Choose from over 900 Disks Adult list of over 50 Disks available to those 18 or over.

SID MUSIC UTILITIES PRINTSHOP UTILITIES JR HIGH EDUCATION HIGH SCHOOL EDUC. TYPING / SPANISH COMPUTER SCIENCE PIRATES TOOLBOX FOREIGN ARCADE CASINO-BOARD GAMES GEOS FONTS

LOTTERY PROGRAMS COLLECTORS CORNER

Circle Reader Service Number 253

021MU

019GR 019ED 062ED 033ED 031ED O10UT 119GA 022GA 021GE 002MS 003MS

Choose 6 for $5.00 LIMITED OFFER

THE STRATEGY/CAMPAIGN GAMES

of JACK O'ROSES o1s92

for play on Commodore 64/128 and Plus 4 (5 1/4° disc. Specify if for Plus 4)

$19.00 Each or $55.00 for all 3!

THE RECENT UNPLEASANTNESS Individual contro! of 43 Confederate Divisions/149 Brigades. Could you have turned back the Federal on- slaught? Don't re-fight the Civil War, declare your own!

COMSOPAC : The Guadalcanal Campaign Engage the Imperial Japanese Navy in Ironbottom Sound. Lead air attacks on the "Tokyo Express” in "The Slot”. Be with the 1st Marines and American Division along the Tenaru.

MALADAN THE INVADER

You alone, Krysiga, have the political and military savvy to form the Alliance and into battle the legio of the nine fuedal Lords. Slam-bang medieval co! Never play the same game twice. Packed with Historical fact. ‘Send check or money order to: JACK O' ROSES P.O. BOX 144, MIDDLETOWN, PA 17057 (717)944-5843

ode!

rot

* Upgrade your Commodore system

Refurbished Hardware TORS DRIVES OTHER 1660-$30 1670-$50 C64 -$100 64C-$120

1541-$100 1544-11-$120 1571-S165 1571-11-$185 1581 -$180 C128-$175 1001SFD-$150 _C128D-$225 1590 DATASETTE-$35 MANY BOOKS- $10 SOFTWARE - $10-20 ASK FOR ANYTHING, | MIGHT HAVEITI J.P. PBM PRODUCTS BY MAIL P.O. BOX #1233, STATION B WESTON, ONTARIO, M9L2R9

FOR STAR NX1000C

CommoporE 64

C-64 Program: "DRAW-PRINT

DRAW AND PRINT YOUR GRAPHICS OR PICTURES IN COLOR DRAW: Full 320x200 pixel high res. bit map screen - On screen crayon coordinates for precision -

PRINT: 4"x2.75" or 8"x5.5" screen dumps In color - No Interfaces needed FUN TO USE - MANY HOURS OF CREATIVE SATISFACTION $14.00 check or money order to:

G.P. Software, Box 571, West Long Branch, NJ 07764

New APROTEK modems 64/128/AMIGA-2400 BAUD-$119 64/128/AMIGA-1200 BAUD- $89 APROSAND-4 SLOT CARTRIDGE EXPANDER FORTHE 64/128 -$40 New CMD accessories JIFFYDOS 64/128 & ANYORIVE“SYSTEM"-$85 128D/ANY DRIVE “SYSTEM"- $95 ‘ADDITIONAL DRIVE ROMS - $45 RAMLINK/RAMCARD C/W BATTERY (OMb)- $345 {Mb RAMSIMM-$75___ 4b RAMSIMM - $250 SHIPPING INCLUDED FOR CANADA, USA +15% 15 DAY WARRANTY ON REFURBISHED GOODS TAX-Canada+7% GST, OntarioRes. +8% PST

RAINBOW PRINTER

Key press andjor 1351 Mouse crayon control Vertical and horizontal mirror Imaging, re-coloring

PuBLic DOMAIN

Highest Quality Since 1987* Games, Education, Business, Utilities, GEOS, Music, Graphics & More. As low as 90¢ per collection. 1 stamp for complete catalog or $2.00 for catalog AND 30 sample programs (refundable).

24 hour shipping.

64 DISK CONNECTION

4291 Holland Rd., Suite 562

- Vi

(* Formerly RVH Publications) Circle Reader Service Number 254

ORIGINAL COMMODORE C= 1750 (512K) ee ee PLUG-IN G

Commodore has just released 400 of these hard-to-find RAM expansion units that give you a full 12K of RAM at a sensational price. NOTE: The 1750 works with C64 and C128. A separate heavy-duty power supply is needed for the C64, which we will sell at a discounted price of $27.95. DONT MISS

OUT ON THIS ONE!

The Grapevine Group, Inc. 3 Chestnut St., Suffern, NY 10901

ee KBD order tine: 1-800-292-7445 or 914-357-2424

wl

Customer Service Line: 914-368-4242

We Ship Worldwide

Fax: 914-357-6243

Hours:9-5 ET M-F

Circle Reader Service Number 145

XC) ey)

Can Your Computer Make

YOu ‘$1,000,000?

WITH LOTTERY PC YOUR NEXT TICKET COULD BE WORTH MILLIONS!

LOTTERY uses the raw power and storage of your computer to determine and refine the number selection methods that will win the various lottery games you play. Don't be limited to the one or two methods that other programs use. they might not work in your state. There is no better system available!

Join the growing list of winners using our system.

SPECIFY: Lottery 64(C64/128) Lottery PC IBM PC/XT/AT and compatibles

Commodore64/128 & Plus/4 are registered trademarks of Commodore Int IBM PC/XT/AT ate registered trademarks of International Business Machines Inc

To order, send $29.95 for each plus $3.00 postage & handling per order to

(Illinois residents add 6% sales iat).

(Grders outside North America add $3.00)

(ey

[>

C.0.D. orders call:

(708) 566-4647 Superior Micro Systems, Inc. +. as 26151 N. Oak Ave. (aid S Mundelein, IL 60060 Ys, At 4

Circle Reader Service Number 221

IF YOU'RE NOT RECYCLING YOU'RE THROWING IT ALL AWAY.

1-800-CALL-EDF

G-20

Use a double buffer to produce extremely fine scrolling on your 64’s screen.

MACHINE LANGUAGE

SSS Sa ES Ee ae

Jim Butterfield

SMOOTH SCROLLING

Pixel scrolling seems simple. Experimental POKEs on a 64 to address 53265 or 53270 (hexadecimal D011 or D016) will show how the screen may be shifted one pixel.

The tough part comes when you reach the limit of a pixel register, which goes from 0 to 7. At that time, you must move every one of the characters onscreen to a new location and then reset the pix- el count.

So, can we move 1000 bytes in less than '/6eo second? Practically speaking, it can't be done, not even at the blind- ing speed of machine lan- guage. And if we are working with a high-resolution screen, we need to move 8000 bytes. So many bytes, so little time. It's out of the question.

There is a way around it, though: double buffering. Here's how it works. We have two screen areas set up in memory, One screen is being displayed, and the other is be- ing constructed. When the sec- ond screen is complete, we tell the video chip to switch its attention to the new location. It now becomes the “real” screen, and we can start to build a new display in the for- mer screen-memory area.

It still takes time to do this, but the switch won't take place until the new screen is completely built. Both pixel scrolling and the screen switch benefit from careful tim- ing. We must pull the switch during retrace to ensure that there will be no flicker or screen jump.

The following is a simple smooth-scroll program for the 64 that demonstrates this tech- nique. The code is stored in the cassette buffer memory ar- ea. Because of its size, we'll fo- cus our attention on selected

COMPUTE SEPTEMBER 1992

parts of the program. You may enter the BASIC program, run it, and then disassemble the machine language code if you want to see details.

Our two screen buffers are located at 32768 and 33792, hexadecimal 8000 and 8400. We build the new screen by copying characters from the other, active, screen. The direc- tion of our scroll is up, so we drop the first 40 characters from the old screen, copy the rest, and then fill the bottom line of the new screen with space characters.

The program uses two indi- rect addresses to do this cop- ying: $26/27 holds the “from” pointer, and $28/29 the “to” pointer. As we flip between the two screens, the two point- ers are set appropriately.

The first thing the program must do is copy the screen. That occupies code from $033C to $037E. A short loop follows to pad the bottom line with space characters.

At $038A, we walk the old screen through its pixel scroll. Since we're scrolling in the up direction, our objective is to step the Y pointer from 7 down to 0. That pointer is stored in the video register at $D011, which also contains the video-enable signal as bit 4. So the value that we stuff in- to that register will step from $17 down to $10; we hold this value in the X register.

Before each pixel scroll, we wait for a screen retrace. We do this by watching that same register, $D011. Its two high- est bits tell us about the ras- ter. When the value of those two bits goes down, it’s re- trace time.

In fact, we wait for six re- trace events. We don’t want our pixel scroll to be too fast, or the user might miss it. Each retrace happens in about '/eo second, so a loop of six retrac- es will slow our pixel move- ment to 10 per second.

; scroll seven pixel positions

038A LDX #$17

; wait about 1/10 second

038C LDY #$05

; wait for screen retrace 038E LDA $0011 0391 AND #$CO 0393 CMP $03D0 0396 STA $03D0 0399 BCS $038E 039B DEY 039C BPL $038E

; do pixel scroll

; set up

next

039E STX $D011

03A1 DEX

03A2 CPX #$10

03A4 BCS $038C

Now the pixel scroll has reached its limit. Our screen characters are set; we simply flip to the new screen. We must also return the pixel counter to its highest value. Moving the characters is the equivalent of eight bits of scrolling, so we back off sev- en bits to produce a net one- bit scroll.

03A6 LDX #$17 O3A8 LDA $D018 O3AB EOR #$10 O3AD STA $D018 03BD STX $D011

The above coding puts the two store instructions close to- gether to minimize possible screen jump. In fact, we're quite safe, since all this is be- ing done in retrace time.

A small amount of extra cod- ing is added. Its purpose is to reposition the cursor so that the next time we print, the in- formation will go to the new screen and be printed at the appropriate place. This in- volves storing a new value in address $0288. The Kernal

routines use this address to 13,141,208,3,176, EXAMPLE"; DS 466 FOR J=1 TO 1000:N find the screen. 243 MQ 396 SYS 828 EXT J EQ 15@ DATA 136,16,24G,1] FA 406 PRINT "OF PIXEL S|ER 800 POKE 648,4 The program code shows 42,17,208, 202,224 CROLLING"; GJ 810 PRINT "END!"

a character screen moving ,16,176,236,162,2| HQ 410 SYS 828 JM 820 POKE 53272,26

in one direction only. Once 3,173,24,268,73 AJ 420 PRINT "WITH DOUBL] FJ 830 POKE 56576,7

you understand the princi- | AB 160 DATA Mer TAT ee ae E BUFFERING"; DE a BORE. 03708127 one

i 2,17,208,17 XS 430 SYS 828 ples involved, you can take GEAUGA gh elt an 7 136,2,73,4,141,13| FF 44@ PRINT "I HOPE YOU IONAL

on more ambitious jobs. 6,2,169,145,32,21 LIKE IT"; KA 8606 POKE 55,@:POKE 56

BX 100 DATA 169,46,133,3 6,255 HX 450 SYS 828 7 160:CLR 8,169,0,133,40,16| XS 174 DATA 169,13,76,21 2,128,160,132,134 6,255 739,132,41,169,16| EB 200 FOR J=828 TO 964 TYPING AIDS

HP 116 Pe Ogee ae Boa bebe MLX, our machine language entry program for the 64 and 128, and 162 a 160.4 177 FQ 230 POKE J,X The Automatic Proofreader are utilities that help you type in Gazette 38 145,40, 200,192 OF 240 NEXT 3. Programs without making mistakes. To make room for more pro- Sgie es MJ 250 IF T<>15776 THEN grams, we no longer include these labor-saving utilities in every is-

DC 126 DATA 144,247,24,1 {SPACE}STOP sue, but they can be found on each Gazette Disk and are printed 65,38,105,40,133,| BD 286 POKE 55,@:POKE 56 in all issues of Gazette through June 1990. 38,144,2,230,39,2 ,128:CLR lf you don't have access to a back issue or to one of our 4,165,48,105,40,1|DX 300 POKE 53265,23 disks, write to us, and we'll send you free printed copies of both of a Ee a aS si4 po Besz ens these handy programs for you to type in. We'll also include instruc-

EM 138) page 324/24 aad 2| KH 330 oe 648 128 tions on how to type in Gazette programs. Please enclose a self- 18 169 32 166 g1 KD 340 PRINT CHRS (147) addressed, stamped envelope. Send a self-addressed disk mailer 45,40,206,192,46 |JE 356 FOR J=1 TO 22 with appropriate postage to receive these programs on disk.

SF 1406 DATA 144,249,162,|CS 366 PRINT Write to Typing Aids, COMPUTE's Gazette, 324 West Wen- 23,166,5,173,17,2| PS 370 NEXT J dover Avenue, Suite 200, Greensboro, North Carolina 27408. 68,41,192,205,268|HK 386 PRINT "THIS IS AN

| SEPTEMBER 1992 COMPUTE G-21

For GEOS to interpret

the signals from your input device, you need to

provide it with a bit

G-22

GEOS

Ear Se a eS]

Steve Vander Ark

POINTERS AND DRIVERS

A graphical user interface (GUI) such as GEOS handles routine commands with a point- er on the screen, which makes the computer a friend- ly place to work and play. Just point and click, and the com- puter leaps into action.

There has to be a link, how- ever, between your thinking and the computer's high-pow- ered magic. You need some way to move the pointer on the screen, some gadget that will translate your actions into elec- trical impulses the computer can understand. GEOS refers to these gadgets as input de- vices; you most likely refer to them as a mouse and joystick.

In order for GEOS to know how to interpret the signals from the device you're using, you need to provide it with a small bit of code called an in- put driver. You probably know that the input driver you install on your boot disk will be the one the system assumes you're using when it boots.

You probably also know that you can switch from one input driver to another from the deskTop with an option on the GEOS menu. The joystick and the mouse aren't the only input devices around, howev- er. GEOS 64 has drivers for two other popular gadgets: the light pen and the Koala- Pad, For another thing, the driv- ers you get with GEOS aren't the only ones available—and aren't necessarily the best ones either.

As far as devices go, the best known are the mouse, the joystick, the Inkwell light pen, and the KoalaPad graph- ics tablet. Each device has its strong points.

The joystick is particularly well suited for games. Also, the Suncom Icontroller, a small joystick that attaches to

COMPUTE SEPTEMBER 1992

the side of your 128 or 64, lets you keep your hands near the keyboard while working; this is handy while using geoWrite.

The mouse is perhaps the most versatile of the bunch; its proportional movement (in oth- er words, the fact that it speeds up as it moves) makes it superior for maneuver- ing around the GEOS screen. Since the mouse is held rough- ly the same way a pen or pen- cil is held—in one hand and moved about on a flat sur- face—it's very easy to use for graphics in geoPaint or for ob- ject placement in geoPublish.

If a natural drawing posture is what you're after, though, the light pen is a logical choice. You hold it like a pen, obviously, and actually draw on the screen with it. For some drawing tasks, the light pen is perfect. Freehand art- work using the spline tool in geoPublish is a good exam- ple. On the downside, you have to hold your hand up to the screen all the while.

With the KoalaPad, you hold the stylus exactly like a re- al pen. Since you hold the writ- ing surface with your other hand, this device gives the best combination of intuitive use and comfortable posture. Device drivers for both the light pen and the KoalaPad are included only with the 64 version of GEOS, however.

These official drivers for the pen and pad are far from per- fect. For one thing, the light pen driver reads the button click from the button on the pen itself. This is fine for drop- down menus, but if you're po- sitioning graphics or trying to hold the end of a spline in place, you can't press the but- ton without serious jiggling. This makes using the pen for graphics virtually impossible.

Q-Link has a solution in the form of an alternate driver called PenJoy (filename: PEN- JOY, uploaded by Mystic

Jim). Instead of reading the but- ton on the pen, PenJoy reads the button of a joystick plugged into port 2. Even with the best of alternative drivers, though, the response of the pen to the screen in GEOS is poor. The pen frequently mis- reads the screen, which in ge- oPaint results in stray and scrib- bly lines.

The problem with the Koala- Pad driver is that it translates the position of your pen on the pad literally to a position on the screen. If you don't have the pointer “attached” to your pen position, such as when a drop-down menu opens and the pointer is arbitrarily placed on the first choice, you have to scratch around trying to snag the arrow’s position with your stylus. Chances are you'll miss it or accidentally move it away from where you wanted it. The precision with which you can move the point- er is less than exact as well.

A new KoalaPad driver avail- able on Q-Link addresses these problems; it's filename is KOALA PAD III, uploaded by SYSOP Ph).

There are input drivers avail- able on Q-Link for the mouse and joystick as well. You can get mouse drivers that use port 2, that allow you to double- click only with the right but- ton—not the left—and that switch your 128 into 2-MHz mode. You can also find driv- ers for Supersketch and the Atari trackball on Q-Link.

Which device is best? I've used them all with various driv- ers and in most applications, and I'll put my money on the mouse. There's simply no in- put device that works as smoothly and precisely or feels as natural as the mouse. It works better for freehand drawing than either the light pen or the KoalaPad, and it scoots you around the desk- top more quickly and efficient- ly than the joystick. ia]

The Gazette Productivity Manager

(Formerly PowerPak)

Harness the productivity power of your 64 or 128!

Turn your Commodore into

a powerful workhorse, keep track of finances, generate reports in a snap, manage your money in minutes—

all with the new 1991 Gazette Productivity Manager! Look at all your 64/128 Productivity Manager disk contains.

ORDER YOUR 1991 GAZETTE PRODUCTIVITY MANAGER TODAY!

GemCalc 64 & 128—

A complete, powerful, user-

friendly spreadsheet with all the features you’d expect

in an expensive commercial package (separate 64 and 128 versions are included). Most commands can be performed with a single keypress!

Memo Card—Unleashes the power of a full-blown database without the fuss! Nothing’s easier—it’s a truly simple computerized address file. Just type in your data on any one of the index cards. Need to edit?

Just use the standard Commodore editing keys. (MasterCard and Visa accepted on orders with subtotal over $20). Finished? Just save the data to floppy. What couldbe =~... easier? LIYES! Please send me —_ Productivity Manager disk(s)

($14.95 each).

—_—_— Subtotal

______ Sales Tax (Residents of NC and NY please add appro- priate sales tax for your area. Canadian orders, add 7% goods and services tax.)

_____ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 airmail per disk.)

Financial Planner—Answers all of those questions concerning interest, investments, and money manage- ment that financial analysts charge big bucks for! You can plan for your children’s education and know exactly how much it will cost and how much you need to save every month to reach your goal. Or, decide whether to buy or lease a new car. Use the compound interest and savings function to arrive at accurate estimates of how your money will work for you. Compute the answer at the click of a key!

DON’T MISS OUT ON THIS POWERFUL WORKHORSE!

!

I

|

|

!

!

I

1

!

—— Total Enclosed

| —Check or Money Order MasterCard VISA 1 Credit card No. ! 1 ! ! ! 1 I I I I I I |

Signature

(Required) Daytime Telephone No.

Name

Address

City State/ uP/ Province

Send your order to Gazette 1991 Productivity Manager, 324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408.

Here are several disk-related

G-24

come in handy.

PROGRAMMER’S PAGE

Randy Thompson

DISK TRICKS

Disk drives are such an inte- gral part of any computer sys- tem that it would be difficult to imagine computing without them. Here are some great disk-related tips sent in by read- ers. Keep those tips coming; we pay $25-$50 for each one we publish.

Quick and Easy Append Follow these seven steps the next time you need to add one BASIC program onto the end of another BASIC pro- gram. Note that the last line number of the first program must be lower than the first line number of the program be- ing appended.

1. Load the program with the lowest line numbers.

2. Enter the commands POKE 43,PEEK(45)-2: POKE 44, PEEK(46)

3. Load the program with the highest line numbers.

4. Enter the commands POKE 43,1: POKE 44,8

5. Enter LIST to check your new, larger program.

6. Ifyou get an OVERFLOW er- ror message, enter a do- nothing line, such as O REM

7. Save your new program.

HELEN ROTH LOS ANGELES, CA

What's Your Address?

The following program asks for the filename of a machine language program and then tells you where that program loads into memory. This is im- portant information when you forget a program's SYS ad- dress because the address in which a program loads is usu- ally its SYS address, too.

RB 10 INPUT "PILENAME";FS

RA 20 OPEN 8,8,8,FS+",P,R”

SC 30 GET#8,LBS,HBS

QR 40 CLOSE 8

KH 5@ HB¥ASC (HBS+CHRS(@)) :LB=A SC (LBS+CHRS$ (@)) :SA=HB*25 6+LB

COMPUTE SEPTEMBER 1992

JA 6@ PRINT "STARTING ADDRESS: "FSA

PRINT "PROBABLE PROGRAM

{SPACE}TYPE: ";

IP SA=2049 THEN PRINT "B ASIC":END

PRINT "MACHINE LANGUAGE"

QH 70 Ps 80 SM 98

JOHN L. BERGERSHIRE MANSTOWN, PA

Scratch That Last Command

If you accidentally delete a program from disk using DOS's SCRATCH command, you may be able to recover it if you act quickly. Immediate- ly after erroneously deleting a file, enter LOAD “*",8. If the scratched program was the last one loaded or saved, the computer will reload that pro- gram into memory. Now, be sure to save the program to disk again before you do anything else foolish.

ROB MAXWELL. DELTA, B.C. CANADA

Disk Manager

This simple program makes it easier to format disks and re- name and delete files. Choose the desired menu op- tion and answer the prompts.

KP 18 PRINT "{CLR}{RVS}

{6 SPACES}DISK MANAGER - BRAD SCHULTZ{7 SPACES}" : PRINT: PRINT PRINT: PRINT

{RVS}1 {OFF}

PRINT: PRINT

(RVS}2{OFF)}

PRINT: PRINT

{RVS}3{OFF}

PRINT: PRINT

{RvS}4 {OFF}

KK 26 "{2 SPACES} RENAME FILE" "(2 SPACES) DELETE FILE” "{2 SPACES} FORMAT DISK" "{2 SPACES} EXIT PROGRAM

GH 36 Gs

GI 56

KS 6@ PRINT:PRINT "ENTER YOUR {SPACE}CHOICE: ";

GET K$:IF KS<"1" OR KS>" 4" THEN 70

PRINT K$: PRINT: PRINT:ON {SPACE}VAL(KS) GOSUB 196 1208,300,406

AF 98 GOTO 16

PF 106 REM RENAME FILE

MJ 116 INPUT "OLD FILENAME" ;OF $:IF OFS="" GOTO 166 INPUT "NEW FILENAME"; NE $:IP NES="" GOTO 166 OPEN 15,8,15 PRINT#15,"RG:";NES;"="; ors

CLOSE 15

RETURN

REM DELETE FILE

INPUT “DELETE WHICH FIL E";DFS:IF DFS="" GOTO 2 58

OPEN 15,8,15 PRINT#15,"SG:";DES CLOSE 15

ss 78

JJ 88

FG 126

MD 136 xe 14¢

FF 15¢ KA 160 FQ 200 MS 219

BK 226 DE 23¢ MP 24@

SG 250 GK 300 Pc 316

RETURN

REM FORMAT DISK

INPUT "DISK NAME"; DNS:1 F DNS="" GOTO 370

PRINT "PLACE DISK TO BE FORMATTED INTO DRIVE 8 AND PRESS A KEY"

GET K$:IF KS="" GOTO 33 @

OPEN 15,8,15 PRINT#15,"NG:";DNS;",BS

CH 320

XA 338

PB 340 XM 350

CLOSE 15 RETURN

REM EXIT PROGRAM PRINT "{CLR}":END

SD 360 DR 376 KS 496 DR 416

BRAD SCHULTZ APPLETON, WI

Quick-Load Classic

Here's a classic load-and-run tip that's been around the disk block a few times, but it's so useful it bears repeating. In- stead of entering a LOAD com- mand, waiting for the designat- ed program to load, and then typing RUN, try typing LOAD “program 8: and then press- ing Shift-Run/Stop. As soon as you do, LOAD appears on the screen, and your program automatically loads and runs. You don’t even have to press the Return key.

KEVIN REEVES GROTON, CT

Vital Statistics

The BASIC code listed below allows you to determine a disk’s vital statistics. You can determine the disk's name, ID, and number of free and used disk blocks from within a program without listing the disk’s entire directory. The en- tire process takes three sec- onds or less.

FJ 18 SYS 57812"$0",8,0:POKE 7

8,G:POKE 781,:POKE 782

1207:SYS 65493

BF=PEEK (53625) *256+PEEK (

53024) :BU=664~BF

SS=52998:FSS$="":GOSUB 16

O:DNS=FSS

ID$=CHRS (PEEK (53016) ) +CH

RS (PEEK (53017) )

PRINT "DISK NAME: ";DNS$

PRINT "DISK ID: ";ID$

PRINT "BLOCKS USED:";BU

MD 8@ PRINT "BLOCKS FREE:";BF

ME 90 END

HF 100 SC=PEEK(SS):IF SC=160 0 R SC=34 THEN RETURN

RD 116 FS$=FSS$+CHRS (SC) :SS=SS+ 1:GOTO 106

SM 20 EB 38 KX 48 DH 58

DE 60 xJ 78

CAMERON KAISER LA MESA, CA a

PROGRAMS

DRIXELLA’S DILEMMA

By Arthur Moore

Drixella's Dilemma is a game with decep- tively simple rules, but it's a game that re- quires strategic planning. It’s played on a 64 with one joystick.

The evil witch Drixella has taken you hostage. All is not lost, however, she dan- gles before you one chance for freedom. “Here you will remain,” she shouts with a booming voice, “until you solve the puz- zle!" The door slams shut, and her chill- ing laughter fades into silence.

You notice a clay board in a corner that consists of 96 squares, 12 across and 8 vertical. Nearby are a scroll and small velvet pouch. Opening the scroll, you see faint writing. You begin to read.

“Herein are 72 tiles that have been painted six different colors. On them are six different icons that represent the realm of witchcraft: broom, cauldron, bee- tle, black cat, crow, and Drixella's hat.

“Your goal is to place all 72 tiles on the playing board. The first 6 have been placed for you. To complete the task, you must follow these five rules.

“4. Tiles are taken out one at a time.

"2. To play a tile, you must place it next to an occupied square. Diagonals aren't included.

"3, Surrounding tiles must match the played tile in either color or icon.

"4. If a played tile touches more than one other, the matches must balance. If two tiles are adjacent, one must match by col- or and the other by icon. If three should border, two must have the same color or icon, and the other must match in icon or color. If four should border, then there must be two color matches and two icon matches.

“5. You must play a tile before the timer runs out. After each play, the timer will be reset and will run a bit faster.”

“Simple enough,” you say to yourself. “I'll just play all the tiles, and I'll go free!” Little do you realize that this is the first of many days that you'll spend pondering Drixella's Dilemma.

Entering the Program

Drixella's Dilemma is written entirely in machine language. To enter it, use MLX, our machine language entry pro- gram; see “Typing Aids” elsewhere in this section. When MLX prompis, re-

spond with the following values.

Starting address: 0801 Ending address: 1608

Be sure to save a copy of the program before you exit MLX.

Taking Control

Use a joystick in port 2 to play. Move the flashing cursor to the desired square and press the button to put the tile at the right on the playing board. A buzz indicates an illegal move, and the explanation will be highlighted below. Your timer ticks down at the left of the board. Scoring is based upon the num- ber of adjacent tiles. One adjacent tile earns 10 points, two tiles earn 30 points, three tiles earn 90 points, and four tiles earn 200 points.

The plus sign (+) beneath your score counts the number of four-way combinations you have completed. These are tiles with all four adjacent squares occupied at the time of play- ing. These mark the gauge of a true champion.

Practice, Practice

At the title screen, you have the option of playing either a scored game as de- scribed above or a no-pressure prac- tice game. In the latter mode, a timer won't be used, allowing you time to con- centrate on every move. Score isn't tal- lied in practice.

You also have an undo key in prac- tice mode. By pressing f1, you can take back your previous move. All moves are recorded, so you may undo as many as you wish. Of course, this ac- tion is frowned upon, and your comput- er will taunt a bit. In a practice game, you simply make as many moves as you can.

During actual play, the game will end should the timer run out before you make a move. Pressing f7 while playing either mode will return you to the title screen.

Hints Go for points early. Look for moves that border more than one tile. This will free up moves when the board fills and moves become scarce.

Don't group too many of the same color in one area. Likewise, don’t

'

group too many of the same icon in one area. This will make it difficult to make moves with multiple borders.

DRIXELLA’S DILEMMA

6801:0C G8 C8 B7 YE 26 32 30 AC G809:36 33 66 GB GB GB 26 8D CE @811:10 24 Fl G8 20 GB GA AY DA 9819:A4 85 FB 85 FD AQ 04 85 DB @821:FC A9 D8 85 FE 26 C9 GA AZ @829:A9 6E 8D 54 15 A9 6G 8D 7D G831:8A 02 8D 59 15 8D 58 15 F2 @839:AD GE 16 C9 48 DG G3 4C DA 6841:10 10 20 14 @C AD 53 15 75 0849:F@ G6 20 37 GF CE 54 15 3C @851:EE 27 D@ AD 53 15 FO OB 73 0859:20 4F OF AD 55 15 FG G3 ED 6861:4C F6 GF AE 54 15 AG FF SA @869:88 D@ FD CA D@ FB AD BG 24 @871:DC 29 GF 49 OF 34 26 F4 @879:E4 FF C9 88 FO 98 @881:D@ 12 AD 53 15 D@ GD 4C BB 6889:11 GE A9 13 20 D2 FF AY G2 @891:00 85 C6 66 AD GG DC 29 32 9899:10 D@ BS 26 32 GC AD 16 D1 @8A1l1:16 38 AD FG 93 26 7B OF BO @8A9:4C 51 08 C9 G1 FJ 19 C9 99 @8B1:02 FG 22 C9 G4 FG 2B C9 E3 @8B9:08 D@ 95 AD BA 16 C9 BC D7 @8Cl:F@ 8E 20 9C OB 4C 51 G8 EF @8C9:AD GB 16 C9 G1 FG 81 26 Cl @8D1:F5 OB 4C 51 @8 AD GB 16 61 G8D9:C9 G8 FG 16 26 D6 BB 4C AE @8E1:51 68 AD GA 16 C9 G1 FO BD G8E9:03 26 B7 OB 4C 51 G8 60 43 G@8F1:AD 11 D@ 29 EF 8D 1l DO 72 G8F9:A2 3F BD B4 13 9D C@ 37 FS 6961:A9 FF 9D 86 63 BD F3 13 AD 0969:9D 49 63 BD 33 14 9D CO 1C G911:02 CA 10 E6 A2 87 BD 73 67 9919:14 9D F8 67 BD 7B 14 9D CD 6921:27 DG CA 10 Fl A2 OF BD 4B 6929:83 14 9D OG D@ CA 10 F7 7F @931:A2 FF AD 53 15 DG G2 A2 12 G939:1F 8E 15 DG A2 G6 8E 17 8F 0941:D8 8E 1B DG 8E 10 DO AY CF @949:7F 8D GD DC A5 Gl 29 FB 6D G951:85 G1 AI GG 85 F9 85 FB B6 9959:85 FD A9 D@ 85 FA AY EG 3C 9961:85 FC A9 38 85 FE AS FB 9D 9969:38 E5 F9 A8 AS FC E5 FA C2 @971:AA A5 FA C5 FE 99 @8 D@ 19 6979:30 AS F9 C5 FD BO 2A 8A 3A 9981:18 65 FE 85 FE 98 38 ES El 0989:FB FO G9 98 G2 C6 FC 49 6E G991:FF 18 69 61 85 FB E8 Bl 86 9999:FB 91 FD 88 C@ FF D@ F7 FS 99A1:C6 FC C6 FE CA DO FO FO 8B G9A9:2A 98 18 65 F9 85 F9 BO DA G9B1:02 C6 FA 98 18 65 FD 85 37 G9B9:FD BO G2 C6 FE E8 98 49 B9 G9C1:FF A8 C8 FG G7 Bl F9 91 AA G9C9:FD C8 DG F9 E6 FE E6 FA C2

G9F1:FE A2 G7 9D 38 3F EG @7 6E SEPTEMBER 1992 COMPUTE

PROGRAMS

DQ2oneansoao 9 Qa ro) i} i) pe is, 3 @ o 2 5

GA59:86 62 A2 BA 26 B7 GA GA61:D0 FA A9 G4 8D 86 G2 GA69:B7 GA AO BD 26 D2 FF GA71:D2 FF 88 D@ D5 26 AC GA79:A9 G4 8D 86 62 A2 GC GA81:B7 GA CA DO FA AD 11 GA89:89 16 8D 11 DG AD FC GA91:12 20 1E AB AS BD AG GA99:20 1E AB A2 15 AG G6 GAA1:20 FO FF AQ 6B AG 13 GAA9:1E AB 6G A2 B84 AD 20 QAB1:D2 FF CA DO FA 64 48 GAB9:48 98 48 AQ Fl AG 12 GAC1:1E AB 68 A8 68 AA 68 GAC9:A9 8G A2 8C CA 9D A7 GAD1:DG FA A2 47 AD G6 38 GAD9:01 AG BC 9D 17 16 CA @AE1:65 88 DO F7 16 FG A2 GAE9:AG G5 98 BA BA BA BA GOAF1:17 16 9D 17 16 CA 36 GAF9:88 10 EF 30 EB A2 @5 @BG1:0D BD 17 16 48 B9 17 GBG9:9D 17 16 68 99 17 16 0B11:18 69 6D A8 CA D@ EA OB19:FF 86 62 26 El GC A2 @B21:20 9C 6B CA DO FA 26 GB29:8C A2 G7 20 D6 GB CA @B31:FA 26 El @C A2 GB 20 9B39:0B CA D@ FA 28 El GC 9341:04 26 F5 GB CA D@ FA 9B49:05 26 9C GB CA DG FA @B51:El GC 26 9C OB 206 D6 GB59:20 El OC 26 FS GB A2 OB61:AG0 1E 18 20 FO FF AG @B69:A9 6B 28 1E AB E6 62 @B71:86 8D 18 D4 8D GE D4 OB79:GF D4 8D 12 D4 A2 41 0B81:1B D4 29 7F C9 41 BO @B89:A8 BY 1D 16 48 BD 1D @B91:99 1D 16 68 9D 1D 16 @B99:106 ES 69 EE BA 16 E6 @BA1:D@ G2 E6 FC E6 FB DG @BA9:E6 FC E6 BS AD G6 DG @BB1:69 186 8D 6G DG 6G CE @BB9:16 A5 FB D@ G2 C6 FC @BC1:FB A5 FB D@ G2 C6 FC @BC9:FB C6 B5 AD 68 DG 38 @BD1:106 8D G8 D@ 60 EE OB @BD9:A5 FB 18 69 50 85 FB @BE1:62 E6 FC A5 B5 18 69 0BE9:85 B5 AD G1 DG 18 69 GBF1:8D G1 DG 66 CE OB 16 OBF9:FB 38 E9 56 85 FB BO @CG1:C6 FC AS BS 38 EY GE @CG9:B5 AD 61 DG 38 E9 16 GC1l1:01 D@ 60 AS FB 48 AS @C19:48 A9 GG 85 FB AQ G6 @C21:FC AE GE 16 BD 17 16

G-26 COMPUTE SEPTEMBER 1992

9C29:96 6C31:66 0C39:B9 9C41:16 9C49:29 @C51:8D @C59:A9 @C61:A4 6C69:B9 90C71:16 6C79:D1 GC81:81 @C89:CD 0C91:4F @c99:11 @CA1:16 @CA9:C9 GCB1:14 @CB9:16 6CC1:AD GCC9:38 @CD1:13 @CD9:FO

COUBANVOHOOCHAD

6D41:04 @D49:FD @D51:D4 GD59:CA 6D61:D8 0D69:86 GD71:26 6D79:48 6D81:67 GDB9ZAA @D91:86 @D99:91 ODA1:28 GDA9:91 @DB1:18 GDB9:4A GODC1:AG GDC9:C8B ODD1:19 @DD9:8D @DE1:8D GDE9: 86 ODF1:15 GDF9:66 @EO1:AD GEG9:A9 GE1L:AE GE19:51 GE21:16 GE29:A2 GE31:15 GE39:5A GE41:05 GE49:8E GE51:48

68 FF 16 GE 8D 16 8D BO 16 Dl AD 16 16 G2 cg 63 DG (of) G1 16 13 38 Ag 15 66 96 G4 86 26 9D A? AS D4 D4 8D A2 Da 32 FA 26 Ag 12 ED Ag C1) 29 69 1F AS D4 4A 91 FD CE 16 16 13 29 14 16 8D 16 CA Ag 8E 6E FO 16 G2 E8

FB BS 16 48 FO 16 16 @D BS 26 Ag 16 DG AD 13 16 AD 13 gc 97 AD G1 66 16 8D AG ag AE 16 17 EE OF D4 D4 8D DG 04 FD 04 8D Ag Ag BO 68 AG 41 AG c8 FC FO 12 FD 66 GE i) DO AD DO 48 68 66 4c SF 98 96 DD FO a4 99 4B

GE59:0E GE61:FF GE69:64 GE71:28 GE79:D4 GE81:AG GE89:8E GE91:20 GE99:1E GEA1L:CE GEA9:CE GEB1:A2 GEB9:8D GEC1:16 GEC9:DG G@ED1:D0 GED9:0D @EE1:61 GEE9: 89 GEFL:AG GEF9:DO GFO1:0D GFO9:CA GF11:15 GF19:D6 @F21:CA GF29:04 GF31:69 GF39:A2 OF41:A9 GF49:56 GFS1:AE GF59:00 GF61:56 @F69:15 GF71:05 GF79:15 GF81:2D OF89:D4 GF91:8D GF99:A2 GFA1L:D9 OFA9:64 OFB1:F8 GFB9:8D @FC1:AE GPC9: GF GFD1:GF G@FD9:9D GFE1:8D GFE9:DG GFF1:DG OFF9:16 1661:69 1609:12 1611:62 1619:84 i621:8D 10629:A9 1631:65 1639:21 1641:26

GA 20 8D 8D AQ ao G4 FO AB Go G1 93 gc De FG 4c 16 De DB GA F8 16 De FO Ag 16 8D G3 BF 15 15 56 37 15 8D ag 66 8D ag @1 c8 F8 AG Ag DA 16 8D CA FF 15 FD Fl 16 18 26 AG AG 18 c3 D4 8D 8E

cs OA D4 D4 8D DB AG ag 39 A2 CA 06 8D AE EE GE 14 09 Fl FE 6c D3 88 EE A2 AD DG ol 1s) 57 55 9D 9D 57 15 8D OF D4 8D Ag 15 oS 88 8D ag 18 OF EF CA A2 Do 9c 7B i) AB 18 20 Ag 8O 24 D4 D4

1689:F9 1691:D90 1699217 16A1:72 16A9: 20 16B1:BD 16B9:FA 16C1:DE 1009: 48 16D1:C9 16D9:D8 1GE1:AB 1GE9:26 1GF1:58 16F9:A8 1101:6D 1169:15 1111:96 1119:6D 1121:D98 1129:16 1131:16 1139:38 1141:68 1149:cC 1151:D2 1159:68 1161:A2 1169:C9 1171:CA 1179:8D 1181:A9 1189:@1 1191:D2 1199:32 11A1:A2 11A9:1B 11B1:29 11B9:GE 11C1:38 11C9:1E 11D1:6D 11D9:AA 11E1:8E 11£9:16 11F1:D0 L1F9:ED 1261:8D 1269:B9 1211:48 1219:FF 1221:12 1229:8A 1231:A9 1239:8E 1241:16 1249:15 1251:D6 1259:0D 1261:E0 1269: GF 1271:16 1279:16 1281:41 1289:52 1291:2Aa 1299:56 12A1:1D 12A9:46 12B1:53

12B9:05 12C1:26 12€9:49 12D1:26 12D9:41 12£1:11 12E9:BB 12F1:12 12F9:91 1361:91 1369:91 1311:BE 1319:9D 1321:26 1329:9D 1331:92 1339:12 1341:9D 1349:65 1351:9D 1359:9D 1361:11 1369:BD 1371241 1379:26 1381:1D 1389:45 1391:54 1399:1D 13A1:4C 13A9:26 13B1:43 13B9:90 13C1:16 13C9:15 13D1:89 13D9:E6 13E1:86 13E9:08 13F1:06 13F9:08 1461:66 1469:38 1411:43 1419:68 1421:16 1429:86 1431:06 1439:08 1441:69 1449:44 1451:AC 1459:66 1461:28 1469:68 1471:68 1479:DD 1481:62 1489:68 1491:18 1499:E8 14A1:3E 14A9:FG

14C9:E8 14D1:2E 14D9:FE 14E1:7E

G6

E7 CE FC FE

14E9:FC F8 FC FE FE FE FE 7E CE 14F1:7E 3E FO F8 F8 F4 ED CO CE 14F9:7F G6 GE GE G6 12 8A CE EG 1501:FC 9G FG CO 98 CF E7 FF A7 1509:7F GG 1B 06 32 E6 CE FE EG 1511:FC 66 FO El E2 EG Fl F9 6E 1519:7F 0G 1E GE 8E 8E 1E 3E DO 1521:FC @@ EG EG FG EE FF FF 37 1529:7F @@ GE GE 1E EE FE FE 5F 1531:FC @@ El Dl AQ DS EB E7 A7 1539:7F @@ FE FE FE FE FE FE 53 1541:FC @@ FB FE F3 FF FF FB 1549:7F 66 BE FE 9E @6 FE FE 05 1551:FC GG GG 6E GG GG GG BB ED 1559:08 1D 2B 39 47 55 63 1A 34 1561:28 36 44 52 60 GG GA 1E 18 1569:5A FA 38 206 26 20 26 28 69 1571:08 93 G1 65 G7 BD GE D3 4D 1579:48 41 4C 4C 26 57 45 2E 7D 1581:2E 2E G3 GD G3 20 9E 46 9B 1589:31 26 2D 26 41 54 54 45 45 1591:4D 50 54 20 54 4F 20 53 76 1599:4F 4C 56 45 2G 54 48 45 C5 15A1:20 56 55 5A 5A 4C 45 3F GE 15A9:63 GD G8 26 97 20 G1 GS 5B 15B1:2D 26 4F 52 20 2D G3 GD 52 15B9:G3 26 9E 46 33 2G 2D 26 3A 15C1:5@ 4C 41 59 20 41 20 4E 79 2D 59 52 45 53 53 55 89 45 20 56 52 41 43 54 Fl 43 45 3F 13 @D 61 05 EY 26 C4 26 52 26 49 20 74 2G 45 26 4C 20 4C 20 8E 28 27 26 53 2G 20 26 27 2G 49 26 4C 26 45 20 47 26 4D 26 41 86 86 GG 91

ORrPaOAONN

1661:4

Arthur Moore is the author of Sammy Seal (February/March 1992). He says he still enjoys his 64 and 128 after eight years of use. He lives in Orlando, Florida.

CHARACTER DESIGNER

By Daniel Lightner

Character Designer is a utility program that lets you create your own characters and set up animation sequences. CD al- so has an 80 x 64 pixel sketch pad that lets you create designs, characters, or pic- tures. You can then place these items in a sequential file for use elsewhere. You can also place character shapes on this pad to help you set up programmed char- acter displays.

Entering the Program

Character Designer is written entirely in machine language. To enter the pro- gram, use MLX, our machine language entry program; see “Typing Aids” else- where in this section. When MLX prompts, respond with the following.

SEPTEMBER 1992 COMPUTE G-27

PROGRAMS

ES SEE ERE PS POT RTE EIST TEN I I PS

Starting address: 0801 Ending address: 1B68

Be sure to save a copy of the program before you exit MLX.

Running the Program

Character Designer loads and runs like a BASIC program. To move the pointer, use a joystick in port 2 or use the keyboard cursor keys.

Workscreen

You'll notice that CD's screen is divid- ed into various sections, with copyright information in the upper right-hand cor- ner. Clear this window and start the pro- gram by pressing the space bar.

At the top left side of the screen there's a small square sprite; this is the program's pointer. First, let's move it down the screen to near the bottom where you can see Commodore's stan- dard uppercase graphic character set. Press the fire button if you're using a joystick; otherwise, press f7 as you cur- sor along the alphabet. Watch the ed- iting window in the upper left corner of the screen. These rows of characters are where you pick up characters for ed- iting simply by pressing the fire button or f7, Notice that this window extends upward at a point near the center.

Edit a Character

Use the above steps to find the up- arrow A character and place it in the ed- iting window. Be sure to release the fire button when you see the character in the window.

Move the pointer back to the area la- beled as the editing window. This area is divided into three parts. On the left is the window that contains the pixel pat- terns for the character being edited.

The center window contains an op- tions menu. Notice that each item in this menu is preceded by a round dot. Place the pointer on a dot when you wish to choose one of these options. Move to one of the items on the menu and press the fire button or f7. Experi- ment with all of the options.

Notice the window to the right as you enter the different options. This win- dow contains six rows of the selected character and displays four more char- acters below separated by spaces. This display lets you see exactly what

G-28 COMPUTE SEPTEMBER 1992

the edited character looks like as soon as you make any changes.

Now press the D key and look at the Edit window. This is the character's da- ta. Now press the space bar.

Next move the pointer back into the window that contains the pixel patterns and press the Clr/Home key. The win- dow should clear. Press the fire button and watch what happens to the pixel under the pointer. If you continue to hold the fire button, the pixel will tog- gle back off again. Remember, if you're using the keyboard, function key {7 is the same as the fire button.

Using the Buffer

Now edit a character or create one of your own. When you have finished, move over to the window that contains the six rows of characters and press the fire button. Look in the Buffer win- dow. It should now contain the same im- age as the Edit window.

If you create another character or pick one up out of the character set, you'll notice that the buffer still holds the original character. Next to the buff- er is another window that contains three rows of the characters that are in the buffer. Move to this window and press the fire button. The buffer char- acter reappears in the’ Edit window. Whenever you place a new character in the buffer, the previous character is overwritten. The same applies when you place a character in the Edit win- dow. There are several places, though, where you can store charac- ters and keep them safe.

Moving Characters

CD has two function keys that are pro- grammed to pick up and place charac- ters. These keys are f1 and f8. The first One picks up a character, and the sec- ond one places it elsewhere on the screen.

You can use these two keys almost anywhere on the screen. These func- tions are useful when designing text characters. You can, for example, de- sign the letter A and place it anywhere you see the letter A on the screen (oth- er than in the Sketch window and on the Enter line), and it will change all the A’s in the text.

You can edit or create 95 different characters and place them almost any-

where on the screen until you're ready to save them. To save your edited char- acters, you must place them on the Enter line. Move the pointer in front of the word ENTER to the < character and press the fire button. Find the sev- en characters that make up the word COMPUTE. Now move over to the > character and press the fire button again. The letters scroll left and right through the frames. You can enter char- acters here simply by moving to one of the enclosed characters and pressing the fire button.

After you have filled the first seven spaces, scroll seven more onto the screen. When you save characters, CD will always save the first seven charac- ter spaces even if you haven't entered that many. Before saving, scroll the En- ter line so that the last character that you wish to save is the last (far right) character in the line.

Enter some characters. If you wish to clear the Enter line, move to one of the seven spaces and press the Clr/ Home key. We'll discuss more about loading and saving later.

Sketch Window

CD has a 10 x 8 character Sketch window. Here characters can be ar- rayed to form larger pictures, or you can use the pad as a temporary stor- age area. Edited characters can be placed in this window with the press of the fire button. The Clr/Home key will clear this entire window as well.

The window can be used to make sketches also. Move the pointer to the round ball in front of the word SKETCH and press the fire button. Did you notice that the Command line fi- nally did something? It now indicates that you are in Sketch mode. Look in the upper left corner of the Sketch win- dow. You can see a single pixel blink- ing rapidly. With the cursor keys or joys- tick, move the pixel around the win- dow. Pressing the fire button will lock the pixel on, allowing you to draw with it. If you wish to erase with it, press f5 and continue. Function key f5 will tog- gle the On and Off settings while in Sketch mode.

When you enter the Sketch window, the setting is always toggled to On. With this feature, you can actually use characters to draw a picture. The Crl/

Home key will still function in this mode. To exit Sketch mode, press the Back Arrow key.

Animation

On the lower left side of the screen is an Animation window. This is the Ani- mation Sequence and Speed Control window. The Animation window is a ten- page tablet with a built- in page flipper.

Previously, when you picked up char- acters, you were actually picking up the character data only and placing it in another area, overwriting the original character's data. When you place a character in the Animation window, it is the actual character. Place the pointer on the indicator in front of the words PAGE AHEAD and press the fire but- ton. This is a useful feature for design- ing characters for a game or fancy ti- tle screen.

Move to any character you wish to place on the Animation window and pick it up. Move back to the place where you wish to place the character and press the fire button. It's as easy as that. Clr/Home will clear the Anima- tion window if your pointer is within its frame.

If you continue to press the fire but- ton, the setting will toggle to Off again. When you have finished, be sure to page ahead to be sure that your page is entered correctly. The Slower and Faster features will allow you to adjust the speed of CD's pointer as well as the Animation window.

Command Mode

Move to the Command indicator and press the fire button. You have entered the Command mode, Here, as you can see, there are four options. To enter a command, press the key that corre- sponds to that command. The space bar will abort Command mode. The Q key will return you to BASIC, the S key will save a sequential file, and the L key will load one. The R for reset will put CD back into its starting condition. This command will clear all the charac- ters that you may have designed. So be careful with it.

To save or load a file, use the prop- er key. CD will ask for a filename. En- ter the filename and press Return. CD works only on disk in drive number 8.

If you need to see the disk directory after you have exited Command mode, just press the shift key and the $ key. The directory listing can be halt- ed and restarted by pressing any key.

Preferences

CD offers you the ability to change the colors of the screen, border, pointer, frames, text, editing character, and pix- el on and pixel off characters. This can be accomplished by placing the point- er over the type of character that you wish to alter and pressing the C key. CD scrolls through all 16 colors, start- ing from the color that is presently on- screen. Pressing P will color the point- er, B will color the border, S will change the screen color, and so on.

Multi-Color CD also supports Multi-Color. To enter Multi-Color mode, press the M key. To exit, press it again. You'll notice that Mul- ti-Color can mess up some of the items on the screen. To make them more readable, change their color to a color value less than 8. The character being edited won't show in Multi-Color unless it has a color value greater than 7. While in Multi-Color, the editing win- dow responds differently as well. This is because color is represented in pairs of bits instead of by each individ- ual bit. To choose the bit pattern that you wish to use, press f5. The bit pat- tern is displayed on the Command line. Multi-Color characters are dis- played according to the screen color, Multi-Color, Multi-Color2, and the char- acter color. Multi-Color1 and Multi-Col- or2 are adjusted by typing the 1 key or the 2 key. When this is done, the col- ors are displayed on the Command line as well.

Key Action

fi Picks up a character {3 Puts down a character f5 Adjusts pixel pattern {7 Fire button alternative Cc Character color

iP Pointer color

S Screen color

B Border color

M Multi-Color mode

1 Multi-Color4

2 Multi-Color2

D Character data

Shift-$ Clr/Home Cursor

Directory

Clears area Moves pointer

Command Mode iS) Save sequential file iL. Load sequential file R Reset CD

Q

Quit to BASIC

Character Designer

@861:0B 9869:37 9811:26 @819:3C @821:99 @829:B9 0831:F7 0839:2E 0841:22 @849:67 @851:05 6859: 20 @861:16 @869:A2 0871:16 @879:A8 @881:F7 @889:A5 @891:E8 0899:28 O8A1:A6 @8A93A5 @8B1:63 @8B9:D9 @8C1:34 0809: 03 @8D1:63 @8D9:34 @8E1:18 G8E9:34 G8F1:03 O8F9:20 G@9G1:A7 @969:26 6911:66 6919:85 @921:FF 0929:FF 9931:61 9939:22 @941:C6 G949:A8 G951:F7 @959:A9 G961:F8 9969:91 6971:46 6979:44 G981:46 0989:2B

G9B1:GA G9B9:44

SEPTEMBER 1992 COMPUTE

68 i) 26 08 33 gc AQ 4c DD cs G1 34 A2 G4 65 AS AS F8 20 34 18 FD 4c 1c 93 4c E6 63 69 @3 18 34 a4 A7 48 FB cé6 co 58 AS Fs BO 88 FG cé6 4c 9E 26 F4 Bl 1B 14 cc 13 GA F8

17 Ul) 26 FS 88 99 85 G1 B9 F7 F9 FG 26 34 OA 85 85 FFE G3 AG FC A7 G1 63 08 G1 4c GA a8 GA 06 De FG FB FE a4 ce DG 28 38 85 FC Bl 16 G8 38 19 56 c7 12 Ag D8 FB BS 80

32

PROGRAMS

DODOHPA>UDRQODOD nN Sj wa a 3 > ie) s ra > uo

@A41:E6 1A AQ Al AB 39 26 GA49:41 51 83 7E 81 78 28 @A51:GE 64 9F G2 6 FO F2 GA59:01 97 35 42 48 1B 36 @A61:23 CD 78 1C 73 39 DD GA69:32 37 FE 34 C9 12 FO @A71:4C 95 @5 1F C9 1A 4C @A79:41 61 DD E9 1A 90 GE GA81:GA 20 35 18 20 4E 37 9A89:08 20 D9 96 B85 20 39 @A91:69 62 A5 Fl 81 96 GB @A99:62 GB DO AF 8D 82 BA GAA1:82 9C 9D 82 AB 10 AD @AA9:G3 8A 19 D6 BE BG 29 GAB1:6B F7 @@ 5C 4C 86 16 GAB9:4B Dl B8 C9 G5 FO BA @AC1:4B GE A7 86 7F CF C9 GAC9:FG D1 C9 29 41 FO 84 “@AD1:G1 AC 26 96 6C 87 C9 GAD9:FO 86 F6 GF C9 20 CA GAE1:49 7A 11 DO 70 36 Cl GAE9:23 68 G1 C7 33 O4 6F OAF1:07 OF 26 47 AG FB 12 GAF9:54 13 80 B6 E4 FO 9D @BG1:94 13 26 89 GE 26 09 9B09:20 3B 14 67 F4 EG @5 OB11:FF D6 68 82 12 99 4c @B19:C9 9D FG GA BO 93 B9 @B21:C9 24 FO 32 D4 46 E4 9B29:36 36 8A G1 G2 40 33 @B31:2@ 5A D6 A4 39 D2 C9 6B39:F@ CE Cl D6 10 E4 98 @B41:68 Bl 53 1c 64 9C 82 @B49:88 DC 29 GF 38 Al 2A 9B51:GF E5 FD 5B 2A 4A 62 9B859:32 CD DA 33 C9 O8 FG 9B61:CG 2E 23 18 FO G5 AD OB69:4C 6B 30 78 GB 20 07 OB71:6@ AG G1 18 43 AC GE 0B79:82 74 F3 AG 6B 8C CB @B81:25 8G 91 21 C8 11 21 9B89:9D 21 A9 1D 4C 75 GA 6B91:07 37 26 7C 3A 11 FO @B99:5A GF 77 54 4E E4 F4 @BA1:36 E6 E6 4C 7D GB 4C GBA9:5D @6 DE D3 1D AG G1 @BB1:53 12 C8 4F 49 C4 18 GBB9:69 DG 94 CC Bl 93 5E @BC1:AB 26 2C 31 C9 1F 99 GBC9:F5 53 60 26 8F C6 8G OBD1:91 DE 16 A9 99 4E E7 GBD9:C3 17 E7 28 C4 9E 87 @BE1:F@ 4E BC 87 3B AE GF GOBE9:E6 68 8C 1B 66 88 GG

G-30 COMPUTE SEPTEMBER 1992

67 gl 51 68 29 17 98 cl 83 E8 Da BE 19 81 95 8D El 6A A2 E3 7c 4A cg 96 DB 26 4c gc 45 12 27 AB 1c a4 3B @B 29 54 28 20 14 E4 GE 06 18 54 6B 46 07 88 FQ 34 93 61 ce 68 c8 68 1c 24 55 CF AS 83 2D 22 28 16 1A 87

OBF1:21 GBF9:A9 GCG1:23 9C69:2C @C11:79 8C19:D2 6C21:18 @C29:66 @C31:4C 9C39:30 0C41:E3 GC49:EC 6C51:66 0C59:06 GC61:AE GC69:44 6C71:68 6C79:6B 6C81:13

USADUNSASAAMOCHRBONAGUD

GD29:A2 6D31:C2 @D39:E8 @D41:E1 OD49:A9 @D51:09 6D59:03 @D61:17 GD69:FO @D71:DE GD79:D3 6D81:71 GD89:A3 @D91:CG @D99:86 @DA1:FD ODA9:F3 @DB1:35 GDB9:E7 @DC1:28 GDC9:87 @DD1:21 @DD9:8F GDE1:2F GDE9:3C GDF1:5D ODF9:D2 @EG1:A3 GEG9:1C GE11:EG GE19:78

83 G6 EC oF 1E E4 30 57 A4 34 30 34 33 C6 81 38 26 El 96 82 c7 28 32 BA AS 74 29 FG EA D3 46 c8 22 22 46 @D 54 F7 @4 CA 83 6C DB D8 80 G6 48 15 52 79 67 BG 04 FC DG EC 63 65 69 F2 ce 72 1D 61 EF 8B 76 07 6E 32

18 cD 19 OF 16 68 83 E2 c2 36 E9 74 D8 43 c2 14 gc ol c8 66 65 63 64 86 68 Ur) 13 OL 1c 4B 80 99 47 0B 88 BD 46 64 41 28 GA CA B8 cB 5D 84 1D E8 15 2A ao 33 EA 5B 2c 18 74 24 ag ic E3 Fl 78 22 16 co 9D A2 DA 18

@E21:F7 GE29:6B GE31:29 GE39:50 GE41:99 @E49:28 GE51:66 GE59:57 GE61:64 GE69:76 GE71:90 @E79:1C GE81:48 GE89:AC OE91:A7 GE99:64 BEA1:8A GEA9:4C GEB1:60 GEB9:1C @EC1:C9 @EC9:C9 @ED1:F8 GED9: 62 GEE1:4C GEE9: 36 @EF1:11 GEF9: 32 OFO1:4F OFG9:61 OF11L:FC OF19:24 GF21:69 @F29:GD OF31:16 GF39:5C @F41:C9 @F49:C9 OF51:BG OF59:3B @F61:29 GF69:13 GF71:38 GF79:01 OF81:63 GF89:A2 GF91:13 GF99:07 GOFA1:65 GFA9:GA GFB1:70 GFB9:81 OFC1:23 GFC9:51 GFD1:20 GFD9:62 @FE1:CG @FE9:8D GFF1:F9 GOFF9:A3

1621:6D 1629:A8 1631:47 163 1641:D2 1649:19

26 05 chit DF 53 E6 6B BO 08 81 22 cD 26 11 80 8E 06 F3 93 cg 54 64 Bl 69 08 62 20 c2 FO 3E 84 08 2D 85 2D AS 4E 55 81 05 OF 48 07 GE 1c 6S 73 pc 68 94 29 8D DG G2 8E 34 GE D3 66

c3 42 DL 87 81 FG

16 36 40 27 06 GE c9 60 18 2F 9B co 40 14 AC 24 ol 36 FO 1A 97 ie} 26 6D 23 EB4 76 cg co 84 B9 FE G1 6c FB 12 16 53 4F FE Dc AD c3 86 27 1B EG 8c 95 15 AD 8D AD 24 FE c8 58 @1 ol

Dl 7B 68 1E 2c 11

1651:E6 1659:38 1061:E8 1669:61 1671:61 1679:21 1681:FC 1689:99 1691:21 1699:3AB 1GA1:6A 16A9:4C 16B1:47 16B9:67 16C1:2E 16C9:8D 16D1:89 10D9:88 10E1:86 1GE9:A3 10F1:CC 1GF9:C9 1161:Cl 1169366 1111:CP 1119:14 1121:9D 1129:E8 1131:D8 1139:28 1141:1A 1149:96 1151:3B 1159:3C 1161:8C 1169:1E 1171:F@ 1179:F@ 1181:43 1189:F9 1191:13 1199:61 LLAL:FA 11A9:99 11B1:B6 11B9:67 11C1:60 11C09:D8 11D1:E2 11D9:63 LLEL:AG 11B£9:1B 11F1:B9 11F9:B4 1261:6F 1269:4C

41 C3 E6 FO o7 09 BB AC FO 24 (ek) 04 cD De 12 CE 85 GE G1 8E 2D 22 G2 08 51 61 pc 71 BO 77 23 D9 46 43 A7 co cg 4G 7D 45 50 G2 4D 69 1c E9 31 95 56 61 Ol AD 6D 4c BO 29

1239391 1241:46 1249:11 1251:42 1259:42 1261:86 1269: 4C 1271:1F 1279:4C

3B co 61 28 43 32 14 79 c2

1281:606 1289:2C 1291371 1299:68 12A1:91 12A9:EC 12B1:C4 12B9:91 12C1:AD 12C9:E2 12D1:69 12D9:68 12E1:A9 12E9:EC 12F1:67 12F9:61 1361:18 1309:06 1311:66 1319:1A 1321:B1l

4c ip BO 45 Go 19) 41 B6 9E BG ce B6 44 F8 1A Fl AD 68 92 58 88

14 Cl) 1 O7 75 CB 2c 66 AG 90 cl OF 03 38 Ci) 50 06 8D 26 GE AC

1359:14

1371: 1379227 1381:D8 1389: 26 1391:BB 1399:1D

06 D4 98 @1 cg

B6 c2 Bg E8 2F BB 8a 5E FO

13B9:B4 13C1:C6 13C9:FC 13D1:F4 13D9:86 13E1:88 13£9:61 13F1:AC 13F9:2A 1461:13 1469:3B 1411:EE 1419:44 1421:19 1429:A2 1431:78 1439:86 1441:61 1449367 1451:36 1459:62 1461:66 1469:40 1471:A2 1479:A5 1481:C@ 1489:51 1491:4F 1499:2D 14A1:3D 14A9:FE

B9 @D FL FE A? 76 3A Al 47 17 17 4c 76 29 35 80 FG 38 8D 28 DG 68 38 4a FB FG 17 80 44 11 Dg

FC iF El 3D co 86 58 95 FF D9 75 8A 26 17 g3 81 96 18 4B 38 20 88 BS 97 FD 2F E2 G4 cs 1B A2

86 El @9 3C 2c 71 12 87 a9 69 14 73 cc 99 G7 87 E3 66 79 99 8D 3C 48 AD GB 84 E3 76 E@® AC 3D 62 8D E8 G2 88 1A 4C £2 66 AD CO El 62 68 CC 1D 23 66 33 64 1A FOG FG E@ 67 FD Bl 21 91 FO 62 E8 EO 46 58 48 63 C9 2A Coke) ath AQ G1 09 9 D1 26 40 08 E6 16 ce 81 B7 86 DO FS 67,18 @2 62 06 81 32 6c 38 @8 G5 63 52 16 18 26 79 6D BE @9 63 CF 38 38 D7 62 @5 GC c8 cc AR Ly 35 E6 FB 98 46 C3 39 4C 4C° FC GF AS G1 BO @B 9E AS FC cD 81

1c 71 24 79 8D BO 38 24 28 18 OE E2 GE 9c 76 16 Ag co 80 c3 DG AD 3D 16 93

DO’

ao BO FD FB 8C SF i) @D FO FO 9c 20 OL 50 62 5A cs 88 F3 Al Cr 4c 41 8c 6F 66 51 E8 9B 48 69 67 D6 57 22 ED 2A CE 14 22 1B 4B cs 61

14B1:37 14B9: 46 14C1:25 14C9:Dd 14D1:AD 14D9:C9 14E1:72 14E9:B9 L4F1:5C 14F9:18 1561:C9 1569:CC 1511:B9 1519:2A 1521:5B 1529:6C 1531:D0 1539:45 1541: 43 1549:C9 1551:C9 1559:FO 1561: 26 1569:62 1571:61 1579:AG 1581:8D 1589:12 1591:66 1599:E0 15A1:59 15A9:C8 15Bl:Fl 15B9:0A 15C1:6C 15C9:21 15D1:9D 15D9:B9 15E1:61 15E9:60 15F1:68 15F9:4C 1661:74 1609:GA 1611:4D 1619:8D 1621:26 1629:68 1631:99 1639:12 1641:65 1649:1A 1651:1A 1659:B2 1661:C9 1669:A8 1671:46 1679:65 1681:0F 1689:E9 1691:FB 1699:FD 16A1:36 16A9:19 16B1:FO 16B9:FG 16C1:8D 1609: 21 16D1:8C 16D9:C9

FF 6F EE Do @D ol 2c BO C3 8D 09 cB 38 c4 B8 BC OA FO 20 E9 El cD CA 6A 23 38 4c c2 75 07 6B 03 6B 91 32 EG 86 AA 80 AC 18 ri) OF BO 20 84 91 cg 96 51 05 21 1A 31 16 1A 28 39 E8 17 D7 EG 4B 26 B9 8D Ag CA co 57

SEPTEMBER 1992 COMPUTE

B4 96 A5 FF 62 60 E4 38 49 86 23 18 96 83 17 AE 64 38 ED E5 14 28 8B ce 1F ol 10 A2 11 AC 63 De 37 26 43 Ag 26 30 1D co FA a4 54 AD 20 cg BO BO 4c 3B 3c 9E 43 66 07 34 47 74 6D 43 AS 06 5c 24 29 Uy) AG 2A 18 86

PROGRAMS EET EEE PO SS

16E1:55 9A D3 AG D2 3G 81 46 7E| 1911:4A 6B 26 43 3B E3 GC 86 7D | 1B41:09 GE 14 7B 11 GC 14 G4 9E 16E9:D1 51 CO 6G DA 28 4E 41 CO | 1919:06 G1 ES GF 27 1D 3A 3E 9C | 1R49:46 BG 21 20 20 26 G1 GC B84 16F1:8D 53 06 87 GD BG G2 F@ 4A | 1921:27 2B 13 OC GF 17 9E SC 43 | 1—51:9c 5a 1B 09 G7 G8 14 13 29 16F9:2B ED 49 AA A3 26 CD BD EG | 1929:90 E2 G9 GG 87 C4 3B CE C9 | 1n59:26 12 G5 13 85 12 16 @5 97 17G1:A9 26 DG BE 64 F4 FG GF 79 | 1931:49 89 C7 G5 8G 18 G1 G7 G1 | 1n61:04 26 40 G0 GO GG GO GG AD 1769:16 44 38 8E 7E 8G 34 4C EA | 1939:5 4c G8 G5 Gl G4 C2 A7 97 1711:1B 64 29 OD @8 45 4C 15 DE | 1941:3C 7A 9E 49 AG 4F 4F 7A 63 jal Li ; i 1719:1B 26 6F 1B A9 GG C3 85 D6 | 1949:9A Fl 78 88 41 3D 2B a7 D9 ar ek Nat ts Caer ail dani 1721:86 02 20 C3 FF G0 47 26 FE | 1951:8E A7 GB 26 Gl GE G9 4F B9 Y : 1729:BA 1A 26 85 1B 4C DB @8 61 | 1959:64 14 G9 OF 63 GB 10 D7 14 1731:B6 B8 43 FG 8B 26 E4 FF 1F | 1961:85 C4 3E 41 D6 40 11 20 5D 1739:C9 98 DB F9 6G AS CB C9 G1 | 1969:4F 44 77 31 1E D7 46 3F 71 SMART FORMAT

1741:49 D@ FA 60 AQ 93 26 D2 D7 | 1971:71 C5 D6 49 73 52 El 61 47

1749:FF AD CD 83 77 62 FD AD 42 | 1979:07 G3 64 65 G6 G7 G8 G9 26 | By Rustin Ambrose

1751:CE 62 85 FE A9 3F 85 FB 59 | 1981:0A @B GC GD GE GF 14 11 AB i ili 1759:A9 86 85 FC 26 C6 12 66 FE | 1989:12 13 14 15 16 17 18 19 B3 Sr ere avelsauily 1761:8E EC 28 AE 72 EG 06 FG 16 | 1991:1A 1B 1C AG 06 7F 52 £1 D9 | 'Y Program the l hus] 1769:25 80 86 50 AE 22 G3 E8 FC | 1999:41 1D 65 26 21 22 23 24 5g | Matofa disk in one-third the usual time. 1771:62 EC C9 62 BG 67 EG 51 E9 | 19A1:25 26 27 28 29 2A 2B 2c cB | Anyone who must format a number of 1779:B7 @3 4C C9 1B 66 43 C8 14 | 19A9:2D 2E 2F 36 31 32 33 34 D3 disks at one session will appreciate this 1781:D3 CA 62 AE CB 62 6C 11 C7 | 19B1:35 36 37 38 39 4E 83 27 A7 timesaving feature.

POSS OSGR2 pO Og BRD SEO ASE RDA ROS || 1989701 NG8ie18 <A89ED.3CcRD- 4791 With another welcome feature, Smart 1791:62 4C AE 1B 80 7D ES C3 E4 | 19Ccl1:F8 C4 D4 49 41 35 GA 4D ll a ae 1799:43 A3 58 C8 FG 28 88 43 66 | 19Cc9:01 GD G1 GE CE 22 EG E1 63 | Format eliminates head bumping—that 17A1:A8 CO 36 42 F@ 11 85 BB SC 19p1:E1 15 67 G2 15 G6 G6 G5 BD | banging noise in your drive that normal- 17A9:8F 8E 38 2E 3C 76 BA 3C 9A | 19p9:12 26 41 45 35 F1 86 GE 26 | lyoccursatthe start of aconventional for- 17B1:E4 64 23 63 E3 67 E3 28 B2 | 1951:8F 87 3A GE £6 4B 19 C8 45 | mat. Smart Format was designed to 17B92C3 BG) ae 36 18 GA 93 BD 96 | 1969708 42 42 46 4D 55 4c 54 BA | Work only with the 1541 drive.

17C1:8B 8D 83 38 2E 46 66 E3 30] 19F1:49 2D @5 39 7E BG 31 1C EC 17C9:A3 38 88 1F 1F EB 21 F8 BE | 19F9:3A 87 60 7A 52 32 FF 60 8E n 17D1:F8 AE 83 82 63 43 AG 90 BA| 1ag1:26 43 4F 4D 4D 41 4E 44 25 | Entering the Program

17D9:18 1@ GA 48 C8 10 7E 7E DF | 1Ag9:CA 87 54 45 89 16 38 48 38 | Smart Format is written entirely in BA- 17E1:7E E8 GA 6G 18 18 eB 96 ze 1A11:GF 86 E2 61 65 AG FF 96 9A | SIC. To help avoid typing errors, use 17E9:GG EA 83 3A 96 32 FF £3 1a19:@5 1c 9F $C 1B 1F 9E 81 C@ ; ii 17E1:E4 65 AG E3 Dl B2 43 93 B1| 1A21:95 96 97 98 99 9A 9B 8g 31 | [he Automatic Proofreader; see “Typ 17F9:6B CO FG 76 G5 58 78 98 16 | 1A29:AF E7 10 @8 92 G1 7F BF @9 | ing Aids” elsewhere in this section. Be 1801:02 E8 60 G@ C8 44 73 B2 69 | 1A31:DF EF F7 FB FD FE 14 Fl 16 | Sure to save a copy of the program be- 1869:E1 69 GC 75 1F 22 27 17 2C | 1A39:81 57 2C 53 2C 52 46 49 3F | fore exiting Proofreader.

1811258 51 52 53 54 55 56 57 39 | 1a41:4C 86 13 4B 41 4D D8 3F B4 To use Smart Format, simply load FELD 2p Bao Se TER ECRCAACSRGGR CABO) || 1A492PE N20 5840 71DNG1=20N9AR145BE I ar aiin it as you would any BASIC pro- 1821:09 AF 44 4E 2E 5A 5B @5 | 1a51:52 89 53 2D 53 41 56 45 DF Th DATA 1829:5C 5D 5E 5F 68 61 62 63 51 | 1A59:26 4c 2D 4c 4F 41 44 26 43 | Oram. Ihe program uses A state- 1831:FC F8 C9 86 15 186 17 C7 9E |} 1A61:52 2D 52 45 53 16 F6 27 Bg | Ments to send custom machine lan- 27 64 65 66 67 68 69 2F | 1A69:26 51 2D 51 55 FD FF 44 A3 | guage routines to the drive.

6B 6C 6D F5 Fl 93 @D 91 1A71:A@ GF 41 79 DA GG GO O6 56

ED 42 25 86 71 52 El 6B | 1A79:04 G2 GE 27 GB G1 G2 G2 6C Why It’s Faster

6F 74 71 72 73 74 75 79 | 1A81:6D 6D E6 82 6D 6C 6C 42 FC : an F 77 C7 4F 36 GC G5 66 82 | 1A89:25 20 56 41 54 54 45 52 47 | Formatting a disk is usually done with 1861:FC FE 96 1A 27 78 79 7A BA | 1A91:46 26 FF FF C3 99 9F 9F 58 | the NEW command, which is written 1869:7B 7C 7D 7E 7F 86 81 F7 G7 | 1A99:99 C3 FF 18 78 68 8@ a8 1c |} OPEN1S, 8, 15,"NO: DISK NAME,/D": 1871:F1 93 GE 8F ED 81 1c 4F 37 | 1AA1:AG 2 & Mi 2 os - 2 z CLOSE15. This type of formatting usu- 1879:20 4E 4E 50 3D 82 83 84 9B | 1AA9:87 GF 7E

1881:85 86 87 88 89 8A 8B 19 36 | 1AB1:43 48 20 4D 4F 44 45 FF 88 URE eee A 1889:3F E9 FG GF 14 61 2B 1B FB | 1AB9:24 46 7E 4E 1D 87 44 41 95 | ! r d pent calc 1891:66 44 G2 EC 8C 8D 8E 8F 59 | 1AC1:5D 48 64 78 64 67 D8 15 52 | ing the optimal size of the disk’s inter- 1899:96 91 92 93 94 95 E3 8F 54 | 1AC9:GB C5 54 13 3C G6 1B 12 F2 | sector gaps.

18A1:68 A2 G1 48 C7 12 @5 16 45 12 13 8D ae a Be The inter-sector gaps are strings of 18A9:98 25 13 65 D1 15 @C 14 31] 1aD9:49 B OC Dg ic Ae

18B1:01 DB 1F 26 BG G3 9C 9D E4| 1AE1:12 07 8D 44 1C 38 20 Bl 8A oor pe peceye eae aaced to the 18B9:9E 9F 70 3E 55 78 BG G5 G6 | 1AE9:11 SD A8 D5 GE C3 BG 21 72 9g ig. 18C1:EC G8 GB 5@ 78 24 G4 EC 1A | 1AF1:40 The gap areas are never used by the 18C9:78 CA 26 G9 G1 12 G1 G3 D2 drive but rather act as padding be- 18D1:41 A7 G5 G4 G9 14 4c G2 AG tween sectors of a track. The optimal 18D9:67 26 17 G9 BE B4 AG GS DB gap size depends partly on the rotation- 18E1:Al @C D5 6B G5 14 G3 G8 D7 al speed of the drive

18E9:F6 69 C3 E3 AG 8E 85 3A 2B | 1B19:65 78 84 26 40 64 ES G8 1A , arive. F 18F1:84 32 G6 32 86 EG 29 3C EA | 1B21:34 62 EG GB D1 5G 16 19 17 Commodore's Disk Operating Sys- 18F9:26 3E 26 G5 GE DB 29 E3 34 | 1B29:D0 CE 86 41 31 39 39 32 73 | tem (DOS) repeats a complex algo- 1961:61 C3 £3 AG GE 9D 39 3E F2| 1B31:39 Bl G3 GF BD 77 14 G5 35 | rithm on each track to calculate the 1969:33 3C 1B BE 4A 39 a8 42 61 | 1B39:40 97 16 15 G2 2B 99 GC AC | best gap size. The time-consuming

G-32 COMPUTE SEPTEMBER 1992

part of the algorithm compensates for small changes in drive speed that can occur from track to track. Testing shows, however, that drive speeds don't vary enough during the short time of the NEW command to make a significant difference in the gap calcu- lations. As a result, there's no good rea- son to repeat the algorithm on every track on a disk.

Smart Format uses the DOS algo- rithm only on track 1. The gap length for track 1 is then used to calculate the gaps for all other tracks.

Smart Format also improves the effi- ciency of the routine that clears a track prior to formatting. The combined effect of these changes reduces exe- cution time to about 28 seconds. User group librarians or anyone else who must format a number of disks during one computing session will appreciate this faster procedure.

Eliminating the Bump When you format a disk using the con- ventional command, you probably hear a banging noise coming from the drive. This banging sound at the start of formatting is caused by the drive read/write head stepping outward an excessive number of times. The regu- lar format routines do this to guarantee that formatting begins on track 1, the outermost track. The bump can contrib- ute to alignment problems and should be avoided whenever possible. Smart Format uses the drive's internal track counter to move the read/write head precisely to track 1 without the bump. If the drive hasn’t been used since power-up, the internal track counter will need to be initialized. Should Smart Format detect this situation, it will ask the user to insert any formatted disk. The track counter is then updated by reading the track number from the formatted disk using the INITIALIZE command.

Other Details

Smart Format does all of the standard error checking. This includes a full verifi- cation of every formatted track. If an er- ror is detected, the program will at- tempt to correct it up to ten times be- fore giving up. Smart Formats final dis- play shows the number of retries re- quired (usually zero).

The final display also indicates four inter-sector gap lengths (in bytes) used during the format. Each gap val- ue applies to an entire zone of the disk. The track number ranges of the four zones are 1-17, 18-24, 25-30, and 31-35. Drives that rotate at slower speeds will produce larger gap values.

Smart Format makes no permanent changes in the DOS, and all drive com- mands will function normally. The BA- SIC program must be used to execute the custom drive routines.

SMART FORMAT

JA 106 REM SMART FORMAT BY RUS TIN AMBROSE REM COPYRIGHT 1992 - CO MPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESER VED REM A$ MUST BE FIRST VA RIABLE USED IN PROGRAM AS="" ;COS=CHRS (8) :CRS=C HRS (13) : VA=PEEK (45) +256 * PEEK (46) POKE (VA+2) , 255: POKE (VA+ 3) ,O:POKE(VA+4) ,192 PRINT"SETTING UP. . ." FORAD=49176T049375: READ X:POKEAD,X:NEXTAD POKE53280,0:POKE53281,G PRINT" {CLR} {8}{DOWN}";C HRS (14) PRINT" ***#* ee # eR HR SOMART {SHIFT-SPACE}FORMAT V1. GReKKK RRR RRM PRINTCRSSPC(11)"1541 FA ST FORMAT"CRSSPC (12) "WI THOUT 'BUMP'" PRINTCRSSPC(11)"BY RUST IN AMBROSE" PRINT"{3 DOWN}ENTER: {2 SPACES}DISKETTE NAME wD PRINT" (NAME CAN HAVE MA X OF 16 CHARS," PRINT" I.D. MUST BE 2 C HARS LONG) ";CR$ : INPUTDNS, ID$: IF (DNS="")OR(IDS="" ) THENEND LN=LEN (DNS) : IFLN>16THEN PRINTCRS"~-NAME TOO LON G.":GOTO226 IFLEN (ID$) <> 2THENPRINTC R$"--I.D. NOT 2 CHARACT ERS LONG.":GOTO226 CSS="NG:"+DNS+CHRS (44) + IDS+CHRS$ (13) :CL=LEN(CS$ ) :POKE49175,CL FORI1=1TOCL: POKE49151+1 1,ASC (MID$(CS$,I1,1)+C6 $) :NEXTI1 360 :

CE 110 RJ 126 136

146

158 169

176 186

196

268

216

226

236 246

256

260

BH 270

RJ 286

FP 290

ED

QF sQ

HJ

FS

EG

BS

BX

XG

FK

cP

KJ AG XF DE KS

Jc

cc

XB

EC EP

QM

FX

JQ

FR XF AE BA

DJ

HB

310 326

336

348

356

360

376

386

396

400

416 420 436 440 450

460

476

486

499 508

514

520

536

546 558 566 576

580

590

SEPTEMBER 1992 COMPUTE

CLOSE15:0PEN15,8,15 PRINT#15,"M-R"CHRS (34) ; COS$:GET#15,T$:IFASC (TS+ COS) THEN380 PRINTCRS"**INTERNAL TRA CK COUNTER OF DRIVE NEE Ds" : PRINT"{2 SPACES}TO BE I NITIALIZED."

PRINT"{2 SPACES}PLEASE {SPACE}INSERT ANY FORMA TTED DISKETTE.” PRINT"{2 SPACES}THE DIS KETTE WILL NOT BE AFFEC TED**":GOSUB630 PRINT#15,"I@":GOSUB700: GOTO326 PRINTCRS"**PLACE DISKET TE TO BE FORMATTED INTO "

PRINT"{2 SPACES }DRIVE** ";GOSUB630

PRINT#15,"M-R"CHRS (33) 7 CO$:GET#15,WPS:IFASC (WP

$+CGS) ANDL6THEN430 PRINTCRS"~-WRITE PROTEC T IS ON."

PRINT"~-REPLACE DISKETT E.":GOSUB636:GOTO409 PRINTCRS"**PLEASE CHECK THAT DISKETTE IN" PRINT"{2 SPACES}DRIVE S HOULD BE FORMATTED." PRINT"{2 SPACES}ALL DAT A WILL BE DESTROYED!**" PRINTCRSSPC(7) "(HIT SPA CE BAR TO FORMAT": GOSUB 640

PRINT#15, "M-R"CHRS (34) ¢ CG$:GET#15,TS:1FASC (TS+ CGS) =OTHEN336 PRINT#15,"M-R"CHRS (3G) 7 COS:GET#15,WPS$: IF (ASC (W PS$+C@$) AND16) =OTHEN416 PRINTCRS$"--FORMATTING * "png", "IDs"! . 4" PRINT#15,"M-W"CHRS (28) ; COS;CHRS (1) ;COS OPEN2,8,2,"#1":PRINT#15 ,"B-P";2;0:PRINT#2,AS;: CLOSE2 PRINT#15,"M-E"CHRS (28) ; CHR$ (4) :GOSUB740 PRINTCRS"DONE!

{3 SPACES}[I.S. GAPS: "

PRINT#15,"M-R"CHRS (5) CH R$ (6) CHRS (4) FORI1=0T03:GET#15,G$:G( I1) =ASC (G$+C@S) :NEXTI1 FORI1=3TOGSTEP~1: PRINTG (11) ;:NEXTI1:PRINT"]" PRINTSPC(10)"(# OF RE-T RIES=:"; PRINT#15,"M-R"CHRS (32)C HRS (6) :GET#15,ER$:ER=AS C(ERS+CGS) PRINT1G-ER"]"

G-33

PROGRAMS

SSE RE ESS RT IE SE TET

RH 666 SI SUL IS e ah DLINER CCFA:D@ DC A2 06 C8 BO 67 62 C5 aT 7R?**" >GOSUB630 CD@2:C9 GG FO G7 9D 35 G3 EB Cl :GOTO220 ; ; Q

cH 610 : By Danie! Liamnet CbIz:AB 88 88 8C 34 G3 30 40 39

MH 626 : Here's alittle program that youcan have | Coia:cp aD A7 @2 8D AS o2 AD EL

SA 630 PRINTCRS$SPC(7)"(HIT spa | funwith by devising a variety of useful ap- | cp22:a8 62 8D AA G2 AD C2 62 3D CE BAR TO CONTINUE" plications. DLiner is a utility that can con- | cp2a:8D A7 G2 AD C3 62 8D A8 7B

SF 646 (ePAcRyERAIaee 'E' TO vert any area of memory into lines of BA- cbe28a2 ap Ba He ep A8 G2 au Ba SPACE }EXIT)" SIC data statements. These lines can | CD3A:9D F DasCD AD AS.E

BK €6y Gorse rees="n"pHENCLosE | then be saved and used just Ike any BA- GRUNT Ae DATOS ee net ee eee 15:END SIC program data. CD52:A2 GG DD 95 CF FO 06 EB 8B

QF 679 IFIS<>" "THENG6G DLiner is written in machine language. CD5A:E0 BA DG FG 66 CB CC 34 66

JA 680 RETURN To enter it, you'll need MLX, our machine | CD62: 63 pe EA AD 34 63 C9 G5 32

GR 696 : language entry program. See "Typing | CD6A:96 1c AG GO BO 35 63 DO EB

eee SLIPELEGEHHOTT or nia | AldS” elsewhere in thie section. When | SD/2#28 CF Bd. 03 Ae ect ne peta

eaerae SE ROREMDET ve Eeco a MLX prompts for the starting and ending | cpg2:ra a3 4c 6E cD 60 EA AS 37 ISHN aaoat aps addresses, respond with the following. | cpga:ao 8p A7 @2 8D AB G2 AG 52

KB 72 PRINT"'"E25"" DRACKS"B3 CD92:0 AE 34 63 CA BD 8B CP C4 $" SECTOR#"E4$:CLOSE15: | Starting address: CCA2 CD9A:8D AA 62 BD 96 CF 8D AB 4E END Ending address: CFFE CDA2:02 B9 35 03 8C AC G2 38 D7

PS 730: r CDAA:E9 36 A8 18 CO GG FO 17 DE ; CDB2:18 AD A7 @2 6D AA @2 8D 82

aout eg A aa ae Be sure to save a copy of the program | cpBa:a7 62 AD AB @2 6D AB G2 GA Ss Baotegs es) SK before you exit MLX. CDC2:8D AB 62 88 4C AD CD ac 79 rly , rr, - : A 3 a

BD 750 DATA2G8,247,160,70,162, To use DLiner, load it with the ,8,1 ex Sees a on oe ca Be 2 pe os 193,169,132,32,93,4,32, | tension, type NEW, and press Return. EELS Chee AN aakeswanaas 48,6,166,13 You can then go ahead and load anoth- :

! CDE2:8D AA 62 AD A7 G2 85 FB 57

AB 760 DATAL62,238,169,61,32,9 | er program. When you're ready to con- CDEA:AD A8 62 85 FC A9 GG 8D 3c SPOUSE OEE vert an area of memory to data state- | CDF2:AB G2 A9 28 8D AE G2 A9 71

z E ments, simpl e SYS 52386, SA, FA, | CDFA:23 8D AF G2 A9 G1 8D AC BA

Hae Baprenciern alan Heal GANS thé tena address of the area | CE@2:02 AS 08 8D AD G2 AD 03 BG G,6,169,123,141,1,6,169 Sg f CEGA:8D BG 62 A9 G8 BD Bl G2 51 14,32 you want to convert, and EA is that ar- | cai2:a¢ oo aD BO G2 85 FD AD 90

HG 786 DATA210,266,76,64,238,1 | ea's ending address. f CE1A:B1 62 85 FE AD AE G2 91 6F 6 CE a OY 141, To convert the information that ap-

3,6,162, ears on a screen, for example, type

AH 796 DATA189, 255, 255,157,48, | Sve 52386, 1024, 2023 and peete. 6,232, 200,204,3,6,208,2 t Dlinerthee fes 1000 dat 43,169,96,157 urn. DLiner then creates ata

AS 800 DATA48,6,96,165,81,16,1 statements, starting with line 9000. Add- 9,169,6,141,33,6,169,15 | ing a few lines of code to read and ee mata 7 poke these same data statements GucotcheaiiGinaecnraaeeceo ca

KG 818 DATA6,16 6,1 32,6 back into memory will re-create the E62: Fi 69,1,133,81,160,0,269,5 Le SCH IiIel if is CEG6A:AD AB G2 C9 10 DO DS 26 36 G,240,13 SEEN CE72:26 CF 4C 14 CE 8D 2F CB B8

JM 820 DATA2G1,2,268,6,174,38, DLiner can also be used to convert | C7a:82 2 CB A2 69 8E 26 CB 1D 6,142,4,6,76,251,250,20 machine language code. If you write a | ce82:A6 BGO AD 2E CB DD A8 CF 1,1,246 machine language program, you can | CE8A:AD 2F CB FD A9 CF 90 GF EG

AX 8306 DATAS2,165,68,74,74,74, | convert it to data statements and either gegeene ae ee Bs ae eB ED Ba ae ENP OHSAS Nae ta run the statements with a BASIC load- CEA2:CA FO 10°C9 BG FO G3 8D SD

RC 846 DATA157,5,6,141,38,6 32 | @f or combine them to run with other | ceaa:2a cB 2c 20 cB 30 @4 AQ A3

43/12,28,41,31,9 | Subroutines. CEB2:60 FO 05 29 7F 20 BE CE 88 eo ee ee CEBA:CA 16 C5 60 8C B4 G2 AG 5C , :

RD 85 DATA141,12,28,169,255,1 | DLINER CEC2:09 91 FD 20 CC CE AC B4 36 41,3,28,169,85,141,1,28 CECA:02 66 18 AS FD 69 Gl 85 FB Neaieatanes! (aa RED CCA2:D8 26 7D CF A@ GG A2 GG a7 | CED2:FD AS FE 69 96 85 FE 68 C3 1162,2,

CCAA:A9 6G C8 CG FF DG FB AG 1a | CEDA:A5 FB CD A9 G2 FO G3 4c C4

SOLE EU NOTA HEEL TEE Gall (CORD TGp RRLED CPED ET EAT aD coeam | OHEDT 672 CRAs tectcphaavanien! 7A gee CCBA:69 91 C9 GA DG EC AD G6 BE | CBEA:03 4C 67 CE 20 26 CF AQ D9

Ccc2:2 C9 2C DG 11 AG BO BO 27 es et ae ee os ED ee 3u 3

Rustin Ambrose's initial goal with ene ies be o aS re a aa a2 oe GFOS:A5 FEU 69" 90 8S OK AS 2D. BE

Smart Format was to protect his drives CCDA:FE 8C 34°93 88 ac C4 02 cr | CFOA:85 2F 85 31 A5 2E 85 30 1D

from the excessive head bumping that | ccz2:29 4D cb AD A7 G2 8D C2 97 | CF12:85 32 Ad G@ B9 A4 CF 99 AE

can occur during formatting. He lives | ccea:g2 aD A8 G2 8D C3 G2 AC 52 CF1A:77 62 cB co ee oh Be Be BG

in West Allis, Wisconsin. CCF2:C4 62 C8 B9 G7 G2 C9 2c 24 | CF22:C6 4C 66 FE A B

G-34 COMPUTE SEPTEMBER 1992

CF2A:62 A9 GB 91 FD 26 CC CE 27 CF32:A5 FD 8D G2 AS FE 8D 13 CF3A:Bl 62 AD AC 62 85 FD AD 83 CF42:AD 62 85 FE AD BG @2 91 9F CF4A:FD AD Bl 62 C8 91 FD A@ D3 CF52:96 AD BO G2 85 FD 8D AC 7F CF5A:02 AD Bl @2 8D AD 62 85 69 CF62:FE°A9 G@ 91 FD C8 91 FD 39 CF6A:AG 6G 26 CC CE 26 CC CE 8A CF72:A5 FD 8D 62 AS FE 8D 53 CF7A:Bl 62 68 A@ 66 BO B3 CF A7 CF82:20 D2 FF C8 CG 4C DB FS 42 CF8A:66 G1 GA 64 E8 10 BG GB AD CF92:60 G3 27 38 31 32 33 34 C7 CF9A:35 36 37 38 39 36 35 35 OF CFA2:33 35 4C 49 53 54 @D Gl 4E CFAA:6@ GA 96 64 66 E8 63 16 CC CFB2:27 OD 54 48 45 26 44 4C B7 CFBA:49 4E 45 52 @D 43 4F 50 C4 CFC2:59 52 49 47°48 54 26 31 46 CFCA:39 39 32 26 43 4F 4D 50 DF CFD2:55 54 45 OD 50 55 42 4C 54 CFDA:49 43 41 54 49 4F 4E 53 D4 CFE2:20 49 4B 54 4C 20 4C 54 C3 CFEA:44 6D 41 4C 4C 206 52 49 AD CFF2:47 48 54 53 26 52 45 53 36 CFFA:45 52 56 45 44 96 69 04 13

Daniel Lightner is a frequent contribu- tor. He lives in Sidney, Montana.

XLOGIC

By Richard Penn

Merge and renumbering utilities all have their place, but a good debugger is a tool that no programmer should be with- out, Although it's not absolutely neces- sary for short programs, using one can save you a great deal of time when you're writing lengthy code.

XLogic is a BASIC debugging tool that's simple enough to be used by nov- ices, yet powerful enough to meet the needs of even the most demanding pro- grammer. It has no gimmicks, only the bare essentials—the bare essentials to lo- cate and blow any bug off the silicon land- scape, that is.

First, it enhances the LIST command to display in color the paths of all GOTO statements, IF/THEN statements, and oth- er branches. This lets you follow a pro- gram's logic at a glance, even if you're viewing someone else's program for the first time. A description doesn't do justice to its power. After using it, you'll feel half- blind looking at a conventional listing.

If you need a closer look at program flow, the trace routine shows each line and highlights every statement as it ex- ecutes. Up to four variables (including ar- ray variables) can be displayed inside

the trace window. The window can be placed at the top or at the bottom of your screen so that it won't overwrite something important. Finally, the speed of the trace can be varied, and the code can be single-stepped. You can also dump all the variables and functions, col- or-coded by type, into memory.

Typing It In

XLogic is written entirely in machine lan- guage. To enter it, you'll need to use MLX, our machine language entry pro- gram; see “Typing Aids" elsewhere in this section. When MLX prompts you, re- spond with the values given below.

Starting address: CO00 Ending address: CBF7

When you've finished typing, be sure to save a copy of the program before exiting MLX.

Four Commands

To use XLogic, just follow these simple steps. Load the program with a com- mand of the following form: LOAD “XLOGIC",8,1. Of course, you should replace XLOGIC with whatever name you used when you saved the XLogic data. Type NEW. Activate the program with SYS 49152.

XLogic’s features are easily ac- cessed with four new commands that work only in direct mode. You're limited to one XLogic command per line, which can be abbreviated by typing the left arrow (€) and the first letter (or as many characters after these ini- tial two as you like).

Both “LIST and “TRACE activate debugging modes, as opposed to most commands that perform an imme- diate function. You can program normal- ly in either mode. Apart from the en- hanced features, you won't even know one of these features is on unless you list or run a program.

Only one mode can be used at a time, so activating a new mode will re- place the current one. Run/Stop-Re- store won't disable a mode. To turn off either mode, use the “OFF command.

The command <VAR is always available and is unaffected by OFF. XLogic itself will remain active until you shut off the computer.

The command LIST turns on

branch mapping. A branch is any point where a BASIC program jumps to another line and is done with the GOTO, GOSUB, IF/THEN, ON/GOTO, or ON/GOSUB commands.

Most cross-reference utilities print a line-number list, which is not very use- ful. XLogic highlights branches in col- or within the listing so that you can see where each branch goes and continue programming normally at the same time. In this mode, the LIST command changes the screen color to black and lists everything in light blue, but it prints all branches and the lines they ref- erence in matching colors.

For example, let’s look at this simple program.

10 PRINT “‘XLOGIC” 20 PRINT 30 FOR T= 1 TO 10: NEXT : GOTO 10

With “LIST, GOTO 10, all of line 10 would be listed in white. The rest of the program would be light blue.

The key to reading a colored listing is the line number, which is always light blue unless some other line branch- es to it. Whenever you see a line num- ber (and the rest of the line, since lines match their line-number color) that isn't light blue, you know that there's at least one command some- where in the program that jumps to this line. It's then a simple matter of matching up all the branch commands of the same color with the line that's that color. If all this sounds confusing, don't worry; it will become obvious when you see it on the screen.

The 64 has 16 colors, so there's a lim- it to how many branches can be mapped. Since light blue is the neutral color and characters are invisible if they're the same color as the screen, that leaves 14 free. However, “LIST also uses reverse video, so a total of 28 different branches can be displayed. If there are more than 28 branches, the sur- plus branches are all highlighted in light blue reverse video. So although they're still shown, you can't tell different jumps apart. This isn’t a serious problem, because “LIST only cross- references the lines you list.

If you type LIST alone, the entire pro- gram is cross-referenced. But if you type a command such as LIST 100-

SEPTEMBER 1992 COMPUTE G-35

PROGRAMS

SL ST IE TL PS I SE TASS TET

200, only the lines 100-200 are cross- referenced,

Since “LIST cross-references branch- es on a first-come-first-served basis, don't be surprised if the colors change when you're listing different groups of lines, Although the colors may be different, the program listing is still accurate.

There are two error messages that you can get with “LIST. The first is an UNDEFINED BRANCH error message with the offending line printed beneath. This happens when there's a branch command with a syntax error some- where in the program, such as GOTO with a missing line number. Simply cur- sor up to the line, correct it, and list again.

It's rare that anyone will see the sec- ond error, which occurs when there are too many branches. This shouldn't be confused with the 28-branch color lim- it. Although “LIST is able to display on- ly 28 different branches, it can handle over 1300 internally. Few programs for the 64 need this many branches, but ©LISTwill inform you if you ever exceed this limit! Should that occur, simply list smaller groups of lines.

The command “TRACE turns on the execution trace. This mode displays a trace window whenever you run a pro- gram. Use it to see exactly what a pro- gram is doing as it runs and to find out when and why variables are changing.

Also, if you get a syntax error but can't tell what's wrong with the line in question, “TRACE will show you ex- actly where the program stopped.

The command “TRACE prompts you for several settings. If you change your mind during this procedure, press Run/Stop-Restore to cancel. First, it asks you if you want the trace window to be at the top or at the bot- tom of the screen. This lets you put it where it won't overwrite anything impor- tant. Next, you're prompted to select the execution speed. You have the choice of running the program at the fastest possible speed (normal), slow- er (delay), or slowest, (single step) through the code.

When single-stepping, hit any key on the keyboard (hold it down for con- tinuous execution) to execute the next command. If you single-step a pro- gram that waits for a keypress with the

G-36 COMPUTE SEPTEMBER 1992

GET command, remember to hold down the key the program expects when the trace reaches the GET. (It's better to avoid single-stepping pro- grams with many GET commands.)

Regardless of which speed you se- lect, keep in mind that a traced pro- gram runs slower than normal, so hold down all keys including Run/Stop until they catch.

You also have the option of display- ing up to four variables during the trace. To enter the variables, type them in the order that you want them to appear and separate them with a slash (/). An entry such as A/B/C/ BOX(A,B,C) is legal and still counts as only four variables, since BOX(A,B,C) prints only one value.

If you accidentally enter an illegal var- iable and run the program, the trace will stop and display an error beside the variable it doesn’t understand. If this happens, use the “TRACE com- mand again to enter the correct varia- bles. Also, strings must be less than 36 characters in length, or they won't fit in- side the window.

To try out the various trace options, enter and run this short program.

10 A=1: B=2: C=3: D=4; E=5: F=6: G=7: H=8: GOTO 10

The command “TRACE uses light blue to display the current line and var- iables and highlights commands in white as they're executed. If these col- ors conflict with your program's screen color, change it temporarily while you debug your program. Also note that the LIST command won't work properly with “TRACE on.

The command “VAR dumps all non- array variables and functions in mem- ory, color-coded by variable type, to the screen. Functions are followed by the notation FN.

The command *OFF disables all XLogic commands except for “VAR.

Debugging BASIC with ML XLogic is a BASIC debugging tool. If your program uses any machine lan- guage routines, there might be a mem- ory conflict.

Note that XLogic resides from 49152 to 52208, downloads and modifies BA- SIC ROM, and changes several vec-

tors. It also uses all of the RAM under- neath Kernal ROM and part of the cas- sette buffer as work areas. ML is safe to use with XLogic, provided that it isn't located in any of these potential trou- ble spots.

XLOGIC

C6G0:4C B8 CA G8 8D 34 63 8E 81 CGO08:35 G3 8C 36 63 AD 4B G3 42 C619:D6 46 A2 FF BS OG 9D Fl BA CG18:CB CA E@® G2 D@ F6 AD G1 25 CG26:8D 4B G3 AS 5F 85 FD A5 AB CG628:66 85 FE A5 15 8D 48 G3 D7 CG30:C9 FF D@ G8 AY FE 8D 3F D4 CG38:63 4C 41 CO AS 14 8D 3F 5A C046:63 26 A2 Cl A2 FF BD Fl 3E CG48:CB 95 @@ CA EG G2 DG F6 69 CG56:A9 6G 85 FD A9 FO 85 FE 52 CG58:A9 6G 8D 3A G3 8D 21 DG 65 CG6G:A9 BE 8D 86 G2 AD OG 85 9G CO68:FB A9 EG 85 FC AG GG CB FO CG76:26 DE C@ C9 FF D@ 65 AD 65 CG78:GE 4C BF CO 88 20 DE Co 5B CG86:CD 35 G3 DO G9 CB 2G DE 2E CG88:CO CD 34 G3 FO GE A2 G3 9C C696:E6 FB DG G2 E6 FC CA DG 5G CG98:F7 4C 6D CO C8 24 DE CO 28 CGAG:C9 GB DB BC AD BE 8D 86 G9 COA8:62 AY 12 85 C7 4C C2 CB ES COBG:C9 GF 96 G7 38 E9 GE A2 85 C@B8:12 86 C7 AA BD 63 CB 8D A7 C6CG:86 G62 AD 86 G2 8D 4D G3 OB C@C8:A5 C7 8D 4C 63 AD 34 G3 BF CODG:AE 35 G3 AC 36 63 28 85 BS C6D8:62 86 63 4C Dl BD 78 A2 77 CGEG:34 86 G1 Bl FB A2 36 86 B6 CGOE8:61 58 66 G8 8D 37 G3 8E 6B COFG:38 G3 8C 39 63 A6 D4 DG Al COF8:61 AE 3A 63 EG G1 90 25 OF C166:C9 3A D@ 13 AD BG 8D 3A E4 C108:63 AD 4C 63 85 C7 AD 4D 26 C110:63 8D 86 62 4c 5A Cl EG 99 C118:62 DG 3F C9 2C DG G3 20 29 C120:67 Cl 5A Cl 4c 57 C4 AQ C128:29 C9 8D FG 25 C9 A7 DG £3 C136:12 C8 Bl SF C9 26 FG F9 C5 C138:C9 34 96 1E C9 3A BG 1A 53 C140:4C 52 Cl C9 91 DB 13 AD F2 C148:62 8D 3A G3 26 67 Cl 4c 16 C156:5A Cl A9 G1 8D 3A G3 26 32 C158:67 Cl AD 37 63 AE 38 G3 6F C16G:AC 39 G3 28 4c 1A A7 AO 2F C168:06 85 C7 AG GG 78 A2 34 AB C176:86 61 Bl FD A2 36 86 @1 89 C178:58 C9 66 DB BC C186:86 62 A9 12 85 C7 4c 9B 9D C188:Cl C9 OF 96 67 38 EO GE 45 C19G6:A2 12 86 C7 AA BD 63 CB 55 C198:8D 86 62 E6 FD D@ G2 £6 51

C1C6:3F 63 D@ G3 EE 46 G3 AG GE C1C8:66 Bl FD 8D 41 63 C8 Bl AA C1DG:FD 8D 42 63 C8 C8 Bl FD F9

C1D8:CD ClE C1E8:C8 C1FG6:AD C1F8:AD C200:89 C268:C2 C210:4C C218:43 C220:F9 C228: 06 C236: 43 C238:A9 C240:63 C248:C4 C250:FD C258:Bl C260:63 C268:C9 C270:61 C278: 36 C280:84 C288:FG C299:F@ C298:84 C2AG6:E8 C2A8:C3 C2BG:A2 C2B8:C9 C2CG:E8 C2C8:3A C200: 20 C2p8:9D C2E6: 63 C2E8:A7 C2FG:2C C2F8:65 C360:48 C368:85 C310:66 C318:C8 C320:C8 C328:36 C330:E6 C338:9B C340:C9 C348:58 C350:C8 C358: 3B C360:9B C368:63 C376:FC C378:3B C380:EE C388:90 C390:48 C398:62 C3AG:C9 C3A8:68 C3BG:84 C3B8:D8 C3CG:4B C3C8: G3 C3D6:85 C3D8:B7 C3E6:8D C3E8:AD C3F0:88 C3F8:66 C40G:FF

c8 4A 4a Do cg 3D 03 cg 20 63 @1 4c 8D AD FD 4c 26 FO 96 63 OB 63 63 Ag 26 66 3A Bl FO FO 84 E8 c3 FO 4c 93 9c Bl Bl Bl 86 FC co EE AG AD 63 cs 91 AS 03 3B 05 G3 E6 FO BO 63 07 8C AS 7A AS 45 47 c8 A2 E8

cg Ol 46 65 06 A7 FD GA 4c cg 63 Ag AD 85 c8 60 AD 0) 3A BL FO c2 36 84 66 cg 9D 2c 06 B2 Ag 9D c2 00 4c 85 35 44 45 26 E6 03 56 A2 44 91 cs AG FB cI) AC 3B 8D 63 Da 4c 07 Bo 63 AS 47 85 44 46 7B cg 12 De

C468:9A C410:CB C418:F5 C426:66 C428:FA C436:CB C438:4C C446:GE C448:C9 C450:89 C458:CB C466:29 C468:D6 C478:68 C478:A9 C486:03 C488:8D C496:68 C498:48 C4AG: 83 C4A8:9D C4BG:AD C4B8:20 C4CG:FB C4C8:FG C4D0:99 C4D8:EF C4EG:16 C4E8: 40 C4FG6:9D C4F8:4C C566:86 C568:4C C510:88 C518:A9 C520:D6 C528:66 C536: 28 C538:CB C54G:68 C548:A5 C556:03 C558:A6 C566:63 C568:8D C570:A5 C578:AG C586: 2B C588:FD C596:98 C598:A6 C5AG:A5 C5A8:BD C5BG:87 C5B8:A9 C5CO:EG C5C8:FF C5DG:FF C5D8: 26 C5E6:78 C5E8:A9 C5FO:DO C5F8:85 C6GG:68 C668:04 C616:C8

C636:88

4c 26 Ag 3 9A Bl BD c8 A4 4c FO cl

A2

48 37 Ag 68 28 98 4c Fl 86 D2 gc 31 86 9 26 AQ 48 3F 95 3F 95 1l FA Ag 96 07 8D 3A ag 38 Ag 27 14 86 85 c8 91 AG FE A6 cg 26 78 ag 26 A6 96 1l FA FC Bl A2 4c AS 98 85 Ag

74 D2 37 ) AG FD A6 Bl FO @1 07 4c AQ AS 85 A7 03 4c 48 isi} cB G2 FE cg cg 85 86 D2 2D DB cs D9 cs D9 A2 A2 GE pul E8 14 85 EF AS 17 @3 De Bl FC Bl FB 66 91 AD 63 A6 99 1l D2 D3 F8 A2 ag AQ FB G1 G1 EB 48 FE 26

A2 E8 Gl 8D Bl 15 FD co 4c 4c 89 (eal 8D co Ag 07 AT A7 3A A2 EO 4E 56 FO FG 4c EF CA 48 EG 66 EO 1l EO 26 Ag 80 6B 28 AS Ag 28 ES 26 GE AS 85 i) 85 91 FD 4c 93 22 9D AQ D2 4c Ag 13 26 85 8D OF D4 AQ 7A Dl AG Dl

CT) cg AQ 07 FD 26 co 26 6c 63 FO AD 4a FF 1A 63 8D 68 cg FF @2 83 @3 11 3D 3F Ag Dg 67 28 BS 68 BS 19 D2 2D DA AQ 96 39 cl 63 SF 63 8D 15 FB Bl FE FB 91 AA cg 4c oo 13 FF F2 G6 26 D2 FB 86 cg 26 26 AS 85 AA c8

BD Cr) 1A 63 85 13 cB FO c4 C2 63 3c 63 FO 8D Ag 09 48 FF B5 De ag cg co AS cs 11 FA Ag 98 bg 90 D9 96 FF 9D E8 26 F8 85 8D 26 8D Ag 86 De c8 FB AG 20 FB cs 62 52 G4 20 26 cs E8 D2 FF AQ G2 24 D2 26 FC FD A4 coe

C638:968 C640:A8 C648:DG C65G:FF Cé658:Fl C66G:A7 C668:8D C670:DG C678:2D C680:CO C688:00 C690:BE C698:64 C6AG:A9 C6A8:56 C6BG:BE C6B8: 07 C6C0: 63 C6C8:18 C6DG:CA C6D8:C6 C6EG:FO C6E8:F1l C6FG:F6 C6F8:A8

C720:28 C728:F1

C748:8D C758:AD

F9 c8 62 cs 8D AQ 18 12 91 28 FO cé6 E8 2D D8 cé6 E8 cg 4c Ds 20 F7 cB AD 68 08 4P G2 co 4c 68 ag 8D Ag 28 96 93 Ag

D 66

C8¢8:19 C816:FB C818: 62 C820:CB C828:F5 C836:53 C838:D3 C840: 63 C848:C9 C850:4C C858:53 C860: 26

79 63 83 AD 55 63 oo co FO 4c A2 E8 27 @D Ag 51 D2 cS 27 DG 6s 8D 26 AQ 63 26 cg 41 8D @3 D2

FE

SEPTEMBER 1992 COMPUTE

PROGRAMS

CB8A8:A9 C8BG:99

C8C8:C9 C8DG:A7 C8D8:8D C8EG:A9 C8E8:01 C8FG: 26 C8F8:A9 C966:CF C968:36 C916:26 C918:4Cc C92G:41 C928:8D C93G:A5 C938:A5 C946:C5 C948:8D C958:03 C958:63 C960:86 C968:96 C979:67 C978:88 C98G:A9 C988:C9 C998:D2 C998:C9 C9AG:G5 C9OA8:FE C9BG:895 C9B8:9G C9CG8:28 C9C8:FF C9DG: 26 C9D8:63 C9EG:D4 C9E8: G3 C9OFG: 26 C9F8:A9 CAGG:A5 CAG8:63 CA16:7B CA18:97 CA26:FC CA28: 44 CA3@:4C CA38:AD CA4G:CA CA48:A2 CASO:E8 CAS8:AA CA66:85 CA68:62 CA76:BD CA78:8D CA8G:A9 CA88:27 CA9G:ED

G-38

rea AT 8D

COMPUTE SEPTEMBER 1992

CA98:G3 CAAG@:8D CAA8:A9 CABG: 5B CAB8:A9 CAC@:DC CAC8: FE CADG:59

AVSNUuAnnauvnvan

CBEG:58 CBE8:49 CBFG:00

ag 08 Ol 63 37 85 85 26 FF 8D Ag @2 83 G3 06 OF 59 45 46 41 4F 4F 92 Ul) 41 4c 12 26 @D 26 45 3F 52 34 4c 2F @D 26 45 53 41 4c 53 1)

A7 03 8D Ag 85 5F 5A BF Ag 04 Ol G3 8D 66 67 54 26 53 49 4E 52 58 4F @D 4c 41 53 53 44 56 53 @D 26 20 45 43 6D 41 44 54 54 4F 41 1)

8D Ag 52 06 Gl ag 85 A3 Ol DC 8D Ag G4 GE 68 4F 42 0D 4E 43 9D 20 54 12 2c 59 92 54 49 41 26 1) 55 56 53 2F 58 43 9D 26 45 47 42 Is)

E4 63 8D 60 GE Lt) 85 8D Ag @5 29 63 8D G4 oc 41 43 44 42 52 54 12 3F 52 92 52 4c gD 41 42 4E 54 4P 41 2F OD 43 41 4c 49 @D 44 6D ot)

Richard Penn is a prolific Commodore programmer. He lives in Montreal, Que- bec, Canada.

POLYGONS

a

the other possible parameters.

Typing It In

Polygons is written entirely in BASIC for the 64 or 128 in 64 mode. To help avoid typing errors, enter the program with The Automatic Proofreader; see “Typing Aids” elsewhere in this sec- tion. Be sure to save a copy of the pro- gram before you exit Proofreader.

Calculating

Simply load and run Polygons and then answer the prompts. Suppose you have an octagon, for example, and you know that each of the eight sides is 5 inches long. Enter this information, and Polygons will compute the diago- nal (13.06 inches), the width (12.07 inch- es), the area (120.71 square inches), and the internal angle (135 degrees). If you know any one of these parame- ters, Polygons can calculate the oth- ers. Of course, diagonals and widths ar- en't meaningful for polygons with an odd number of sides.

The mathematics is straightforward though probably not of everyday famil- iarity. If you do architectural design or have a use for plane geometry of this level, the program should save you many hours of calculation.

POLYGONS

AP @ REM COPYRIGHT 1992 -~ COMP UTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 5 PRINTCHRS (5) "{CLR} {11 SPACES}*** POLYGONS * ek

QB

16 26

FQ FK

PRINTCHRS (158) PRINT" {14 SPACES}NEEEEEE EEM"

PRINT"{11 SPACES}A N

{10 sSPACES}M"

PRINT"{12 SPACES}YA=INT

JA 30

FK 50

By Rowland Medler

There have been many programs pub- lished for computing the parameters of tri- angles, even those that aren't right tri- angles, but few if any have been pub- lished for polygons with more than three sides. In case you don't remember your high school geometry, a polygon is any closed plane surrounded by three or more usually straight sides.

Polygons works with any multisided fig- ure that has four or more sides of equal length. If you know one dimension of the polygon, this program will compute all

KC

JF

KC

sD

KP

JX BD

BG

52

55

57

66

76

75

166

116

{SPACE}ANGLE T "

PRINT"AB=DIAGONAL ¥<** W

IDTH**>T"

PRINT" {12 SPACES}Y

{2 SPACES}(A R E A) 1"

PRINT"{13 SPACES}M

{16 SPACES}N B"

PRINT"{14 SPACES}M

{2 SPACES}SIDE{2 SPACES}

nN"

PRINT" {15 SPACES }EEEEEEE

EB" args

PRINTCHRS (5) INPUT"NUMBER OF SIDES=" Ah IFSI<4THENPRINT"THIS PR

HJ

DS

JA

AC

AE

QM

Qu