FASTEST PCs %

THE LATEST SPEED DEMONS

TOP

WINDOWS APPS! PICK THEIR 10 FAVORITE

- PROGRAMS LUS!

e |

thbhaid Pa vero atoms VISUAL C++ ch aT Vena AA aa aaa | GREAT GOLF GAMES pp Br ay Fr we ey ea ste =| a ¢ is BIOS BASICS or E = Mt ut Ue belf ea eat ol i = = = : -

Sees ea A ESTED ASIANS 20 FEST

64/128 VIEW

Gazette celebrates its tenth birthday with this issue—and launches a new column to help celebrate.

Tom Netsel

hat were you doing ten years ago this month? If you hap- pened to visit a news- stand, you may have picked up a new magazine called COMPUTE!'s Gazette. | was working at the Uni- versity of Central Florida in Orlando, and | had just bought a 64. | was wonder- ing what to do with it when | spotted a Gazette at my lo- cal grocery store. I'll have to confess that | missed the first issue. | didn't see Ga- zette until the second issue hit the newsstand, but I've been hooked ever since. Gazette was billed original- ly as being “for owners and users of Commodore VIC-20 and 64 personal comput- ers." As time passed and Commodore introduced the Plus/4, the 16, and the 128, Gazette's coverage expand- ed to those machines. But when the smoke finally set- tled over the personal com- puter battlefield, the 64 and 128 emerged as the survi- vors, and Gazette narrowed its editorial focus to those Commodore veterans. Speaking of veterans, as | browse through the mast- head of that first issue, | see the names of four people who are still associated with the magazine. Regular read- ers will recognize colum- nists Jim Butterfield and Fred D'lgnazio, but two oth- er veterans may not be as familiar. Terry Cash is now copy production manager, and De Potter is production manager. Without their val- ued assistance, there wouldn't be any magazine. Editorial’s staff has changed frequently, but Ga- zette’s goal of providing its readers with the best of Com-

modore-related information and entertainment has not changed. In large measure, each Gazette editor has re- lied on 64 and 128 owners who are willing to share their knowledge with our readers. From that first issue through the one you read to- day, we’ve encouraged you to submit articles and pro- grams for publication. That need is just as strong today as it was a decade ago. Some things don’t change.

Change is inevitable, how- ever, and you'll see it in this issue with the addition of a new column. Over the years we've published original pro- grams and reviewed com- mercial software, but we've seldom covered public do- main programs and share- ware—until now. GEOS col- umnist Steve Vander Ark ex- amines this vast source of programs in his new col- umn, “PD Picks.”

The programs Steve will re- view and recommend can be found on_ bulletin boards, commercial online services, user group librar- ies, and elsewhere. If you can't locate a convenient source for these programs, look for them on our month- ly Gazette Disks. These pro- grams—unlike the Gazette type-ins—are not copyright- ed, and you may distribute them freely. All we ask is that you honor the fee re- quests of shareware authors if you use their programs.

In closing, I'd like to thank all of you devoted Commodore users for your support over the past ten years. Without your help, Ga- zette would have folded years ago. But with it, look for Gazette each month for years to come. o

GAZETTE

64/128 VIEW G-1

Gazette marks a milestone with this issue—ten years of serving the 8-bit Commodore market. By Tom Netsel.

11 YEARS IN 8-BIT HEAVEN G-3

In 1982, dozens of home computers were struggling to pull ahead of the pack—then, along came the Commodore 64.

By Larry Cotton.

REVIEWS

Jara-Tava, Mathbooster, and Flyer.

FEEDBACK

Questions, answers, and comments.

PD PICKS

This new column focuses on the best of public domain and shareware programs. By Steve Vander Ark.

MACHINE LANGUAGE G-18

To read a file successfully, you must know how it ends. By Jim Butterfield.

G-8

G-14

G-16

PROGRAMMER’S PAGE G-20 More great programming tips from readers.

By Randy Thompson.

BEGINNER BASIC G-22 Here's how to activate your user port.

By Larry Cotton.

D’IVERSIONS G-24 The 64 can be a toddler's ideal first computer.

By Fred D'Ignazio.

PROGRAMS

Ultimate ML Monitor (64) G-25 Rascals (64) G-31 Scud (64) G-33 Cryptarithm Solver (64) G-36 Flasher 64 G-37 Type-Sim (64/128) G-39

JULY 1993 COMPUTE

Gt

PUMP UP

YOUR PRODUCTIVITY!

i The Gazette Graphics Harness the potential of your, Getta

64 and 128 with these Do it all with Commodore

graphics! powertul programs. fee Wet een i- Get more work out of your 64 and 128 Seca Deane 128 with these two new disk products from 128 Graphics Compactor,

64 Animator, VDC Graphics, issolve 128, Super Slideshow, 128 Animator, 1526 PrintScreen,

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

the Gazette Graphics Grab Supratechnic, Medium-Resolution Bag! Graphics, Screen Maker, GAS!64— The 1992 Best of Special Edition, GAS!128-Special Gazette Utilities paren 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, MegaSaueeze.

a SS SSS

| ___ Check or Money Order __ MasterCard _ VISA | want to pump up my productivity! Please send me the | @ disks checked below at $11.95 each. Credit Card No. Exp. Date

| : | __The 1992 Best of Gazette Utilities Saree aaa ___ The Gazette Graphics Grab Bag Daytime Telephone No. lia Subtotal ene ___ 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 | |

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

YEARS IN 8-BIT HEAVEN

BY LARRY COTTON

THE YEAR WAS 1982.

The Vietnam War Memorial was dedicd in Washington, D.C. England and Argentina fought over the Falkland Islands. The Equal Rights Amendment lapsed without ratification. The St. Louis Cardinals won the World Series.

Barney Clark became the first person to receive an artificial heart, the Jarvik-7.

And in the autumn of that year, the Commodore 64 personal computer was born.

ommodore International, a dar-

ling of Wall Street investors at

that time, was known primarily for its calculators; the PET series of computers; and a successful, albeit memory-deficient older sibling of the 64, the VIC-20. The company was run by the inimitable Jack Tramiel and sons, a team famous for squeezing the most bang from a buck.

The personal computer market was in a frenzy at the time, and Tramiel brazenly introduced a new computer called the Commodore 64. This new machine was priced at $595, a ridicu- lously low price for that time. A disk drive or a monitor were extra.

The Field The 64's major competitors were the Apple |l+ ($1,530), Atari 800 ($899), IBM PC ($1,565), and TRS-80 Model Ill ($999). The 64 was exactly the machine the world had been holding its breath for, with a third more built-in memory than the Apple Il+—four times more than the Atari 800—yet priced at two to three times less than the Apple and a third less than the Atari.

The 64 featured (as it does today) a breathtaking 16 colors; 40 charac- ters per screen row; eight Movable Object Blocks (sprites); and, best of all, an unbelievable 64K of random access memory, 39K of which was available for BASIC programs. Even without a drive and color monitor, the 64 was still far and away the feature leader with outstanding color, graph- ics, and an integral three-voice music synthesizer. Its musical talents alone rivaled those of many dedicated: key- board synthesizers at the time.

| must confess that | was not one of the original personal computer enthu- siasts. | hadn't assembled an Altair in my basement back in the 1970s. My computer-related background consist- ed of occasionally perusing Byte mag- azine and assembling a few Circuit Cellar projects. Later, my interest expanded into creating some original, but primitive, rats-nest circuits around various Radio Shack chips. One such device featured four toggle switches to input data to a tone-generating chip. It could play tunes stored in its minuscule 1K of memory! | began to see the need for a real computer.

Full List Price

After extensive comparative research, | decided to invest in a 64. | bought the shiny little machine (serial number 10917, with no colored bars in the logo) from a nearby dealer for full list price. | sold my prized 1959 Mer- G-4 COMPUTE JULY 1993

cedes to raise the cash to finance it. In addition to the computer, | proudly took home a disk drive (instead of the more common Datassette tape drive), a printer, and a 13-inch color televi- sion to use as a monitor.My sons, David and Michael (then 13 and 10), and | cleared some working space and unpacked each component with loving care. With great anticipation and excitement, we connected the parts with cables, plugged them into the wall, and gingerly threw the power switches. Everything worked beautiful- ly! We were thrilled!

As we tentatively put our new toy through its paces, we marveled at its wondrous capabilities. The only demonstration program our Com- modore dealer supplied with the 64 (in anticipation of a wildly successful Christmas selling season) showed Santa Claus sailing around a chimney and surrounded by flurrying snow, all the while accompanied by back- ground music playing “Jingle Bells.”

Software Shortage

Our giddiness soon diminished with the slow dawning that, however won- derful the computer itself was,

Commodore had introduced the 64 with virtually no available software. The company's first ads had vaguely promised a word processor; a data- base; a spreadsheet; and several games, including Gorf, Visible Solar System, Radar Rat Race, Mole Attack, Avenger, Ace of Aces, and Jupiter Lander.

With a dearth of software, we duti- fully turned to the user's guide and began teaching ourselves to program in BASIC. My first program (beyond the sophisticated 10 PRINT “HELLO”) was one | called Tunnels. This gem printed multicolored rectangles to the screen that overlapped in increasing and decreasing sizes. It was eventual- ly published in a series of demos called “Baker's Dozen” that were pub- lished in the January and February 1985 issues of COMPUTE!’s Gazette. (That was back when COMPUTE had an exclamation point.)

Magazine Scene

After tiring of driving 45 miles every month to my dealer, | started a sub- scription to COMPUTE! in February 1983 and voraciously read every word written about the 64. That was when COMPUTE carried articles and type-in programs for all of the popular PCs of the day. Charles Brannon, Jim Butterfield, and Richard Mansfield became my gurus of the 64, educat- ing me on every aspect and minutiae of video, inputs, outputs, machine lan- guage, and math. | snipped hundreds of articles from that magazine and from Gazette after it premiered in July 1983.

Articles in that first Gazette includ- ed a review of the strange Exatron Stringy Floppy, a mass storage device that's sort of halfway between a cas- sette recorder and a disk drive. There was a column by Fred D'Ignazio called “Computing for Kids,” and tuto- rials on sound, reading paddles in BASIC, accelerated IF statements, and joysticks. | still have my volume 1, number 1 safely stashed away with other prized memorabilia.

Many other Commodore-specific magazines have appeared—and dis- appeared—during the past 11 years, among them Ahoy!, Commander, Transactor, Midnight Gazette, Commodore Magazine, Power Play, and RUN. Today, only the Gazette section of COMPUTE remains.

Software at Last

Commercial software soon started to catch up with 64 sales, and’! could finally put my 64 to work. Among the first programs | bought for the 64 were

Since the Commodore 64's debut in 1982, worldwide sales of it and the 64C, shown here,

have topped 10 million.

the Commodore Macro Assembler Development System, Editor Pak, Word Machine, Name Machine and, Totl Time Manager 2.6. Although it has long been excelled by other assem- blers, | still use MADS for my feeble attempts at machine language pro- gramming. The first BASIC program | ever typed in was a sprite editor by Donald A. Pitts. It appeared in an arti- cle called “A Shape Generator for the Commodore 64” that was published in COMPUTE (November 1982) .

SpeedScript

Perhaps the most famous type-in pro- gram ever published in any computer magazine is SpeedScript, the pro- gram that I’m using to write this article. It was written by Charles Brannon and first appeared for the VIC-20 and 64 in the January 1984 Gazette. Updated several times over the years, its latest version, SpeedScript 3.2, was pub- lished in May 1987. The program has been enhanced many times, allowing users to customize the program to their liking. Among these programs are SpeedScript-80, an 80-column version; SpeedCheck, a spelling checker; SpeedSearch, a fast utility for finding any phrase within a SpeedScript file on disk; SoeedCount, a word-counting enhancement; ScriptRead, a fast SpeedScript file reader; and Instant 80, a true WYSI- WYG preview for SpeedScript. Some of these enhancements were pub- lished in Gazette and others appeared in COMPUTE when it still published type-in programs. (All of these pro- grams are still available on the SpeedScript disk.)When | considered myself proficient in BASIC (| wasn't), | wrote a 92-block program called Muzic! which | attempted to package and sell. | think | sold a grand total of

four disks—and these probably went to my 64-owning friends.

Meanwhile, back on the hardware front, finding the television hookup inadequate, | bought my one and only upgrade for the 64—a 1702 monitor. I'm staring at it still. What a wonderful improvement! No more zigzag lines and blurry characters.

Rabbits and Snails

Although it represented a quantum leap in data transfer speeds over the interminably slow tape cassette, the 1541 disk drive soon earned a reputa- tion of its own for snail-like loading and saving (90 blocks—23K—in about a minute) and an easy-to-mis- align read-write head.

To alleviate the first problem, | bought an Epyx Fastload cartridge. If there ever was a 64 accessory that's deserved to become a classic, it's this cartridge. Soon thereafter, | read an article on how to add an on-off switch to avoid plugging and unplugging the cartridge to accommodate programs which did or didn't use it. My Fastload's been sticking out of its port ever since.

The head alignment problem was much more frustrating. | read many articles, sent the 1541 to several repair shops, and drilled holes in the bottom housing to access the stepper motor's adjustment screws. Finally, someone managed to fix it, and it's been fine ever since.

Price Wars As the years flew by, the 64’s price plummeted. By June 1983, the 64’s mail-order price was $395; a year later, it had slipped to $199; in May 1987, $169.95. Today you can buy one for about $150.

Part of the reason for its decreas-

ing price was the onslaught of other low-priced competitive machines which vied for the computerphile’s attention: APF Imagination Machine, the Apple-compatible Franklin Ace 1000 and 1200, Timex/Sinclair 1000 and 2000, Apple Ilc, more Tandy machines, Texas Instruments 99/4A, Coleco Adam, Atari 520ST, and IBM PCjr (born November 1983 and died March 1985). When used 64s began to hit the want ads at rock-bottom prices, | bought a spare.

Meanwhile, Commodore wasn't resting on its laurels. While simultane- ously boosting production and cutting the price of the 64, Commodore was trotting out the portable SX-64; the anomalous Plus/4 and 16; the 128 and 128D; the breakthrough Amiga family; and the IBM compatibles, variants of which became especially popular in Europe. None of those computers approached the sales of the 64, which is still being built and sold internation- ally today as the cosmetically enhanced 64C.

Software Bonanza Within 18 months after its splashy introduction, more and more software companies had climbed aboard the lucrative 64 bandwagon. Ads for pro- grams like EasyCalc, Sprite-Magic, Mail Mate, Choplifter, Sargon II, General Ledger, Busiwriter 64, Monopoly, Centropod, Software Automatic Mouth (an amazing voice- synthesis program known as SAM), Script 64, Typing Tutor, SuperTerm, and WordPro Plus/64 proliferated in Commodore-specific magazines. Programmers who knew the 64 were in demand. Even Breaderbund Software was advertising for software authors in December 1983.

A New Operating System

In March 1986, Berkeley Softworks— now GeoWorks—introduced GEOS, the Graphic Environment Operating System. Although I'm not a GEOS fan (without an REU and extra drives, molasses is fast in comparison), | seem to be in the minority. Com- modore quickly adopted GEOS as its “official operating system” for the 64, and many apparently excellent soft- ware products have greatly helped the 64 stay alive and kicking. Gazette’s GEOS column first ap- peared in September 1987.

Applications

By November 1988, 64's were being

pressed into service for almost every-

thing but cleaning the kitchen sink. A

tadio station in Phoenix used one to JULY 1993 COMPUTE G-5

report activities on a call-in talk show. Many people, such as one avid user in Niceville, Florida, used their 64’s to track stock market investments. One commercial application used 128s to monitor and control furnace settings in a large apartment complex. Teachers calculated students’ grades with them in Richmond, Virginia. A fireman in Tulare Country, California, used his for eliminating some of the paperwork involved in running a fire department. A preacher in Asheville, North Carolina, tracked the recreational activities of his church with his 64. A Union, lowa, farmer used a spreadsheet running on a 64 to keep an eye on his farm's financial condition. At Bosch Power Tools, where | work, we used a 64 for years to calculate and generate graphs of motor-performance curves.

Hardware

While millions of owners were putting their 64s to creative uses, hardware manufacturers were busy as well. Here's a short list of peripherals that have made life easier and more interesting.

* Card? printer interface (Cardco)

® VIC-1520 plotter/printer (Commodore)

® Fastload cartridge (Epyx)

* Command Control Trackball (Wico)

® The Voice Box voice synthesizer (The Alien Group)

® Hearsay 1000 voice synthesizer/recognizer (Hearsay)

® Minimodem-C (Aprotek)

® Super Graphix printer interface (Xetec)

* SWL shortwave listener cartridge (Microlog)

® Flexidraw 170-C light pen (Inkwell Systems)

® Stringy Floppy storage device (Exatron)

® Ultimate Interface (Schnedler System)

® Lt. Kernal hard drive (Xetec)

* ComputerEyes video digitizer (Digital Vision)

® MW-302 printer interface (Micro World Electronix)

* Home Control Interface (X-10)

® Interpod interface between comput- er and various peripherals (Limbic Systems)

® VIC 1650 modem (300 bps, original ly $150) (Commodore)

® 1750 RAM expander (Commodore)

* Sonus MIDI interface (SOFTpacific)

* Video Byte II video digitizer (The Soft Group)

© 4351 mouse (Commodore)

* Ten Key Pad (Quality Computer)

© Super Expander 64 cartridge

G-6 COMPUTE JULY 1993

(Commodore) ° 1581 31-inch drive (Commodore) * Bodylink fitness system (Bodylog)

Perhaps the most bizarre peripher- al of all was the heavily advertised Spartan adapter for interfacing the 64 to Apple II/Il+ peripherals (Mimic Systems). I’m not sure it ever attained volume production.

Software

Here are some of my favorite pro- grams and applications for the 64. Chances are you probably have some of these, too.

® SpeedScript 3.2 word processor (COMPUTE Publications)

© Instant 80 80-column preview (COMPUTE Publications)

© Print Shop card/sign maker (Broderbund)

® Doodle drawing program (City Software)

© Flexidraw (Inkwell Systems)

® Generic Librarian MIDI software (The Music Software Exchange)

® Simon's BASIC cartridge (Commodore)

® PractiCalc spreadsheet (Computer Software Associates)

® CADPAK-64 drawing program (Abacus)

® Screen Graphics-64 graphics enhancement to BASIC (Abacus)

® Tax Master (Master Software)

® Datafile (RUN magazine)

How about a few games?

® Space Taxi (Muse)

© Summer Games II (Epyx)

® Impossible Mission (“Stay awhile; stay forever!") (Epyx)

® Raid on BungelingBay (Broderbund)

® Tetris (Spectrum HoloByte)

® Advanced Dungeons & Dragons (Strategic Simulations)

© Bard's Tale (Electronic Arts)

® Pinball Construction Set (Electronic Arts)

® Zork series (Infocom)

® Dragonworld (Trillium)

© Flight Simulator II (subLOGIC)

® Choplifter (Broderbund)? Where in the World Is Carmen Sandiego? (Broderbund)

In a Babbage’s one day, | ran across Light and Temperature Labs, scientific experiments from Hayden Software. They were on sale for $10 each. In case you missed these sadly underpromoted products, each one is a series of scientific experiments on disk, supported by great documenta-

tion, along with an interface box which connects to a joystick port. The box accepts either a photocell or an accu- tate temperature probe—also fur- nished! What a find!

Gadgets

Over the last decade-plus, I've whiled away quite a few hours building and writing supporting software for my own collection of miscellaneous gad- gets that connect to the user, car- tridge, or joystick ports. Some of these include the following.

® A numeric keypad

® A plotter (although plodder would be a better name), which could draw with four felt pens whatever appeared on the monitor screen

® A MIDI interface (I still use it almost daily with my spare 64)

© A relay interface which controls small electrical devices

® A room measurer which uses an old Wico trackball mechanism to roll around the periphery of a room, tak- ing the room's measurements

® A model “drummer boy” which uses relay-switched solenoids to control drumsticks

® A device to synchronize taped music and kaleidoscopic images (works with a four-track tape deck)

© A talker, based on a Radio Shack voice synthesis chip

In Retrospect

I've spent literally thousands of pleas- ant hours with my 64 over the past 11 years. The computer is still perfect for the vast majority of my purposes. Back in May 1988, Rich Mcintyre, then Commodore's senior vice president of sales and marketing said, “Eight-bit? Who cares? You're buying a machine for a specific reason. If it satisfies that need, it’s never obsolete. Only your requirements become obsolete. .. . If the need continues to exist until the year 2000, that machine is still satis- factory.”

Maybe Jim Hilty said it best in last December's issue of Gazette. “The 64 has always been kind of a barnstorm- ing computer .. . just plug it in and fly by the seat of your pants. It’s a fun computer, a truly personal computer, a computer that an individual can enjoy programming, a welcome friend.”

Thank you, Commodore. Thanks also to everyone who builds the hard- ware, writes the software, and publish- es information about this marvelous machine that is the Commodore 64, Here's to 11 more happy, productive, profitable, educational, and entertain- ing years in 8-bit heaven. Q

Thousands of Commodore Owners Choose Us As Their One Stop Supplier . Here's Why!

* Largest Selection of Commodore Software in the U.S.A.! Nobody in the Commodore market is more committed to your Commodore than we are. We have well over 225,000 pieces of hard to get software in stock to service your every need. If you've heard of a product, odds are that we can locate it for you. And, we stock most major Commodore titles that are still in production.

* Hardware & Peripherals. Although we can't get keyboards and disk drives any longer, we can offer disks, modems, cables, interfaces, and much more.

* Used Software Selection. Our regular customers know how to stretch their software dollars shopping our Used Software Listings.

* Un-Advertised Specials. Our regular customers enjoy VIP service and great bargains that are hard to pass up.

* Expert Technical Support. Asaregular Software Support customer, you have access to the most knowledgeable Commodore technical departments in the country. Of this, we're darn proud.

* Friendly & Courteous Order Takers. You'll have a hard time finding order takers as anxious to help you as Sandy, Mike and Claressa.

* Fast Order Processing. Thanks to our automated computer system, huge inventory and efficient shipping staff, most orders are processed the same day.

* Walk In Sales Department. We welcome visitors to our warehouse outlet. The same great deals are available and best of all, no shipping charges.

* Worldwide Distributor Of Major Products. Ever hear of ick, Super Snapshot, Super 1750 Clone, and the 1581 Toolkit? We've been actively involved in the ground up production and world-wide distribution of these and many other fine Commodore products.

* Purchase From Us With Confidence. We were very pleased when the Better Business Bureau came to us and told us that our out-

SOFTWARE SUPPORT

INTERNATIONAL C-64/128 Specialists For Over Six Years

Check Out These Examples...

GAMES Leaderboard Golf .. Beachhead Triple Pack Nord & Bert..........4 Blue Angels (Special) Trump Castle Casino Bureaucracy 128 .... Defender of the Crown Beyond Zork 128 ... 4x 4 Off Road Racing Arcade Smash Hits Batman/Robocop Bundle Jeopardy 1-2-Jr. Bundle .........

EDUCATIONAL Thinking Cap Stickybear Mat Carmen U.S.A. Typing Tutor 3 Word Attack.. Donald's Alphabet Sky Travel........ Perfect Score SAT Word Spinner...

PRODUCTIVITY Super 1750 Clone Newsroom Certificate Maker Cadpak 64

Superbase 6401128. Video Title Shop . Animation Station .

standing reputation qualified us as members in their organi- zation. We're here to stay, not a fly by night, here today and gone tomorrow outfit,

MONEY-SAVING

PRICES!

* Extensive Catalog. Our contacts at other mail or- der companies have told us that producing a catalog such as ours is too time consuming and worst of all - too expen-

sive. We say it's the least we can do for our customers, and wouldn'thave it any other way. Simply call or write for your free copy.

Outrageous Pages . "ans Bob's Term Pro 64..

Items Listed Above Do Not Include Shipping. Call Or Write For Your Free Catalog Listing Hundreds Of Products And Special Offers For Your

Computer. Our Order Takers Are On Duty 6:00 a.m. - 5:00 p.m.

M - F and 7:00 a.m. - 3:00 p.m. Sat. -

SOFWARE Software Support Int. a

Pacific Time.

ane A-10 ancouver, Wa 98661

Snot sees

Te 2700 N.E. Andresen Rd. Sliopont :

(206) 695-1393

CALL TOLL FREE TODAY! 1-800-356-1 179

Major Credit Cards Accepted.

Circle Reader Service Number 190

REVIEWS

MATHBOOSTER

| don't think there's a kid left in the universe who doesn't respond to falling images on a computer screen with a de- sire to stop them, to be the good guy, the hero. Witness the fact that even kids who own videogames’ and whose parents won't give them quarters can't resist checking out the games in malls and stores.

What does this have to do with an arithmetic drill- and-practice program for the 64? Boosting falling sat- ellites back into space is the premise behind Mathboos- ter, a program imported from Australia.

To prevent these satel- lites from tumbling down and crashing into the earth, students must quickly and correctly solve math equa- tions. This program provides a drill with positive reinforce- ment that's fun.

Mathbooster is not a teach- ing program. It's designed to reinforce through practice the math skills that the stu- dents have learned in class.

When the game starts, sat- ellites are strung across the sky, and a booster rocket waits atop its launch pad. Be- low each satellite is an equa- tion. This first wave of satel- lites begins to fall. Using the appropriate keys, you place the launch pad beneath a satellite and type in an an- swer to the equation. Press- ing Return or the space bar launches the booster rock- et—only if the answer is cor- rect. If so, the booster rock- et then pushes the satellite back into space. If the an- swer is incorrect, the satel- lite continues its fall toward earth. Once you've success- fully propelled the first wave back into orbit, a second wave begins to fall—at a fast- er rate than the first!

G-8 COMPUTE JULY 1993

The third wave consists not of satellites but the space shuttle! It’s a very large space shuttle that needs a very large booster rocket to restore it to orbit Points are accumulated for boosting satellites and the shuttle back into space. If a satellite or the shuttle reach-

current problem type, change it, change the speed settings, load and save the problem type and settings, or return to the game. When you view a problem, the screen lists the type of operation that’s be- ing displayed: addition, sub- traction, addition and sub-

Boost falling satellites back into space with Mathbooster, a program that combines arcade action with math drill.

es the ground, the game ends. As in arcade games, the program keeps track of current high scores.

Mathbooster comes with ten sample games already prepared. However, its pow- er comes in the variations you can create by altering the type of problems. The main menu lists three op- tions: Start the game, Load different problems, and Change problems. The first one is self-explanatory. The second option lets you load other files of problems al- ready created and saved on disk. The third option lets your create these other math files.

The first menu under op- tion 3 allows you to view the

traction, multiplication, divi- sion, or multiplication and division.

Next, it tells you what form the equation will take, such as A + B =C. Then, for each A, B, C, or other var- iable, the program sets the Parameters. For example, if you're practicing addition where the sum, C, never ex- ceeds 12, then A’s parame- ters would be 1-6, and B's would be 1-6 also.

The next option is to change the problem type. The Operations List lets you do this. For each operation there’s a screen that guides you through the steps of choosing the parameters for the variables. This requires care and thought, but it isn’t

difficult. The screen instruc- ions and the manual enable you to create the exact drill you want for your student. Speed Settings govern the actual game, controlling how fast the satellites and shuttle fall, how quickly that speed increases, when the irst shuttle appears, how many times per wave it ap- pears, and whether or not he sound effects are urned on. With these you can customize a game to best challenge students with- out overwhelming them.

The manual is thorough. Aside from a couple of ty- pos, it provides helpful in- sight and guidance in devis- ing games that will provide the kind of drill that will most benefit your children or students. Included are some appendices describ- ing the ten sample games al- ready on the disk and provid- ing some examples of how to set up game formats. Mathbooster also carries its own copying program to al- low you to make backups.

Mathbooster is the sec- ond Free Spirit import from Australia that we've re- viewed. These two pro- grams by Satchel Software are copyrighted by the Min- ister of Education and are used by the school systems in South Australia. (Mathboos- ter’s manual even makes ref- erence to the South Austra- lian curriculum modules.) As with the first program, Dr. Spellingstein, we are im- pressed by the solid pro- gramming that provides the actual computer game yet al- lows you to create and mod- ify within the program to make it fit your needs. It's powerful, flexible, and easy to operate.

Kids love computers and computer games. Most kids also love learning, although they'd deny it if you'd ask

Only $24.05 x ts

Fon Graphies Machine

FUN GRAPHICS MACHIN FGm) 1S AN “ALL-IN-ONE” GRAPHICS PROGRAM FOR THE C=64. WHAT CAN BE AT ONLY LIMITED BY YOUR IMAGINATION, T BUSINESS CAROS CUSTOH LABELS VIDEO TITLING NEW: RS

EO WITH FGM IS A FEW EXAMPLES:

i WORKS WITH 1541, 1571 & 1581 DRIVES

iS

3°,

Bar

BYarne, meln

PHICS AND NCLUDING:

= 2 voz zvszc

vt GEOS SCREENS BY RESETTING COMPUTER THEN PHICS MACHINE.

BOARD OVERLAY ---$3.50 EA 128, SX-64) OR C64 IS SHIPPED

FUN GRAPHICS MACHINE D T WHAT FUN GRAPHICS MACH LL ABO

im CALEND! FGm OVERLA STATE COMP Fom UPDATE

PLEASE ADD FOR FOREIGN ORDE CANADA/MEXIC

UND:

ENT--$5.00 6,.5--$2.00

The FGM Connection, P.0.Box 2206, Roseburg, OR. 97470

FOR MORE INFORMATION CALL 503-673-2234

SUMMER SIZZLER--15% OFF Coct * C-64 ** C-18 €7/1-3V/93) CaSalec Tax axcl’d * Pluc/4 * C-%

State PSG A/3 Blk/non-C= or B/2 Blk/C= Pratel PSG/PratShp Grapce Sd/sides G/games H/math ITEM -------- NUMBER OF SIDES or ID /COST/ 33H 2 KJ¥ Bible—2 ed Mue, A or B PSG & G 36/35+4 B: Holiday-2 Hus+6 A or B PSG -Hol/Relig 8/ 7+2

? SHarioSKrkout,Pokr,36 G-Fin-Grfpx,DB 6/ S+2 D: 728 Potpourri —— UT/ PR/ ED/ G/ TE 6/ S+2 €: PLUS/4 Combo ------ UT/ PR/ ED/ G/ TE 6/7 S+2

: Bkel48p>--Inet Activities C= or Apple Apple Fun-..Logo-..Mus---Reg. $3.95 B8k/ t2 G: Educ Pack A--M-S-E-GE-Etc----#45 Pres 12/13+2 H: Educ Pack 8--M-S-8&-GE-Btc-~---600 Pree 6/70+7 3: Bkeltt9p>---C64 or T28-Amaz G/ $9.95, Bk/ 3+2

2G Pack A-MacioBren--SMar-SMar Il-Star3 lue Tetris Clones-C64/64C/C-2&80e) 2/ 9+1 2 Pack B-Teshmn,StreaideAcOmOtpet,+ 2/ 9+4 L: People-554 Ml-Fm-Child AorB PSG +Prge 7/ 8+2 : Diek Notcher-Use back of DS/DD disks! DN/ 3+1 N: Recipe Potpourri-178 recipes-Programe 3/ 7+1 3 KJ Bible-+/4--Txt files + 1 ed Progs 30/30+4 ? G Pack C/C-128-60+-Star Trk-Concent. 0/B+2 Q: Musique Claseique-

3: Pats--—347 Domestic e

8: SPORTS-419 Hix-Bebll/Ftbll/+ PSG+P. : Cartoon Charactere-—-Mixture 202 P

e 5/2+2 2/ S+2 : Comptr Parade-255 PSG-Ap/C=/IBM Logos 2/ 5+2

¥: Fastcad ¥1 (Enh CAD 3.0) +Suppt Files 5/+2 : Fun Graph Mach DemotUT+SO Fntc+HR DMP 3/ 6+2 2 41/71/81 UT Caombo-Rdr/Copr/tive/’ etc 6/2+3 : GEOS Info-Programmer's Manual (89p) +

GEOS 10 Documentation (27p)--<(C-64) 3/ +2 Zt KJV Bib-128 n/40-80 resder/printer +

2 each of music, A or B PSG, & games 36/35+4 Available-JIM HBHL COLLECTION +/4 * C-%6 * C-64 JH-00--Bible-Time +/4-64-25+ Relig. Pres 3/ 6+1 JH-Ot-Plue/4 G Pack-Hac 60 plus games 19/30+5 JH-O2--T-Pack +/4--Terminal es & +Term 4/ 91 JH-03--C-%6 Combo-50+ Pree. Runs on +/4! 2/ 41 JSH05--HALGipd>-Asemblr+4 -Spdecrptt+4 4/ 9+ JH-07--C64-Pentd Wd/Fle—C64 v +4 SW ROM 2/ S+2 Send uc a ‘SASE' for additional informatation. CATALOGS: C64/128-47p [82+2] Pluc/4-8p (2+1) PYMT-MO/CK WS8)--Ca. Ree +8.25% tax/item total No COD's! Shipping USPS [COomes./Intern'l Rates] PROCESSING: Bank Gak/HO-Firee **® Chk w/cleared. SEND/PAYABLE TO: Kenneth Franklin/KF-PD SOFTWARE - P.O. Box 470464 * Los Angeles, Ca. 90047-0464 Mainly, we have the PD Sele Commodore Library THANKS FOR HELPING US INTO OUR ‘THIRD’ YEARE

Circle Reader Service Number 197

ATTENTION

ALL COMMODORE 64/64C, AND COMMODORE 128/128D OWNERS

A complete self-tutoring BASIC programming course is available that starts with turning your computer on, to programming just about anything you want! This course is currently used in both High School and Adult Evening Education classes and has also formed the basis of

teacher literacy programs. Written by a computer studies teacher, this programming course is one of the finest available today. This complete course of over 220 Pages is available for the COMMODORE 64/64C, and for the COMMODORE 128/128D computers. This course (Volume 1) will take you step by step through a discovery approach to programming and you can do it all in your leisure time! The lessons are {filled with examples and easy to understand explanations as well as many programs for you to make up. At the end of each lesson is a test of the information presented. Furthermore, ALL answers are supplied to all the questions, programs and tests. Follow this course step by step, lesson by lesson, and turn yourself into a real programmer! You won't be disappointed!

FOLLOW-UP COURSE (Volume 2) - A 200 page self-learning course for each of the above named computers dealing exclusively with sequential and relative files. Our teacher uses a unique approach to file handling that was designed especially for students with absolutely no prior file handling experience. Yet by the end of the course you will be able to make up many of your own personal and business file programs. All our courses involve active participation by the learner. You do the specially designed examples, read the complete explanations, follow the instructions, answer the many questions, do the tests, and check your answers.

Each course is only $21.95 plus $3.00 for ship- Ping and handling. We have been developing and selling Commodore courses for over 7 years now and if you do not think that we have the best self- tutoring course you have yet come across, then just send the course back to us within 10 days of receipt for the FULL $24.95 refund.

08s eee ee

NAME ee CG ADDRESS: Cli STATE/PROV: CODE:

desire the BASIC programming course (Volume 1) L] FOLLOW-UP course on file handling (Volume 2) C] The computer that the course is needed for: COMMODORE 64/64CL] COMMODORE 128/128DL]

For U.S. and Can. customers, send $24.95 per course n the currency of your country. Can. orders add 7% GST. Overseas orders, send $29.95 U.S.

Brantford Educational Services 222 Portage Road 6 Pioneer Place

H

ewww eeeeeeeeee

P.O. Box 1327 or Brantford, Ontario Lewiston, New York 14092 N3R 7G7

| Fax: (519) 756-6534

i Peperererttrrrrrrrrrrrtritiiiirrrtrrrtiiiiirrrrrererrir ris

G-10

64/128 PUBLIC DOMAIN SOFTWARE REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE- FUNDABLE). Categorles Include education, utilities, 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 i CALOKE INDUSTRIES (Dept. GK) Ee

~ PO BOX 18477, RAYTOWN, MO 64133

Circle Reader Service Number 181

DEPENDABLE SERVICE FOR YOUR COMMODORE! C-64, 1541, C-128, or 1571:

$25.°° puus parts Send computer* or drive with name, ad- SERVICE CENTER dress, phone, & describe problem. We'll | hig ae as call with parts estimate, then repair and | 90 DAY WARRANTY return to you insured by UPS. Payment | ON ALL REPAIRS can be COD or VISA, M/C. Minimum (__ charge, estimate only is $20. * Include power supply.

TYCOM Inc. 503 East St. Dept. C

Pittsfield, MA 01201

AUTHORIZED COMMODORE

(413) 442-9771

Circle Reader Service Number 242

ESCAPE ROUTE

The Adventures of Eric Hawthorne, P.I. C-64 or C-128 In 64 MODE ACTION/STRATEGY/BOARD GAME Catch the infamous ICELADY before she crosses the border! Fun for all ages! $19.95 Check or Money Order CREATIVE PIXELS LTD. PO Box 592, Library , PA 15129

Circle Reader Service Number 113

COMPUTER REPAIR <a

C-64: $40.00 1541: $54.95 64C: $50.00 1541-Il: $64.95 C128: $64.95 6©128D: $74.95 1581: $64.95 BIGHES

WE ALSO REPAIR IBM Clones, Sega, Genesis, Nintendo

For more info cal: BEAR TECHNOLOGIES

Computer Sales, Service & Repair

aru) 1005 McKean Street, Philadelphia, PA 19148 Se 215-336-5295 1-800-755-5295,

Circle Reader Service Number 152

Label Maker- Uso 11 pre-designed labels or create yourown, floppy & micro disk labels, audio & video cassette labois, and more. Use your printor's font and color capabilities. Both Commodore 64 and 128 versions included. - $19.95

Special - both for only $35.00 Mail List Manager- Makes maillist management a snap! Print one record ata time, pick and choose

for exporting or printing, or print the entire list. Holds 300 records for each C64 list, 1000 for C128, transfer between lists. Use new label designs created with Labe/ Maker. Both 64 and 128 versions included - $19.95

SHIPPING: - U.S. $4.50, Canada $5.50, Intl. orders $12.00. Int. orders paid by credit card or Canadian postal money order only. Write for free catalog of Software and Leroy’s Cheatshests.

Keystone Software Dept.G P.O. Box 8369 Pittsburgh, PA. 15218 412-243-1049 Fax: 412-731-2460 Hours: 9 to 5 Eastern Time

Circle Reader Service Number 170 COMPUTE JULY 1993

REVIEWS

them. Computers and learning games can be an irresistible combination when blended properly. Mathbooster provides the perfect recipe for turning math practice into a real treat.

DAVID and ROBIN MINNICK

Satchel Software

Distributed by Free Spirit Software 720 Sycamore St.

Columbus, IN 47201

(812) 376-9964

$39.95

Circle Reader Service Number 414

JARA-TAVA

Want to take a trip to an exotic loca- tion; hunt for buried treasure; and fight crocodiles, sharks, and hungry snakes? Then Satchel Software's latest text adventure, Jara-Tava, is your tick- et to adventure.

Jara-Tava begins, like many good ad- ventures, with the inheritance of an an- cient treasure map. A letter from your dear, departed Uncle Bartholomew sug- gests that Captain Kidd's treasure might be found on the island of Jara- Mau. It also warns of danger should you go to neighboring Jara-Tava, the Isle of Fire.

With no further urging, you're on your way. Of course, you learn early in the game that the treasure isn’t on peaceful Jara-Mau but across the shark-invested strait on Jara-Tava.

Satchel Software designed this inter- active text adventure with junior high stu- dents in mind. It has colorful graphics, easy-to-use text commands, and a challenging plot. Familiar elements from classic literature, skillfully woven into the game, are sure to please teach- er, student, and parents alike. In addi- tion to Kidd's treasure, you'll find Robin- son Crusoe's tree house and Captain Nemo’'s submarine, Nautilus. Also, straight from an Indiana Jones adven- ture, there's a golden idol that's pro- tected by a large boulder.

Teachers in Southern Australia have been using this text game in their classrooms since 1988. However, the game has only recently been li- censed for distribution in the U.S. by Free Spirit Software. The package comes complete with three disks and a 134-page combination instruction and resource manual.

Teachers who decide to use this game as part of their classroom curric- ulum will be delighted with the hidden teacher's controls built into the pro- gram. Accessed by pressing Shift-T at the beginning of the game, teachers or parents can set options like help com-

mands, maps, and multiple moves. They can also encode messages on statues to increase the difficulty of the game and teach students about deci- phering codes. But don’t get the idea that the game is only useful in scholas- tic situations. It's a package that will pro- vide hours of computer fun at home as well. n fact, the game's design is perfect for the solitary player or for young play- ers who want to do it themselves. Most popular text games require verb- and-noun commands such as Climb Tree in order to move through the game paths. This can be confusing to a young player, Jara-Tava's designers simplified the process by creating a pro- gram that analyzes individual words, not two-word sequences. Game play- ers can type in whole sentences be- cause the program searches for key- words and strips out unknown ones. This lets players use more natural lan- guage in the game.

Since the game was designed with the junior high player in mind, older, more experienced players may not find it challenging enough. However, it succeeds quite well with the targeted age group.

Maps are important in solving this and any text game. The Jara-Tava man- ual gives students and first-time text game players a brief lesson on how to keep a map. Teachers can build on this for other map-making exercises for their students. The section gives lei- sure-time players new ideas for ways to use their maps, too. All can benefit from it.

The game itself offers several choic- es at every point of play. Since most people learn more by their mistakes than their successes, experiment with the game. Try all the options—build a glider, ride the sub, feed the croco- diles. You can save your game on disk and go back to correct any mis- takes you make. You'll learn something new with everything you do. At the con- clusion of the game, the screen will dis- play how many steps it took for you to solve the game. You can play it over and over again, trying to beat your pre- vious best score.

But there's more to it than just the game. Like other software packages from Satchel, there's a resource disk in- cluded with this one. This disk has a simple database, an easy-to-use word processor, a disk copying program, and the Tree of Knowledge guessing game.

The word processing program is de- signed for the junior high student who is beginning to do research papers and reports that need to be typed. It’s a program that students can continue

Upgrada your Commodore systam

Refurbished Hardware MONITORS DRIVES OTHER b41-~ $99 CHq- F9 Wdte-

SUIEL, ONTARIO, M3L 180 Allow 4-6 weeks for delivery. Catalogs disk on 64 format $2

APROTEK modems Araiga-2400 Bewd—

GRIVE RO! card—lC3

GALACTIC CONQUEST

GALACTIC CONQUEST is the best conquest game for the C64! Command hundreds of star ships as you conquer other worlds and extend your empire. Watch out for black holes, photon storms, stars that go nova! and General Badguy. 1-6 players. Comes with Mario's Sister Giana, Sanxion, Krazy-Kar and 5 other arcade quality games. Send your retum

address and $12, which includes shipping, to:

PowerdisK, 6813 Lows Way, West Jordan, UT 84084

Research works.

American Heart Association

The classic best-selling Commodore 64 reference guide. Mapping the Com- modore 64 and 64C is a comprehensive memory

MAPPING THE

Commodore

64 &64C

guide for beginning and advanced programmers.

To order your copy send $18.95 plus $2.50 for shipping and handling (U.S., $4 to Canada and $6 other) to COMPUTE Books, c/o CCC, 2500 McClellan Ave. Pennsauken, NJ 08109. (Residents of NC, NJ, and NY please add appropriate tax; Canadian orders add 7% Goods and Servic- es Tax.) All orders must be paid in U.S. funds drawn on a U.S. bank. Orders will be shipped via UPS Ground Service. Offer good while

supplies last.

JULY 1993 COMPUTE

G-11

Original Print Shop Graphics Borders and Fonts. Western Heritage

Turn your Print Shop & computer into

a real old western printing press. Make real wild west wanted posters. Use the wildest western graphics ever. 064128 $24.95 + s00sn usa IBM

S/H Canada $5.00 others $6.00 WA res.$1.92 Call now 569-276-6928

Write for Pree brochure & tell us what you like. Be the first to see exciting NEW products.

COMMODORE 64/128

PUBLIC DOMAIN SHAREWARE PROGRAMS

CALL OR WRITE FOR FREE DESCRIPTIVE CATALOG OF COMMODORE 64/128 PUBLIC DOMAIN & SHAREWARE SOFT- WARE OR SEND $2.00 FOR DE-

SCRIPTIVE CATALOG AND SAMPLE DISK. ADULT SOFT- WARE LISTING AVAILABLE TO

THOSE OF LEGAL ADULT AGE. Horse Feathers Graphics

N. 27310 Short Rd., Deer Park, WA 99006 Request 6.26 «1 3.5 by IBM.

DISKS O'PLENTY INC. 8362 PINES BLVD., SUITE 270 PEMBROKE PINES, FL 33024

(305) 963-7750

Circle Reader Service Number 253 Circle Reader Service Number 234

AMIGA & COMMODORE CUSTOM CHIPS and

REPLACEMENT PARTS Lowest Prices Around

THE GRAPEVINE GROUP INC.

3 CHESTNUT STREET, SUFFERN, NY. 10901 ORDER LINE: 1-800-292-7445 / FAX: (914) 357-6243

INTERNATIONAL ORDER LINE: (914) 357-2424 Write or call for prices

Logo 1s the property of Commodore Business Machines, Inc

Circle Reader Service Number 159

No Wild, No Wildlife.

region, we would jeopardize the culture of the native Alaskans and untold wildlife, including a herd of 180,000 caribou. Our last arctic wilderness J ;

», Would be despoiled. The Sierra Club works to save wildlife by sav- ing the wilderness. We have a history of vic- tories. And we believe, with your help, this arctic wilderness will remain an invaluable refuge.

> For information on how \\2)\ you can help:

\\)'7) Sierra Club, Dept. AR

2} 730 Polk Street

San Francisco, CA 94109 (415) 776-2211

Polar bears, musk-ox, grizzlies, caribou more animals than you’d find in Yellowstone can be found on the magnificent coastal plain of the Arc- tic Refuge in Alaska. Unfortunately, this por- tion of our last arctic wilderness has caught the eye of the oil in- dustry. Right now Con- gress is considering proposals that would allow the oil companies to drill there, even though reports indicate there’s less than a one-in-five chance oil would be found.

If we allowed drilling in the

G-12 COMPUTE JULY 1993

REVIEWS

to use for simple reports as they enter high school. It's also useful for people who have never used word processing programs or have been intimidated by them in the past. Called Tell-a-Tale, the Jara-Tava word processor is a very sim- ple-to-learn program that lets you write and then save your work to a disk. You can also center titles, change cases of words and letters, work with existing files, and print out re- ports. The program will not do more elaborate functions like footnotes and headers, but it's sufficient for most word processing needs.

The database is useful for storing word lists and simple groups of informa- tion. The word lists can then be import- ed into the word processor to make spelling lists or to use in essays. Satch- el has already begun five databases for the user. The names are Pirates, Is- lands, Volcanoes, Whales, and Sharks. You can build on this basic base by adding additional files. Each file may be up to 29 characters. Files may be deleted; however, the erase function has been restricted so no more than one file can be erased at a time. This safeguard keeps you from ac- cidentally wiping out your entire data- base.

The Tree of Knowledge game pits the player against the computer's abil- ity to guess. There are five trees on the disk that you can select: Animals, Pi- rates, Whales, Sharks, and Snakes. New information can be added to the existing trees to make a more complex guessing game. These can be saved and replayed again and again.

The resource disk takes the Jara-

Tava package far beyond mere game software. In my opinion, this one disk is worth the modest price of the package | by itself. And there's still more. Take a look at the extensive, spiral-bound instruction manual. Tucked in the center of the manual is a 68-page section that is filled with activities related to the themes found in the Jara-Tava game. There are word games, crossword puz- zles, word searches, drawing activities, and group games. There are ideas for crafts, too. You can build your own mod- el volcano, make beanbags shaped like whales, or do any of a variety of activities. All the instructions are includ- ed. As an added bonus, Satchel has given permission for teachers to copy any or all of the manual for use in their own classrooms.

Allin all, Jara-Tava is an outstanding package that does more than merely entertain players. It stimulates and ed-

o

> Kee effor

We live in an ocean of air,

Deprive us of it for a moment and we suffer.

know this all too well.

It’s a matter of life and breath?

‘Space contributed by the publisher asa public service.

our from floundering.

People with chronic lung disease asthma, emphysema, and chronic bronchitis

Your support of the American Lung Association can help them stem the tide.

|, ASSOCIATION”

NEW!

THE COM

If you own a CMD device, you NEED the Compression Kit

SSION KIT

system featurin the commodore

fast 4/128

For AMERICAN LUNG

‘The Christmas Seal People*

Please enclose check or money order for $39.95 to:

Mad Man Software

1400 East Colle Cheyenne, Wy. For order Info call. eneral Info call. For fax Inquires.......... Be sure to enclose a return address. No P.O.Box numbers please.

e Drive 2007

Circle Reader Service Number 260

ucates them. That's not a bad return for such a modest investment. MARTI PAULIN

Satchel Software

Distributed by Free Spirit Software 720 Sycamore St.

Columbus, IN 47201

(812) 376-9964

$39.95

Circle Reader Service Number 415

FLYER

Flyer is a deceptively simple but mad- dening little arcade game for the 64. The idea is to guide a paper airplane through the rooms of a house, avoiding furniture and other obstacles.

Helping you in your fight against grav- ity and wind resistance are a number of air vents that provide lift and a series of rollers that give your glider extra speed and maneuverability. As your glider passes over a vent, push up on a joystick to gain altitude. Maintain a light touch, though. If you climb too high, you'll smack into the ceiling and crash.

As your plane glides from left to right across the screen, aim for the dia- mond-shaped rollers in the middle of the room. When you fly through one, push your stick hard to the right to

pick up speed. Control is rather limited with this flyer, but you can lose altitude quickly by pulling back on the stick.

As in any house, furniture is a major obstacle for paper airplanes. Beds, lamps, stereos, and bookcases seem to suck the planes into them. When you crash, you start again in the first room which is filled with nothing but air vents and rollers. Since | crash so fre- quently, I’m glad that author Cameron Kaiser lets me keep the action moving. To restart, simply press the fire button.

The music playing in the back- ground is a great rendition of “The Blue Danube.” It puts the 64's SID chip to good use, but that tune just about drives me crazy! The volume con- trol takes care of that, however.

That melodic but cursed back- ground music is Flyer's only sound ef- fect, but it’s really not that bad. | just get annoyed when | can't master a game.

It took me quite some time to devel- op just the right touch with Flyer, guid- ing the plane through the house. Get- ting through the first room filled with rollers and vents was a breeze—par- don the pun—but | thought I'd never make it past that bed in the next room. I'd gain a little altitude, pick up some speed, fly over a vent, pull back to

clear the bed, and then swish! Back to the beginning.

Flyer’s graphics are pretty simple: Everything's in black, white, and gray. The rooms fill only a narrow portion of the 64’s monitor. Each one is only about two inches high. That's why you have to be careful about not flying into the ceiling. | think a little more creativi- ty could have been shown here to ex- pand the playing screen, and the gray rooms could use a bit of color to give the game more visual appeal.

The documentation is clear and con- cise. It consists of a two-sided sheet of instructions and hints that’s well written and easy to understand,

All in all, Flyer is a simple game, and that could be its biggest drawback. If you're the type who gets discouraged easily, you'll probably get bored with Flyer rather quickly. On the other hand, if you're the type who refuses to let a computer beat you, you'll proba- bly get addicted to flying this little elec- tronic paper airplane.

CHRISTIAN FLEMING

Computer Workshops 3612 Birdie Dr.

La Mesa, CA 91941 $9.95

Circle Reader Service Number 416 o JULY 1993 COMPUTE G-13

Where to find chips

and whether

excessive poking can

G-14

he hazardous to their health.

COMPUTE JULY 1993

FEEDBACK

Character ROM Chip

Can you possibly tell me where | can get the 9011225- 01 chip for my 64? | have been looking since 1991 but haven't been able to locate one in my country.

DAVID SANIEL SUAREZ LOPEZ

VERACRUZ, VER. MEXICO

The chip you want is the Char- acter ROM chip, and you can order it from The Grapevine Group, 3 Chestnut Street, Suffern, New York 10901. The latest price is $9.50 plus $8.50 shipping costs to Mexi- co. Ask for part number C1225. You can order the chip by mail or by calling (914) 357-2424. Readers in the U.S. can order by calling (800) 292-7445. Ask for the free catalogue of Commodore and Amiga chips, too.

Poked to Death?

Question: After about a year of sustained use, the SID (Sound Interface Device) chip in my Commodore 64 has stopped functioning. Can this be caused by misusing the chip? For instance, is there such a thing as exces- sive poking?

DONALD DRAPER

RICHMOND, VA

The SID chip is designed to be poked. Such activity is con- sidered normal use and will not damage it. In general, noth- ing any program does will ever damage any of a com- puter's internal hardware. Like all other electronic com- ponents, SID chips occasion- ally fail. The only cure is to replace the chip. Replacing the chip can be either simple or difficult, depending on whether the one in your com- puter is socketed or soldered. The SID chip, which has the numerical designation 6581, is located near the center of the circuit board in

both the 64 and 128.

Math Errors

When using my 64 for math homework, | keep running in- to some problems. If | raise a variable containing a negative number to a fractional expo- nent, the computer returns an ILLEGAL QUANTITY ERROR. It doesn’t happen with con- stants. For example, if | have the computer print -8 to the power of .5, it works fine, But if | make X equal -8 and then try to print X to the power of .5, it doesn’t. Why is this? TARQ WILLIAMS

LAKE GENEVA, WI

Computers follow a _ rule called order of operations or operator precedence, which tells them which functions or operations to perform before others. For example, PRINT 3 + 2*7 will give you a result of 17, not 35, because multiplica- tion has a higher precedence than addition, The result of 2 * 7 is calculated before the 3 is added in.

The up-arrow (power) func- tion has a higher precedence than the negation (—) function, as you'll see if you PRINT -4 T 2. The 64 prints -16 as the an- swer, But squaring -4 should result in a positive 16, not aneg- ative one. What happens is that the result of 4 to the pow- er of 2 is calculated; then the minus sign is appended.

Although PRINT -8 t .5 seems to work, you'll get an er- ror message if you try PRINT (-8) T .5. So it's not a matter of variables versus constants; it's strictly a problem with rais- ing a negative number to a fractional power.

Raising to the .5 power is the same as finding the square root of a number. The square root of —8 would have to be anumber that multiplied by itself yielded —8. But when- ever you square a real num- ber, the result is positive, so

there's no such thing as a square root of a negative num- ber, at least among the real numbers. Mathematicians use imaginary numbers to handle square roots of negative num- bers, but your 64 isn't built to handle imaginary numbers.

A Teacher’s Thanks

| would like to thank Gazette for providing me with a source of programs that | have incorporated into an in- tegrated computer-use pack- age for the teachers of my school board. Our education- al system, like many, is facing financial cutbacks, with little or no money available for com- puters or software. Your pro- grams filled that need. We have numerous 64s in our sys- tem, and now we are able to make much greater use of them.

| selected programs from Gazette that provided word processing, spreadsheet, da- tabase, graphics, and key- boarding skills, Other pro- grams supplied language arts, programming sugges- tions, science, social studies, and telecommunications re- sources.

With the current wave of up- grading, many educators felt that the 64 had nothing to of- fer. In fact, it has much to of- fer if it is utilized to the fullest possible extent. The comput- ers are already in the system, and the Gazette and well-writ- ten public domain programs of- fer a viable way to provide for integrated programming for our students. Thank you. CAROL A. NAUSS

CHESTER, NS CANADA

Send your questions and com- ments to Gazette Feedback, COMPUTE Publications, 324

West Wendover Avenue, Suite 200, Greensboro, North Carolina 27408. a

3 8 BIT |

PO BOX 542 LINDENHURST NY 11757-0542

WENOWCARRY | MINDSCAPE Hard Drives & 3.5 inch Drives) POWBRPLAYERS AT LOWER PRICES THAN JOYSTICK THE MANUFACTURERS! 1,6 Megabyte 3.5”..... $ 215.00 wow 100 Megabyte HDD. $ 750.00 ONLY

Hardware Items Require Additional Shipping Fees ! Call Before Ordering!

KEYBOARD SEELS DON’T LET YOUR COMPUTER SUFFER A MELTDOWN Protects your keyboard even whik you type | (C64 or Vic 20.......4#VS64 Comm. 64C. 'VS64C Comm. 128.........#VS128 Save your Commodore !

ONLY $19.00

$5.00

QUICK GUNNE

Joystick / Flyingstick 4 seperate fire buttons to assure your comfort! (Trigger, Thumb, and both left & right base.) Hand Contoured Stick And 4 suction cups on the bottom of the base. for complete control ! For serious gamers! ONLY $ 15.00

COMMERCIAL SOFTWARE CLOSEOUTS Original Packages ONLY $5.00 cach! PUFFY’SSAGA, PARADROID,

BLOCKOUT,

DIE HARD

CLUBHOUSE SPORTS WE ARE ALWAYS ADDING NEW TITLES TO OUR COMMERCIAL SOFTWARE STOCK ! CALL TO SEE WHAT’S NEW THIS MONTH! |

P.

PD & Shareware Sets

ABIG HIT AT ONLY $5.00

1; ASST: StarTrek+

3: EDUCATIONAL

H: HACKER PAC I: PSA CLIPART J: Telecommunications) SIX PAC #2 $ 10.00), ADULT IMAGES

You must be over 18 To receive this 6PAC ! Signature Required ! Call to request a more descriptive 6 PAC list |)

SHIPPING $2.00 For First Itcm + $1.00 cach additional item *U.S. Funds 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 5 pm EST

Circle Reader Service Number 162

disk!

COMPUTE.

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

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

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

Big Blue Reader 128/64 - 4.1

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.1 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.1 only $44.95

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

Bible Search 3.2

. The entire Old & New Testament text on 4-1541/71 disks.

. An Exhaustive English Concordance on 2-1541/71 disks. Indexes every word in the entire Bible; 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 (v 3.52).

. Money back guaranteed!

KJV $49.95 | NIV $59.95 | KJV & NIV $90

Includes: C64 & C128 programs; screen, printer and disk output; users guide, disk case. Available on 7-1541/71, or 4-1581 disks. = Any questions? Call or write for more information. Also available! Amiga, Bible Search Order by check, money order, or COD. US funds only. = jookrate shipping i . No Credit Card orders. Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR)

SOGWAP Software @ (219)724-3900

115 Bellmont Road; Decatur, Indiana 46733

“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.

YES! Start my one-year subscription to COMPUTE’s Gazette Disk right away for only $49.95.*

O Payment enclosed (check or money order)

OCharge OMasterCard O Visa Exp. Date

Signature

(Required) Name Address City State/ ZIP/ Province Postal Code

| | | | | | i | | | | Acct. No. | | | | | ! | 1 | 1

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.

Explore the exciting

world of public

domain and shareware

programming

in this new Gazette

G-16

column.

COMPUTE JULY 1993

PD PICKS

Steve Vander Ark

A NEW COLUMN, VERSION 2

Yep, version 2. This is the sec- ond time I've written this col- umn. If you feel as though you've just walked into the mid- dle of a movie, let me explain. This is a new column that deals with public domain pro- grams and shareware. | wrote the first version a few weeks ago, but when | reread the intro- duction, | just shook my head. It was boring.

Oh, it was OK. | might use it as part of an article some- where along the line. It defines shareware and a few other re- lated terms, chatters about how nice it is to be writing this new column, and warns everyone—in no uncertain terms—to pay their shareware fees. It ends with a flourish about how shareware is on the cutting edge of Commodore programming today.

I'm talking bold, new, and ex- citing programs that push the limits of Commodore's 8-bit wonder! I've got to be spitting a little flame. | don't want you to read this column once and then next time decide to save it until you've read the part again about how to type in the programs. | want you to turn to this column first!

I'll be covering programs that | hope will provide some of the old spark that made the 64 so exciting—and made its owners so gung-ho, so (let's face it) nuts about their ma- chines. That spark is what keeps me coming back to this great little machine.

I've been rummaging in some of the stranger corners of QuantumLink’s libraries, tracking down programs to throw at you. Feel free to down- load them. I’ve provided file- names and uploader names for easy downloading. If you're not on Q-Link and you can't find these files on local

bulletin boards or at your user group, you'll find the programs mentioned here on the Gazette Disk. Now, let's take a look at this month’s programs—a cou- ple of fast and furious, arcade- style shoot-’em-ups.

Astra

By Chris Batchelor QuantumLink filename: AS- TRA3.SDA, uploaded by Chris- EMM.

OK, for you 128 users out there, here's an 80-column pro- gram that will cost you hours of sleep. The way | see it, Chris Batchelor, the sadist who created this arcade tor- ture, must lie awake nights him- self, chortling like the Wicked Witch of the West as he imag- ines poor joystick jockeys like me with crippled thumbs and glazed eyes, trying desperate- ly to fight off these endless waves of death. After playing this fast-paced shoot-’em-up, | know | need a continuous fire button on my joystick, an- ything to save my left hand from being twisted into a per- manent claw.

Astra starts innocently enough. It seems so easy to pour merciless fire into those little bugs that swoop into those little chutes. But then there are more and more of them. Before long, bugs are hurtling down in droves, piling up like spilled gummy bears. There just aren’t enough blasts per second to clear them all out. Before long, they get you. And then you play it again, and again, and again.

You'll love this game, espe- cially if you get a rush out of annihilating all those little bugs like | do. It works its hor- rors in 80 columns, which means that you won't be able to complain at all about the graphics. As far as speed goes, well, just try to keep up with it. | can’t honestly say how great it is a higher levels

(I never survive that long). This is the third incarnation of this game. The fine-tuning has made it a real corker. So flex that thumb a bit, slam back Mountain Dews until your eyes bug out, and face the endless hordes in Astra.

Odin

By Frank Lindsey QuantumLink filename: ODIN, uploaded by Mondain.

OK, all of you 64 users who've been reading this and growling nasty things about those 128 users and their fan- cy graphics, here's a game that will make a red-eyed, thumb-happy zombie out of you, too.

Odin is one of those games that put you in a space- ship at the bottom of the screen, armed with an end- less supply of energy bolts or whatever. As usual, the de- tails are unimportant. What is important is that all those crazed blobs plummeting to- ward you will turn your space- ship into pixel dust if you don't keep pounding that fire button. There's no continual fire here (the one major flaw in an otherwise outstanding game), so plan on some actu- al finger or thumb pain as you try to clear a path in the weav- ing mess.

Odin does Astra one better by hurling a nifty variety of nasties down the screen. They're all animated with blink- ing lights and flapping wings, making them nice to look at for that split second before you obliterate them or vice ver- sa. Once you get past the first level, they fire back, lob- bing little bombs your way.

Once again, | have to ad- mit that | can’t vouch for the higher levels. | count myself lucky to live past level 2.

Launch yourself into either of these games. Have fun and let me know how you make out! a]

=

RAMLInk

RAMLink with O MB RAMCard RAMLink with 1 MB RAMCard RAMLink with 4 MB RAMCard Real-Time-Clock for RAMCard (Optional) RAMLink Battery Back-up (Optional) 1.MB & 4 MB SIMM Modules

Parallel Cable (RAMLink to HD) RAMDrive

RAMDrive 1 MB

RAMDrive 2 MB HD-Serles Hard Disk Drives HD-40, 40 MB SCSI Hard Drive

HD-85, 85 MB SCSI Hard Drive HD-100, 100 MB SCSI Hard Drive HD-200, 200 MB SCSI Hard Drive

FD-Serles 3.5", Floppy Disk Drives

FD-2000 (800K and 1.6 MB Formats) FD-4000 (800K, 1.6 MB and 3.2 MB Formats) FD Real-Time-Clock Option

Box of 10, High Density Disks (1.6MB)

Box of 10, Enhanced Density Disks (3.2 M8)

Single ED-Disk. (3.2 MB)

$179.95 $249.95

$20.00 $14.95 $60.00

$8.00

JiffyDOS (Specity Computer / drive model & serial number)

C84-System (Computer & drive)

‘SX-64 System (Computer & Internal 1541)

C-128 System (Computer & drive) 128-D System (Computer & Internal 1571) Additional Drive ROMs

Software Products

$49.95 $49.95 $59.95 $59.95 $24.95

e0MakeBoot (Makes bootable copies of GEOS 64/128) $12.95 GateWay/64 or 128 (GEOS Desktop Replacamend $29.95

geoCanvas (Atemafve GEOS Pant Program) Collatte Utilties (Handy GEOS Utlites)

Perfact Print LO for GEOS (Font Col.182, 49 Fonts)

Font Collaction 3 (17 Fonts and 5 Borders)

Border Font Collection 1 (24 Border Fonts)

JitfyMON - ML Monitor for JittyDOS'64 Miscellaneous CMD Products

‘SwittLink, RS-232 Interface (300 to 38,400 baud)

‘SwiftLink Cable (089 to DB25) SID Symphony Stereo Cartridge w/ Player

NI prices and specifications subject to change without notice

$29.95 $19.95 $49.95 $19.95 $19.95 $19.95

$39.95 $9.95 $39.95

COMPUTE’s

SpeedScript Disk

A powerful word processing Yes! package for Commodore 64 Send me —______ copies of COMPUTE’s

and 128 owners

A Great Deal for Commodore | airmail.)

Users!

* SpeedScript for the 64

High Performance SCS! Hard Drive for the C64 & C128

HD Series Hard Drives are available in capacities up to 200 MB, are fully partitionable, and can emulate 1541, 1571, & 1581 disks while Native partitions utilize MSDOS-style subdirectories. HD's connect easily to the serial bus or parallel via RAMLink. Includes buit- in JiffyYDOS, SWAP feature and Real-Time-Clock HD Series Drives offer superior compatibility with most commercial software including BBS, Productivity and GEOS. And with new pricing, HD Series drives offer the lowest cost/MB of any C64/128 storage devica.

Power Backed Expandable RAM Disk and Interface

The fastest possible form of storage, RAMLink provides instant access to files and retains data while your computeris tumed off. Easy touse and expandable upto 16 MB, RAMLink uilizes the same powerful operating system found in the HD. RAMLink also offers built- in JiffyDOS, SWAP feature, reset button, enable/disable switch, pass-thru port and RAM port for REU/GEORAM use. Ideal for those requiring maximum speed, expandability and connpa with all w/pes of softwere and hardware including GEOS,

REINS ER TREO

High Capacity 1.6 and 32 MB 3.5" Floppy Disk Drives

The FD-2000 and FD-4000 disk drives utilize today’s latest3.5 inch tachnology. FD-2000's

support 800K (1581 style) and 1.6 MB (High Density) formats, while the FD-4000's offer

support for the 3.2 MB (Enhanced Density) format as well. Fast and reliable, they support

1541, 1571 and 1581 style partitions, Native Mode partitioning and can actually read and

write 1581 disks. FD drives feature built-in JiffyDOS, SWAP button and optional RTC. High speed and compatibility make the FD the right drive for every applicati

liffyDOS Speeds up disk access by as much as 1500% while maintaining 100% compatibility with commercial software

+ Speeds up Loading, Saveing, Verifying, Formatting and Reading / Writing of PRG, SEO, USR and REL fles

+ BulltinDOS Wedge plus 17additonal features including fla copier, text dump, printer toggle, and rade finable function keys

+ ROM See ieee eee a oO and dk drives. Supports C-64, 640, SX-64, C-128, 128-D, 1541,

and Handi Mae pone came pny Creative Micro Designs, Inc.

RAMLink, RAMDrive, FD: UPS $9.00;2nd-day $16.00,,AK HI,Canada $20.00 P.O. Box 646, E. Longmeadow, MA 01028

GW, PPLO, JOOS, SiD, SL: UPS $550,2 day $10.00:AKH|Canada $15.00

GBoot Col UM, GCan:{8t Ciass Mal $200; Canada $5.00 Orders: (800) 638-3263 (Mi Foreign Orders: Cail Info:

Payment: MC, Visa, Money Order or Bank Check COD shipments add $5.00 Bi BBS:

CODE may require advanced deport. Partonal checks are hald for 3 whs.

| 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

Amount

| ORDER NOW!

* SpeedScript 128—80-column version

* Spelling checkers * Mail merge

* Date-and-time stamp

* 80-column preview for the 64

* Turbo save and load

State

Mail personal check or money order to Commodore SpeedScript Disk

324 W. Wendover Ave., Ste. 200 Greensboro, NC 27408

* Plus more than a dozen other SpeedScript | Residents of North Carolina and New York, add appropriate tax for your area. Canadian shies . . ; orders. add 7" good services tax support utilities all on one disk (including as a ai eae full documentation)

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

le Reader Service Number 139

In order to read a file successfully, you have to Know what's at its end.

G-18

COMPUTE JULY 1993

MACHINE LANGUAGE

Jim Butterfield

FILE END CHECK

BASIC’s INPUT# statement has limitations that can cause a program crash during a file read. The problem surfaces when two conditions are met. First, the program wants to read the whole file, using IN- PUT# to get the data and test the system variable ST (status) to detect the end of the file. The second condition occurs when the file ends with more than one Return character.

A quick pair of programs will show this effect. First, write a file as follows.

100 OPEN 1,8,2,0:BADFILE,S,W” 110 PRINT#1, “JINGLE”

120 PRINT#1,“JANGLE”

130 PRINT#1

140 CLOSE 1

Line 130 creates the prob- lem by writing a blank line at the end of the file. In other words, there will be more than one Return character at the end. Now for the doomed reading program.

100 OPEN 1,8,2,‘‘0:BADFILE” 110 INPUT#1,A$

120 PRINT A$

130 IF ST=0 GOTO 110

140 CLOSE 1

The program will read “reg- ular” files without trouble. But on our bad file, the program will read JINGLE and JAN- GLE and then lock up.

Why does this happen? It's a conflict of two system rules. Rule 1: The INPUT# com- mand always reads to the next Return character. If it finds a blank line, it immediate- ly goes back for another read. Rule 2: If the file han- dler is asked to deliver data beyond the end of the file, it will supply a Return charac- ter. Combine these rules, and you'll see that if the last line of a file is blank, the INPUT# statement will continue to

read blank lines—and it'll do so forever!

Our first project is to write a program that will scan a file quickly and find out what's at the end—a single Return, the normal condition; no Return, unusual but not fatal; or more than one Return, possibly a crash. So our program de- tects the danger. Another time, we'll add to the program so that it will fix the problem.

The BASIC part of our pro- gram will ask for the name of the data file and open it as log- ical file number 1. Then it calls the following machine lan- guage program at address 8704, hexadecimal 2200.

First, connect the input stream to logical file 1.

2200 LDX #$01 JSR S$FFC6

Our plan is to store the last character of the file at ad- dress $2101 and the previous character in $2100. As a pre- caution, we'll prepare to store 0 in this last address.

LDA #$00

As we go around our loop, the A register will contain the last character received from the file. Store this, and read an- other character.

2207 STA $2100

To read a character from a file, we may use a subroutine call to either $FFCF (INPUT) or $FFE4 (GET). The result is the same either way.

JSR SFFE4

The received character is in A. We may test for end-of-file by looking at our system stat- us variable ST. That variable is located at hex address 90. In Commodore machines pri- or to the VIC-20, it's located at address $96.

LDY $90

If ST has a value of 0, the file read is proceeding normally, and we have not reached the file's end. In this instance, BEQ takes us back around the loop.

BEQ $2207

If we didn't take the BEQ branch, we may assume that we're at the end of the file. The final character, still in the A register, is stored at $2101.

STA $2101

The last instruction in our pro- gram jumps to $FFCC, CLRCHN, which restores the input stream to its default path (screen/keyboard).

JMP $FFCC

It's a small program, a fast pro- gram—and it will leave the last two bytes of the file in addresses $2100 and $2101 and 8448 and 8449 respective- ly. BASIC should now close the file and test these bytes. Here's the program in the for- mat of a BASIC loader.

CJ 108 PRINT"FILE END CHECKER {SPACE)- JIM BUTTERFIEL D™

XR 110 DATA 162,1,32,198,255,1 69,G,141,6,33,32,228,25 5

GS 120 DATA 164,144,246,246,14 1,1,33,76,204,255

PC 164 DATA 72,32,204,255,162, 2,32,201,255,174,9,33

JF 209 FOR J=8784 TO 8726

EJ 210 READ X:T=T+X

BP 220 POKE J,X

AE 236 NEXT J

XS 248 IF T<>3G16 THEN STOP

XF 300 INPUT "NAME OF FILE"; FS

JQ 310 OPEN 15,8,15

FJ 320 OPEN 1,8,2,FS

GB 330 INPUT#15,E,ES:IF E00 T HEN PRINT E$:STOP

QH 346 SYS 8704

SB 350 CLOSE 1

SD 366 CLOSE 15

GC 370 IF PEEK(8449)<>13 THEN {SPACE}PRINT"FILE DOES {SPACE}NOT END WITH <RE TURN>.": END

SE 380 IF PEEK(8448)<>13 THEN {SPACE} PRINT"FILE ENDS {SPACE}WITH A SINGLE <R ETURN>.": END

XS 399 PRINT"FILE ENDS WITH MU LTIPLE <RETURN> CHARS."

The Gazette Productivity | Manager 5,

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

Gazette Productivity Manager! Look at all your 64/128 Productivity Manager disk contains.

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!

YOUR GAZETTE PRODUCTIVITY MANAGER TODAY!

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 could be [| © ©©)©)©0©)0 TTS easier? oO YES! 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.)

| I | Financial Planner—Answers all of those questions ! concerning interest, investments, and money manage- ' ment that financial analysts charge big bucks for! You 1 can plan for your children’s education and know | exactly how much it will cost and how much you need t to save every month to reach your goal. Or, decide I Total Enclosed whether to buy or lease a new car. Use the compound | —Check or'Money Order _ MasterCard VISA interest and savings function to arrive at accurate 1 eee | | I I I | | | ! | |

(Required)

estimates of how your money will work for you. ee Compute the answer at the click of a key!

Daytime Telephone No.

Name

Address

City State/ up/ Province Postal Code

DON’T MISS OUT ON THIS POWERFUL WORKHORSE!

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

G-20

Use these readers’ tips to read your

64’s memory, remove REM statements, and more.

COMPUTE JULY 1993

PROGRAMMER’S PAGE

Randy Thompson

SNOOPERS AND REMOVERS

Readers have come through again with some great tips. Let's get right to them.

Memory Snooper

Here's a simple BASIC pro- gram that searches an area of memory for text messages.

SD 1@ S=41118:E=41865

PF 20 FOR I=S TO E

HS 30 C=PEEK(I):IF C>3l AND C< 123 THEN PRINT CHRS(C); GET K$:IF KS=CHRS$(13) TH EN PRINT

IP KS<>"<" THEN NEXT I

EX 40

MP 50

As listed, this program scans the area of ROM that contains BASIC keywords and error messages. You might try searching the area of memo- ry that contains BASIC pro- grams: 2049-40959. To do this, in line 10 make S equal to 2049 and E equal to 40959. | find this program use- ful in searching for and read- ing E-mail that | have neglect- ed to read completely before logging off QuantumLink. You can make the text eas- ier to read as it prints to the screen by pressing Return. This forces the program to print a carriage return. To stop the program before it fin- ishes searching memory, press the back arrow key.

BRIAN KISSINGER EVANSVILLE, IN

Function Keys 128

When programming in BASIC on the 128, the GET state- ment doesn't return the Com- modore 64 character codes for function keys (133-140) un- less you execute a POKE 828,183 first, thus disabling the keys’ preprogrammed def- initions. (POKE 828,173 re- turns the 128's function keys to normal.)

Rather than disabling the 128's function key definitions, you can use them to simulate a string of keypresses that

your program recognizes. For example, | recently wrote a game that lets me press G at any time to access a game- control menu. From that menu, | can press L to load a game or S to save a game, af- ter which the program dis- plays the prompt Are you sure (Y/N)? before continuing. To simplify the selection of the game-save option, | pro- grammed the f1 key to simu- late pressing the G, S, and Y keys with this command:

KEY1,“GSY”

Now when | press the f1 key while the game is run- ning, the character codes for the G, S, and Y keys are put into the keyboard buffer and read by the game's GET state- ment. This calls up the game- control menu, selects the save-game option, and an- swers Y in response to the Are you sure (Y/N)? prompt. This gives me three keypress- es in one!

RICHARD R. HARVEL FORT WORTH, TX

REMover

The following program re- moves all REM statements from 64 BASIC programs. To use this handy utility, load and run the program shown below. Then load the BASIC program containing the un- wanted REM statements, and type SYS 49152.

SH 108 AJ 118

REMOVER FOR I=49152 TO 49392:RE AD D:POKE I,D:C=C+D:NEX 71

IE C¢>33534 THEN PRINT {SPACE}"ERROR IN DATA S TATEMENTS"

DATA 24,165,43,105,2,13 3,253,165,44,105,0,133 DATA 254,32,204,192,176 ,6G,24,165,253,195,2 DATA 133,253,165, 254/19 5,G,133,254,166,0,148,2 40,192,177,253

DATA 248,8,201,143,248, 37,200,76,33,192

DATA 152,24,105,3,32,21 9,192,32,204,192,176,18 DATA 24,165,253,185,2,1 33,253,165,254,165,6,13 3

JF 120

CA 138 ap 146

MK 150

XK 166 PX 176

Gs 186

GD 196 DATA 254,166,8,76,33,19

2,76,51,165,192,6,240 DATA 1,136,152,32,219,1 92,166,0,177,253,240,4 DATA 268,76,92,192,152, 141,239,192,173,248,192 7261

DATA @,268,22,24,173,23 9,192,105,5,141,239,192 DATA 56,165,253,233,5,1 33,253,165,254,233,0 DATA 133,254,24,165,253 772,169,239,192,133,251

PP 200

KK 210

BK 220 GB 230 PX 240

165,254 DATA 72,105,0,133,252,1 60,8,177, 251,145, 253,32 DATA 191,192,32,204,192 176 ,3,76,151,192,104 DATA 133,254,104,133,25 3,56,165,45, 237,239,192 133,45,165,46

DATA 233,0,133,46,160,0 176, 48,192,230

DATA 251,208, 2,230,252, 230,253,208,2,230,254,9 6

GH 256 PA 268

AH 276

GR 280

BB 290

MQ 300 DATA 24,165,254,197,46, 208,7,165,253,197,45 DATA 208,1,56,96,141,23 9,192,24,165,253,109,23 9,192

DATA 133,253,165,254,10 5,0,133,254,096,9,9,0,0

pe 310

GF 320

Besides making a program smaller, removing REM state- ments can make a program run faster because the comput- er no longer has to skip over those descriptive but nonfunc- tional lines of code.

At first glance, line 100 may appear to be missing a REM statement before the pro- gram’s name. Of course, when the program runs, BA- SIC will interpret the first three letters of the word as REM and pass on to the next line. This means you can test the program on itself.

Be careful not to run this util- ity on programs that have GOTO or GOSUB commands that jump to lines that begin with a remark. Those lines will also be deleted.

VINCE TAGLE GRANADA HILLS, CA

“Programmer's Page” is inter- ested in your programming tips and tricks. Send all sub- missions to Programmer's Page, COMPUTE's Gazette, 324 West Wendover Avenue, Suite 200, Greensboro, North Carolina 27408. We pay $25- $50 for each tip we use. O

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 con- trol. Features include super-fast searching and sorting capabilities. An options screen allows you to choose text colors, drive number, 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 descriptions, and edit for adding items from upcoming issues—and print to any printer. There’s even a turbo-load option for maximum disk-access speed.

ORDER YOUR 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

complete street address:

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.

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 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. ASCII/CBM/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 244

NEW GEOS SOFTWARE scene

GeoSoli THE LANDMARK SERIES Cheeke

Dual Top - The PREMIER Desk Top replacement, Provides full four drive support, RAM drive priority system, one click access to major file functions, comprehensive error reports, full set of keyboard shortcuts, multiple user options plus many more features. 40 and 80 col modes.

Lace Il - Display GeoPaint, IPaint, and Basic8 pictures. Full color. 128 - 80 column mode only. GeoTet - Relax and enjoy a game of logic and skill. Full color 40 and 80 column modes, GeoSolitaire - Try your hand at America’s favorite card game. Full color, 40 and 80 columns.

To order the Land: Send a check or money order for $24.9: 13.00 S/H to: C/O The Landmark Series, 2253 N Kansas Aye, Sprin

Circle Reader Service Number 135

REU users: Battery Back any 17xx or GEORAM, with the BBU. Use with GEOS (V1.3 up), RAMDOS or other programs that use REUs. Great for BBS. No heavy power supply needed. GEOS users: BBGRam, Battery backed RAM for GEOS 2.0. A fast, reliable altemative to mechanical drives. Supports all drive types, multiple partitions and alternate DESKTOPs.

PERFORMANCE PERIPHERALS, Inc.

5 Upper Loudon Road, Loudonville, NY 12211.

US orders, literature: 800-925-9774. Tech support, orders, FAX: 518-436-0485. BBU $59, BBGRam 512K $89, BBGRam 1M$119, BBGRam 2M $159. US S&H $6. US COD $4. Canada & Mexico S&H $10. Other countries S&H $19.

‘30 day money back guarantee. 90 day warrantee. Master Card / VISA welcome,

Circle Reader Service Number 153

sy. 4 ~ ‘the MOST POWER Tor the BUCK” L Peainnt ceerteeziteseren seis te

' Reh 1991 = | 1 Paint lets you create on a 640 by 400 pixel screen-- that's T= Interlace! AS SouBLE we soe ned by any other graphics software!

| 1 Paint’s Interlace screen offers the unique ability to blend colors for I= Incredible! 65,536 APPARENT COLORS!

ital af Import GIF, MAC, GEOS, Basic8, Doodles © PrantSbop! I Port. mt $19.95 LN Elly dene custoon SAVE! both $49.95)| “saris

Easily define custom GIF palette templates! Check or money order only. MN residents add 6-1/2% sales tax Allow 2- 4 waoks for delivary

Circle Reader Service Number 146

Fast Action Arcade Style Game 1 ae for the Commodore 64/128+1541

24. 95 plus $3 Shipping and e Handling in the U.S.A.

S/H in Canada $5 and $10 for all others. American Currency Only

Send Check

=o Werestorm Software. Box 1086, Sidney, MT 59270

Order to: Circle Reader Service Number 289

G-21

G-22

Here’s how to activate your 64's user port at

any time of day.

COMPUTE JULY 1993

BEGINNER BASIC

Larry Cotton

USER PORT CLOCK (PART 2)

The 64 is blessed with four ports to connect with the out- side world. Two of them are quite well known: joystick ports 1 and 2, which are locat- ed on the right side of the com- puter next to the power switch. As we learned some time back, those ports can be used for output as well as for normal joystick input.

The other two ports may not be quite as familiar to you. Fac- ing the computer as you nor-

USER PORTS LOOKING AT REAR OF COMPUTER (GROUNDS AT PINS 1, 12, A, N)

so have a basic knowledge of digital electronics or know someone who does.

Please remember two things: that all ports are con- nected to the innards of your computer and that their out- puts are rather feeble and sen- sitive to abuse. Avoid static electric charges like the plague, and always connect ports to low-voltage circuits by means of properly matched op- to-isolators, transistors, and/ or relays.

The figure below shows the user port as you face the rear of the computer. The pins

mally do, the port at the ex- treme right rear is the car- tridge port. It normally accepts game and other types of car- tridges, such as the common fastload cartridge. The port on the extreme left rear is the us- er port, to which | referred last month. When you want to make a connection to the out- side world, that's the one to think of first. This port is easy to program in BASIC. I'll show you how to turn on and off each of its pins.

In fact, the programming is easier than wiring the hard- ware. As | warned you last month, | won't go into a lot of detail about user-port connec- tions. If you decide on a pro- ject, you'll need a card-edge connector with .156-inch termi- nal-to-terminal spacings, avail- able at Radio Shack or Mous- er Electronics. You should al-

which we can control easily are those on the bottom row let- tered C through L (skipping G and |).

Here's a very simple pro- gram that looks at the key- board to see if C, D, E, or Fis pressed.

10 P=56577: REM USER PORT

20 POKEP+2,255: REM ALL PINS OUTPUT

30 POKEP,O: REM ALL PINS OFF

40 GETAS: IFAS="""THEN40

50 IFAS="‘C” THEN POKEP,1

60 IFAS="D" THEN POKEP,2

70 IFAS="E" THEN POKEP,4

80 IFAS=""F” THEN POKEP,8

90 GOTO40

Line 20 sets up the user port so that all subsequent POKEs are interpreted as out- puts, line 30 turns all pins off, and line 40 waits for a key to be pressed.

When you run this, press- ing C, for instance, turns pin Con. (In the jargon of electron- ics, the voltage on pin C goes high or jumps from 0 to +5 volts DC.) This voltage is enough to power a Light Emit- ting Diode (LED) or trigger a sensitive transistor or relay, which must be connected be- tween the controlled pin and a ground (pin 1, 12, A, or N).

Now let's. finish last month's program. Add lines 10-30 from the above pro- gram, change line 420, and add lines 430-470.

420 PRINT'*[CLR][DOWNJUSER PORT PIN C ON.

430 PRINT[DOWN]PRESS ANY KEY TO TURN OFF.

440 POKEP,1

450 GETA$:IFA$=""THEN450

460 POKEP,O

470 PRINT [DOWNJUSER PORT PIN C OFF.

Now when you run the pro- gram, enter the times as you did last month. When the “alarm” goes off, pin C in the user port is turned on. Poking other values to P in line 440 ac- tivates other pins as follows.

Poking Turns On 1 Cc 2 D 4 E 8 F 16 H 32 J 64 K 128 L

Combinations of pins can be activated by adding the val- ues in the left column corre- sponding to the pins you want to turn on. For instance, to turn on pins C and H, poke 17 (1 + 16) to P (56577). To turn on pins J, K, and L, poke 224,

I've just about run out of space for this month, but I'll mention some of the pro- gram's highlights.

The subroutine in lines 290- 410 gathers user input in hours, minutes, and seconds to set the clock and the alarm, Line 90 pokes values based on this user-supplied information to three clock regis- ters 56329-56331. Line 130 forms a variable B which is calculated from these values. B is the number of seconds from midnight to when the clock's alarm is set—when the user port is to be activat- ed. For example, B would have a value of 25,200 for 7:00 a.m. Line 160 starts the clock by poking a 0 to the tenths-of-seconds register 56328

The clock is updated and printed to the screen in a loop in lines 170-280. The same registers we poked are continually peeked in line 470, from which printable val- ues are derived in lines 180- 220. A in line 230 is the actu- al time of day in seconds from midnight. Line 240 con- tinually compares A to B. When they're equal, the alarm goes off; control zips to line 420 which turns on pin C in the user port. Here's the en- tire listing in case you missed last month's column, Remem- ber, always set the user port to activate within 24 hours of starting the clock.

BM 16 P=56577:REM USER P ORT POKEP+2,255:REM AL L PINS OUTPUT POKEP,@:REM ALL PI NS LOW PRINTCHRS (147) : POK £53281,14:POKE646, 6

PRINT"SET CLOCK AT : {DOWN}"

R=8 : GOSUB29:K=432 @G:REM 43260 SECON DS IN 12 HOURS IFIS$="PM"THENX=K FORI=1T03:H=INT (T ( 1) /16) :L=T (I) -10*H 3:7 (1) =16*H+L:NEXT C=56331:POKEC,T (1) :POKEC-1,T (2) : POKE c-2,T(3)

166 PRINT" {DOWN}ACTIV

BF 20

cc 36

Ds 46

KR 56

PK 60

GX ER

76 8a

MC 9G

FA

XG

XM GJ

HD

FD

HA

SG BJ

XX MD

HG DE

KE

RA

HP

PG

CE

GG

pc

116 126 136 146 156 163 176 186 198 268

216

226

236

240 256

266 276

286 296

308

316

328

336

346

356

368

ATE USER PORT AT: {DOWN}" R=18:GOSUB299 IFIS="PM"THENY=K B=Y+T (1) *3600+T (2 )*60+T (3) PRINT" {DOWN} PRESS ANY KEY TO START CLOCK. {DOWN} GETAS: IFAS=""THEN 156 POKEC-3,0 H=PEEK (C) :M=PEEK ( C-1) :S=PEEK(C-2): T=PEEK (C-3) C1$=CHRS ( (16ANDH) /16+48) +CHRS ((15A NDH) +48) H=VAL (C1$) *3600 IFC1$="@9"THENC1S ="q2" C2$=CHRS ( (24GANDM ) /16+48) +CHRS ((15 ANDM) +48) :M=VAL(C 2$)*66 C3$=CHRS ( (24GANDS ) /16+48) +CHRS ((15 ANDS) +48) :S=VAL(C 3$) A=X+H+M+S:IFA=2*K THENPOKEC, @: POKEC -3,0:X=6 IFA=BTHEN4 26 IPACKTHENJS="AM": GOT027¢ J$="PM" PRINT" {WHT}TIME I

H$=""; INPUT"HOURS “SHS: IFHS<"G"ORHS >"9""THENPRINT"

{2 uP}":GOTO296

T (1) =VAL (H$) : IFT ( 1) <@ORT (1)>12THEN PRINT" {2 UP}":GOT 0296

IFT (1)=12THENT (1 =6

MS="": INPUT" {DOWN }MINUTES" ; MS : IFM$<"G"ORMS>"9" THENPRINT"{3 UP}" :GOTO32G

T (2) =VAL (M$) : IFT ( 2) <@ORT (2) >59THEN PRINT" {3 UP}":GOT 032

s$=""; INPUT" {DOWN}SECONDS"; SS : IFS$<"G"ORSS>"9" THENPRINT"{3 UP}" :GOTO34G

T (3) =VAL (S$) :1FT( 3) <GORT (3) >S9THEN PRINT"{3 UP}":GOT

0346

PRINT" {DOWN}AM OR PM (PRESS A OR P

" GETIS:IFIS<>"A"TH ENIFIS$<>"P"THEN37 8 IFIS="A"THENIS="A M";GOTO406 1$="PM" POKE214,R: PRINT: P OKE211,24:PRINTIS RETURN PRINT" {CLR} {DOWN} USER PORT PIN C O Ny" PRINT" {DOWN} PRESS ANY KEY TO TURN {SPACE}OFE. POKEP,1:REM TURNS ON PIN C GETAS$: IFAS=""THEN 450 POKEP,@ PRINT" {DOWN}USER {SPACE}PORT PIN C OFF." o

HD

4

ATTENTION WRITERS, PROGRAMMERS

Gazette is looking for utili- ties, applications, games, educational programs, and tutorial articles. If you've cre- ated a program that you think other readers might en- joy or find useful, send it and the documentation on disk to

Gazette Submissions Reviewer

COMPUTE Publications 324 W. Wendover,

Ste. 200

Greensboro, NC 27408

Please enclose an SASE if you want your materials re- turned.

Send New Product Announcements and/or Press Releases on your Commodore 64/128 products to:

Tom Netsel c/o COMPUTE

JULY 1993 COMPUTE

G-23

A 64 can be an ideal

first computer

for toddlers—as well

24

as a great teaching tool.

COMPUTE JULY 1993

D'IVERSIONS

=a Se a

Fred D'lgnazio

TODDLER’S CHOICE

For a recent Public Broadcast- ing Service show, “Learning Matters,” we videotaped my segment, Technology Corner, in my family's study. We re- viewed the newest multimedia CD-ROM titles for toddlers, in- cluding Just Grandma and Me (Broderbund); Mother Goose (Sierra On-Line); Silly, Noisy House (Voyager); and Millie's Math House (Edmark). Our re- viewers were my three-year- old daughter Laura and her one-year-old buddy Alex.

At the end of the segment, the show's producer, John Mer- row, noted that the equipment and software we used was “expensive and possibly out of reach” for many families. He wanted to know if there was an- other toddler we could inter- view who had a more down-to- earth computer setup.

| thought of Tommy Kurek, Laura's next-door neighbor, and we called Tommy's par- ents and scheduled a visit.

Tommy's computer, _ it turned out, was a perfect tod- dler configuration: a second- hand Commodore 64. Most of the software titles and extra equipment were purchased at yard sales or flea markets. The price of Tommy's entire setup was well under $400—the price of a single CD-ROM drive.

The computer station was on a small table in the corner of the family living room sur- rounded by books, Tommy's toys, and two or three loung- ing cats. When the family did their computing, Tommy sat in his chair, and his mom and dad sat on each side of him on the floor. This made them all about the same size.

To begin the interview, we asked Tommy's daddy, Keith, if Tommy had suffered from not having the latest multime- dia computer equipment.

“| don't think so,” said

Keith. “Tommy just turned three. While he was still two, us- ing the Commodore 64, he learned how to write his own name, his friend Laura’s name, my name, his mommy's name (Leanne), and the names of all four family cats.

“Also, while he was two, Tommy used the computer to learn how to count to 39, count objects on the comput- er screen and press the cor- rect number on the keyboard, and recognize and find every number from 0 to 9 and every letter in the alphabet.”

“Do you have any advice for fellow parents who have tod- dlers?” we asked Keith.

“Tell them to find or buy a Commodore 64,” said Keith. “If the parents buy an expen- sive computer, they'll be so wor- ried about its safety they'll nev- er be relaxed around it with their two-year-old, and they'll be afraid to turn their child loose on the computer. The great thing about this comput- er is it's 100 percent Tommy's computer. He can do anything he wants, and the Commo- dore can take it.

“The other good thing about the 64,” Keith contin- ued, “is that lots of Tommy's ed- ucational programs come on Cartridges. When we go visit Grandma on weekends, we just throw the computer into the car along with a couple of Tommy's favorite cartridges. At Grandma's we plug into her television set, and Tommy is busy for hours working on his number, shape, and letter games. When it comes time to go home, it takes about ten sec- onds to unplug the computer and toss it back into the car.”

We asked Tommy to pick out his favorite 64 programs to recommend to other toddlers who are just starting to com- putey. Here's his list:

© KinderComp (Spinnaker Software). A set of shape-, num-

ber-, and letter-recognition pro- grams perfectly suited for your toddler computer whiz.

* Astro Grover (CTW-Sesa- me Street). Same as above, featuring the lovable Sesame Street muppet Grover.

¢ Ernie's Magic Shapes (CTW-Sesame Street). Shape- recognition program featuring Ernie.

* Big Bird's Special Deliv- ery (CTW-Sesame Street). More early learning programs featuring Big Bird. All three pro- grams (Grover, Ernie, and Big Bird) can be found in a single package entitled The Sesame Street Learning Library.

* Kids on Keys (Spinnaker Software). Helps with key- board recognition.

* Alphabet Zoo (Spinnaker Software). Letter recognition.

¢ Learning with Leeper (Si- erra On-Line). Fun, education- al games hosted by cute little onscreen characters such as Leeper.

* Design-a-Saurus (Britan- nica Software). Dinosaur rec- ognition and naming program. (Tommy is a dinosaur nut. He carries a Tyrannosaurus Rex doll to bed with him instead of a blanket.)

¢ Dinosaurs Are Forever (Polarware). More reptiles for young dinosaur enthusiasts.

* Kermit's Electronic Story Maker (Simon & Schuster). You and your children can cook up your own online pic- ture books.

The cost of these programs? “At worst, under a hundred dol- lars,” Keith says. “The impor- tant thing is to watch for yard sales where you can pick up children's software for justa cou- ple of dollars. Also, sign onto lo- cal bulletin boards where you can pick up lots of freeware edu- cational programs. Join a 64 us- er group, and you're sure to run into other young parents who are eager to share with you and your kids.” a

PROGRAMS

ULTIMATE ML MONITOR

By Ted Green and Ed Balchick Examining and debugging troublesome machine language (ML) routines or trying to see how well machine code actually works is usually a struggle. ML programs run so quickly that it's difficult to determine exactly what happens and when it happens without altering the pro- gram. A standard monitor's breakpoint re- turns are not much help because the dis- play is corrupted and the program halts.

Now, with the Ultimate ML Monitor, you can execute any piece of ML code in slow motion or single step through it one command at a time! A special user inter- face lets you interact directly with the ML program, You can view and control the ac- tual operation of the program in text or hi- res mode as it runs; examine and modify the program, data, or register values; and allow the Kernal serial bus to access rou- tines while in the single-step mode. These and many other features, such as full implementation of 6502 quasi-op- codes, make the Ultimate ML Monitor a powerful programming utility that you'll wonder how you did without.

Getting Started Ultimate ML Monitor consists of three programs: two small programs that make up the loader system and the main program. These three files must all be saved to the same disk, but the program that you wish to monitor can be on any disk, even another drive. The setup portion of the loader sys- tem is written in BASIC. To avoid typ- ing errors, use The Automatic Proofread- er to enter the program. See “Typing Aids" elsewhere in this section. When you finish typing this portion in, save it to disk with the filename ULTIMON.B. Next, the smart portion of the loader system is written in machine language, and you will need MLX, our machine lan- guage entry program. Again, see “Typ- ing Aids."" When MLX prompts, re- spond with the following values.

Starting address: CC13 Ending address: CFFE

After you type in the loader program, be sure to save a copy to disk with the filename ULTIMON.L.

The monitor portion of the program

is written entirely in machine language for speed and compactness. You must enter this program with MLX. When MLX prompts you, respond with the following values.

Starting address: 8000 Ending address: 8EBF

Be sure to save a copy to disk with the filename ULTIMON.O.

Loading the Program

Ultimate is very easy to use, Load and run Ultimon.B as you would any BASIC Program. Before you run it, however, you should have the program available that contains the ML code that you wish to examine. This program should be copied onto the same disk as the UI- timate system if you are using a single drive. If you are using Ultimate with a two-drive system, have each disk in a drive before running Ultimate.

As for what kind of program to look at, the possibilities are almost limitless. You aren't limited to looking at a pure ML program, the kind you load with the ,8,1 extension and start with a SYS com- mand that you often forget. Ultimate will examine an ML program that loads like BASIC or even a BASIC pro- gram that reads the ML from data state- ments and pokes them to memory and then calls them with a SYS command.

In the latter two cases, Ultimate can catch the ML portion just as BASIC tries to execute it (if you start in single step). This means that for BASIC pro- grams in general, all of the BASIC is ac- tually run by the interpreter. However, once you are in the ML routine, you can- not go back to the BASIC program.

When you have selected the pro- gram that you wish to examine, load the drive(s) and run Ultimon.B. The screen will clear and display the follow- ing prompt.

ADDRESS TO LOAD MONITOR:

The address must be entered as a dec- imal value. The Ultimate program can be put at any unused area from 2048 ($0800) up to and including 36864 ($9000). It can also be put at 49152 ($CO00). If you try to place it above 49152, you will get an error message. Placing the monitor in the RAM under

ROM (BASIC or Kernal) is possible, but not recommended, except for ad- vanced users. The most important fac- tor in choosing the load address is de- termining where there will be 4K of memory that won't be used by the pro- gram to be monitored.

Don't forget about BASIC variables. If they are a problem, protect 4K for Ulti- mate first. Ultimate will protect itself from any memory access commands while in any mode except full speed. This protective feature will cause the monitored program not to execute those commands, possibly causing an infinite loop in the monitored program. If this happens, it's best to start over and choose a new load address.

You'll then be prompted for a pro- gram to monitor and a drive number from which to load. If you enter the same drive as the current drive, you must copy your program to the disk with the Ultimate system on it because there is no time to switch disks.

You'll then be asked whether you want to run the program in single-step mode or at full speed. Enter S for sin- gle step or F for full speed. You'll usu- ally want to start in single-step mode for most small programs or anytime you want complete control over the whole monitored program. Full-speed mode is a good choice when you want to monitor a large program, and the piece of code that you're interest- ed in is executed sometime after the program begins.

If you select full speed, hitting the Re- store key at anytime will break into the program in the single-step mode (un- less the program changes the NMI vec- tor at $0318 while in full speed). When the single-step mode is activated, the status line will be displayed at the bot- tom of the screen.

Using the Program

Once you enter the single-step mode of Ultimate, the main program interface is the interactive status line. Note that all numbers on the status line are shown in hex. The main features of the status line are the following: PC (which shows the contents of the emu- lated program counter of the program you are examining) and A, X, Y, and SR (which are the current contents of the emulated accumulator and the X,

JULY 1993 COMPUTE G-25

PROGRAMS

Y, and status [flag] registers).

To the left of PC is the space for the full-speed Kernal routine indicator, an asterisk (*). More about that later.

The most important feature of the stat- us line is the command display field. This contains the opcode mnemonic of the current instruction and the operand field. The operand field can be toggled between two different types of displays for some commands. The secondary mode is like a standard disassembler listing of the command.

The main display mode is what gives Ultimate its powerful debugging features. It has the ability to convert the addressing mode into the actual mem- ory location used by the CPU and to dis- play it on the status line. For example, if locations OE = 75, OF = 10, and Y = AF, then the command above would display as LDA $1124. You can toggle between these two modes at an- ytime with the asterisk key, even view the two modes of the same command without stepping. There are some com- mands that will show an address (branches, RTS, JSR, and so on) that look identical. The command field also indicates the address of the destina- tion if a branch is taken. An RTS will dis- play the actual address of the com- mand after the JSR, not the address 1 that it pulls off the stack. There are some other features used in the status display, but these will be discussed in the appropriate key description below.

Key Functions A single keystroke activates many of UI- timate’s key features.

F7

Pressing f7 executes the next program instruction and displays the results on the status line.

S)

Press S to enter slow motion program emulation from single-step mode. The approximate execution speed of this mode varies greatly, but generally takes about 150 times longer than real execution speed. If there are a lot of Kernal routines, the Kernal mode can speed up the program considerably.

e The back arrow exits the monitor and G-26 COMPUTE JULY 1993

runs the monitored program in full speed (real execution). Ultimate may be corrupted if set at a bad address. This key is good for running through a large piece of code to get to a particu- lar point. It also sets up the Restore key to go to single-step mode.

Restore

Restore triggers Ultimate from full- speed mode, breaks into the program, and enters single-step mode at the cur- rent command.

*

The asterisk toggles the operand field display between disassembly mode and address-calculation mode.

fl

This function key toggles the status line on and off without running the pro- gram, It's used to view the current vid- eo display area under the status line. Single step (f7) and slow motion (S) are the only valid keys while the status line is off.

H

Hunt allows you to enter an address that is the actual computed address op- erand of a command. The program runs in slow motion until it finds a com- mand that uses that address. This is useful for seeing when a particular mem- ory location is accessed in a program. If the hunt is successful and the status line displays the command line and PC, you can toggle the display mode (*) or look at the source code listing. Hunt can also be exited at anytime with the @ (At) key.

R

The R key will let the program run until an address is reached. Enter the PC of any command in the code and then the program will run in slow motion un- til the command is ready to be execut- ed. This means that when the single- step mode display comes on, the com- mand before the one you selected will be on the display line. That is because when a command is shown, it has al- ready been executed and the new PC has been calculated. This is useful to get the program to the beginning of a specific subroutine or section of code that you are interested in without hav-

ing to try to stop it by hand at the right spot. This mode can be canceled at an- ytime by pressing the @ (At) key.

J

Use the J key to run through a subrou- tine in slow motion until the correspond- ing RTS is encountered. This means that all nested subroutines will be exe- cuted and normally the program will dis- play the RTS command when it returns to single-step mode. Since this com- mand triggers off the emulated stack level, the program could also drop back into single-step mode if two val- ues are pulled from the stack or the stack pointer is incremented by 2 be- fore an RTS is encountered. This is use- ful in allowing you to see if the routine pulls its return address off the stack so it can jump somewhere else. It's safe to enter J-mode anytime after a JSR. If it's used outside of a subroutine, it may never drop back into single-step mode on its own, but you can exit at an- ytime with the @ (At) key.

Pp

P sets the emulated PC to a new aa- dress; the beginning of a program; or the end of a loop, subroutine, or wher- ever. The new address is entered in the PC space on the status line. After the address has been entered, the val- ue will reverse to show that you have to make a decision. You must either press Return or f3. Return resets the em- ulated stack pointer to the top of the stack, $FF. This is useful when restart- ing the monitored program so that stack doesn't wrap around. Pressing f3 will not change the current stack point- er. This is useful for going to the begin- ning of a loop: or jumping over some code where you may need the values that are on the program's stack. Noth- ing changes but the location of where the monitor reads the next command.

D

Dump has the same usage as Hunt ex- cept that all occurrences of the desired address usage (PC) are sent to the printer. This will not stop until the @ (At) key is pressed to cancel the mode.

K This key toggles Kernal mode, the de- sired execution mode of calls to Kernal

subroutines listed in the Kernal jump ta- ble ($FF81-$FFF3). The default mode is step-by-step emulation (in single- step or slow mode). The special mode is full-speed execution, which is desig- nated by an asterisk to the left of PC on the status line.

This mode is useful for speeding up programs with heavy Kernal usage where you are only concerned with the routine’s net effect on the program. It al- so allows serial bus I/O routines such as disk access even in single-step mode. Most Kernal routines that use the serial bus cannot be successfully single stepped. Note that if the Kernal LOAD is used, the monitor program could be corrupted because the self- protection feature is temporarily disa- bled.

If the Kernal mode is off, single- step mode will still let you choose how to execute each Kernal call. When you get to a Kernal call, the address of the routine will reverse. Return will execute the routine in full speed, and f3 will take it out of reverse mode and allow you to continue to single step through the routine.

If you press Return, the routine will ex- ecute, and the next command shown will be the RTS of the routine. Also, the PC will show the address of the routine itself and will be reversed to show that you just executed that Kernal routine. The RTS shows where the program is returning to. If Kernal mode is on, then all Kernal routines will be executed in full speed with results as mentioned above.

F

Fill lets you change the contents of any memory location. Note that the monitor will not protect itself, so use caution when altering any monitor parameters given in the article.

M

Memory will let you examine the con- tents of a memory location. For areas that have layers of memory such as $D000 (character ROM and |/O device RAM), the memory configuration used by the monitored program determines where the value comes from. To view a different area, alter the offset value, START + $0055, with the Fill com- mand. START is equal to the address

you loaded the monitor to at the begin- ning of the session. If you do this, you must change it back before you contin- ue, or the monitored program may crash.

A, X, or Y

Enter a new value into a CPU register. After a value is entered, it will reverse to show that you have to make a deci- sion. Return will modify the emulated status register like an LDA command, while f3 will leave the flags unchanged. These features may be useful for alter- ing loop indexes or putting a keycode into A to be checked when letting the Program go to the routine that handles the key.

Ww

W redisplays the status line in the cur- rent screen configuration. This is use- ful in single-step mode when stepping through code that alters VIC parame- ters and the screen changes so you can't see the status line anymore. Press- ing W will recover it without stepping.

Cc

C cycles the color of the status line text for text mode and hi-res mode stat- us line displays independently. All 16 colors are available. A separate color can be locked in for each mode and will stay the same even if you toggle be- tween monitor and full-speed modes. You won't have to change it after switch- ing modes.

In hi-res mode, the foreground and background colors are changed. Since the background color changes only after all 16 foreground colors have changed, it may take a while to get the desired color combination. If you know the color codes that you want for the foreground and back- ground, you can put the proper value into START + $052D. (See F key above.) The value should be in the fol- lowing format: High nybble equals back- ground; low nybble equals foreground. See any 64 reference book for more de- tails. To actually implement the color af- ter changing the memory value, hit f1 twice.

Vv V toggles multicolor mode. This key will have effects in both text and hi-res

modes. You may find it useful to turn off multicolor mode to read the status line clearly and then turn it back on.

G

G toggles hi-res display between text mode and hi-res mode. This is for see- ing the status line should the display mode change while single stepping (like W key). Note that the proper mode will be selected automatically when changing between single-step, slow, and full-speed modes.

Del

The Delete key has two functions. It re- prints the current status line with the command after using M or F keys, and cancels data-entry modes of any keys requiring hex input, such as H or P.

The @ (At) key cancels any slow-mo- tion mode (from S, J, R, H, or D) back to single-step mode.

Operational Notes

Not only are the regular 56 commands of the 6502 interpreted, but also the 14 quasi-opcodes as defined by Raeto Col- lin West in “Programming the 64” by COMPUTE books. Most of these op- codes have reproducible results, al- though many don't seem to lend them- selves to most programming tasks.

The new mnemonics that you may en- counter while experimenting are ASO, RLA, LSE, RRA, AXS, LAX, DCM, INS, ALR, ARR, OAL, SAX, SKB, and SKW. While there isn’t enough space to dis- cuss quasi-ops at length, most of them essentially decode in a way that is similar to the LDA-type commands. SKB branches over (skips) one’ byte, and SKW skips two.

These codes are included here when most other monitors ignore them because some software may use them to hide codes.

Another debugging feature is that Ul- timate stops automatically at a BRK or any invalid commands. BRK com- mands can be continued normally, but invalid opcodes will display three back arrows (#-*) and the hex value of the invalid opcode that has been en- countered. At this point, reset the PC to a new piece of code to continue.

Ultimate executes quasi-ops like it ex-

JULY 1993 COMPUTE G-27

PROGRAMS

ecutes all other commands. They are ex- ecuted by the 6502 after any address- es are decoded.

The program works by emulating ma- jor features of the 6502 and 64. The re- al stack and CPU registers are copied to a protected area of memory within the monitor, and all memory activity is monitored in protected mode so that the monitored program behaves as if it were running in real mode. Also, win- dow space is maintained and protect- ed for the text screen line, color mem- ory line, and one hi-res line so that the status line may be displayed while any program access to the real memory ar- ea is sent to the window. All of this win- dowing is generally transparent to the user and the monitored program.

For example, an access to the first lo- cation of the status line LDA $07CO, in default area, is shown as such, al- though the real load comes from the screen window maintained by the mon- itor. If a command tries to access the monitor's protected memory, the com- mand will not be executed. In single- step mode the operand field will be re- versed to alert you of this condition.

Advanced Uses

The Ultimon.O program is a stand- alone program. It contains the routine that actually performs the absolute ad- dress conversions necessary to relo- cate the program to the new address. This makes it very useful to load and run after another program has already been loaded.

During the first call, Ultimon.O mod- ifies itself so that later calls to the start address enter the monitor mode. This feature may be useful when a program that you wish to monitor is so large that it would overwrite Ultimate. Usual- ly programs using some hi-res graph- ics are like this. The solution would be to load the monitor over a 4K section of a bitmap that may not be needed while you are trying to figure out some portion of the program. The loading could be performed by replacing a small piece of code with a JSR to the following routine (WEDGE). Then, the wedge routine would have to be piggy- backed onto another piece of the mon- itored program.

= $FFBA COMPUTE JULY 1993

SETLFS G-28

SETNAM = $FFBD LOAD = $FFD5 DEVICE =$BA WEDGE LDA #1

LDX #<NAME+1 ;lo byte

LDY #>NAME+1 ;hi bytel JSR SET- NAM

NAME LDA #69 ;decimal LDX DEVICE

LDY #0 ;relocate JSR SETLFS

LDA #0 ;load

TAX

LDY #>BEGINI JSR LOAD JMP BEGIN

This loader will load, relocate, and kick start into single-step mode any ML pro- gram as long as Ultimon.O is saved as filename E, BEGIN = safe area (bitmap). Just find free memory for WEDGE and insert JSR WEDGE into code. Another technique is to load Ul- timate ML Monitor with a standard mon- itor that can perform a relocatable load to any address. Then run Ultimate so that it initializes itself to the new ad- dress. The initialization routine ends with an RTS. Now Ultimate is ready to use or can be resaved from the new ad- dress with a length of 4K. To call it, just use JSR or SYS to go to the new ad- dress.

ULTIMON.B

HG 5 REM COPYRIGHT 1993 - COMP UTE PUBLICATIONS - ALL RI GHTS RESERVED

MP 10 IFATHENSYS52243

KD 26 D=PEEK(186) :A=-1:LOAD"UL TIMON.L",D,1

ULTIMON.L

CC13:a9 93 CC1B:21 D@ €C23:26 Dg CC2B:62 38 €C33:18 20 CC3B:3E CD CC43:A2 0G CC4B:E8 EC cc53:CC 26 CCSB:F5 26 CC63:C6 A2 CC6B:EF A2 CC73:EF CA CC7B:CD A9 CC83:38 AS CC8B:26 FG

26 8D Ag Ag FG cD BD 3E D2 EF 04 61 16 ol 14 FF

D2 3E @D 13 FF 3B FA cD FF cc Ag BD iwi 8D ED 38

EE cD 8D ED 38 cD cc 98 c8 EE 13 20 Ag 86 3E ag

ag Ag 86 3E Ag 96 26 F4 co 3E 18 cD 6G G2 cD GE

oo G6 G2 cD 26 22 D2 B9 26 cD 26 26 8D A2 Ag ED

CB BD 34 E6 Al A2 22 FF DB oF BD B4 E7 E6 97 94

CC93:CD CC9B:AG CCA3:A8 CCAB: 26 CCB3:F4 CCBB:C@ CCC3:14 CCCB:FF CCD3: 26 CCDB:F4 CCE3:C@ CCEB: 3E CCF3:C8 CCFB:54 CD63:4D CDG6B:48 CD13:47 CD1B:4E CD23: 2E CD2B: 43 CD33: 2E CD3B:45 CD43:60 CD4B:79 CD53:A9 CD5B:49 CD63:44 CD6B: 4F CD73:4F CND7B:45 CD83:47 CD8B: 42 CD93:4F CD9B:55 CDA3: 26 CDAB: 9F CDB3:53 CDBB: 46 CDC3:45 CDCB: 4P CDD3:55 CDDB: 49 CDE3:57 CDEB: 41 CDF3:90 CDFB:CC CEG3:A9 CEGB:3F CE13:A6 CE1B:26 CE23:8E CE2B:CD CE33:A9 CE3B:06 CE43:61 CE4B:53 CE53:AB CE5B:CF CE63:CF CE6B: 20 CE73:CF CE7B:A2 CE83:C9 CE8B:4C CE93:FF CE9B:A9 CEA3:86 CEAS:AB CEB3:45 CEBB:FB

3E 26 G2 FF 22 96 3E 62 FF 36 96 Da FD 45 54 4E 41 54 4a 49 4A 28 7A 26 4c 4F 52 26 20 4F 41 20 45 42 52 49 45 4c 20 26 41 4c 49 45 AS 26 AG A4 FO AB 93 77 85 i) DG ag 3F 53 OF FF co 20 FO CE ) 99 i) 92 C6 CF

69 cD cD 96 c8 Ag FO cD 90 c8 EE oo 26 49 43 4E 4PF 45 4c 54 45 Ag 20 BC 54 41 46 54 4D 4F 26 54 4E 46 CT) 26 26 45 52 4D 57 52 4F 26 29 cD 26 GE cD 0@ 53 AB AG 6B 26 1E 32 32 oO 1E G2 FF G2 CF FS 8D 1E A2 85 45

@ 73

Cc AS 64 FC G3 FB

GG

CFEB:FB 46

CFFB:48 6C

ULTIMON.O

8600:EA EA

18

8628:8D 18 863G:A9 81 8638:06 G1

93 8D

82 86

86D8:3D C9 8GD8:49 81

G4 8D

13 85

28 C3 co 36 53 cD AB 26 53 FG G2 AG G3 88 A@ CD 33 CF @G AC 26 44 AE 32 AD 34 BD FF E9 FE AQ 88 09 83 G8. 63 1E CF 2D 84 G1 FG 7B AG 85 14 66 AG 28 73 97 D& 48 E6 EB B7 15 E9 E9 FE AQ 88 69 63 68 85 A7 Ag 8D 69 AD 26 AS 65 6C FB 48 AQ G3 OG

48 26 85 63 48 60 49 8D 83 AQ 8D 19 A2 6G E8 DG AQ 7B 20 13 @6 85 8C G3 83 8c DG 82 83 BC 86 8G 206 FF FO 33 cD DC 66 DC 11 A9 FG 65 53 80 AE FF 26 85 co 63 AD 86 FO EG

89EG:92 8GE8:C9 8GFG:AE 8GF8:18 8196:82 8198:85 8119:86 8118:D9 8126:C9 8128:84 8139:82 8138:D2 8146:48 8148:82 815G:1F 8158:8D 8166:D0 8168:01 8176:99 8178:C5 8180:86 8188:86 819G:A9 8198:21 81AG:4C 81A8:D9 81BG:3D 81B8:61 81C6:43 81C8:A2 81D0:48 81D8:83 81EG:68 81E8:68 81FG:A2 81F8:4C 8296:20 8268:D0 8219:D9 8218:81 8226:Dd 8228:4C 8236:84 8238:C8 8246:89 8248:03 8256:8A 8258:29 8260:A9 8268:AG 8276:20 8278:84 8289: 26 8288:E7 8299:86 8298:BD 82AG:F7 82A8:03 82BG:63 82B8:AD 82CG:40 82C8:80 82D6:B9

8309:69 8398282

8316:D8 8318:8D 8326:AD 8328:47 8339:8D 8338:8D 8346:8D 8348:29 8350:85 8358:8C 8360:61 8368:FG 8376:D1l 8378:D2 8386:44 8388:20 839G:E8 8398:64 83AG:4C 83A8:83 83BG:87 83B8:BA 83CG:21 83C8:C8 83DG:B9 83D8:84 83E9:69 83E8:EE 83FG:63 83F8:90 8400:A9 8408:GE 8416:EF 8418:87 8420:62 8428:B9 8430:A9 8438:05 8446:2G 8448:A9 8456:20 8458:A2 846G:A9 8468:0B 8470:D7 8478:AD 8483:84 8488:A2 8490: 28 8498:84 84AG:84 84A8:D1 84B0:81 84B8:AD 84CG:4A 84C8:6F 84D6:83 84D8:69 84EG:93 84E8:60 84F9:8D 84F8:8D 850G:F9 8508:29 8516:29 8518:1E 8520:E8 8528:8C 8538:85 8538:8D

AD 82 48 46 8E 49 ag co 4A Bo 8G A8 1D 15 BE ag 6a 83 26 8A 83 i) D8 De BE F4 8B DD 82 AB 08 83 63 E@ A2 A8 F9 26 A2 6c AG 12)>) 4B 32 07 26 26 96 26 4c 82 BE bg 4c 29 18 96 58 FF 8D ag AD 6c E9 GA 8c 8c 86 8D 26

JULY 1993 COMPUTE G-29

PROGRAMS

8546:85 8D El 8C 8D E3 8C 8D 19) 8770:D7 82 48 8D 55 88 4A 4A 99 )89AG:AC D7 82 CB 6C DB 1D BC CO 8548:95 85 8D 54 85 8D B7 86 CE| 8778:29 07 8D 95 87 AB BO 2E 69 |89A8:49 84 AG 4C BC D7 82 EB BC 8550:AS 27 B9 CG G7 99 4A SE 7A| 8780:8D 8D F9 82 68 29 E3 G9 D9 |89BG:8E BO 89 BD BA 89 AD Bl Cl 8558:B9 CO DB 99 72 8E 88 10 74| 8788:0C 8D D7 82 AG G1 26 DG 3E |89B8:AD FF FF 99 Dl 82 CE B9 2C 8560:F1 A9 GG AB 27 99 CG nB D5| 879G:82 8D 3F 84 AD BG 6G AD 3G |89CG:89 88 16 F4 26 G6 83 AD DS 8568:88 18 FA 6G AD 18 DG 29 B9| 8798:95 87 C9 G3 FG 14 4A BG DA |89C8:80 8D 61 84 AG 1C 20 84 2B 8570:FG 4A 4A G9 G3 8D 83 85 3B| 87AG:G6 26 B3 87 4C AA 87 26 ES |89D0:86 9G 11 C8 CB 20 84 86 5G 8578:AD @@ DD 6A 6A 6A 29 CG CC| 87A8:BA 87 AD D9 82 69 BB 8D 91 |89D8:BG BA 26 55 83 DO G6 26 AB 8580:49 CO 69 6G 6G AI GG DO FB| 87BG:D9 82 60 AD 48 8D AG G7 F4 |89RG:Cl 82 FG G9 6G 2C 67 83 2A 8588:16 AD E8 8C FG BC AG 27 BD] 87B8:DG G5 AD 47 8D AG GF 18 CG |89E8:10 G3 EE A7 80 AY BB DG 98 8590:B9 9F 8A 99 CO G7 88 19 8E| 87CG:6D DB 82 8D DB 82 8C 3B GB |89FG:1A AD 8C 8G BD 86 85 DG 74 8598:F7 60 8A 48 AD E8 8C 8D 45] 87C8:8D 68 C8 8C Dl 87 AG Gl 87 |89FS8:EB AS 86 8D BB 83 26 CE 5G 85AG:D9 85 AD E9 8C 8D DA 85 24/ 87DG:B5 GG.99 DB 82 CA 88 10 DB |8AGG:83 AY BG BD BB 83 20 48 8E 85A8:78 AD 18 D@ 4A 29 G1 G9 6D| 87D8:F7 60 28 6F 87 C9 G2 DO 2F |8AG8:83 DB D9 AD BC 8G BD 86 3d 85B0:1A 8D BD 85 A5 @1 29 FB BB| 87E@:1C AG G1 8C 61 84 88 20 SD |8A10:85 DG G3 20 92 86 20 20 BD 85B8:85 G1 AG G@ AY BG BD D7 1B| 87E8:DG 82 AD EA 8D DO 82 G8 C5 |8A18:83 26 D7 82 20 2F 83 AD 8C 85C0:85 B9 9F 8A GA 2E D7 85 D7| 87FG:20 26 83 20 D7 82 26 2F C2 |8A20:8C 8G BD 86 85 DO G3 20 3B 85C8:GA 2E D7 85 BA 8D D6 85 71/ g7F8:83 28 4C F4 82 6A 6A 96 CF |8A28:E9 84 AI 7E 8D EG 83 AD 11 85D0:2E D7 85 A2 67 BD FF FF F2| gggg:1p AG G2 26 DG 82 8D 3A EF |8A3G:86 8D 96 83 26 13 83 AC F4 85D8:9D FF FF CA 16 F7 AD D9 F4|/ gg98:84 20 97 87 AO 8G 8D 61 9A |8A38:B2 82 AE EG 83 EG 7E FO BB 85E0:85 69 68 8D DI 85 96 G3 EB! 8816:84 AD 8C 89 DO G3 4C FA 8E |8A40G:07 C8 BOY 4A 8D 8D 49 8D AD 85E8:EE DA 85 C8 C@ 28 DG CC 74] §818:85 AG #2 4C FC 85 2A 90 FB |8A48:C8 B9 4A BD 8D D1 82 CB D3 85F9:A5 G1 G9 G4 85 G1 58 68 BO! gg2g:6n 4a 4A JO E7 20°BA 87 D7 |8A50:B9 4A 8D 8D D2 82 8C B2 CB 85F8:AA 60 AG FF 8C 63 86 EE Fl/ gg28:4Cc GC 88 AC D8 82 4A 4A ED |8A58:82 EG 7E DO G8 EE Dl 82 ES 8606:93 86 AJ GD GA GA AB 20 4F | 993g:9¢ GB A2 GB 20 CA 87 28 FB |8A69:DG G3 EE D2 82 20 G6 83 CD 8608:84 86 BS GA AD 63 86 C9 FF/ gg38:al 87 4C GC 88 AE 47 8D 61 |8A68:A9 G2 8D 61 84 68 AC B2 4C 8614:06 96 EC 4C EF 87 C8 C8 9E| gg4g:20 CA 87 36 C7 20 6F 87 2D |8A70:82 26 13 83 26 EC 82 99 BC 8618:26 84 86 BG EF AD G3 86 F4/ gg4qg:Fg 8A78:4A 8D 88 AD Dl 82 99 4A 18 8620:C9 G4 FG 3A BO 48 GA AB 18) gags 8A80:8D 88 AD 49 8D 69 14 99 1B 8628:0A AA 38 AD D8 82 48 FD 26| gg5 8A88:4A 8D 88 8C B2 82 AD FE F9 8630:E0 8C 8D D8 82 AD DI 82 11 886 8A9G:FF 8D Dl 82 AD FF FF 8D 66 8638:48 FD El 8C 8D D9 82 18 DE| gg6g:ar DG 96 AD G6 BD 95 87 BC |8A9B:D2 82 24 Cl 82 FG C6 2G 5D 8640:AD D8 82 79 GB 8D 8D DB 6C| gg7g:pg BF 4A 94 97 AD D7 82 C5 |8AAG:1G G3 3D 20 26 24 2G 20 GA 8648:82 AD D9 82 79 G1 8D 8D DD| gg7g:29 DE C9 BE DG AT 20 B3 11 | 8AA8:26 24 20 26 26 20 26 20 BD 8659:D9 82 20 EF 87 68 8D D9 CO| gggg:a7 4c gc 88 AD D7 82 8D D1 |8ABG:20 20 20 G1 3D 20 20 20 BC 8658:82 68 8D D8 82 60 AD 86 69| gggg:55 88 co 78 DG O7 AY 7F 9C |8ABB:18 3D 20 20 26 19 3D 20 2F 8660:8D BB 83 4C F4 82 20 26 76) ggqg:ag og 20 74 86 C9 58 DG 1A | 8ACG:2G 26 13 12 3D 2G 26 48 64 8668:86 AD 49 8D 29 64 DG 13 34) gg9g:¢3 24 74 86 AO G1 BD F9 16 | 8AC8:55 4E 54 49 4E 47 26 46 51 8670:A9 66 AG GB 8D BD DC BC 4D) ggag:g2 DG AE AD D7 82 8D F7 B3 |8AD0:4F 52 20 24 FF 3A GD FF 6B 8678:1A D@ AD 19 DG 8D 19 DB CD! ggng:g8 AG G1 20 DG 82 30 15 4E |8AD8:28 26 26 2C 18 29 28 20 AG 868G:AD @D DC 68 38 AD D8 82 FS| ggng:18 24 13 83 6D D8 82 8D Dl |8AEG:20 29 2C 19 28 26 26 26 49 8688:F9 EG 8C AD D9 82 F9 El E5| ggng:pg 82 AD D2 82 69 GG 8D Gl |8AE8:26 26 2C 18 26 1E 66 AB OF 8696:8C 60 AD E8 8C DG 19 AD C3! ggcg:p9 82 4c DF 88 49 FF 18 68 |8AFG:Bl AE 66 G6 Bl 6C 66 G6 C9 8698:9A 8D DG 86 AI BE 8D D1 4D! ggcg:69 G1 8D DB 82 38 20 13 56 | 8AFS8:Bl AS 66 66 Bl 1B 66 AB BO 86AG:86 AD EB 8C BD D3 86 AD B8| ggpg:83 ED D8 82 8D DB 82 AD £4 | 8BGG:Bl AE 66 G6 Bl 27 66 63 23 86A8:E9 8C 8D D4 86 20 C2 86 8D| ggng:p2 82 E9 GB BD DO 82 18 22 | 8BG8:Bl AS 66 G6 Bl 54 83 AB DF 86BG:AG 27 B9 4A 8E 99 CO G7 17 8B10:B4 12 63 75 B4 72 G3 75 AB 86B8:B9 72 8E 99 C@ DB 88 10 41 8B18:B4 12 63 75 B4 15 O3 AB 71 86CG:F1l 68 AG GG 20 CF 86 EE 2F 8B20:B4 AE 03 75 B4 84 63 63 16 86C8:D1 86 EE D4 86 AB 3F BY 7A| ggrg:03 4c EC 82 AD DB 82 8D C7 | 8B28:B4 AB G3 75 B4 7B 45 AB 45 86NG:FF FF 99 FF FF 88 D@ F7 CC! g9gg:p1 82 AD D9 82 8D D2 82 62 | 8B3G:B7 AE 45 60 B7 69 45 66 CB 86D8:66 26 88 84 A2 G9 26 F7 E8| g998:66 20 EF 82 AC B2 82 AD SC | 8B38:C9 51 45 60 B7 21 45 AB AF 86EG:86 8D DD 82 20 F7 86 8D F3| g91g:49 8D AE EG 83 EG 6F BG 3E | 8B40:B7 AE 45 60 B7 2D 45 63 ED 86E8:DC 82 60 26 EF 86 60 8E FB| 9918:GE EG 6C FO G3 AD 46 8D EF | 8B48:B7 A8 45 66 B7 7E GO AB 77 86FG:F6 86 20 96 84 A2 GB 24 57| g929:99 4A 8D CE B2 82 60 DO 62 | 8B5G:BA AE GG 78 BA 6F GG 78 G4 86F8:07 87 GA GA GA GBA 8D G5 ES| gq28:Gm C8 48 28 B9 4A 8D G8 1A | gB58:CC 51 GG 78 BA 24 GG AB C3 8700:87 26 G7 87 G9 BG 68 AD E6| g939:8p 46 8D 68 4C 3B 89 CB FE | 8B6G:BA AE GG 78 BA 8A GG 63 6B 8768:2A 20° 21 87 CA 20 36 87 9B/ g938:89 4A 8D 8D 49 8D 8C B2 91 | 8B68:BA AS GO 78 BA AE 8D AE E8 8716:F9 1B AG GE D9 BE BD FG 76| g949:82 6G AD EG 83 C9 9C FG DD | 8B70:BD 93 8D 90 BD 42 AB 9F F3 8718:05 88 10 F8 36 EF BO 1E 30/ g949:99 AD 47 8D 8D B2 82 4C 95 | 8B78:AB 93 8D 90 BD G9 8D AB DD 8720:8D 9D 9F 8A 98 48 26 85 A5| go5g:EF 82 AD 49 8D 48 28 AE D2 | 8B8G:AB 93 8D 98 D8 AS 8D A2 28 8728:85 68 A8 E8 64 68 68 68 95/ g95g:—2 82 G8 BE 47 8D 68 8D 1E | 8B88:AB AB 8D AB AB 5D 57 5A A8 8736:68 68 68 4C C2 8G 78 8A F2| g9¢9:49 8D 4C EF 82 AD EG 83 14 | 8B9G:C@ 5D 57 5A CB 99 57 96 Al 8738:48 A5 C6 48 A@ GA A2 FF A4! g9¢68:c9 54 DG 1B AC B2 82 88 FE | 8898:CF 5D 57 5A CO GC 57 AB 1G 8740:CA DO FD 88 DG F8 AD FF EE| g97g:18 AD D1 82 69 G2 99 4A 2E | BBAG:CG 5D 57 5A CB 3G 57 9C 12 8748:8D G2 DC A9 BG BD G3 DC ED! g97g:8p cg AD D2 82 69 GG 99 BA | 8BA8:AB 5D 57 5A D5 39 33 AE 26 8750:26 9F FF A5 CS C9 48 DG 58) gogg:4a gp 88 88 8C B2 82 20 GA | BBBG:C3 39 33 3C C3 4E 33 3F 1F 8758:65 8D 6C 87 FG DE CD 6C 5E) g9gg:13 83 AG G1 20 DG 82 AA 1E | gBBg:D2 39 33 3C C3 18 33 AB 42 8760:87 F@ D9 8D 6C 87 68 85 5B) g99g:cg 20 DG 82 8E D1 82 8E Al | gBcd:C3 AE 33 3C C3 2A 33 63 2G 8768:C6 68 AA A9 4G 58 60 AD B6| g999:3F 84 8D D2 82 8D 3A 84 8E | gBCa:C3 AB 33 3C C3 36 81 AE BE

G-30 COMPUTE JULY 1993

8BDG:C6 8BD8:AB 8BEG:C6 8BE8:C6

36 36 AE Ag

81 81 81 81

48 48 48 48

4B OF 87 99

81 81 8i 06

63 AB 63 80

8C16:06 8C18:08 8C20:1B 8C28:02

15 @8 66 21

A6 1B Ch) 46

6 12 1c 62

G6 1B 62 76

08 2c 1c 98

1B 68 32 21

8C38:4B 8C40:04 8C48:36

54 G2

E4 61

a4 32

62 64

06 E4

61 62

8C76:06 8C78:52 8C86:9D 8C88:08 8090: 26 8C9B8: FF 8CAG: GG 8CA8:83 8CBG: 20 8CB8: 00 8CCO:71 8CC8:DA 8CDO:84 8CD8:6E 8CEG:CG 8CE8: G0 8CFG:00 8CF8:1A 8D0G:4A 8D68: 60 8D16:3B 8D18:6A 8D26:32 8D28:01 8D36:62 8D38:6C 8D40:16 8D48:FD 8D50:A5 8D58:48 8D60:26 8D68:A5 8D76:63 8D78:17 8D86:8A 8D88:6A 8D9G:8A 8D98:24 8DAG:2E 8DA8: 27 8DBG:E5 8DB8:85 8DCG:C9 8DC8:A9 8DDG:A9 8DD8:AA 8DEG:28 8DE8:E0 8DFG:DG 8DF8:90

99 08 32 A4 gc FE 93 Ci) DB 6c Ut) 87 88 8A O7 Oo 80 DG 8E o@ 68 1c 33 G2 G3 6c 1B 48 23 AS 48 28 86 8D 8D 85 69 18 85 38 FE 28 G4 63 G1 AS A8 62 14 3c

46 9D 62 FO A6 14 93 GE UT) AS 66 45 69 E9 E8 46 DA 1B 72 7 6B 14 34 G3 G2 6 26 AS 48 24 AS 48 FE 18 19 FC GA 8A 26 AS 98 A8 96 De 2c 28 Bl FO AG cg

68 G2 AG 6c 42 9A 6G 27 4B 0o 71 88 89 82 07 96 8F De 8E 86 16 12 35 @4 G2 OF 26 FC A5 48 G2 i) ag G3 63 ag 85 69 18 FB SF Bl 14 26 ag 29 26 E4 G2 96

48 9D 08 62 9A 16 cB 66 oo 59 GE 89 89 82 DB G1 bc FE 8E 86 18 15 37 06 63 GE FE AS 48 27 AS 85 85 16 16 85 AQ 85 69 FD oo A8 @5 07 AA 4a 62 G4 FD G8

68 36 AG 68 EF gc Cs) 71 OB vi) 27 A3 34 EC E8 CI) GE FA 4a 23 1B 36 38 G2 C4) 64 48 FB AS 48 G4 FD FB 63 63 22 EF 25 @D AS Bl Bl BG 96 DG 4A DG cg co 38

99 62 72 A6 12 DF 94 ao 25 98 @2 88 8A 82 DB G2 Dc EF 8D 38 26 31 39 G2 6c 66 AS 48 25 A5 48 A6 Ag 18 69 18 85 AQ 85 FC FD 24 G4 63 14 85 @4 63 8G E9

8E38:03 8E46:B9 8E48:F7 8E50:85 8E58:68 8E60:22 8E68:85 8E70:68 8E78:48 8E80:63 8E88:EA 8E96:05 8E98:G6D 8EAG: 6D 8EA8:6C 8EBG:GC 8EB8:6C

G3 85 Ag GE Bl 65 38 CA 99 28 85 68 23 85 66 BA Gl 2c Fl 65 cg Dl Dg 42

91 FD 8B 85 FD 3 E9 16 6G 68 26 85 68 FD EA FE 68 0B gc @D oc gc oc GE

18 9A FD A2 FB FC 18 AG 88 64 85 68 FB 85 EA @1 68 G2 gc @D gc 6c 6c GE

AS E6 18 19 c8 AG 65 16 16 68 27 85 68 FE 68 DS EA 37 61 OB cD DS DD Cr)

9A A4 cc 5D FB BE A3 CA ES 78 1B 2D 45 88 6A EB 39 DB co 98 3B FB AE 1B

Ed Balchick is an electrical engineer from Pittsburgh, Pennsylvania, who en- joys programming in machine lan- guage and in C. Ted Green is an un- employed painter from Cleveland, Ohio, who also enjoys programming. They both enjoy modifying other peo- ple's games so they (Ed and Ted) can win them.

RASCALS

By Bob Broderick

Just before dozing off during another bor- ing haul of galactic space animals in your freighter, you notice a red light on the control panel. Uh-oh! That warning light means there's been a power failure in the cargo hold, and all of the animals have escaped from their electric holding cells. They are a wild and dangerous bunch, but you've got to get them cor- ralled. Without a moment's hesitation, you suit up and set out to recapture those in- tergalactic rascals!

Rascals combines arcade action with strategy in a fast-paced game for the 64 that is written entirely in machine lan- guage. To enter it, you'll have to use MLX, our machine language entry pro- gram. See “Typing Aids” elsewhere in this section. When MLX prompts for start- ing and ending addresses, respond with the following.

Starting address: 0801 Ending address: 10B8

Be sure to save a copy of the program before you exit MLX. Although Rascals is written in machine language, it loads and runs like a BASIC program.

Playing the Game

As the brave freighter captain, you con- trol the figure in the lower right-hand cor- ner of the screen. Use keys |, J, L, and K to move it up, left, right, and down, respectively. The object is to trap all the moving creatures on the screen. To do this, you must push crates that are scattered around the screen to form a corral, surrounding a rascal. The rascal mustn't be able to move in any direc- tion, including diagonally, or it will es- cape. You can move as many crates at one time as you like.

Warning! This is a serious game. You have one life and can lose it by coming in contact with a rascal. If all the rascals have been boxed in, you've won the game. After each game, type Y to play again or N to end.

A Few Questions

However, before you can begin play, you must answer the questions on the opening screen. The first question will ask you how many rascals you want loose in the hold. Enter a number from 1 to 7. Remember, the fewer rascals there are, the faster they'll go!

The next question regards the num- ber of crates available to you. A high- er number will give you more boxes, making the game easier. A setting of 1 will give you the least amount of crates.

The third question regulates the speed at which the rascals move. A set- ting of 1 is the fastest, while 9 is the slowest. Finally, you will need to con- firm your answers to begin play.

A timer at the top of the screen counts the number of moves the ras- cals have made, so you can compete against your best efforts. Enjoy—and get those rascals!

RASCALS

@861:3C G809:36 @811:98 @819:D6 @821:AD 9829:38 9831:8E G839:GA

G8 34 BD F7 17 A2 68 68

GA oo 49 EE 68 31 98 4c

6G Ul) 68 14 co AG 8c oo

9E Ul) 9D 68 29 39 69 29

JULY 1993 COMPUTE

36 A2 E8 68 AQ G8 8E i)

64 E3 FD EG 73 44 1p DA

G-31

PROGRAMS

6841:00 G0 G8 G6 GG GO GG GF CG| GA71:FE A9 26 AG 28 91 FE AS AS|GCAl1:Bl FE 36 28 AQ 87 91 FE 68 9849:A9 97 8D 86 62 8D 21 DG 63| GA79:FE 8D BS 21 AS FF 8D B9 9B|GCA9:A9 26 88 91 FE AS FE 8D E2 9851:A9 93 26 D2 FF AO OG 8D 8G| GA81:21 18 69 D4 85 FF AG GG 14|GCB1:B8 21 AS FF 8D B9 21 EE A7 9859:21 D@ 66 OG FF AS 9G 8D 6E| BA89:A9 G4 91 FE 4C CB 21 C9 33] GCB9:B8 21 DG 63 EE BO 21 18 79 @861:21 D@ AI BE 8D 26 DO 78 53] GA91:89 DB G3 4C CB 21 C9 88 C2] 9CC1:69 D4 85 FF CB AQ G4 91 FA 6869:A5 G61 29 FB 85 G1 A2 G6 E6| GA99:FG G6 4C 72 23 4C CB 21 5B] GCC9:FE 4C CB 21 4C 32 22 26 8F 6871:BD 66 D8 9D 68 38 BD GG B1| GAA1:AD BA 23 16 93 4C C9 22 9F|GCD1:61 25 26 DF 24 20 2A 25 G1 879:D9 9D 6G 39 BD G9 DA 9D B2| GAA9:A2 G1 AS FE 18 6D BA 23 @3|9CD9:20 8D 24 A2 66 BD 41 27 B4 9881:00 3A BD @@ DB 9D @@ 3B 68| GAB1:85 FE AS FF 69 GG 85 FF 53|@CE1:FG G7 9D GG G4 E8 4C 80 C4 6889:BD El 27 9D @@ 3C BD GG 1C| GAB9:AG GG Bl FE C9 26 FG GC Gl | 9CE9:24 60 AC D7 25 A2 8G BE 82 @891:DD 9D @@ 3D BD @9 DE 9D 15| GAC1:C9 89 FG CB C9 88 DG DS DF | GCF1:ED 94 8E ED D8 88 FG 39 BE 6899:G6 3E CA DG D3 AS Gl G9 DF| GAC9:E8 4C 4D 22 AS FE 85 39 | BCF9:E8 8E GD 65 8E GD D9 88 G1 O8A1:04 85 G1 58 A2 GG BD AA F5| GAD1:A5 FF 18 69 D4 85 3A AQ 2D|GDG1:FG 2F E8 8E 2A G5 BE 2A 12 G8A9:21 9D 54 28 E8 D@ F7 26 59| GAD9:GF AG GG 91 39 AS FE 38 4D] GDG9:D9 88 FO 25 EB BE 6B G5 FF @8Bl:72 24 26 5E 20 20 CB 21 28] SAE1:ED BA 23 85 FE AS FF E9 DG@|@D11:8E 6B D9 88 FO 1B 58 8E 65 @8B9:4C 52 26 78 AO Gl 8D 1A 96] BAE9:50 85 FF AG GG Bl FE AC DA|@D19:D3 G5 8E D3 D9 88 FG ll 51 @8C1:D9 8D 12 DG AI 7F 8D GD 6G| GAF1:BA 23 91 FE CA DG E6 AQ SF |GD21:E8 8E 1l 66 8E 11 DA 88 CC 98C9:DC AJ 1B 8D 11 DG AY 83 91| GAF9:26 AG GB 91 FE AD BS 21 AG|GD29:FG G7 ES 8E Al G6 BE Al 67 G8D1:A2 20 8D 14 93 8E 15 G3 AD} OBG1:18 6D BA 23 8D B8 21 AD 47 |@D31:DA A2 87 8E BE 67 AO 14 B4 @8D9:AD D9 25 8D AY 21 58 66 97| GBG9:B9 21 69 G@ 8D BO 21 AS AC | GD39:8D BE DB 60 AQ FF 8D GF C2 @8E1:EE 19 D@ CE AY 21 DO G9 33| GB11:FF 18 69 D4 85 FF AQ G4 2B |GD41:D4 AO GF 8D 86 G2 8D 21 63 @8E9:AD D9 25 8D AQ 21 20 9A 71] GB19:AC BA 23 91 FE 4C CB 21 93 | @D49:DG AQ 93 26 D2 FF AQ GC AG G8F1:20 AD GD DC 4C 31 EA AE 98] @B21:4C 32 22 4c CB 21 38 E9 3@|@D51:8D 21 DG AD 81 BD 12 D4 6A @8F9:9E 21 BD AA 21 38 E9 29 EA| OB29:86 8D BA 23 A2 G2 A5 FE D3 |GD59:A9 GG A2 G4 85 FC 86 FD G8 6961:85 FC BD AB 21 E9 @@ 85 BD/ @B31:38 ED BA 23 85 FE AS FF DB |@D61:A2 69 AD 1B D4 CD D8 25 2B G969:FD AG GG A2 GG 20 GF 21 EC| GB39:E9 GG 85 FF AG GG Bl FE SC | 9D69:96 13 E6 FC D@ G2 E6 FD 97 G911:A@ 28 26 6F 21 AG 5G 20 C4| GB41:C9 26 FG GC C9 89 FO DB 52 |GD71:A5 FC C9 E7 DG EA AS FD DG 6919:6F 21 EG @6 D@ G6 EE 6A 2E| GB49:C9 88 DG D7 EB 4C D1 22 3c |GD79:C9 G7 DG E4 69 AD 88 AG FD @921:21 4C 15 21 8E 6C 21 AD Al| GB51:A5 FE 85 39 AS FF 18 69 G5 |9D81:G9 91 FC 4C GD 25 6G A2 B4 9929:1B D4 CD 6C 21 FS AA E6/ GB59:D4 85 3A AO GF 91 39 AC FA |GD89:28 AQ 89 9D OF G4 9D BF 35 6931:BD A@ 21 AA AG 29 Bl FC 23} 6B61:BA 23 Bl FE AG GG 91 FE EA |@D91:G7 CA DG F7 A2 27 AG G4 72 9939:48 AJ 20 91 FC 8A A8 Bl GC| GB69:CA FG 11 AS FE 18 6D BA 8B |@D99:86 FC 84 FD A2 17 AQ 89 F4 9941:FC 8D 6B 21 68 91 FC 48 84] @B71:23 85 FE AS FF 69 GG 85 DF |@DAl1:8D BF 07 AG GG 91 FC C8 66 6949:AE 9E 21 8C 6C 21 AS FC 77| OB79:FF 4C G2 23 AY 26 AC BA F6 |GDA9:91 FC CA FG 16 AS FC 18 5D G951:18 6D 6C 21 9D AA 21 A5 E9| 6B81:23 91 FE AD B8 21 38 ED FG |@DB1:69 28 85 FC A5 FD 69 GG G3 9959:FD 69 08 9D AB 21 AS FD C9| 9B89:BA 23 8D BS 21 AD B9 21 57 |GDB9:85 FD 4C 41 25 60 AY 93 45 6961:18°69 D4 85 FD 68 91 FC 7E/ GB91:E9 G6 8D B9 21 AS FF 18 Al |@DC1:20 EB 1F AQ 1E 8D 18 DO 8D 9969:AD 6B 21 C9 87 DG G3 EE 62] 6B99:69 D4 85 FF AQ G4 AG GG EB | GDC9:A2 GG BD DA 25 9D GO G4 3E 6971:BA 21 EE 9E 21 EE 9E 21 14] 6BA1:91 FE 4C CB 21 20 5E 23 EF |@DD1:BD 41 26 9D 67 64 E8 D@ A7 6979:EE 6E 21 AD 6E 21 CD D7 G9] OBA9:A2 @8 BD 4B 28 9D D@ G4 DC | GDD9:F1 AY 38 8D D3 25 26 C3 GE 9981:25 F@ G1 6% AD 6A 21 CD AF| 6BB1:A9 61 9D DA D8 CA DG F2 C4 |GDE1:25 8D B7 64 38 ED 30 8D 86 6989:D7 25 D@ 03 EE 6D 21 A9 34] OBB9:4C 75 23 A2 66 BD 31 28 63 | GDE9:D7 25 AQ B6 8D DF G4 AQ 77 6991:00 8D 9E 21 8D 6E 21 8D £2] GBC1:FG BC 9D DB G4 AD Gl 9D 7A | GDF1:3A 8D D3 25 26 C3 25 8D 41 6999:6A 21 8D 9F 21 A2 36 EE B7| OBC9:DG D8 EB 4C 68 23 60 20 DG | GDF9:DF G4 38 E9 GB 8D DB 25 16 G9A1:97 64 AD 97 G4 C9 3A DG 3C| GBD1:5E 23 78 AO 31 A2 EA 8D Gl | GEG1:A9 BS 8D 67 G5 2G C3 25 D6 G9A9:1D 8E 97 G4 EE 96 64 AD A8| GBD9:14 G3 8E 15 G3 AD 78 8D 1B | GEG9:8D G7 G5 18 EO 2F 8D D9 DB G9B1:96 64 C9 3A DG 10 8E 96 67| GBE1:19 D@ AO FG 8D 1A DG AO 1D | GE11:25 AO AG 8D 2F G5 20 E4 C9 69B9:04 EE 95 @4 AD 95 G4 C9 12| GBE9:FF 8D GD DC A2 GO BD 54 B7 |GE19:FF FO FB C9 4E FO 9F 60 63 G9C1:3A D@ G3 BE 95 G4 69 GO EB| GBF1:28 9D AA 21 CA DG F7 58 CC |GE21:20 E4 FF CA D@ FA 20 E4 CA G9C9:08 G8 GG GG 2G 9G 21 BO 12| GBF9:A2 GG 26 E4 FF CA D@ FA 7B | GE29:FF FO FB C9 31 90 F7 C9 23 G9D1:03 20 8A 21 C8 20 94 21 D9| GCO1:20 E4 FF FG FB C9 4E FG G6 | GE31:38 BO F3 68 GG G2 BG 88 AA G909:B@ G3 26 8A 21 CB 26 96 AE| 8CG9:6B C9 59 DG F3 EA AQ GG EF | GE39:88 88 88 88 88 88 88 88 55 69E1:21 BO G3 26 8A 21 66 98 45] C11:8D 21 D@ 68 4c E2 FC GG 4G | GE41:88 88 88 88 88 88 88 88 5D 99E9:9D AG 21 E8 6G Bl FC C9 33] GC19:4C 32 22 AD BS 21 85 FE 57 | GE49:88 88 88 88 88 88 88 88 65 G9F1:87 FO 64 C9 2G DG G2 18 81] GC21:AD B9 21 85 FF AG 28 8C 5A | GE51:88 88 88 88 88 88 88 88 6D G9F9:68 38 60 GG BG GB GO GB 56| GC29:BA 23 Bl FE 30 EA AQ 87 95 | GE59:88 88 88 88 88 88 88 88 75 GAG1:06 G6 G8 G6 BG GB BG ED G3 GE61:20 80 26 26 20 26 20 52 C7 GAG9:64 OD 65 2A G5 6B G5 D3 59 GE69:28 20 26 41 26 20 20 53 CA GA11:65 11 86 Al G6 BE 67 O60 FF GE71:26 26 26 43 26 20 20 41 EO GA19:A9 OG 8D BA 21 4C 72 23 Al GE79:26 26 26 4C 28 26 20 53 8B GA21:A9 GG 8D 6D 21 4C 48 23 86 GE81:20 26 26 20 8G 26 88 88 D9 GA29:AD BA 21 D@ EB AD 6D 21 G6| 6C59:B8 21 38 E9 G1 85 FE AD 85 | GE89:28 26 29 26 26 20 20 26 AS GA31:D@ EE 26 E4 FF F@ Fl C9 2D/ GC61:B9 21 E9 GB 85 FF AG GG 49 | GE91:20 26 26 42 19 26 42 GF CA GA39:49 D@ G3 4C F6 21 C9 4A 65] BC69:A9 81 8D BA 23 Bl FE 36 22 | GE99:02 26 42 12 GF G4 B65 12 CC 93 4C FA 23 C9 4B D@ SF | GC71:5B AY 87 91 FE AO 26 C8 53 | GEA1:69 G3 GB 20 26 20 20 26 48 4C BE 23 C9 4C DG D8 F5| 6C79:91 FE AS FE 8D B8 21 AS FS | VEA9:26 26 26 20 20 26 88 88 FE 34 24 AD B8 21 38 E9 9C/ GC81:FF 8D B9 21 18 69 D4 85 pB | GEB1:88 88 88 88 88 88 88 88 CD GA59:28 85 FE AD B9 21 E9 66 C3| GC89:FF 88 AO G4 91 FE 4C CB 26 | JEB9:88 88 88 88 88 88 88 88 D5 6A61:85 FF A9 A8 8D BA 23 AG 36 | GC91:21 AD BB 21 85 FE AD B9 Gc | GEC1:88 88 88 88 88 88 88 88 DD GA69:60 Bl FE 36 22 AQ 87 91 25|6C99:21 85 FF AG G1 8C BA 23 8g | SEC9:88 88 88 88 88 88 88 88 ES

G-32. COMPUTE JULY 1993

GED1:88 GED9: 20 @EE1:23 GEE9: G3 GEF1:26 GEF9: 20 GFO1:20 GFO9:12 OF11:13 GF19:20 OF21:26 GF29:26 GF31:61 OF39:16 OF41:2¢0 GF49:26 OF51:26 GF59:62 GF61:12 GF69:20 GF71:26 GF79:4B OF81:55 GF89:69 @F91:2D GF99:4C GFA1:89 OFA9:89 OFB1:89 GFB9:89 GFC1:89 @FC9:76 GFD1:46 GFD9:20 GOFE1:46 GFE9:4G GFF1:6B GFF9:6E 1601:26 1009:42 1611:65 1619:7D 1621:7D 1629: 48 1631:65 1639:26 1641:5A 1049:7E 1651:5A 1659:76 1061:24 1669:4E 1071:3E 1679:3C 1681:7D 1689:7D 1691:D5 1699:D0 16A1:C9 16A9:D9 16BL:Al

88 26 20 Ol 28 26 20 Ol 69 28 26 26 13 @5 28 26 26 OF 5 28 26 @5 10 07 44 2D 89 89 89 89 89 46 72 76 40 40 72 5D 6D OF 12 6D 6D 46 3A 26 66 5A TE DS 3c 18 TE 18 3c 7D 7D AG cc CE CF OG

88 26 52 20 29 20 26 44 20 29 26 26 13 26 29 20 26 43 26 29 26 26 4A 26 26 14 89 89 89 89 89 6E 46 46 46 89 73 46 G2 12 89 6D 26 54 38 Cr) 18 7E 18 18 gc 24 46 66 ao C1) c4 cl AP CF oo

88 26 61 B7 26 26 20 @5 36 26 26 26 26 35 26 26 26 OF 26 26 26 49 2D 20 26 89 89 89 89 89 89 76 6E 46 40 89 6D 73 U9) OF 89 4g 6D 69 20 18 18 66 18 18 GE 3E 3c 1lF 1F bg AE C7 CE CE oo

26 26 13 20 26 20 43 GE 20 20 26 52 53 26 26 26 41 12 26 26 26 2D 52 4B 26 89 89 89 89 89 20 46 6E 46 46 26 46 5D 26 64 26 4g 71 @D 26 3c 3c 7E 3c 3c 4A 3A 24 23 23 CF AG cl Cr) Al oo

85 FS 39 84 DE 16 42 6D 16 19 3E 79 45 86 41 67 98 8D 46 37 8F E4 2B 3D EB 26 BE c7 CF D7 76 El 6B F3 FF oF B3 4D D6 cc 3B AA 33 CA ac E4 c4 6D al 3E BD 18 56 G4 9c 39 88 87 aC A2

Bob Broderick is a student at California High School and has been program- ming for about five years. He wrote Ras- cals because he wanted a small ar- cade-style game that he could play with relative ease and few rules. He lives in San Ramon, California.

SCUD

By William F. Snow

There has been a lot of discussion over the past few years about how little peo- ple know about world geography. For ex- ample, do you know the names of all of the countries in the Americas? Can you at least venture a guess as to how many there are in North, Central, and South America? Give up? There are 35! Despite its military-sounding name, Scud will help you learn the names and capitals of these 35 countries.

Entering the Program

Scud is an entertaining and fun way to learn something about the countries of the Americas. It's written entirely in BA- SIC. To help avoid typing errors, enter it with The Automatic Proofreader. See “Typing Aids” elsewhere in this sec- tion. Be sure to save a copy of the pro- gram before you try to run it.

Playing Scud isn't difficult. Plug a joystick into port 2 and then load and run Scud. The opening screen will give brief instructions for playing the game. After a short pause, you will be presented with the name of a country and asked to choose the capital from a list of three. If you choose incorrect- ly, you are given the correct answer in a special bulletin.

Defend the City

If you choose correctly, the city will be displayed, sirens will wail, and missiles will be launched at the city. It will then be your responsibility to use your Scud missiles to try to shoot down any enemy rockets before they reach the city. Use the joystick to aim your Scud. A total of three missiles will be launched from different positions dur- ing each attack. If you shoot down all three, you will have saved the city.

Modifications

Scud was written to help teach the names and capitals of the countries of the Americas. Since Scud is written en- tirely in BASIC, it should be very easy to modify the game so that the capitals of any other group of countries or states could be taught. The names of the countries, followed by their capi- tals, are in data statements in lines 1200-1300.

In order to modify the game, change this data to whatever group you wish to work with. Then, the follow- ing code should be changed to reflect the number of countries or states you have entered into the data statements: the dimension statements in line 40; the FOR in line 80; the number of coun- tries in lines 150, 160, 170 (the scram- ble routine); and the end-of-game rou- tine in line 200.

Scud is fun to play and will quickly teach the names and capitals of the couniries of the Americas to anyone who wants to learn them.

SCUD

BH 1@ REM COPYRIGHT 1993 - COM PUTE PUBLICATIONS - ALL {SPACE}RIGHTS RESERVED

QD 26 REM BY WM. F. SNOW GG 30 GOSsUB1d20 XJ 46 CLR:DIM Q$(35) ,A$(35) ,CO $(35) ,CA$ (35) (35) :V=53 248:SN=54272:POKESN+24,1 5 GS 50 POKE53280,7:POKE53281,7: POKEV+31,9 QD 68 POKESN+4,0:PRINT" {CLR} {8 DOWN} "SPC(14)"{BLU}PL EASE WAIT":PRINT" {3 DOWN}{3 SPACES}OUR SP IES ARE"; CD 7@ PRINT" CHECKING ON THE E NEMY" DE 80 FOR QA=1T035:READQ$ (QA), A$ (QA) :NEXT BE 96 FOR S=12288 TO 12351:REA DSP: POKES, SP:NEXT AB 10@ FORS=12352TO 12415:READ SP: POKES, SP:NEXT QD 114 FORS=12416 TO 12479:REA D SP:POKES,SP:NEXT BM 126 FORS=12480T012543:READS P:POKES,SP:NEXT AK 136 FORS=12544 TO 12607:REA D SP:POKES,SP:NEXT JE 148 FORS=12608 TO 12671:REA DSP: POKES, SP:NEXT FM 159 FOR I=l TO 35 KC 168 X=INT(RND(.)*35)+1 FC 176 FOR CK=1 TO35:IF X=¥(CK ) THEN168 SM 18@ NEXTCK:Y (I) =X BD 198 CO$(X)=Q$(I) :CA$(X) =AS ( I) :NEXTI GS 266 SC=G:FORI=1T04:POKEV+tI, @:NEXT: POKEV+21,@: P=P+1 :IF P>35THENP=35:GOTO11 4g AS 216 POKE53280,13:POKE53281, 1 MD 220 JR=INT(RND(.)*10)+2 RC 230 PRINT"{CLR}{16 DOWN}

{4 SPACES}SCUDS HAVE BE JULY 1993 COMPUTE G-33

PROGRAMS

PB SF BK GJ RF MP

JD

HD

MX

SB Gc

HG

XP

SG FG

KG

CR

HX

AB

HC

G-34

249 256 266 276 280 296

3698

316

320

338 346

356

360

376 380

396

400

419 426

430

)446

450

466

476 486

EN LAUNCHED AT THE PRINTSPC(9) "CAPITAL OF {SPACE} {BLK}"COS (P) PRINT: PRINTSPC(12)" {BLU}SHOULD YOU GO TO" Q=INT (RND(.)*10)+1:IF Q =P THEN260 R=INT(RND(.)*10)+1:1E R =P OR R=Q THEN276 POKE2640,192: POKEV+29,1 : POKEV+46,1

S=INT (RND(.)*3)+1:0N S {SPACE}GOT0306,340, 380 PRINT: PRINTSPC (9) "{BLK} A) {BLU}"CAS$(P) : PRINT: PR INTSPC (9) "{BLK}B) {BLU}" CA$ (Q)

PRINT: PRINTSPC (9) "{BLK} C) {BLU} "CAS (R) : PRINTSPC (9)"{3 DOWN} {CYN}HIT Q {SPACE}TO END GAME" GOSUB68G:IF BS="A"THEN4 20

GOSUB820:GOTO200

PRINT: PRINTSPC (9) "{BLK} A) {BLU} "CAS (Q) PRINT: PR INTSPC(9)"{BLK}B) {BLU}" CAS (P)

PRINT: PRINTSPC (9) "{BLK} C) {BLU} "CA$ (R) : PRINTSPC (9)"{3 DOWN} {CYN}HIT Q {SPACE}TO END GAME" GOSUB68G:IF BS="B"THEN4 20

GOSUB820:GOT020

PRINT: PRINTSPC (9) "{BLK} A) {BLU}"CA$(R) :PRINT:PR INTSPC (9) "{BLK}B) {BLU}" CAS (Q)

PRINT: PRINTSPC (9) "{BLK} C) {BLU} "CAS (P) : PRINTSPC (9)"{3 DOWN} {CYN}HIT Q {SPACE}TO END GAME" GOSUB680:IF BS="C"THEN4 20

GOSUB824:GOTO200

PRINT" {CLR}": POKE53280, 13: POKE53281,13

PRINT" {HOME} {18 DOWN}"S PC (8) "{BLK}B":PRINTSPC ( 7)"{PUR}NP(2 SPACES} {RVS} {OFF}"

PRINT" {3 SPACES} {BLK} {H}{A}IOP* OP": PRINT" {4 SPACES) (PUR}OP{T} {RVS} {OFF} {N}BP{@}NP" PRINT"{3 SPACES} {BLK}O {SPACE}{N} {RVS} {OFF} {N}B{PUR}M M{N}":GOSUB1 126 POKEV+21,3:XA=75: YA=206 : POKE2041,194:POKEV+39, 11: POKEV+46,6 SC=SC+1:IFSC>3 THEN GOS UB976:GOTO209 PS=INT(RND(.)*3)+1:0N P S GOTO490,720,778

COMPUTE JULY 1993

490 500 516 526 536 548 556 566 576 586 596 606

616 620 636

646

650 666 676 680 690 708 716 726 736

740

756

768 776

780

799

800

81d 829

POKE2046,192: POKEV+39,1 1:X=60:XX=255:FORA=1T02 5:XX=XX-3: POKEV, XX POKEV+1,X:GOSUB576 POKEV+2,XA: POKEV+3,YA:N EXT

POKEV+30,9 POKE2046,193:FORA=1T056 :XX=XX-3:X=X+3: POKEV, XX : POKEV+1,X:GOSUB576 IFFB=@ANDPEEK (V+3G) AND2 =2THEN GOSUB630:GOT0470 POKEV+2,XA: POKEV+3,YA:I F (PEEK (V+31) AND1L) =1THEN 916

NEXT: GOTO206

JY=PEEK (56326) AND15:FB= PEEK (56320) AND16:REM RE AD STICK AND BUTTON IFJY=7THENXA=XA+JR: IF X A>25S5THEN XA=255 IFJY=1LLTHENXA=XA-JR: IFX A<1 THEN XA=1 IFJY=1L3THENYA=YA+JR:1F {SPACE}¥A>25@ THEN YA=2 58 IFJY=14THENYA=YA-JR:IF {SPACE}YA<1 THEN YA=1 RETURN

POKE2046,195: POKEV+39,2 :GOSUB110@: POKEV+23,1:P OKEV+29,1

FOREC=1T08: POKEV+39,EC: FORDE=1T076:NEXT:NEXT:P OKEV, 0: POKEV+1,6 POKEV+31,@:POKEV+23,0:R ETURN

GET BS:IF BS="" THEN66G RETURN

GET BS: IFBS=""THEN680 IF BS$="A"ORBS="C"ORBS=" B"THENRETURN

IF BS="Q"THEN1140 GOTO68¢ POKE2046,196:POKEV+39,1 1: POKEV, 60: FORVS=6T0209 STEP5:GOSUB57@ POKEV+1,VS: POKEV+38,0:P OKEV+2,XA POKEV+3, YA: IFFB=SANDPEE K (V+36) AND2=2THENGOSUB6 38:GOT0476

IF (PEEK(V+31)AND1)=1 T HEN916

NEXT: GOTO266 POKE2640,197: POKEV+39,1 1:POKEV, 255: POKEV+1, 220 FORX=255TOGSTEP-3:GOSUB 570: POKEV, X: POKEV+30,0 POKEV+2,XA: POKEV+3,YA:I FFB=G@ANDPEEK (V+3@) AND2= 2THENGOSUB639:GOT0476 IF (PEEK(V+31)AND1)=1 T HEN916

NEXT :GOTO208 PRINT"{CLR}{4 DOWN}

{6 RIGHT} {RED}OM {H}

DB

KR

FB

MA

cQ RP

BA

xs

MP

AM

HR

836

846

85Q

860

870

889

896

986

916

926

9368

946

956

960

976 986

996

{N}{2 SPACES} {H}

{2 SPACES}{H}{2 SPACES}

OLY} {Y¥}P{2 Y} B {NPM

[2 SPACES} {H}"

PRINT"{6 RIGHT}LN {H}

{N}{2 SPACES} {H}

{2 SPACES}{H}{2 SPACES}

L{P}{2 SPACES}{N}

{3 SPACES}B {N} M {H}" PRINT"{6 RIGHT}{H}M {H} {N}{2 SPACES}{H}

{2 SPACES}{H}{2 SPACES} {H}{3 SPACES}{N}

{3 SPACES}B {N}

{2 SPACES}M{H}" PRINT"{6 RIGHT}LN M{P}N {2 SPACES}L{P} LtP} L {P}{2 SPACES} {N}

{3 SPACES}B {N}

{3 SPACES}{H}"

PRINT "{3 DOWN} {BLK}"SP C(4)CAS$(P) :PRINT" {BLU} {SPACE}THE CAPITAL OF {BLK}":PRINTSPC (4) COS (P

) PRINT"{BLU}{2 SPACES}HA S BEEN DESTROYED "; PRINT"BY SCUD MISSLES. {3 SPACES}THE PERSON WH O COULD HAVE SAVED THE {SPACE}CITYDID"; PRINT" NOT HAVE ENOUGH {SPACE}INFORMATION TO G ET{2 SPACES}TO THE RIGH T CITY IN TIME." PRINT"{3 DOWN}{8 RIGHT} {6}HIT ANY KEY TO CONTI NUE{BLU}":GOSUB669:RETU RN POKEV+21,6: PRINT" {HOME} {26 DOWN}"SPC(4)"{RED}M {F}{5 SPACES}N N":GOSU B11l00 PRINTSPC(4)"N M {4 SPACES}N NNM N" PRINTSPC(3)"TM M{Q}IBBN {+}P{2 £}Q":POKESN+4,@ FORDE=1 T0500:NEXT:FORC L=1704T01903:POKECL, 32: NEXT PRINTSPC (3) "{UP} {BLK} {D}{O} {K}{L}{2 IPRER} LEf}@L+}47}":FORDE=1T O1G00:NEXT POKEV, 0: POKEV+1,0: POKEV +31,9:GOT0206 POKEV+21,0 PRINT"{CLR}{5 DOWN} {4 RIGHT} {BLK}THANK YOU 1!":PRINT: PRINT" {BLU} YO UR KNOWLEDGE AND MARKSM ANSHIP"; PRINT" HAVE{4 SPACES}SA VED{BLK}": PRINT: PRINTCA $(P):PRINT: PRINT" {BLU}T HE CAPITAL OF{BLK}"

1969 PRINT:PRINT COS(P):PRI

DB

JA

PG

QA

JD

KM

KG

RP

DF

KG

CE PD

car

QD

SG

AA

1619

1626

1636

1946

1656

1669

1679

1686

1696

1169

1119 1126

1136

11496

1156

1166

1179 1180 1196 12396

NT" {BLU}"

PRINT"(5 DOWN} {WHT}HIT ANY KEY TO CONTINUE {BLU}":GOSUB666:SS=SS+ 1:RETURN

POKE53280,16: POKE53281 710

PRINT" {CLR}{3 DOWN} {BLK}"SPC(12)"N{2 T} {2 SPACES}N{2 T}

{2 SPACES}{G} {M}

{2 SPACES}OM": PRINTSPC (12) "M¢@>{3 SPACES} {G} {4 SPACES}{G} {M+

{2 SPACES}{G}{M}" PRINTSPC(14)"M

{2 SPACES}{G}

{4 SPACES}{G} {M>

{2 SPACES}{G}{M}":PRIN

TSPC(12)"{2 @}N

{2 SPACES}M{2 @}

{2 SPACES}M{@}N

{2 SPACES}LN"

PRINT"{3 DOWN} {BLU}

{3 SPACES}THE ENEMY IS LAUNCHING SCUD MISSIL ES AT NATIONAL CAPITAL Ss";

PRINT" IN THE AMERICAS -{3 SPACES}YOUR JOB IS TO GET TO THE CAPITAL UNDER ATTACK"; PRINT" AND DESTROY MISSILES. USE A {2 SPACES} JOYSTICK {SPACE}PORT TWO,"; PRINT" BUT BE CAREFUL, {3 SPACES}EQUIPMENT IN DIFFERENT CITIES DOES NOT ";

PRINT" ALWAYS RESPOND {SPACE}WITH THE SAME S PEED.":GOSUB9@@: RETURN POKESN+4,129:POKESN+5, 92:POKESN+1,1:POKESN,1 00: FORF=1T0999:NEXT: PO KESN+4,@

RETURN POKESN+14,5:POKESN+13, 16: POKESN+3,1:POKESN+6 7240: POKESN+4,65 POKESN, 240: POKESN+1, 26 : POKEV+30,@: RETURN PRINT" {CLR}{5 DOWN}

{7 RIGHT}YOU SAVED "SS " OUT OF THE "P PRINT:PRINT"{8 RIGHT}C ITIES THAT WERE ATTACK ED"

PRINT"{5 DOWN}

{5 RIGHT}WOULD YOU LIK E TO TRY AGAIN (¥/N)": GOSUB66G

IF BS="N"THEN END IFBS="Y"THEN RUN 49 GOTO114¢

DATAANTIGUA & BARBUDA,

THE

IN

EK

PB

FS

xc

KG

HJ

BP

KE

FS

FE

GG

EB

SG

CJ

FR

PX

1216

1226

1236

Tae 1256 1266 1276 1286 1299

1366

1316 1329 1336 134 1356 1366

1376

ST. JOHNS,BAHAMAS,NASS AU,BELIZE,BELMOPAN DATACANADA, OTTAWA, COST A RICA,SAN JOSE,CUBA,H AVANA , DOMINICA, ROSEAU DATADOMINICAN REPUBLIC ,SANTO DOMINGO,EL SALV ADOR,SAN SALVADOR,GREN ADA DATAST. GEORGE'S,GUATE MALA, GUATEMALA, HAITI, P ORT-AU-PRINCE , HONDURAS DATATEGUCIGALPA, JAMAIC A, KINGSTON , MEXICO ,MEXI CO CITY,NICARAGUA,MANA GUA DATAPANAMA, PANAMA CITY ,SAINT LUCIA,CASTRIES, SAINT VINCENT & THE GR ENADINES DATAKINGSTOWN, TRINIDAD & TOBAGO,PORT OF SPAI N,UNITED STATES, WASHIN GTON D.C. DATAARGENTINA,BUENOS A IRES,BOLIVIA,LA PAZ,BR AZIL,BRASILIA,CHILE,SA NTIAGO DATACOLOMBIA, BOGOTA, EC UADOR , QUITO, GUYANA, GEO RGETOWN, PARAGUAY, ASUNC ION DATAPERU, LIMA, SURINAME , PARAMARIBO , URUGUAY , MO NTIVIDEO, VENEZUELA,CAR ACAS DATABARBADOS , BRIDGETOW N,ST. KITTS & NEVIS,BA SSETERRE DATAGGG, 000,000 ,000,00 @,800,009,000,000,000, 666,080,000,000,000,00 6,000 DATAGS1,009,000,003,09 G,060,067,000,624,015, 960,194,127,906,143,25 5,060 DATA143,255,000,104,12 7,900,024,015,000,090, 807,080,000,003,000,00 8,001 DATAGGG,G00,000,000,08 6,000,900,000,000,090, 888,650,000,000,000,00 6,008 DATAGGG , 600,000 ,000,00 0, 000,900,000,000,000, G86 ,090,000,000,004,00 8,000 DATAGG6, G00, 000,007,900 G,060,907,128,000,007, 192,986,007,224,000,00 7,246 DATAGGG, 007,248, 000,00 7,252,966,615,254,006, 628,099,668,120,660,99 0,144

RF 1389 DATAGGG, 006,144, 000,00 6,224,000,000,000,000, 665 ,000,006,000,000,00 6,000 DATAGGG,GG0,005,000,00 6,000,000,900,500,600, 800 ,008,000,006, 008,00 6,960 DATAGG8, G00, 009,008,00 8,090,255,128,600,908, 040,006,008,000,906,08 8,000 DATAGOG, G08, 000,000,008 8,000,006,060,900,000, 040 ,000,000,000,000,05 8,090 DATAGGG,GG5,660,005,00 G,600,432,008,008,032, 632,004, 032,090,000,63 2,000 DATAGG1,602,008,008,13 2,000,900,072,000,128, 648,000,064,126,902,09 2,252 DATA248,128,120,002,0 6,048,060,080,672,000, 600,132,006,001, 402,00 6,000 DATAG16,G00,000,016,00 6,068,016,032,616,016, @32,096,008,060,909,00 6,000 DATAGGG,GG3,255,128,00 1,215,000,800,214,006, 606,124,600,000,056,00 8,000 DATAG40,600,000,040,00 6,090,040,000,000,046, 690 ,000,040,008,000,04 6,008 DATAGGG,049,008,000,04 6,000,060,040,000,000, 656 ,006,000,016,006,00 9,016 DATAGGG,GG0,016,806,00 6,009, 060,606,000,008, 69G,000,006,000,006,08 6,008

DATAGGG, 690,000, 008,00 6, G0,000,000,009,000, 640,000,000, 050,000,00 8,080 DATAGG3,606,600,007,00 @,000,025,015,255,241, 600 ,000,025,098,000,06 7,008 DATAGOG,003,000,000,00 0 ,000,960,000,000,00G, 99G,905,900,008, 006,06 6, G00

DATAGGO, 600,008, 000,00 0, G00,000,000,000,000

KK 1398

GK 1469

Ac 1416

MA 1429

KF 14306

FH 1449

Cs 1456

BK 1466

RR 1476

EC 1486

QP 1499

BA 1569

FK 1516

JE 1526

PD 1538

William Snow, a teacher for more than 27 years, is vice president of the McHenry County Commodore Comput- er Club in McHenry, Illinois.

JULY 1993 COMPUTE G-35

PROGRAMS

CRYPTARITHM SOLVER

By David Pankhurst When | first bought my Commodore, | used it often to solve math problems. | liked the brute-force approach the com- puter allowed. |’d just have a series of FOR-NEXT loops go through the possible answers until a solution would appear. That was fine most of the time, but even- tually | came across a type of math prob- lem the computer couldn't help me with, the cryptarithm. You've no doubt seen this type of problem before.

HELP + THE

YOUNG

Each letter represents a different digit, 0-9. In this example, there are ten dif- ferent letters, so all ten digits are used. The words HELP and THE each make numbers that, when added to- gether, match the result in YOUNG. There are no restrictions, except that 0 can't be the first digit in any number.

Clearly, this isn't a simple loop prob- lem. Let's say the H above was as- signed 1; the E, 2; the L, 3; and so on throughout the puzzle. A sample addi- tion could then be tried, and the result checked.

So how many times does this need to be done? To completely check the puzzle, H has to be tried out for each of the 9 digits (leaving out 0), E by each of the remaining 9, the L by the remaining 8, and so on. This gives ap- proximately 9x 9x 8x 7x 6x 5x 4x 3x 2x 1 choices, or 3,265,920 dif- ferent combinations. That's a lot of loops in BASIC! If the 64 managed one calculation per second, it would take more than 35 days to complete.

To the Rescue

Enter machine language. Cryptarithm Solver brings ML brute force to these puzzles. In a matter of hours, it can solve most cryptarithms. A puzzle is first broken up into combinations, and the computer tries different substitu- tions for each letter.

if the result is correct (totals on both sides of the equal sign match) the puz- zle is solved. The program then goes on to see if there are other solutions.

G-36 COMPUTE JULY 1993

Typing It In

Cryptarithm Solver is written in BASIC, but it pokes machine language rou- tines into memory to speed calcula- tions. To help avoid typing errors, en- ter the program with The Automatic Proofreader; see “Typing Aids" else- where in this section. Be sure to save a copy of the program before you try to run it.

Solving Equations

When you run Cryptarithm Solver, the program will prompt you for a puzzle. To solve the above problem, enter it in the following format. (You may use low- ercase letters.)

HELP+THE=YOUNG

After you press Return, the program displays a constantly changing sum in the bottom of the screen. This is a win- dow into the processing of the pro- gram. The display is the test result pro- duced by each combination. Usually, the result is wrong, and the next com- bination is then tried. However, when the result is true, the solution is dis- played, along with the time it took to find. Processing then continues with the next combination.

No Key Words

You need to watch out for one thing when you're preparing input for Cryp- tarithm Solver. If you typed SEND + MORE = MONEY, the program would display an error message informing you that the words contained an em- bedded BASIC function or command. This is because the BASIC commands END, OR, and ON are embedded in the formula, and the computer tries to encode these as commands. To avoid this problem, insert spaces between the letters. SEND+MORE=MO N E Y would work fine.

Cryptarithm Solver works well with all sorts of mathematical operations, not just addition. One example is the follow- ing multiplication.

ABCDE*9=FGHIS

Entering it this way fixes the 9; only let- ters are changed in the puzzle. By the way, there are two solutions to this puz- zle. As with other computer math opera-

tions, be sure to enter an asterisk for multiplication.

Cryptarithm Solver works at ML speeds, but even that isn't fast enough for instantaneous results. Depending on the formula, the program can per- form as many as 60 tests a second, so it would still take half a day to solve some puzzles.

Even Faster

One way to shorten the time is to put the result first on the line. As an exam- ple, look at MONEY=SEND+MORE. Cryptarithm Solver starts by assigning 1 to M; usually, that is the correct digit for the first place in the sum. So, you can save testing for the other eight dig- its, and this can mean solving most puz- zles in less than an hour. The exam- ples here ranged from 40 seconds to three hours, using these tips.

Other Languages Cryptarithm Solver is not restricted to English. It also works in French.

ELEVE+LECON=DEVOIR

This translates loosely to become STU- DENT+LESSONS=HOMEWORK. If we entered the words into Cryptarithm Solver as ELEVE+LECON=DEVOIR, the D (which logically is 1), would be as- signed 7, and it would have to go through the whole cycle to solve. By re- versing the order, D is assigned 1 im- mediately, and the solution is that much quicker. It took me 64 minutes. (I'll give you this one. The answer is 69656 + 96078 = 165734.)

When the program finds a solution, leave it running to search for other an- swers. When all reasonable solutions have been tried, however, you'll want to stop it. To quit, hold down the Q key. You'll be asked if you wish to con- tinue. Press Y to continue or N to stop. To slow the action, hold down the Ctrl key. But be warned; the solutions take much longer.

| hope you enjoy Cryptarithm Solver, yet one more way the brute- force methods of computing can yield practical results and eliminate all that difficult thinking for us humans. To end, here are two more puzzles:

PETER+PETER+PETER+PETER=REPEAT

MARS+VENUS+SATURN+URANUS=NEPTUNE CRYPTARITHM SOLVER

PH 166 REM COPYRIGHT 1993 - CO

RH

XK AQ

BX RE XB

EM

AR

sD

MS EB

sc

PP

DK

QH

165

116 126 139 146 156

166

176

174 176 178 184 199 280 216 226 236 246 256 266 276

286 296

306

316

326

3390

MPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESER VED POKE 53286,0:POKE 53281 ,@:PRINT" {CLR} {YEL} {H} {n}" PRINT"{8 SPACES}CRYPTAR ITHMS{2 SPACES}SOLVER PRINT"{11 SPACES}BY D.P ANKHURST Tanah PRINT INPUT "CODE STRING";XS$ DIM L(2@) :L=6:GOSUB356: PP=P:¥$="1823456789" FOR I=1 TO LEN(Y$) :POKE C-1+I,ASC (MIDS (Y¥$,1,1 ) :NEXT: POKE CM,LEN (YS) - 1 FOR I=l TO LEN(X$) :POKE 511+1,ASC (MIDS (X$,I,1) ) :NEXT:POKE I,@:SYS 491 55 FOR J=1 TO I-l:IF PEEK( 511+J)THEN 178 PRINT" {RVS} EMBEDDED BA SIC FUNCTION OR COMMAND ~{OFF}":END NEXT: Y=1 IF PEEK(511+Y)<>@ THEN {SPACE}¥=Y+1:GOTO 186 FOR K=l TO Y¥-1:C=PEEK(5 11+K) :CS=CHRS$(C):IF CS< "A" OR C$>"Z" THEN25G IF L=@ THEN236 Y=-1:FOR I=@ TO L-l:1F {SPACE}L(I)=C THEN Y=I NEXT:IF Y<>-1 THEN24G L(L) =C:Y=L:L=L+l POKE PP,K:POKE PP+1,¥:P P=PP+2 NEXT:POKE PC,PP-P:FOR I =@ TO L-1:POKE X+I,I:NE XT:POKE MX,L-1 PRINT" {CLR}"; :F=0 PRINT" {HOME}{24 DOWN} " X$;:SYS 49152 POKE 198,0:Y=PEEK(781 IF y=255 AND F=@ THEN P RINT: PRINT" {UP}{RVS} SO RRY-NO MATCH {OFF}":GOT 0346 IF Y=255 THEN PRINT: PRI NT"{UP}{RVS} END OF LIS TS {OFF}":GOTO34G IF Y¥<>1 THEN336 F=F+1:PRINT"{2 SPACES}" INT (TI/6) /16"SECONDS";: PRINT: PRINT" "X$;:SYS 4 9158:GOTO28¢ IF Y=9 THEN PRINT" {2 SPACES}CONTINUE?"; :W AIT 198,255:GET YS:IF Y

EF

DD

RC

DR RS

HQ KA HP AQ FC

SH SE FK XH KR ER FB JD KM JE

PA

HE

sc

HB RS HQ JJ

HD

346

359

368

376 466

410 426 436 446 456

466 476 486 490 566 516 526 536 546 556

566

576

586

596 666 619

626

636

$="Y"THEN27@ PRINT:PRINT" FINISHED A T"INT(TI/6)/1@ "SECONDS "SEND TIS="9660G6":DS=1984:1F PEEK (44)<>18 THEN GOSU B 466 DX=56432:NX=DX+1:MX=NX+

1:X=MX+1:T=X+80:CM=T+86 :C=CM+1:PC=C+8G:P=PC+1: R=P+80 RETURN

RESTORE:FOR I=@ TO-1 ST EP-1:READ Y$:I=VAL(Y$)= -1L:NEXT:X= 49152:DATA - 1

READ Y:IF Y<>-2 THEN PO KE X,¥:X=X+1:GOTO 416 RETURN

DATA{2 SPACES}24,144, 3 G6, 76,{2 SPACES}9,192, {SPACE}56 DATA 176, 2,165,123 DATA{2 SPACES}72,169, {2 SPACES}2,133,123,169 ,{2 SPACES}@ DATA 133,122, 5,104,133 DATA 123,104,133,122, 9 6,173,{2 SPACES}2

DATA 197,141,{2 SPACES} G,197,165,122, 72

DATA 165,123, 72,176, {2 SPACES}6, 32, 63 DATA 192, 76, 56,192, 3 2,137,192

DATA 1064,133,123,104,13 3,122, 96

DATA 174,244,197,142, 6 9,198,206

DATA{2 SPACES}69,198,17 4, 69,198,188,245

DATA 197,196,{2 SPACES} 3,197,189,164,197

DATA 206, 69,198,174, 6 9,198, 48

DATA{2 SPACES}15,188,24 5,197,153,192,

{2 SPACES}7

DATA 153,255,{2 SPACES} 1,174, 69,198, 76 DATA{2 SPACES}69,192,16 9,255,162,{2 SPACES}1,1 33

DATA 122,134,123, 5,{2 SPACES}@, 32 DATA 158,173,165, G,{2 SPACES}3,162 DATA{3 SPACES}1, 96,165 7,197,261, 62,208

DATA{3 SPACES}3,162,

{2 SPACES}@, 96,173,141 ,{2 SPACES}2

DATA 201,{2 SPACES}4,20 8, 17,169,{2 SPACES}5,1 6G

24,165,122, 7

32,124,16

32,11

97,24

DS KC

XM

HQ AD Js

AX

JM HB KQ RP

QQ

RX

QF

RF

HM

EM

XK

648 656

669

679 685 698

796

716 726 736 746

756

768

776

786

796

806

816

DATA 255,162,255,262,20 8,253,136

DATA 208,248,176,202,13 8,208,241

DATA 174,{2 SPACES}@,19 7,188,{2 SPACES}3,197,2 86

DATA 140,{2 SPACES}1,19 7,174,163,197,169 DATA{3 SPACES}6,157, 83 7,197,262, 16,256

DATA 174,{2 SPACES}6,19 7,169,255,202, 48 DATA{3 SPACES}9,188,

{2 SPACES}3,197,153, 83 7197

DATA 202, 16,247,173, {2 SPACES}1,197,295 DATA 163,197,246,

{2 SPACES}2,176, 48,172 DATA{3 SPACES}1,197,185 + 83,197,208, 12

DATA 174,{2 SPACES}6,19 7,173,{2 SPACES}1,197,1 57

DATA{3 SPACES}3,197, 76 1235,192,238,{2 SPACES} a

DATA 197, 76,199,192,17 3,{2 SPACES}@,197

DATA 205,{2 SPACES}2,19 7,208,{2 SPACES}3, 76, {SPACE}63

DATA 192,238,{2 SPACES} G,197,169,{2 SPACES}@,1 41

DATA{3 SPACES}1,197, 76 7171,192,206,{2 SPACES} 6

DATA 197, 16,155,162,25 5, 96 DATA -2

David Pankhurst, the author of the Calc II spreadsheet, lives in Montreal, Quebec, Canada.

FLASHER 64

By Henry Sopko

Focus attention to where you want it on- screen with Flasher 64. You can make words or graphic characters flash, scroll the screen while they flash, and have as many characters flashing as you want.

Flasher 64 is a short machine lan-

guage program. To enter it, use MLX, our machine language entry program. See “Typing Aids" elsewhere in this section. When MLX prompts, respond with the fol- lowing addresses.

Starting address: CCOO Ending address: CDF7

JULY 1993 COMPUTE G-37

PROGRAMS

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

With just two commands, you can make a word or a graphic character flash anywhere on the screen. As with the 128 in 80 columns, you can use the command CHR&$(15) to turn on the flashing and use CHR$(143) to turn it off. All characters can be made to flash with the exception of characters 254 and 255. These two characters are used in a special way in the program. However, they can be used in the non- flashing mode.

You can also use your own custom characters as long as the screen mem- ory stays at $0400 (default). Flasher 64 commands can be entered in both di- rect and program modes. Since Flash- er runs in the background using the IRQ routine, your BASIC or machine lan- guage programs will continue to exe-

cute as normal without slowing down. |

How It Works