COLOR! WE TEST 8 PRINTERS THAT DELIVER!

SAVE ON TAXES!

MASTER PC MEMORY ° 3 SUPER SOLUTIONS fm

ot i | |

g3i ls

STARRING THE AMAZING AMIGA ¢ FEATURING ° CDTV * HARDWARE * SOFTWARE * ACCESSORIES * SEMINARS * BARGAINS

Pier 88, New York Passenger Ship Terminal, New York NY

APRIL 24, 25 & 26, 1992

Friday, Saturday & Sunday, 10:00 am - 5:00 pm

PRE-REGISTRATION (Deadline March 31): $10 per single day, $25 for all 3 days REGISTRATION AT THE SHOW:

$15 per single day, $30 for all 3 days Admission includes exhibits and seminars.

World of Commodore/Amiga in New York City

is restricted to persons 12 years of age and older.

world of

commodore Toe ee Ge eae 1} AMIGA | itt —— can non Ea A

if Make ChEC Chan Drives IN NEW YORK CITY 3380 sheridan Sponsored by Commodore Business Machines Inc.

Produced by The Hunter Group. For more information

call (416) 595-5906 or fax (416) 595-5093.

The Hunter Group, :

wtne speci for

ecia) all 3. dayS

64/128 VIEW

Our view of how other people around the world use their 64s and 128s continues with a look at Sweden.

Tom Netsel

n our December issue,

we introduced a new col-

umn called “World View,”

which takes a look at how people around the world use their 64s and 128s. Ste- ve Jarratt told readers about the Commodore scene in the United King- dom. In this issue, we cross the North Sea from England and take a look at what's happening in Sweden.

Four years ago, Anders Reutersward started writing game reviews for a Commo- dore magazine in Sweden. From there he graduated to reviewing other products for the 64 and 128. His knowl- edge and interest in this ar- ea convinced the editors that he was the person to write a regular column about the 128. Now his work appears in every issue of DatorMagazin, although the magazine itself focuses primarily on the Amiga.

“Of all the writers for Da-

torMagazin, staff and free- lancers alike,” Reutersward says, “| still cling desperately to my trusty 128 and stubbornly refuse to abandon it in favor of the | Amiga.” ' Reutersward, who works for a security company in Stockholm, says new soft- ware for the 64 and 128 is scarce in Sweden (sound fa- miliar?), so he often imports products from the U.S., the U.K., and other countries. He says that the 8-bit ma- chines have been aban- doned in Sweden but many people still own them.

“lam what you call a Com- modore user,” Reutersward says. “| do not program very much, and my technical abil- ity is not very good, but | am a great GEOS fan.” He says

he's so impressed with GEOS that he imporis and distributes public domain and shareware programs so other Commodore owners can put the Berkeley operat- ing system to better use.

With the computer sys- tem that Reutersward has as- sembled, he can certainly put GEOS to use. He owns a 128, a 1901 monitor, one 1581 and two 1571 disk drives, a CMD HD-100 hard drive, an MPS-1250 printer, an HP LaserJet printer, RAM- Link, and a 1200-bps mo- dem. In this issue, we’re put- ting his expertise and unique qualities to use to in- form readers about the Com- modore view from Sweden.

In future issues we'll take a look at the 64/128 scene in other countries. Since COMPUTE is distributed around the world, we encour- age other freelance writers to share with us the Commo- dore view from their coun- tries. To submit a 1000- word column for possible publication, send it on disk, along with some biographi- cal information, to Gazette Editor, COMPUTE Publica- ions, 324 West Wendover Avenue, Suite 200, Greens- boro, North Carolina 27408. We pay $250 for each pub- ished column.

This next item is de- signed to nip any rumors be- fore they even think about budding. You may notice hat this issue is called the February/March issue. No— we have not gone bimonth- y. It's just a one-time adjust- ment of our internal publish- ing calendar. The next issue will be April's. COMPUTE subscribers will not be affect- ed. They will get the correct number of issues. a)

GAZETTE

64/128 VIEW G-1

The 64 and 128 are popular computers in Sweden, but new software is getting difficult to find. By Tom Netsel.

COMMODORE CLIPS New products for the 64 and 128.

GETTING TECHNICAL WITH A 128

A graduate student in physics used his 128 and a little ingenuity to prepare his thesis. By Shahin Shabanian.

REVIEWS

Word Writer 6 and two GEOS programs: geoStamp and GEOS Font Editor.

WORLD VIEW

The 64/128 view from Sweden. By Anders Reutersward.

MACHINE LANGUAGE

BAGELS: a machine language game. By Jim Butterfield.

GEOS

Send your sweetheart a GEOS valentine. By Steve Vander Ark.

D’IVERSIONS

Imagine tiny computers inside the walls. By Fred D'Ignazio.

BEGINNER BASIC

Concluding a graphic lesson on RND. By Larry Cotton.

PROGRAMMER’S PAGE G-24 Top tips from “Feedback.” By Randy Thompson.

PROGRAMS Balloon Crazy Quizzer 128 Sammy Seal RPG Codebuster

G-2

G-16

G-18

G-20

G-22

G-23

G-25 G-28 G-33 G-35

FEBRUARY/MARCH 1992 COMPUTE G-1

February's

Picture of the Month in

“Gazette Gallery"is Springtime by Jack Modjalial of Encino,

California.

COMMODORE CLIPS

Tom Netsel

Gobs of Graphics Clip Art Cupboard (P.O. Box 31774, Cincinnati, Ohio 45231) announces Graphix Galore, a disk chock-full with more than 80 pieces of clip art to add sparkle to your desk- top publishing projects. Sports, holidays, and spe- cial occasions are well repre- sented on the disk. There's eve- rything from skateboards to Santa and pirates to pizza. Gra- phix Galore ($9.95, plus $2.00 shipping and handling) in- cludes art for both versions of The Print Shop.

Tox Time Again

TaxAid Software (P.O. Box 340, La Pointe, Wisconsin 54850) has released an all- new version of its TaxAid se- ties of income tax preparation Programs for the 64, 128, and Plus/4. This tax year marks the 11th for the TaxAid series.

The new edition of TaxAid includes all the current chang- es in the tax laws for tax year 1991. TaxAid prepares IRS Form 1040; Schedules A, B, C, D, E, and SE; and Form 2441 (Child Care). Calcula- tions are automatic, and all tax tables are built in.

TaxAid prints schedules and Form 2441 in IRS-ap- proved format on plain paper that can be submitted direct- ly to the IRS. It also prints a complete listing of pages 1

G-2 COMPUTE FEBRUARY/MARCH 1992

and 2 of Form 1040 that must be transferred to the official IRS form.

The program is menu-driv- en and comes with a detailed manual. The cost is $49.95. Updates for 1992 will be avail- able for $18.00.

Tennis, Anyone?

DigiTek Software (1916 Twist- ing Lane, Wesley Chapel, Flor- ida 33543) has released Tie Break Tennis ($29.95) for the 64 and 128.

In addition to great graph- ics, displays, and sounds, Tie Break Tennis offers precise ball control, a wide range of tennis tech- niques and international tournaments, Select the racket weight and tension you prefer; then choose a grass, clay, or asphalt playing sur- face for your games.

Practice in singles or dou- bles mode with human or com- puter opponents. With Digi- Tek's special joystick adapter, four players can participate in a doubles match at the same time.

For more serious play, sign up for a major tournament: Wimbledon, U.S. Open, French Open, Australian Open, Masters, and Davis Cup. The game keeps track of rankings as you compete against as many as 15 hu- man or 15 computer players that you select from a wide range of profiles.

The Doctor Is Out

Dr. Evil Laboratories has an- nounced that it has ceased all operations as of January 1, 1992. Creative Micro Design

(P.O. Box 646, East Longview, Massachusetts 01028) will handle sales and support for the SID Stereo Symphony cartridge and SwiftLink-232 serial interface.

The general manager of Dr. Evil Labs, Kent Sullivan (16611 NE 26th Street, Belle- vue, Washington 98008), is tak- ing over distribution of the pub- lic domain telecommunica- tions program C-64/128 Ker- mit 2.2 ($5.00) and its related products. These include a la- ser-printed User's Guide ($7.50) and a replacement character ROM for BI-80 80- column card (VT-100 graph- ics) ($7.50). Add $2.50 for all orders shipped outside the United States.

32K EPROM

Antigrav Toolkit (P.O. Box 1074, Cambridge, Massachu- setts 02142) has released KeyDOS ROM ($32.50), a 32K EPROM (Erasable Pro- grammable Read Only Memo- ty) chip that contains new func- tion key definitions and utili- ties for the 64.

Its 20 new function keys sim- plify disk operation on multi- drive systems, and the chip is compatible with most hard- ware and software, including JiffyDOS, The Quick Brown Box, and most REUs. Load files and programs with one keypress, and select multiple files from a directory for print- ing, scratching, and copying. Create 1581 partitions and subdirectories, reboot GEOS quickly, and convert text files between ASCII and PETSCII. It offers a screen clock, and supports dual 80-column screens, screen editor, screen dumps, and more.

Gazette Gallery

See original computer artwork on the companion Gazette Disk. We pay $50 for any pic- ture selected and $100 for the Picture of the Month. ©

Amiga 500 Computer

Built-in 3.5" Floppy Disk Drive 512KByte RAM

Amiga Mouse

Joystick

Amiga Power Adapter

Great Software:

—Kind Words (word processor) —FusionPaint (draw & painvd —Indiana Jones and the

Last Crusade (game) —F40 Pursuit Simulator (race car simulation) -18 Interceptor simulator) nich 1.3 bench 1.3 Extras

Ef/1298)

NX-1001 Multi-Font

This 9-wire, dot-matrix printer provides temen- eat price The 12 control settings are right up front for easy access. Quietly printa fast 180 cps in draftand 75 eps in NLQ mode. Choose from top or rear paper paths and 5 resident fonts—Draft, Courier, San Serif, and Orator 1 & 2. Download 192 characters for designing custom fonts and logos. Its advanced features include auto sheet load- ing, 4KByte buffer, precision micro feed, and hassle-free paper parking. Print on 3-part forms The NX-1001 sets the pace in its class.

NX-1001 Multi-Font 90895 $139.95

dous versatility and ease of use ata gi

Black Cartridge Ribbon 75471 $5.95 Dust Cover 77789 $8.95 Parallel cable for IBM or Amiga 13009 $12.95 G-Wiz Commodore interface C64/C128 34484 $39.95

C= Commodore*

Only \

139”

TENEX

cam

Other Star Printers

C Commodore’

) AMIGA

Only a } 1 84°

Connect any parallel printer to your Commodore computer

34454 ¢ Proportional * Joystick mode ¢ Paddle $2704

Don't miss outon the lowest prices on Amiga 500 and Accessories! Call today to receive your E catalog with the great- est prices on the most popu- 72 larhardwareandsoftware! jw

NX-2420 Rainbow A51047 $299.95 Star NX-2410 Printer 87276 $219.95 NX-1020 Rainbow A51027 $179.95 LaserPrinter 4 A57934 $879.00

-——

VISA _|

=z

Coovel

Circle Reader Service Number 170

GETTING | ce

A128

Y SHAHIN SHABANIAN

ne of the least emphasized and

advertised capabilities of a 128 is

its ability to produce scientific or

technical papers with their asso- ciated fonts. This article reveals how | used my 128 in this capacity. Science and math students who type their pa- pers or theses and even secretaries who do this kind of typing profession- ally may find this article helpful.

In 1986, | used a 128 to write my the- sis for a master's degree in physics. At that time, word processing packages with the special mathematical and Greek fonts so often used in math liter- ature were scarce. Even IBM software had only one or two packages on the market with those capabilities. It wasn't until WordPerfect 5.1 was re- leased that there was a readily availa- ble package capable of producing mathematical and scientific papers.

Printing the required fonts was an even bigger problem. Laser printers were not common, and 24-pin printers were unavailable. Therefore, you might imagine that attempting such an undertaking with an 8-bit Commodore would have been a waste of time.

A Capable Combo

When | finished my research and com- putations (on a mainframe), | was ready to write the thesis. | owned a 128 and Fontmaster 128, an excellent word processing package from Xetec that has a font-creating capability. Af- ter getting better acquainted with the functions of my computer and word processor, | decided that | could use the two to create the necessary fonts and characters for my thesis and to print the final paper.

A thesis is not a casual paper. Care goes into its preparation, and printing must be of high quality, and students normally hire a professional typist to pro- duce the final copy. At large universi- ties such a thesis with specialized math- ematical fonts may cost $500-$900 for a professional to type 50-100 pages.

Create the Fonts

My project started with creating the nec- essary fonts. Although Fontmaster 128 software has Greek and mathematical fonts, most of the physics-related char- acters and other fonts that | needed were not included. | had to redesign some of them and build new ones to suit my requirements.

For instance, a tall mathematical font must satisfy certain criteria in order to be acceptable to the school. Al- though Fonimaster 128 has provisions for larger-than-normal and microfonts, this taller version was not suitable. This tall character extended more than a line space above the base line,

G-6 COMPUTE FEBRUARY/MARCH 1992

Figure 1

J {(x)dx [a]

| £(x)dx [b]

[ 'f(x)dx [c]

| fOx)dx (d

Figure 2

Slex-xxt Fe]

-D[gxi-x,x)..+FX)]

but not below it. When this character is used in mathematical equations with regular fonts, the regular fonts are not centered as they should be. For exam- ple, an integral symbol in math, when used as a tall character, looks like fig- ure 1a, but it should look like figure 1b.

A Solution

Fontmaster’s function keys can be used as macros to define large sym- bols such as integral signs. This re- lieves you of having to rebuild the same character or font each time it’s needed. This process is explained in de- tail in the Fontmaster manual. Other

word processors and font-making utili- ties can also create custom fonts. While the actual steps may vary, the general process is the same.

To create a proper integral sign that extended equally above and below the line space, | had to do it on a three- line basis, with each part of the symbol occupying one line. Although such a large character actually occupies three lines, its spacing is reduced so the individual parts are connected. This process is shown in figure 1c.

This capability of making symbols on a three-line or more basis is partic- ularly helpful when typing an expres- sion with exponents, such as in figure 1d. It's also particularly useful when dealing with double and triple expo- nents, such as in figure 2.

Of course, not all special characters occupy three lines. A few examples of other fonts often used in physics, mathe- matics, or technical papers of other dis- ciplines are shown enlarged in figure 3. These were designed by the author and from the left are partial derivative sign, h bar, and Kronecker delta.

Essential Factors

The experience of writing technical pa- pers has shown me that there are three essential factors for successful typesetting. One, you have to be able to create the necessary fonts not nor- mally found in conventional word proc- essors. Two, you have to be able to ad- just the spacing between lines. Three, you must be able to use superscripts and subscripts in a micro (smaller than normal) format.

Double Printing

My graduate school requires that the English text of a thesis be printed by a letter quality typewriter or laser printer. Mathematical equations or symbols, however, may be produced by a near letter quality printer or by the use of rub- on characters (usually sold in universi- ty bookstores).

After printing the thesis in full in near letter quality and having it ap- proved by the thesis committee for con- tent, it was time to satisfy the universi- ty requirement for letter quality text. On a typical page of my thesis | would have several lines of mathematical for- mula followed by explanatory text and then another portion of a formula and more text. For this final printing | di- vided my thesis into two files. One file contained only the equations and math- ematical symbols, which were to be printed in near letter quality; the other file contained only the English text, which required letter quality printing.

The formatting and spacing of the for- mulas and accompanying text on

COMPUTE NE

COMPUTE fi NET

m About COMPUTE/NET @ Product Ordering

@ Feedback Board

m@ Coming Events @ Monthly Contest

Welcome to the grand opening of COMPUTE/NET. A wealth of information awaits you. Back issues of COMPUTE, hard-to-find computer books, super software, dazzling pictures, challenging games, prizes, a complete bulletin board, and much more are here. You can even talk to the editors and authors of the magazine. Lots of surprises are planned, so keep your eyes on us.

_ FIND US ON Q-LINK

FREE Q-LINK STARTER KIT. FREE TIME. ORDER TODAY!

Just call our toll-free number or return the coupon, and we'll send you the Q-Link Starter Kit and software free, waive your first month's membership fee, and credit you with one hour of "Plus" time to try the service. Your $9.95 monthly fee gives you unlimited access to all of our "Basic" services online, including a searchable encyclope- Address. dia, AND one free*hour of "Plus" services. After your free hour, you'll pay only $4.80/hour—just 8 Home Phone cents per minute-for additional use of the service.

O YES! Send me my FREE Q-Link software, waive my first month's membership fee, and credit me with one FREE* hour of Plus time to explore the service and try COMPUTE/NET.

Name

City

MAIL TO Q-Link is a registered service mark of = Quantum Computer Services, Inc. | n *Long-distance charges may apply. Use of Q-Link requires a VISA, 8619 Westwood Center Drive Surcharges apply if you are a resident of MasterCard, or checking account. Vienna, Virginia 22182-9897 Alaska, Hawaii, or Canada. Allow four to six weeks for delivery. =

Gall 1-800-782-2278, Ext. 2414 today

GRAPEVINE GROUP ,. .

Inc. COMMODORE UPGRADES

NEW POWER SUPPLIES SPECIALS

‘© A super-heavy, repairable C-64 power sup- © COMPUTER SAVER: This C-64 Protection ply with an output of 4.3 amps (that's over 3x System saves you costly repairs. Over 52% of as powerlul as the original). Featuring 1 year C64 failures are caused by malfunctioning warranty, ext. fuse, schematics, UL approved. power supplies that destroy your computer. This supply is used for multiple drives, addi- Installs in seconds between power supply & tional memory and “packet.” Cost is $37.95 C-64. No soldering. 2 year warranty. An and includes as a bonus the Commodore absolute must and great seller

* Diagnostician 1! (valued @ $6.95) * 1802 COMMODORE COMPOSITE COLOR © 4.3 amp supply forC-128, Same featuresas MONITOR/SOUND: Includes all cables, 90 above—$39.95 (includes bonus package) day warranty. A sensational bargain and © ‘Our Biggest Seller © 1.8 amp repairable heavy perfect for C64/C128 $109.95

PRINTHEAD REFURBISHING

Save time and money by having your tired, wom-out or damaged printhead refurbished of remanufactured at a traction of the cost of anew one. Features low cost, 5 day service and 1 year warranty Call for prices ‘into,

REPLACEMENT/UPGRADE CHIPS & PARTS

EMERGENCY STARTUP KITS

<x Repair your own Commodroe/ Amiga and save \y {ots of money. Originally blister packaged for government PXs worldwide, these kits are now available to you (no soldering). Kits for Amiga,

C64 and drives. Each kit contains all chip:

4164 memories, schematic, Commodore Di

nostician II, fuse, chip puller and diagnostic

, test diskette with 9 programs. Send for full details. Five different kits available.

COMMODORE DIAGNOSTICIAN II

{X Originally developed as a software package, then converted to a readable format, the Diagnostician has become a fantastic seller With over 38,000 sold worldwide, Diagnosti- cian II utilizes sophisticated cross-reference

ye grids to locate faulty components (ICs) on all C-64 and C1541 computers (C-128/64 mode).

[\ Save money and downtime by promptly locat- ing what chip(s) have failed. (No equipment of

tot CBM to IBM Printer Cable Adapt any kind needed. ) Success rate from diagnosis- AX to-repairis 98%. Includes basic schematic. $6.95

| Ly (Avail. for Amiga computers with 3%" disk at $14.95:) All_otherichips in'stock, Send For Free 36 Page Catalog K] | oo

3 CHESTNUT ST., SUFFERN, NY 10901 Order Line 1-800-292-7445 Fax 914-357-6243 We Ship Worldwide Hours: 9-6 E.S.S.M-F 914-357-2424 Prices subject to change Tell a friend you've heard it through the Grapevine.

6510 CPU

PLA 906114

All $01/225-6-7-9

4164 (C-64/RAM)

C-128 ROMs Upgrade (set 3). C64 Keyboard (new) Commodore Cables

Super Graphics by Xetec Super Graphics Jr. by Xetec

Circle Reader Service Number 128

SOFTWARE CLOSEOUTS

For Commodore 64 & 128

STRATEGIC SIMULATIONS INC. (SSI) ..$16.50 EACH | AVALON HILL GAME COMPANY ........ $10.00 EACH 8-24, Questron Il, Roadwar 2000, Hillstar, | Under Fire, MacBeth, Wooden Ships & Iron Panzer Strike, Eternal Dagger, First over Ger- | Men, Ripper!, Tsushima, Black Thunder, many, Heroesofthe Lance, Battlefor Normandy, | Stocks & Bonds, Dr. Ruth, Parthian Kings, Dragons of Flame or Dragonstrike. Jupiter Mission 1999, Legionnaire, Dreadnaughts, MICROPROSEE MICROPLAY ssc... $t4sneac | ToUMament Golf, Statis-Pro Baseball, Gulf Acrojet, Destroyer Escort, Netherworld, Rick Pts Fare Maxwell enor coer Dangerous. Top Gunner, Xenophobe, rusadein | Btlssinn On Thunderhead, Panzerseast TAC. Europe, Decision in the Desert, Spitfire Ace, uper Sunday, Gryphon, or Panzer Jagd. Hellcat Ace, SoloFlight, SilentService, Conflict | INFOCOM BARGAINS .... _ $5.00 EACH in Vietnam, Stunt Track Racer, 3D Pool, F-15 | Starcross, Suspended, Zork2or3,

Strike Eagle, Airborne Ranger, or Pirates! Leather Goddesses of Phobos, or Deadline.

‘ACCOLADE BARGAINS vss $5,00 EACH | INFOCOM PREMIUM TITLES ............ $14.50 EACH PS|5 Trading Co., Law of the West, Comics, | Hitchhiker's Guide to the Galaxy, Plundered Killed Until Dead, Hardball, Dambusters, Ace of Hearts, Cutthroats, Wishbringer, Ballyhoo, or Aces, FightNight, or Jet Boys BeyondZork (C/128only).. TATTOPREMIUMTITLES ..... vv S14.SQEACH | MORE GREAT DEALSI!!!!!

Alcon, Arkanoid, Arkanoid, Bubble Bobble, Qix, | Printed\Wordor The Tool, by Valueware .......$275 Operation Wolf, Rambo Ill, Rastan, Renegade, or | Partner 128 (cartridge for C/128 only),

Sky Shark by Timeworks ...$17.50 ACTIVISION BARGAINS... $5.0 EncH | $992" Expander 6 (crtige), by Commadore. $5 00 ToyBizarre,Mindshadow,H.E.R.O., Crossbow | Assembler, by Commodore .......... $5.00 Championship Baseball, Zenji or Powerdritt, | Pet Emulator, by Commodore.......... $9.50

Entertainer or Educator, by Valueware $3.75 ACTIVISIONPREMIUM TITLES .........--.»- $14.50EACH | Tri-MathorTurtle Toyland, by HesWare ......... $450 Gee Bee Air Rally, Aliens, Ghostbusters 1,

Attache Mutant Camels (cartridge), by HES $3.50 Maniac Mansion, Beyond DarkCastle Titanic, | Heswriter 64 (cartridge), by HesWare $5.00 Space Shuttle, Christmas Model Kit, Mondu’s } swiess woreo,aLLSorTwane ts ows 25-pisxerre! Fight Palace, or Die Hard.

VISA/MC ORDERS CALL TOLL-FREE 1-800-676-6616

Credit Card Orders Only!!! ! ($25 minimum)

MINDSCAPE/THUNDERMOUNTAIN ......... $14.50EACH Combat Course, Boston Computer Diet Eagle's Nest, Joker Poker, Gaunt, Materype/W ter Bundle Songurter, Shinobi, PerfectScore SAT, Sports Collection Bundle or TO ORDER: Send check or money order, including Thunder Mountain Action Bundle, shipping charges of $4 for U.S.A., $8 for Canada, $12

all others. California addressesmust include 7.25% sales SPECIAL DEAL!ITHISCOLUMN ONLY, BUY SGET1 FREE! tax. To receive our complete catalog of over 2,000items.

for all computer types, send $2 in cash or postage ‘stamps. The catalog is FREE with any order. To check for anitem not listed nere, call (805) 544-6616.

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

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

Circle Reader Service Number 181

Figure 3

Physics exams | prepare for my class- es are written on my 128 at home. With the aid of Fontmaster 128 and GEOS 128, | save a lot of time. Since

the exams are kept on file, | can easily change them or transfer them from one file to another. Furthermore, for low- scale numerical computations, BASIC 7.0 on my 128 is perfectly suitable.

Shahin Shabanian is an instructor in physics at Louisiana State University at Eunice. He extends his deep appreciation to Dr. Mohammad Kiani (University of Rochester) for his suggestions. 0

SHARE THE KNOWLEDGE = A few months ago, while discussing a nu- | | merical solution to a physics problem with one of my students, this student in- formed me that he had solved the as- signed problem using BASIC on his 128.

each page were maintained precisely as they had been in the original file. The plan was to load the equations file and print it first in near letter quality. Then the same paper would be reprint- ed with the file that contained the Eng- lish text, but this time on a letter quali- ty printer. Since proper spacing was maintained, the letter quality text was in- serted in its proper place between the mathematical equations and formulas. It was almost like using a merge fea- ture to create form letters. Margins

G-8 COMPUTE FEBRUARY/MARCH 1992

were carefully chosen so there would be no disruption of either file.

These days, with the introduction of 24-pin printers, there is no need for such a procedure. The purpose of this article is to emphasize that a 128 can perform high-level tasks that are usual- ly reserved for more powerful PCs. The only limitations are those of the soft- ware and the patience, expertise, and ingenuity of the operator.

Although | have an IBM in my lab and office at the university, most of the

When | mentioned that | also own a 128 and had used it to write my thesis with all the necessary mathematical and physics equations and the associated fonts, he became interested in seeing my work. He said he hoped to utilize this less-publicized capability of a 128.

After | showed him a few pages of my thesis, the student suggested that | let oth- er 128 owners who may be interested in technical publishing know what an 8-bit Commodore can do. His suggestion prompted me to write this article.

I thought my wife was just forgetting things.

AN g @ Runs Super Fast \) © Very Easy To Use SAS

© Periodic Optional Updates © Flawless Parameter Copiers

© Powerful Tools & Utilities

THE COMPLETE ARCHIVAL UTILITY SYSTEM FOR THE C-64 OR THE C-128 IN THE 64 MODE

Only *39%

AVAILABLE FROM YOUR LOCAL DEALER OR CONTACT US DIRECTLY:

SOFTWARE SUPPORT INTERNATIONAL 2700 N.E. Andresen Rd. @ Suite A-10 @ Vancouver, WA 98661

1-800-356-1179

Write or call us for more information or our current 1988 Alzheimer's Disease and Related Disorders Association, Inc catalog listing thousands of items for your computer.

Then she forgot my name.

1-800-621-0379 Al

(In Illinois 1-800-572-6037)

Circle Reader Service Number 198

TAXPERFEC |" Get TAXPERFECT™ now

and relax on April 15th... e NINTH SUCCESSFUL YEAR! e MANY THOUSANDS ALREADY IN USE! ® Your Simple Answer to the Tax Reform Acts of 1986 through 1990

*TAXPERFECT is the quick, correct, easy way to do your taxes *Absolutely up-to-date with the Tax Reform Act of 1986/87/88/90 and all new tax changes * Simplest tax return preparation program available - at any price * Single-keystroke form-to-form change * Automatically calculates and transfers data from every FORM and Schedule to the FORM 1040 *Simply answer the questions - TAXPERFECT calculates return, tax due or amount of refund due you *Automatically elects the greater of Standard or Itemized deductions «Prints data to all FORMS or Schedules you need for your complete return - ready to sign and file *Highly acclaimed by tax pros, CPA's and tax preparers, TAXPERFECT is easy to understand and a pleasure to work with. Available for Commodore 64, Commodore 128 and IBM and IBM Compatible PCs.

* TAXPERFECT is fully screen-prompted, menu-driven * TAXPERFECT data files can be stored on disk.

and easy to use. System includes comprehensive User's * TAXPERFECT yearly updates are available at 50%

manual with helpful tutorial example. discount to registered TAXPERFECT users. + With a single keystroke, TAXPERFECT instantly recalcu- * TAXPERFECT is an essential addition to your

lates your entire return when you change any item. personal software library - and best of all, it's tax * TAXPERFECT also prints directly onto IRS forms. deductible. TAX PLANNING RETURN PREPARATION FULL-FEATURED *Most powerful program features available - at any TAXPERFECT PRINTS THE INCOME TAX DEPRECIATION price * Supports RAMdisk Prints the input sheets to © RETURN FOR YOU: TAXPERFECT 64 - SUPPORT organize your data Built-in calculator feature prints pgs. 1 & 2 of the FORM 1040 and Self-contained Depreciation program accumulates input and enters total *32 F-Key Schedules A, B, C, D, E and SE as well as calculates and prints complete listing of functions achieved with 1 or 2 keystrokes. *Fast, FORM 2441, 3903, 6251, 8615 and 8815 on depreciable assets....all classes...any length complete tax calculations - 30 forms in under 2 IRS forms or on blank computer paper for life...traditional ‘methods plus “old” rules, ACRS, seconds (most returns in under 1 second) *On-line use with transparent overlays. MACRS. Half-year, mid-quarter & mid-month pop-up Help menus *Full calculation-override TAXPERFECT 128 - supports all of the conventions Schedule of assets attaches as a capability *Follows IRS text & line numbers exactly above forms plus Schedules EIC, F and R & detailed printed supplement to the FORM 4562 *Exclusive context-sensitive Datachek™ pinpoints FORMS 2106, 2119, 2210, 3800, 4136, : ~ omissions - and alerts you to effects of your input * 4255, 4562, 4684, 4952 and 8396. All other Commodore 64 and Commodore 128 are Trade- Our exclusive Current Values Display constantly forms and schedules are considered in the marks of Commodore Business Machines Corp. reflects all changes with your input *In Planning calculation. TAXPERFECT features direct IBM is a Trademark of International Business Mode all unnecessary text input prompts are screen input using fast ten-key style on the Machines Corporation. eliminated. Only numeric input is prompted for. Commodore 128.

New for 1991: 1040A and Schedule 1,2,38EIC-A. Complete 1991 Edition: TAXPERFECT 64 °89 TAXPERFECT 128 & IBM $99 TO ORDER Call Toll Free 1-800-525-5611 24 Hours from anywhere outside Dallas. In Dallas Call 214/386-6320.

VISA, MasterCard, Checks, Money Orders & COD Orders Accepted (Add 3% surcharge for credit card processing) (Texas residents add 874% sales tax) (Add $6.00 COD) ($6.00 Shipping)

Financial Services Marketing Corporation °500 North Dallas Bank Tower * 12900 Preston Road * Dallas, Texas 75230 Circle Reader Service Number 190

REVIEWS

WORD WRITER 6

Software companies like to im- prove their products. They fid- dle with a program until it can accomplish more and more astonishing feats, then they reissue it under a new version number. Sometimes changes are less than major, yet they still can be signifi- cant. A case in point is Word Writer 6 from Timeworks.

The word processor and outlining features of Word Writer 6 are the same as those in version 5. Signifi- cant changes revolve around features added and deleted. Gone is the calcula- tor; added is Cardfile Build- er, which allows you to cre- ate and save data records with up to 23 fields. The card file can then be used for addresses or other data. It can also be used to merge files for form letters.

Other enhancements to Word Writer 6 include a fea- ture that will let you go to any desired page number in your document, justification status indicated on the Font/ Style status line, and the abil- ity to set and save tabs in both Text and Font Modes. The program's other fea- tures, such as the spelling checker, thesaurus, ten fonts, two macros, variable text layout, and graphics ca- pabilities remain as they were in Word Writer 5 (re- viewed June 1991). They have neither gained nor lost in the revision.

So much has remained the same that Timeworks merely added a supplement to the basic Word Writer 5 Manual and Art Library Sup- plement. The supplement documents all the changes, making the upgrade from Word Writer 5 easy. Dividing up the manuals can benefit a newcomer, too.

The Cardfile Builder is sim-

ple to learn and use. | like the versatility of having from 3 to 23 fields available. Many of the people | write to have position titles and company names in their addresses in addition to the usual street ad- dresses. This makes four- line label programs less than adequate for me. With

HORD_URITER 6

= NO AVDOVzD>'

| coonmsns Smo F<

7a 7a

no o

_ WNESSSSZO SOOM =

_

B DEL FONT GOTO ITAL LOAD NEXT PRIN QUIT RETU SAVE UNDR VIEW CODE CODE CODE

Cardfile, | can make as many entries as | need, and | doubt if I'll need more than 23 of them.

You can have up to 255 cards in a card file, and you can sort them on any field. When you create your first card, you have the choice of entering prompts for each field. This makes entering fu- ture data quite simple. Card- files can be sorted and edit- ed, saved and loaded. They can be printed as they ap- pear onscreen, allowing you to print your file on tractor- fed cards, or simply listed on plain paper. You can also control which cards print.

The other way to print a file is to merge it with text to create form letters. The letter is loaded into Word Writer. Field markers are added to represent the fields you wish to use. Various markers can be inserted so you can skip

G-10 COMPUTE FEBRUARY/MARCH 1992

fields or not print a line if its field is blank. This cleans up the appearance and lets you produce exactly the letter you want.

There are limitations. Your letter can be no more than four pages long. Apparently, no WW6 document can be longer than that—a fact not

IP: 64 L:62 C: O4

MMM onc amro

SOmRZMoOox Tm

Z222==z Sammso ms mz

SOoe=zmD>cAmMoncCom Sono seMMxro sar ooo

NOPE CCHRBOTVZC HONS,"

|

mentioned anywhere else in the documentation. While you can create linked files, you cannot merge or make multiple copies of a linked file, so that doesn’t help here.

Your form letter can be printed only in Text Mode, not Font Mode. However, en- hancements such as bold, un- derlining, and italics are still available if your printer will support them.

A new Tab format allows you to set tabs in both Text and Font Modes where pre- viously they were only avail- able in Text Mode. They can only be used with left-justi- fied text. Having the tab work in both modes elimi- nates one problem I'd found with Word Writer 5: the lack of a definable way to indent paragraphs.

The program starts with six default settings. These set-

tings can be changed within the Printer Codes window and used with a particular document, or they can be saved as the new default set- tings. They are extremely easy to set, save, and use.

There were some faults with Word Writer 5, however, that Word Writer 6 retains. You can only skip lines by in- serting carriage returns, and you can't string formatting commands together on a sin- gle line. When using graph- ics, you're limited to one per line, and you can't place text on both sides of a graphic.

| wish the program had a bridge back to the Install pro- gram. Too often, when laying out a document, you sudden- ly decide to add a picture or change to a font that you ha- ven't installed on your work disk. You have to exit Word Writer 6 and reload the In- stall program to copy a pic- ture, convert a piece of text or graphic, or install a font. It would be much more conven- ient if you could make addi- tions or changes without ac- tually turning things off and reloading completely.

My other complaint, brief- ly mentioned earlier, is not be- ing able to make multiple cop- ies of linked files. As a writer, most of my documents are more than four pages long. don't like being limited to printing one copy at a time of a lengthy piece. However, this is not uncommon in pro- grams that manage both ext and pictures, so | guess ‘ll have to cope.

Overall, | like the program. Cardfile Builder is a real plus, something more useful to me than the calculator it re- placed. The other new fea- ures, Tabs, Go to (a page number), and a status indica- tor for justification, are wel- come additions also. Time- works makes good use of he 64’s memory and capa-

LET’S FA

Chanpak 64 or 128 Cobol 64 oF 128 Fortran 64 Super C Gomp. 64 oF 128 ABACUS BOOK‘ Commodore 1571 Internals ACADEMY

ACCOLADE

Typing Tutor

Biue Angels Fight Ngnt Fourth & inches Fourth & inches Team Frghtmare Jack Nicklaus Gott J Nicklaus Course 182 Combo Nicklaus Course #3 “J Nicklaus Course #4 PSI5 Tradng Company ‘Shoot Em Up Construction Star Control ‘Stee! Thunder Strko Aces Test Drive i Calilornia Challenge European Challenge Muscle Cars Super Cars

ARTWORK Bridge $9

Linkword French

Unkword Gorman

Unkword tralian

LUnkword Russian

Unkword Spanish

Strip Pokor

Stip Data #1, #2 oF #3 AVALON HILL

Dr Ruth Gamo

Macbeth

Super Sunday

BERKELEY SOFTWORKS

Geos 64 V2 Geos 128 V2

Geos intematonal Fonts Geopregrammer 64

Goopubisn BETHESDA BRITANNICA

Elomentary Grade Builder

Ur High Grade Builder BRODERBUND

Bank Stroot Writer

Carmen Europe

Carmon Time

CarmenvUSA

Carmen Word

Printshop

Printshop Companion

Printshop Graphics Holiday

Sim Cty

Sim City Planner Book

Nira

CINEMAWARE

Sinbad TV Sports Football

COMMODRORE

The Manager Typing professor

COMPUTE'S BOOKS

Music System Book w/Disk

CORNUCOPIA SOFTWARE

Graphic Label Wizard Supercat COSMI Chernaby CRYSTAL ROS! CSM BOOKS CSM Protection Manual #1

CSM Protection Manual #2 CSM Newsletter Compendium

Doodie!

WE CARRY A COMPLETE LINE OF ACCESSORIES FOR YOUR COMPUTER-ASK FOR OUR FREE CATALOG

Dream Team Guerrita War ‘kan Wartiors thavl Wartiors iil Monday Night Football

S North & South Robocop Victory Road Vigilante

DATA MOST Elementary C-64 Book DAVIDSON Grade A Bundte #1 Grade A Burdte #2 Grade A Bundi £3 Aigeblaster Math Blaster Speed Reader Spelt Word Attack DIGITAL SOLUTIONS Digital Superpak 2 Pocket Dictionary Pocket Writer Il 64 oF 128 DIGITEK Hole in One Miniature Gott Fings of Medusa Tie Break Tennis DISNEY STUDIOS ‘Arachnophobia Dick Tracy Print Kit Donald's Alphabet Duck Tales Gooty’s Railway Express Mickey's Runaway Zoo Roger Rabot DILITHIUM PRESS Golden Futos DOME

‘Simplitied Accounting Sys ELECTRONIC ARTS

Bards Tale

Bards Tale-t

Bards Tale Il or lil Hints

BAT

Beyond the Biack Hole

Cracaown

F-16 Combat Pict

Hunt for Red October

Jordan Vs Bird

King's Bounty

Kings of the Beach

Madden Footbal!

Mavis Beacon Typing

Night Breed

‘One On One Basketball

PaperCip tlt

Pick N Pile

Racing Destruction Set

Sentinel Words

Sentinel Workds | Hints

Skate of Die

Ski or De

‘Starfight

Starfight Hints

Turbo Outun

Untouchables ELECTRONIC Z00

Subbuteo

EPYX ‘Chips Challenge Fast Load Carvidge Street Sports Baseball ‘Sub Battle Simaator FREE SPIRIT

1541/71 Drive Aignment Basic 8

897 Basic 8 Toolkit E Digtaker 128

24697 Gnome Kit

Home Designer 128 Home Designer Circuit Data Most out of Basic B Book Newsmaker 128

24.95 24.95

1495 19.95 19.95

2197

FREE SPIRIT Protoine 128 BBS Prototerm 128 ‘Sketchpad 128 Spectrum 128

GAMESTAR Face Ott GENEOLOGY SOFTWARE

Famiy Tree 2.0 64/128 HESWARE Ghostwrter 128 Graphics Basic Super Zann HI TECH EXPRESSIONS Em's Big Spiash Emie's Mage Shapes Jetsons: Fintstones Print Kit Loonie Tunes Print Kt Muppets Pent Kit Remote Control ‘Sesame St Letters Go Round Sesame St Print Kit Win, Lose, o Draw lor it Win, Lose, or Draw Jr

IHT SOFTWARE

INFOCOM Batyhoo

Beyond Zork 128 Leather Goddess Probes

Wishonnger INNERPRISE

INTERPLAY Battie Chess Dragon Wars Dragon Wars Hints KEYSTONE Lable Maker Maul List Manager Video Cassette Library ‘Audio Cassette Library Home Book Library (CO/Record Library Photo'Sie Ubrary Home Inventory Coin/Stamp Cotlecton Baseball Card Collection KONAMI Black tothe Futuee Il Back to the Future lll Double Dribble Predator It Teenage Turtes LUCASFILMS Indy Jones/Crusade Arcade Maniac Mansion | Night Shit KRACKER JAX 1881 Tooikit Maverick v5 KU Revealed Triogy

MASTERTRONICS Baroaran Cue Double Dragon It John Ebways Quarterback Magic MVP Basketbal Monopoly Overiord Fick Davis Soccer Fisk Scrabble Scrupples Shark Attack

Cad-30

Turrican

War in Midcie Earth MEDIAGENIC sens

Beyond Dark Caste Chop N Drop

Dee Hard

Gamemaker WiLibraries GeeBee Air Rally Ghostbusters i

elermaont

MEDIAGENIC Master of Lamps Mondu's Fight Palace (Ocean Ranger Personal Choice Series Ponta Power Dritt MICROILLUSIONS Maintrame MICROLEAGUE Mt Baseball MU Team Stats ‘90 ML Footbal WWF Wresting WWF Superstars Data #2

MICROPROSE 30 Pool

‘Crusade In Europe Deassion in The Desert Dr Doors Revenge Elte Hint Book by Leroy F-15 Sirke Eagle

F-19 Stealth Fighter Gunship

Land Air Sea

Marvel Comics Triogy Prates

Pro Soccer

Red Storm Fusing

Rick Dangerous Savage

Slent Senco

Solo Faght

The Amazing Spiderman Weed Dreams

X-Men MINDCRAFT

Keys to Maramon MINDSCAPE

Pertect Score SAT

Sports Megahits Vol #2

Thunder Min Action Pack #1

ORIGIN Bad Blood

Knights of Legend Omega

Guest for Cives il or til Space Rogue

Tangled Tales

Times Of Lore

Unena Triogy (tf) Unma-IV

Una V

Uma V Hint Book Uma Vi

Utsma VI Hint Book

Windwathor POLARWARE

Dinosaurs Are Forever

Teen Turtles World Tour PRACTICORP

Pracucale 64

Practiie 64

Sargon tt SAT - Complete

Certicate Maker Certificate Library | Newsroom

Battle for Normanay Buck Rogers

Buck Rogers Hints

Curse of Azure Bonds Curse of Azure Bond Hints ‘Champions of Krynn Champions of Krynn Hints Death Knights of Krynn Death Knights Hints Dragons of Flame Dragons Flame Hints Dragon Strke

Dung Master Asst #1 Dung Master Asst #2

First Over Germany Gateway Savage Fronter Savage Frontier Hints Heros of Lance

Horos Hits

Halstar

Medieval Lords

Panzers East

Pool of Rackance

Pool of Ragance Hints Question tt

Secret of the Saver Blades Siver Bades Hints

Storm Across Europe TAC

Tony LaRussa Baseball Tony L. Teams 1901-68 Typhoon of Steet

War of the Lance

Wooden Ships & iron Men

‘American Civil War Voll) ‘American Civil War Volt ‘American Civil War Vole, Bartotront

Battes a Normandy Carriers at War

Europe Ablaze

Fire King

Hats of Montezuma MacArthur's War

Panzer Bates

Roach For The Stars Il!

Russia

Flight Smulator- ‘Scanery Disk #6

TAITO

PRECISION Superoase The Book Superscript 64 Operaton Wot Supersenpt 128 Ou PROFESSIONAL Rameo i Fleet Systems 2 (64) Rastan Fleet System 2+ (64) Renegace Fleet System 4 (128) ‘Sky Sharks PROGRESSIVE PERIPHERALS Bobs Teim Pro 64 3097 Bobs Term Pro 128 3097 ROGER WAGNER PUBLISHING Morin Assembler 64 3097 Merin Assembler 128 4297 SIR-TECH nes Wizardry Thogy (IL)

Waardry 5 ‘SOGWAP bie Search - Complete Big Blue Reader 12864 SOLUTIONS UNLIMITED Graphics Combo Pack ‘SPECTRUM HOLOBYTE

‘ects Payable Data Manager It Partner 128 Switicalc with Sideways 64 Word Woiter 6

TITUS

Transactox Bis & Pieces Paint Printmaster Pius

XETEC

Super Graphics Jt

COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE COMMODORE

COMMODORE AMIGA AND IBM Piease call or write for our FREE CATALOG Overseas customers please remit 3.00 US. funds to help detray shipping costs

TOLL FREE LINE FOR USA & CANADA

800-356-1179 Monday-Friday SAM/SPM Pacific Time NEW - Saturday 7 AMSPM Pacitic Time

INTERNATIONAL ORDERS 206-695-1393

If You Prefer, You May Mail Your Order To:

Software Support International 2700 NE Andresen Road, Suite A-10, Vancouver, WA 98661

METHODS OF PAYMENTS - We accept money orders, certibed checks, Visa, MC, and Discover. Previous customers may also pay COD or personal check. All monies MUST be paid in US funds

COD CHARGES - COD available to previous customers only in all 50 US states. Please add $3.75 in addtion to your SH charges.

OTHER POLICIES - Washington State residents must add 7.6% to theit order for state sales tax. Minnesota resdents must add

‘SPINNAKER

SPRINGBOARD

‘STRATEGIC SIMULATIONS

STRATEGIC STUDIES GROUP

Rommel Battes for N. Ajnca

SUBLOGIC

TIMEWORKS

TRANSACTOR TWIN CITIES UNISON WORLD

1897 3797

1497 1097 1497

1297 26.97 13.00 26.97 1297 2697 1197 297 1297 1297 797 1297 1297 1297 1297 3297 13 1297 697 1497 3997 1297 26.97 1297 1297 2697 13.00 3597 1297 32.97 1597 3197 1297 1297

25.97 25.97 2597 2597 2597 2597 2597 2597 2597 1297 2597 2597 a 2597 2597

31.97 1697 1497

897 897 897 897 897 897 897 897 897 as7

1297 1697 29.97 1697 3197

2597

997

AHOGOWWOD SHOCOWNOD 3HOGOWNOD SHOGOWWOD SHOCOWWOD SYOGOWWOD SHOGOWNOS SHOGOWNOD SHOGOWWOD SHOGOWWOD SHOGOWWOD SHOGOWWOD

COMMODORE

‘Same Hours As Above

NOW ACCEPTING FAX ORDERS

TECHNICAL SUPPORT LINE 206-695-9648 Monday - Friday 9AMSPM Pacitic Time

SHIPPING AND HANDLING CHARGES - USA (48 states), FPO, APO, US Possessions: Please add $5.00 per order. US shipping is usually by UPS ground. Fast UPS 2nd Day A is available (US 48 states only) by ‘adding $3.00 per pound (1st lb.) and $1,00 per additional pound (each software item averages 1 Ib), Alaska 8 Hawail: Shipping is usually by UPS 2nd Day Ait. Please add $8 50 per order. Canada: Software -$5.00 fot the first piece & $1.00 for each additional piece per shiement. Canadian Hardware:Overweght order & Foreign Countries: SSH varies per order-piease call or wrte

7.5% to their order for stato sales tax. Dotective tems are replaced ‘at no charge, but must be returned within 20 days of invoice d: Allin stock orders are processed within 24 hours. US (48 states) software orders over $100 will be shipped 2nd Day Air at no ‘additonal charge above the additional $4.00 S&H fee. All pices, policies, and spectications are subject to change without notice, Al sales are final uriess authorized by management

We Accept VISA, M/C, & Discover

Circle Reader Service Number 198

REVIEWS

bilities, and it’s nice to see good things get even better. ROBIN MINNICK ~

Commodore 64 or 128—$49.95

TIMEWORKS

625 Academy Dr. Northbrook, IL 60062 (708) 559-1310

Circle Reader Service Number 309

GEOS FONT EDITOR

Create a new point size of any existing GEOS font in just minutes! Enjoy the crea- tive control of having 49 dif- ferent fonts at your fingertips when writing a geoWrite doc- ument. You get all this and much more with GEOS Font Editor V2.5.

There is a great deal of sat- isfaction in watching a fine geoWrite document roll off of your printer. If it happens to use one of your very own cre- ations, this satisfaction is bound to be mixed with jus- tifiable pride.

Jim Collette has written this outstanding font editor, which not only rivals geoFont but also adds sev- eral exciting new capabili- ties. GEOS Font Editor sup- ports up to three disk drives, depending on the GEOS ver- sion you are using.

Want to create a new point size of your favorite font? Just select Scale from the File menu and Font Ea- itor will scale the entire font to the designated size, usu- ally in four to six minutes. Of course, some editing of the new size is often required. Ex- perience will help you choose the optimum thresh- old to minimize editing. You canalso scale individual char- acters to a different width. An Undo option is always available if what you see isn't what you want.

How would you like to have up to 49 fonts available

for every document without ever leaving geoWrite? It's possible with Font Editor. To accomplish this, the docu- mentation explains how to cre- ate combination files in which each point size can represent a different font. Us- ing this method, you could have as many as seven dif- ferent fonts in each of seven different combination files on a single disk.

The Editor screen itself is quite similar to one in the lat- est version of geoFont. The Edit menu and Stash/Fetch options are present, as are all the editing icons. Font Ed- itor adds options to reverse and mirror the character you are working on.

Other unique features in- clude Left Justify and Steal Character options; the latter lets you grab the current char- acter from any font on the disk. You can even insert or delete any selected vertical column within the edit box. For those who desire it, the editor also has a separate Mega Font mode for use with geoPublish.

Another feature that | like very much is Preview. This op- tion eliminates returning to deskTop and then entering geoWrite to check your font creation in its entirety.

If all these features aren't enough, there is a Font Grab- ber that will convert many non-GEOS fonts to GEOS for- mat. Last, but not least, a Font Changer is included that will scan your geoWrite files and replace all occur- rences of a selected font with any other font.

Be careful not to quit the editor without first selecting Save from the File menu. Sav- ing is not automatic as it is in geoFont. However, in most cases, the program will warn you of this if you forget.

Version 2.5 of this excel- lent program is part of

G-12 COMPUTE FEBRUARY/MARCH 1992

GEOS Font Collection 2 which includes an informa- tive manual and a collection of over 20 new fonts. Version 2.2, which lacks some of the features described above, can be downloaded from QuantumLink. The share- ware fee is $10.

ROBERT NELLIST

Commodore 64 or 128—$21.50

COMM-PLEX SOFTWARE

6782 Junction Rd.

Pavilion, NY 14525

Circle Reader Service Number 310

GEOSTAMP

Talk about conflicting emo- tions! I've always wanted to get my preschooler interest- ed in using the computer. So after I'd spent a half-hour play- ing around with this new geo- Paintutility called geoStamp, | called her away from the tel- evision.

| loaded up Stamp Collec- tion for her, a file that comes with the program and con- tains 30 assorted graphics, such as cartoon faces, cars, and so on. | then showed her how to scroll through the im- ages in a window at the bot- tom of the geoPaint screen and choose one to stamp.

She took to it instantly, choosing the goofiest faces. (“A clown, Dad. Look at the clown!") | turned her loose, and she started clicking the mouse and stamping herself a screen full of pictures.

She hadn't a clue about the more advanced details of the program. She didn't care that she could position the graphics image with ex- treme precision using the cur- sor keys. Nor was she im- pressed with the fact that seeing a graphic as she plac- ed it allowed for the perfect juxtaposition of images.

| immediately saw that these features would be

great for making borders, something geoPaint is not very good at. | suggested that she try it, but she paid no attention—she just kept choosing pictures and stamp- ing them all over the page.

Since the computer was occupied, | read through the documentation that | had printed from the geoWrite file on disk. It explained one or two of the features that | hadn't been able to figure out for myself, as well as clu- ing me in to the fact that eve- rything is keyboard activat- ed. Everything, even the Quit option, is controlled by a sin- gle keypress, which makes operation easy.

The documentation also suggested an interesting trick called painting, which would happen if you held the button down while moving the mouse. The stamp func- tion repeats, so if you slowly move the image as it repeat- edly stamps, the image will smear across the screen.

| glanced up and saw that my daughter had discov- ered this on her own. The screen was beginning to fill with a jumble of images. So | used the key command that turned off the transpar- ent layering and set geo- Stamp to replace the image below it when it stamped. This suited her haphazard style and kept everything identifiable, She still wasn't in- terested in doing borders.

Later, | let a ten-year-old neighbor kid have a try, and she chose a border stamp file and proceeded to prove my suppositions correct. The fact that you can see exactly what you're doing when you Position the image makes it a breeze to line up the piec- es. She used several of the cartoonlike graphics along with the normal geoPaint drawing tools to create a nice card for her mother. |

TODAY?S WEATHER CURRENT _

TEMP

21 DISPLAY wz. OPTIONS ‘°°

8 FONTS 16 COLORS 135 PAGES si

FoR COMMODORE64 W/ 154lonive Also uns on the 128 (in 64 modo) $34* * Step-by-Step User Guide * Instructions for VCR/Computer hook-up * High-impact disk case

Includes: * C64 Disk * Back-up Disk * Demo Disk

PRODUCTION SOUND EFF! Trains, planes, machinery, fire, birds, water, thunder, animals, swamp, gunfire, electrical, explosions. and many more (OVER 60 in all) H Recorded & produced on one tape in STEREO C60 Cassette (W/Index list). $995

Sous HTErs.

a. 30503

S

= MONEY

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

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

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

Big Blue Reader 128/64 Read & Write IBM PC Disks!

Big Blue Reader 128/64 is a fast, easy-to-use, menu driven program for novice and expert alike. Transfers word processing, text, ASCII, and binary files between Commodore 64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks. Includes both C64 & C128 programs. Requires 1571 or 1581 Disk Drive. Does not work using 1541. BBR 128 Version 3.1 upgrade, $18+ original BBR disk.

Big Blue Reader 128/64 only $44.95

Bible Search 3.2

The only C64/128 Bible Program With: 1. The Entire Old and New Testament on (4) 1541/71 or (2) 1581 disks. 2. An Exhaustive English Concordance on (2) 1541/71 or (1) 1581 disks; includes more than 700,000+ references. 3. Incredible five (5) second look-up time, per/word, per/ disk. 4. Instant, automatic spell checking of more than 12,800 words. 5. Boolean search options, including AND, OR & NOT logic. 6. Search entire Bible in 5 seconds with 1581 or Hard Drive (v3.52). 7. A Money Back Guarantee! Includes: Easy-to-use, C64 and C128 (40/80 column) programs; printer and disk output; users guide, disk case, and more. Available on (7) 1541/71, or (4) 1581 disks. (Gospel Demo $5) KJV $49.95 vevedeveve NIV $59.95 *@ Any questions? Call or write for more information. Also Available! AMIGA, Bible Search

Order by check, money order, or COD. US Funds only. FREE shipping in North America. No Credit Card orders. Foreign orders add $5 S/H ($10 whole Bible)

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 OVisa Acct. No. Exp. Date Signature (Required) Name Address City State/ ZIP/ Province Postal Code

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.

91 Gazette Index

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

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

joystick, or mouse control. Features in-

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

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

ORDER YOUR 1991 GAZETTE INDEX TODAY!

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

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

1991 Gazette Index

324 West Wendover Avenue Suite 200

Greensboro, NC 27408

*Please add $2 shipping & handling ($5 foreign) for each disk (residents of NC, NJ, NY please add appli-

cable sales tax; Canadian orders, add 7% goods and services tax)

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

printed it for her on pink construction pa- per. This program wins converts fast!

| wanted to try the other utilities on the geoStamp disk, so | bullied my way to the keyboard. | spent a little time in Stamp Edit and made a small file of my own artwork. | was delighted to discov- er that the cursor draws only while the button is held down, a natural way for me to work. Even so, my artwork wasn't much to look at.

To come up with some better stamps, | opened Stamp Collect, a func- tion which grabs stamp-sized chunks of bitmap to fill a stamp file. This nifty desk accessory, working along with geo- Stamp itself, provides a precise cut-and- paste routine for geoPaint. The size of a stamp image is limited to 48 x 32 pix- els, however, much less than the size of, say, a graphic from The Print Shop. Fortunately, stamps can be placed so precisely that you can cut sections of bitmap and accurately paste them back together to create larger images.

This utility isn't just a great way for kids to create instant masterpieces; it's a first-rate graphics tool any geoArtist won't want to be without. | was using it with 80-column geoPaint on my 128, but it also works elegantly on the 64.

David Ferguson, the creator of geo- Stamp, is no stranger to the world of GEOS. He has worked on making geo-

Stamp as compatible as possible with the latest GEOS software, from geoWiz- ard to the yet-to-be-released geoCan- vas. Where geoStamp isn’t compatible, Ferguson warns and explains why.

Some potential pitfalls are unavoida- ble. There is no way, for instance, for geoStamp to know if you're actually in geoPaint when you select it from the desk accessory menu. If you're some- where else in GEOS, on the deskTop for example, the geoStamp windows ap- pear on the screen, out attempts to use the tools will be ineffectual at best and catastrophic at worst. This eventuality is clearly warned against in the pro- gram's documentation.

| finally closed geoPaint and headed into geoWrite to start this review. | had barely begun when | felt a tug at my sleeve. My daughter was standing there holding the printout from the last time she'd been stamping. She grabbed the mouse and said brightly, “| wanna stamp the clowns, Dad!”

| may have to write this review with Paper and pencil. STEVE VANDER ARK

Commodore 64 and 128—$13.95

QUINCY SOFTWORKS 9479 E. Whitmore Ave Hughson, CA 95326-9745

Circle Reader Service Number 311 im]

Commopore 64

PusBLic DomaIN

Highest Quality Since 1987* Games, Education, Business, Utilities, Print Shop, Music, Graphics & More. As low as 90¢ per collection. 1 stamp for complete catalog

or $2.00 for catalog AND 30 sample programs (refundable). 24 hour shipping. 64 DISK CONNECTION 4291 Holland Rd., Suite 562 C + Virginia Beach, VA 23452 (* Formerly RVH Publications)

Circle Reader Service Number 178

THE BASEBALL DATABASE

e LET YOUR COMPUTER KEEP TRACK OF YOUR TEAM’S BASEBALL STATS !

EASY TO USE * COMPREHENSIVE $49.95 APPLE lle/Iic/IIGS DETAILED PRINTED REPORTS $39.95 COMMODORE 64/128 Add $2.50 shipping & handling; 15 day money back guarantee. VISA/MC/check ‘oy MO: Program specs & details available upon request JACOBSEN SOFTWARE DESIGNS Attn: Order - CPG 1590 E. 43rd Ave.. Eugene. Oregon 97405 Phone: (503) 343-8030

Put Our List On Your List

Our list is the Consumer Information Catalog. It’s free and lists more than 200 helpful government booklets. So send for the free Catalog. It’s the thing to

do. Write: Consumer Information Center, Dept. LL, Pueblo, CO 81009 GOA A public service of this publication and the Consumer Information Center of the U.S. General Services Administration

PUMP UP

YOUR PRODUCTIVITY!

Harness the potential of your, Tis Gaxetie Srappers 64 and 128 with these ae

Do it all with Commodore

rf | graphics! powe U pr ogr ams. Here's what's on it- Get more work out of your 64 and 128 Se ee eal with these two new disk products from 128 Graphics Compactor,

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

ORDER THEM TODAY!

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

the Gazette Graphics Grab Bag!

The 1992 Best of Gazette Utilities

Seize control of your operating system and your world!

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

Estene) Your computes) Fowen With This Powerful software!

ecnceer or Money Gite MasterCard VISA | want to pump up my productivity! Please send me the

@ disks checked below at $11.95 each. Credit Card No. Exp. Date Signature ___The 1992 Best of Gazette Utilities : (Required) | __ The Gazette Graphics Grab Bag Daytime Telephone No. | —— Subtotal Nama __ 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.) State/Province ZIP/Postal Code

| __ Total Enclosed

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

Commodore owners in Sweden who stick

to their 8-bit machines

fend to be serious users.

WORLD VIEW

Anders Reutersward

VIEW FROM SWEDEN

Greetings from faroff Sweden, the land where the sun never sets, polar bears roam the streets, and no one has ever heard of computers. Jokes aside, for those of you who don't know, Sweden—not to be confused with Switzer- land—is a small democratic country in northern Europe. There are some 8 million people in Sweden, and during the years that Commodores have been on sale in the Swed- ish market, around 230,000 people have bought 64s and 25,000 have purchased 128s. How many of these are still in use is not known, but about 23 percent of the readers of the largest (and only) Commodore- specific magazine in the coun- try are 64 users, which amounts to 45,000. An educat- ed guess would be that at least 50,000 people still use 64s and another 10,000 use 128s in one way or other. The 64 dominated the home computer world in Swe- den for many years. There used to be several Commo- dore magazines, and every home computer publication de- voted some of its pages to the 64 and 128. Real hackers, of course, used the 64. Computer shops and mail- order houses all over the coun- try sold Commodore ma- chines, peripherals, games, and productivity software. Most of these products were imported; very little was pro- duced in Sweden. The home market bloomed, and every kid wanted a 64 for Christmas. Of course, other computers were represented, but none of them had anywhere near the success of the Commodore. Since the introduction of the Amiga, however, that comput- er has almost taken over the Commodore market. Sales of

G-+16 COMPUTE FEBRUARY/MARCH 1992

Commodore 8-bit peripherals and software have dwindled to almost nothing. The 64 and 1541-II disk drive can still be found in larger toy stores in the major cities, and they still sell. But no computer store that wants to keep its reputa- tion and good name will touch them with a ten-foot joystick.

Commodore mounted a stand against the game con- soles with its 64-GS, but has not been successful. The 64- GS is just a 64 with a stripped circuit board, a cartridge port on top, and no keyboard. Less than 30,000 of these con- soles have been sold in all of Europe, and now production has been discontinued. It did bring about one good thing, though. Quite a few 64 games have appeared on cartridge.

Today, there's only one Com- modore-dedicated magazine in Sweden, DatorMagazin. (Dater means computer in Swedish.) Even this magazine is mostly Amiga, with no more than a fifth of its contents ded- icated to 8-bit material. For- eign magazines can still be found, the German 64’er, some British magazines, and two American magazines, of which COMPUTE is one.

The mail-order houses, which owe much of their suc- cess to the 64, hardly mention it now. Some still market the more successful game titles, and their advertisements for used equipment are filled with trusty old 64s and 128s.

These are sad times for us enthusiasts who stubbornly re- fuse to give up our old comput- ers. Then who are the diehards? The trend seems to indicate that the people stick- ing to the 8-bit machines are serious users who fall into two categories: people who have found that the 64/128 is all they need in a home comput- er or machine language pro- grammers who think that 6502 code is the height of creation.

The former are most often us- ers without much knowledge of programming, and the latter most certainly have other com- puters as well.

Also, | think the average age of Commodore 8-bit users has risen. The game-playing youngsters all have Amigas or Nintendos. This theory is sup- ported by the fact that | get a lot of correspondence on my favorite subject, GEOS, from people who are 30 years old and up; the oldest are well past retirement age.

Until recently, the only way to obtain good hardware and software was to import it direct- ly from foreign companies. Sources are available in near- by Germany, in Britain, and, of course, in the United States. | myself have purchased CMD's hard drive, RAMLink, and various pieces of software in this way. But the procedure is complicated. It involves trans- ferring money and dealing with customs, and additional costs such as freight charges, fees, taxes and customs du- ties can be quite high. This turns less energetic people off, leaving them simply to read and dream about Commo- dore products advertised in for- eign magazines.

Lately, however, help has ar- rived in the form of small ded- icated companies run by en- thusiasts out of their own homes. These little mail-order firms all seem to have ap- peared at about the same time, probably stemming from a feeling of necessity on the part of their owners to provide for their fellow Commodore 8- bitters—and maybe to make a little money at the same time.

So, there you have the situ- ation in short. It's not yet des- perate, but it could soon be. After all, we're using a ma- Chine that has long been pro- claimed dead. But, as for many of us, we know that eight bits are enough! a

| U.S. FUNDS ONLY!

SEIT ES

PO Box 542 2 Lindenhurst NY 11757-0542 (516)-957-1110 |

SPECIAL # 1: 6 DISK SET FOR ONLY $5.00

#1: THE ART GALLERY - Beautiful Hi-Res Artwork

#2: STAR TREK-Games, Pictures & Music from Star Trek

#3: ARCADE CLASSICS- Same aid favorites. A+ Quality

#4; GBOS CLIP ART - Semple disk *GBOSNEEDED! |

#5: BEATLES MUSIC - 32 Beatles greatest hits with words.

#6: HOME WORKER - Processor, Checkbook, Budget+more | |

SPECIAL #2: 6 DISK SET FOR ONLY $ 10.00)

#1: ADULT SHOW #1- Hi-Res Adult pictures #2: ADULT SHOW #2- Hi-Res Adult pictures #3: ADULT SHOW #3- Hi-Res Adult pictures | #4: ADULT SHOW #4- Hi-Res Adult pictures | #5: ADULT SHOW #5- Sexy-Hexy pictures | #6: GAMES & PICTURES DISK - Demos SexGemes+more|

YOU MUST STATE THAT YOU ARE 18 YEARS OLD FOR THISSET!|

SORRY NO C.0.D.’S ACOPY OF OUR 1200+ DISK CATALOG WILL BE SENT WITH ALL ORDERS! OR CALL OUR OFFICE TO RECEIVE ONE FREE MONDAY-FRIDAY 10:00AM TO 5:00PM EST |

ADD $2.00 SHIPPING FOR TOTAL ORDER | |

Circle Reader Service Number 162

$25 .°° pius parts Send computer* or drive with name, ad- dress, phone, & describe problem. We'll call with parts estimate, then repair and return to you insured by UPS. Payment can be COD or VISA. M/C. Minimum

TYCOM Inc.

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

charge, estimate only is $20. * Include power supply.

503 East St. Dept. C Pittsfield, MA 01201

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

to those 18 or over. 021MU_ SID MUSIC UTILITIES 019GR_ PRINTSHOP UTILITIES O19ED JR HIGH EDUCATION 062ED HIGH SCHOOL EDUC. 033ED TYPING /SPANISH 031ED COMPUTER SCIENCE O10UT PIRATES TOOLBOX 119GA FOREIGN ARCADE 022GA CASINO-BOARD GAMES| 021GE GEOS FONTS 002MS LOTTERY PROGRAMS 003MS COLLECTORS CORNER

Circle Reader Service Number 204

Choose 6 for $5.00 LIMITED OFFER

AUTHORIZED COMMODORE | SERVICE CENTER Tg ee | 90 DAY WARRANTY | ON ALL REPAIRS

(413) 442-9771

Circle Reader Service Number 124

gets 4 free disks of your cholce. NEXT DAY SHIPPING!

C64/128 PUBLIC DOMAIN SOFTWARE REQUEST FREE CATALOG or send $2 for sample disk and catalog (RE- FUNDABLE). Categories 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

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

SINCE 1986

VISA.

=a

Circle Reader Service Number 205

FLAT RATES

C64 $40 C128 $55 C128D $65 1541 & 1571 DRIVES $50 Power Supply, Heads & Motors not included.

AUTHORIZED COMMODORE SERVICE CENTER

2120 West Main; Suite #7 Rapid City, SD 57702 (605) 348-8333

We pay cash for used Commodore equipment (regardless of condition),

AMIGA, PCs, Peripherals

A500, 1000, 2000, 3000 & Comm. PCs $60, Comm. Printers & Monitors $45. Figure $15-$45 Parts.

Commodore Repair Services 24 hour Turnaround

‘Commodoss In- +1541 $45.00+ cis: 128 575, 00* « “1571 $64.95 co “SX64 $75.00

Send Computer or drive with your name, address , phone number and a discription of the problem ached

Circle Reader Service Number 213

Manton 335.

Can Your Computer Make

You

C $1,000,000? WITH LOTTERY PC YOUR NEXT TICKET

OMe COULD BE WORTH MILLIONS!

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

Join the growing list of winners using our system.

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

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

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

(Iinois residents add 6% sales ae

(Grders outside North America add $3.00)

C.O.D. orders call: (708) 566-4647

Superior Micro Systems, Inc. aS 26151 N. Oak Ave.

Mundelein, IL 60060

Circle Reader Service Number 221

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

1-800-CALL-EDF moO Bl

Play a mind-boggling guessing

game, and learn how to

program in machine language at

the same time.

MACHINE LANGUAGE

Jim Butterfield

BAGELS: A MACHINE LANGUAGE GAME

BAGELS is a simple code- guessing game. The object is to guess a secret combination of four items, each of which might be any of six choices— one of six colors, for example, or a character in the range from A to F. After each guess you are told how many items matched exactly and how many others matched but were in the wrong place.

We will go over the contents of the machine language part of the game and then write the game in BASIC. BASIC will gen- erate the secret code, poke it into memory, and then call the machine language program that will accept guesses and report results. The ML pro- gram won't count guesses; that option would be easy to add, though, as would a “give up" option for use when the player is stuck. The machine language code is poked into the area starting at hexadeci- mal 2000 (decimal 8192).

The program assumes that the secret key has been poked into addresses $2200 to $2203 in ASCII format. The assembler names this area KEY and sets aside the next four bytes for CKEY, an extra copy of the secret key. Anoth- er four bytes are allocated for GUESS, the user's guess. From that point on, three sin- gle-byte work addresses are set aside: XSAVE, a temporary save area; EXACT, the count- er for exact matches; and MATCH, the counter for other matches. The assembler code looks like this:

KEY = $2200 CKEY = KEY+4 GUESS = CKEY+4 XSAVE = GUESS+4 EXACT = XSAVE+1

G-18 COMPUTE FEBRUARY/MARCH 1992

MATCH = EXACT+1

Now you want to print the prompt to the user on the com- puter monitor.

TOP _LDX #$0 PLOOP LDA PROMPT,X JSR $FFD2 INX CPX #PRLEN BNE PLOOP

The next branch is curious: It will never be taken by the code passing through here! If the Z flag were clear, the pre- vious instruction (BNE PLOOP) would have branched. Why is it there? To allow the program to branch back to the top for another guess. Branch instructions have a limited reach, so |'ve set up a double hop.

MID BNE TOP

Now you input a guess from the user. The GET call, $FFE4, allows us to read the character directly from the key- board. Only if it's in the right range—from A to F—will you accept it and echo it to the screen. As you set up the X register to count the input char- acters, you also clear the EX- ACT and MATCH counters.

LDX #0 STX EXACT STX MATCH

Here comes our input loop. You must save X before a call to $FFE4 and bring it back afterward. Then you con- firm that you have a character from A (ASCII $41, 65 deci- mal) to F (ASCII $46, 70 deci- mal).

INLOOP STX XSAVE JSR $FFE4 LDX XSAVE CMP #$41

BCC INLOOP

CMP #$47 BCS INLOOP

Echo the character; then do the EXACT test right away. If you find @ match, throw away the guess (it's counted); other- wise, store the guess and copy the corresponding se- cret character to area CKEY for further testing.

JSR $FFD2 LDY KEY,X CMP KEY,X BNE NOTEX INC EXACT LDA #0

LDY #1

STA GUESS,X TYA

STA CKEY,X

NOTEX

Now test how far you've gone. If you haven't received four characters yet, loop back and go through the rou- tine again.

INX CPX #4 BNE INLOOP

Now you must look for the oth- er matches. For this you need a nested loop: one loop to scan the guesses and the other loop toscan the CKEY text.

LDX #0 SCANGS LDA GUESS,X

LDY #0 SCANCK CMP CKEY,Y

BNE NOMATCH

If you find a match, count it. You must destroy the key item so that you don't count it again and then skip directly to the next guess character.

INC MATCH

LDA #1

STA CKEY,Y BPL NEXTX

INY

CPY #4

BNE SCANCK

NOMATCH

NEXTX

COMPUTE’s

SpeedScript Disk

A powerful word processing package for Commodore 64

and 128 owners

A Great Deal for Commodore

* SpeedScript for the 64 * SpeedScript 128—80-column version

* Spelling checkers ¢ Mail merge

¢ Date-and-time stamp

* 80-column preview for the 64

* Turbo save and load

* Plus more than a dozen other SpeedScript

l yes! Send me

| SpeedScript Disk.

copies of COMPUTE'’s

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

| airmail.)

| ORDER NOW!

support utilities all on one disk (including

full documentation)

Address City

Amount Sales Tax* Total

State

Mail personal check or money order to

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

% good and services tax.

| Residents of North Carolina and New York, add appropriate tax for your area Canadian orders, add 7?

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

INX CPX #4 BNE SCANGS

Our counting is complete. Print the results with a lead- ing space for the sake of neatness. Values for EXACT and MATCH need to be con- verted to ASCII for printing, and you keep a copy of EX- ACT in Y for a later test.

LDA #$20 JSR SFFD2 LDY EXACT TYA

ORA #$30 JSR SFFD2 LDA MATCH ORA #$30 JSR SFFD2

Print a carriage return to com- plete the line. Then test to see if EXACT has a value of 4. If so, you have correctly guessed the secret combina- tion and may exit to BASIC. Otherwise, you loop back (via MID) for another guess.

LDA #$0D

JSR S$FFD2 CPY #4 BNE MID RTS

To complete the code, here's our prompt and a cal- culation of its length.

PROMPT .ASC ‘GUESS: PRLEN = *-PROMPT

Here's the BASIC driver for program BAGELS.

90 REM: HEX 2200 IS DECIMAL 08704

100 DATA 162,0,189,134,32,32

110 DATA 210,255,232,224,7

120 DATA 208,245,208,241

130 DATA 162,0,142,13,34

140 DATA 142,14,34,142,12

150 DATA 34,32,228,255,174

160 DATA 12,34,201,65,144

170 DATA 243,201,71,176

180 DATA 239,32,210,255

190 DATA 188,0,34,221,0

200 DATA 34,208,7,238,13

210 DATA 34,169,0,160,1,157

220 DATA 8,34,152,157,4,34

230 DATA 232,224,4,208,209

240 DATA 162,0,189,8,34,160,0

250 DATA 217,4,34,208,10,238

260 DATA 14,34,169,1,153,4,34 270 DATA 16,5,200,192,4,208 280 DATA 236,232,224,4,208 290 DATA 226,169,32,32,210 300 DATA 255,172,13,34,152 310 DATA 9,48,32,210,255,173 320 DATA 14,34,9,48,32,210 330 DATA 255,169,13,32,210 340 DATA 255,192,4,208,136,96 350 DATA 71,85,69,83,83,58,32 400 FOR J=8192 TO 8332

410 READ X:T=T+X

420 POKE J,X

430 NEXT J

440 IF T<>16032 THEN STOP 500 X=RND(0)

510 PRINT

520 PRINT CHR$(32)+‘GUESS 4 SECRET LETTERS, A TO F”

600 REM PUT RANDOM LETTERS INTO 8704-7 (HEX 2200-2203)

610 FOR J=8704 TO 8707

620 POKE J,65+RND(0)*6

630 NEXT J

640 PRINT"... .. "4CHRS(32)+". (32)+"EM”

650 SYS 8192

660 INPUT “PLAY AGAIN”:Z$

670 IF 2$="Y" OR ZS="YES” GOTO 510 a)

."+CHRS

stamped envelope.

TYPING AIDS

MLX, our machine language entry program for the 64 and 128, and The Automatic Proofreader are utilities that help you type in Gazette programs without making mistakes. To make room for more programs, we no longer include these labor-saving utilities in every issue, but they can be found on each Gazette Disk and are printed in all issues of Gazette through June 1990.

If you don't have access to a back issue or to one of our disks, write to us, and we'll send you free copies of both of these handy programs. We'll also include instructions on how to type in Gazette programs. Please enclose a self-addressed,

Write to Typing Aids, COMPUTE's Gazette, 324 West Wen- dover Avenue, Suite 200, Greensboro, North Carolina 27408.

FEBRUARY/MARCH 1992 COMPUTE G-19

Create a special card for

your valentine this year—

with a little help from GEOS.

GEOS

aS EE

Steve Vander Ark

CREATE THE VERY BEST

Happy Valentine's Day. Time to think about buying a few cards, but at this time of year, there's no such thing as a few cards. Once you get rolling, you could spend enough on valentines to finance a small war. They sell cards for any- one and everyone: kids, par- ents, grandparents, friends, coworkers—you name it. If you try to buy cards for eve- rybody, you can kiss that RAM- Link you've been saving for good-bye.

Valentine's Day is an occa- sion where The Print Shop can pay for itself. Print Shop graph- ics may be humdrum, and its font selection sparse, but it does know how to make a card. Print Shop controls your choices to the point where it's almost impossible for you to fail. It limits how many graph- ics you can use and where you can put them, the location of text and the possible sizes and styles, and so on. As are- sult, your cards will pretty much look like they were, well, made with Print Shop. This is desktop publishing for the masses; it's so user-friendly that any semiambitious seven- year-old can do it.

That's OK, but I'd rather work on a more adult level. I'm used to putting text and graph- ics where | want them, not where my software wants them. | don't like using graph- ics that are all the same size or can be sized in just a few limited ways. If | publish some- thing from my desktop, | want the freedom that GEOS gives me to put what | want wherev- er and however | want it—in patterns, in boxes, piled up, stretched out. And | want the whole thing to run smoothly and easily. The Print Shop was designed for making cards, but geoPublish and geoPaint

G-20 COMPUTE FEBRUARY/MARCH 1992

weren't. As we've all learned in Print Shop 101, you take a single sheet of printer paper and fold it into quarters to cre- ate a greeting card format. In order for each panel on the card to be right side up when folded, two panels have to be printed upside down on the page, and as Shakespeare sort of says, there lies the rub. With Print Shop, this is all ina day's work; for GEOS, it's a lot of fuss and bother. Everything you place in those inverted panels has to be flipped and clipped in geo- Paint, since you can't invert in geoPublish. Even working from RAM, all this cutting and pasting takes time. Also, if you lay out your designs in geo- Paint, you lose all the creative benefits of the object-oriented graphics in geoPublish. There are a few tips worth noting when making cards with GEOS. If you can feed sin- gle sheets of paper into your printer, for instance, you can invert the pages manually in- stead of trying to convince geo- Publish and geoPaint to flip the images for you. The four panels that make up a card are printed on the same side of a single sheet of paper, with the top two panels invert- ed in relation to the bottom two panels. You simply create a card as two geoPublish pag- es printed on the same sheet of paper, with each page con- sisting of two panels in the low- er half of the page. The pan- els on the first page would be the front cover and the back cover; the second page would consist of the inside left and the inside right panels. Feed a sheet of paper into your printer, set the GEOS print dialog box for single- page printing, and when GEOS finishes page 1 and asks for the next sheet, invert the same sheet of paper and feed it back into the printer. You may have to experiment

to get the placement right.

As long as you're using sin- gle-sheet mode, you may want to consider using con- struction paper. | know this won't make flipping graphics any easier, but it will improve the appearance of the final Printout. When the ink hits the porous surface, it soaks in and blurs just a little, which helps to hide the jaggies. Construc- tion paper also has the advan- tage of being available in a wide variety of colors. You may be pleasantly surprised by how nice your printout will look this way.

It's still a hassle to do all the fussing around, Sometimes it's nice to have some of the work done for you, which is why The Print Shop is so handy, There's also a program called geoPrint, by Roger Lawhorn ($19.50 from Geoprinters, P.O, Box 792, New Albany, In- diana 47150), which com- bines the convenience of The Print Shop with the versatility of geoPaint. This program takes the graphics you create within specified areas of a geo- Paint template and prints them, enlarged and in the prop- er places, to make a card.

You can even leave the card making to someone else if you like. Susan Lamb (geoStore, 3575 East County 18th Street, Yuma, Arizona 85365), whose excellent graph- ics packages were discussed in this column in December, has two Card Maker disks avail- able which include ready- made cards, files of graphics, and an assortment of decora- tive fonts. The templates and graphic bits and pieces on these disks let you geoPublish a card rapidly, especially since some of her clip art comes already flipped.

So why bore everyone with the same old Print Shop cards? When you care enough to create the very best—create it with GEOS! 0

The Gazette

Productivity

Manager

(Formerly PowerPak)

Harness the productivity power of your 64 or 128!

Turn your Commodore into

a powerful workhorse, keep track of finances, generate reports

in a snap, manage your money in minutes—

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

GemCalc 64 & 128—

A complete, powerful, user-

friendly spreadsheet with all the features you’d expect in an expensive commercial package (separate 64 and 128 versions are included).

Most commands can be performed with a single keypress!

Memo Card—Unleashes the power of a full-blown database without the fuss! Nothing’s easier—it’s a truly simple computerized address file. Just type in your data on any one of the index cards. Need to edit? Just use the standard Commodore editing keys. Finished? Just save the data to floppy. What could be easier?

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

DON’T MISS OUT ON THIS POWERFUL WORKHORSE!

ORDER YOUR 1991 GAZETTE PRODUCTIVITY MANAGER TODAY!

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

CYES! 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.) —_—_— Total Enclosed __ Check or Money Order MasterCard VISA

Credit Card No,

Signature

(Required) Daytime Telephone No.

Name

Address

City State/ Province

up/ Postal Code

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

Abandon your desktop

computers and replace

them with invisible ones embedded

in walls and floors.

D'IVERSIONS

ES LEE PE ST

Fred D'lgnazio

THE COMPUTER CHAMELEON

Forty years ago, computers were barn-sized behemoths. They ran on electromagnetic switches that sounded like knit- ting needles clicking and clack- ing. A decade later, they were still gargantuan machines, lat- ticed with tens of thousands of hot, glowing vacuum tubes the size of pickles.

Early computers didn't just occupy aroom or a floor; they were stories high. To visit a computer, you walked down corridors lined with incandes- cent tube racks that stretched from floor to ceiling. You felt like Jonah in the pulsating, flu- orescent belly of a whale.

Then came transistors. They took over the crucial job of switching digital bits on and off, The evolution accelerated at the end of the 1950s when engineers invented the integrat- ed circuit and squeezed doz- ens of transistors onto a corn- flake-sized chip.

Transistors began to shrink. More and more of them could be packed, sardi- nelike, onto a single chip: hun- dreds, thousands, eventually millions of them. As transistors shrank, so did computers. They have diminished from the size of a room to that of a desk, to a notebook, to a cred- it card, and now a watch.

Recently, IBM demonstrat- ed the world's smallest transis- tor: two atoms. This transistor works only in a laboratory, in- side a tank whose tempera- ture approaches absolute ze- ro, but the idea of a two-atom transistor has electrified the imagination of computer de- signers. They dream of comput- ers the size of molecules.

There's a name for this Lilli- putian wizardry: nanotechnol- ogy. To comprehend the im- pact of nanotechnology, imag- ine a world where computers

G-22 COMPUTE FEBRUARY/MARCH 1992

are everywhere, yet smaller than a snowflake, a mote of dust, or a grain of sand.

Unfortunately, nanotechnol- ogy won't become part of our everyday world until the twen- ty-first century. Meanwhile, I'm at work in my multimedia class- room at East Lansing High School in Michigan, and the computers in my classroom are anything but tiny.

Desktop computers were conceived as data-process- ing appliances—streamlined successors to typewriters and file cabinets. But their size (or footprint) has always been an embarrassment. In today's of- fices they don't occupy a desk- top; they monopolize it.

In my multimedia class- room, it’s even worse. My “com- puter” there is comprised of a keyboard, monitor, CPU, hard disk, circuit-card chassis, las- er disc player, CD-ROM play- er, backup tape drive, televi- sion set, camcorder, VCR, tri- pod, switcher box, digital sound box, amplified speaker, scanner, still-image camera, paint-jet printer, and millions of cables—black cables, red ca- bles, skinny cables, fat ca- bles, python and boa constric- tor cables that snake across my desk and cascade across the floor in a labyrinthine mess of coaxial spaghetti.

Welcome to the world of computer multimedia. Wel- come, too, to a world that's got to change. Teachers who see my “classroom of the future” suddenly get the urge to climb out the window, quit teaching, or throw up.

Nanotechnology, we're ready. Please come and save us, Now!

We need computers and their hodgepodge of multime- dia peripherals to shrink dras- tically, or else desktops are go- ing to have to grow. Perhaps it's time to rethink what com- puters should look like and how people might use them.

Scientists at Xerox's Palo Alto Research Center are doing just that, and they've decided to abandon the desktop PC and replace it with invisible computers embedded in the walls, floors, and ceilings of fu- ture buildings, classrooms, and homes. If we can think be- yond desktops, scientists say, we can make the switch now, with today's technology.

In place of the desktop, our rooms will contain meeting ta- bles only. Office workers or stu- dents, with clipboard-sized portable computers that ac- cept spoken and pen input, will sit around tables, attend meetings, and work on com- mon projects. Their clipboards will all have radios to commu- nicate with each other and with central computers hidden in the walls. When a person needs to make a presentation or convey a message, he or she will press a button or issue a verbal command, the room will darken, and the walls in the room will become giant vid- e€0 screens to display text, di- agrams, photographs, anima- tions, and motion video.

A person's need for a desk- top will disappear because the desktop will travel with him, via the clipboard, The clip- board will function as a remote controller, or key, to retrieve all of the person's ideas, memos, papers, diagrams, or records stored in hidden central com- puters. At any time, in any room in the building (or in the world!), a person can recall an- ything from his or her virtual desktop and display it on any of the room's walls. Similarly, @ person can sit down and compose something new, us- ing the clipboard as a form of configurable touchscreen tab- let, yellow pad, keyboard, or drawing surface. The person's work can appear on the wall of any room, with sound being out- put from stereo speakers em- bedded in the furniture. i]

BEGINNER BASIC

Larry Cotton

FINISHING UP RND

This month we'll wind up our study of RND by finishing the Music Patterns program, which we left at line 170.

170 B=T(FND(X))

180 K=FNE(X)

190 P=FNC(X): H(1)=FNA(X)

200 Q=FNC(X): H(2)=FNA(X)

210 R=FNC(X): H(3)=FNA(X)

220 S=FNC(X): H(4)=FNA(X)

230 T=FNB(X): U=FNB(X): V=FNB(X): W=FNB(X)

These seven lines generate 14 random numbers in the ranges shown, which are then assigned to the 14 var- iables B, K, H(1), and so on. It's important to note that al- though the functions are de-

390 FORX=1TOS: POKEK,B: POKEK+C,W: POKEFR,H(4): POKEVC,VN: K=K+LO

The chart above may help ex- plain what's going on.

LI and LO were defined as 41 and 39, respectively, in line 100 last month. The value +41 will move the character poked to the screen one full screen row down and one character to the right. Like- wise, -39 will move the charac- ter one full screen row up and one character to the right. And so forth. Each of the above lines in turn executes a FOR-NEXT loop a random number of times, puts charac- ter B in screen position K, adds a color, pokes a frequen- cy to register FR, turns on

| Characters

Line Per Move Color Frequency Moves (toward)

| 240 Pp T H(1) +LI (lower right) =| | 290 Q U H(2) -LO (upper right)

| 340 R V H(3) -LI (upper left)

| 390 $ Ww H(4) +LO (lower left) |

fined in lines 20-60 (last month), they are executed in lines 170-230.

The pattern always starts in random position K with ran- dom character B. It then moves in four sequential diag- onal directions, in four ran- dom colors, and beeps in four random pitches.

Since the character always moves four ways, we'll study groups of four lines which do similar tasks. They aren't se- quential in the program. Here's the first group.

240 FORX=1TOP: POKEK,B: POKEK+C,T: POKEFR,H(1): POKEVC,VN: K=K+LI

290 FORX=1T0Q: POKEK,B: POKEK+C,U: POKEFR,H(2): POKEVC,VN: K=K-LO

340 FORX=1TOR: POKEK,B: POKEK+C,V: POKEFR,H(3): POKEVC,VN: K=K-LI

Voice 1 with a square wave, and, finally, increments or dec- rements the character's screen position.

The second task-oriented group of four lines, which fol- low the above four, simply checks to be sure the pattern isn't going offscreen (a sure- fire program crasher).

250 IFK>MATHEN280 300 IFK<MOTHEN240 350 IFK<MOTHEN380 400 IFK>MATHEN330

The four lines following those are somewhat more complicat- ed. They must each make a quick calculation to be sure that the planned diagonal row of characters will not go offscreen.

260 IF(K-MN)O-INT((K-MN)/ CO)=0THEN380

310 IF(K-MN)(CO-INT((K-MN)/ CO)=0THEN330

360 IF(K-SC)CO-INT((K-SC)/ CO)=0THEN280

410 IF(K-SC)CO-INT((K-SC)/ C0)=0THEN240

MA, MO, MN, and SC were de- termined experimentally for the most part, not only to keep characters onscreen, but also to make the patterns interesting when they do hit the borders. Notice that these last eight lines are safe- ty valves which interrupt the FOR-NEXT loops if particular conditions are met. It's not nor- mally a good idea to break out of FOR-NEXT loops, but in this short a program, we can get away with it.

The next group of four lines turns off Voice 1’s quick beep and continues the FOR- NEXT loop.

270 POKEVC,VO: NEXT 320 POKEVC,VO: NEXT 370 POKEVC,VO: NEXT 420 POKEVC,VO: NEXT: GOTO190

The GOTO190 is necessary to begin a new pattern.

The last group of lines looks at the keyboard for a press of the space bar, which indicates that the user is ready to see (and hear) a new pattern.

280 GETAS: IFAS=" "THEN 160

330 GETAS: IFAS=" "THEN 160

380 GETAS: IFAS="* "THEN 160

The customary fourth line isn't needed because the pattern is finished, and line 420 has sent program control back to line 190. Lines 430 and 440 contained the CHR$ data that was shown last month. You can run the program

now. Press the space bar for a

a new pattern.

This month we conclude

our study of

RND by

completing a program of

sound and graphics.

FEBRUARY/MARCH 1992 COMPUTE G-23

“Feedback” has long been

a favorite with readers.

It’s also a source of some great programming tips.

PROGRAMMER’S PAGE

Randy Thompson

“FEEDBACK” FLASHBACKS

What's your favorite Gazette column? Be truthful now; don't answer “Programmer's Page” just to be diplomatic.

If you're like the majority of our readers, your favorite col- umn is Feedback,” our letters section. A lot of work goes in- to producing "Feedback" and researching answers. It's been a part of the magazine since the very first issue of the old COMPUTE!’s Gazette.

In tribute to this venerable department, I've chosen to highlight a few of my favorite “Feedback” programming tips in this month's “Program- mer's Page.” These tips were all written by current or former COMPUTE staff members, namely Todd Heimarck, Rhett Anderson, Patrick Parish, Dale McBane, Troy Tucker, and me—just a few of the un- sung heroes of “Feedback.”

Short Format Recovery If you include an ID in your for- mat command, all files on a disk are erased. Formatting a disk without an ID (short for- matting) doesn't actually erase any files, so if you acci- dentally format a disk in this fashion, it's possible to recov- er most of your programs.

Unfortunately, the short for- mat command does erase sec- tor 1 of track 18, which con- tains information on where the first eight files are located on the disk. If you have a disk ed- itor, you may be able to search through every track and sector and find these eight files. Commodore DOS generally saves files closer to the center of the disk, so start by checking tracks 17 and 19, then 16 and 20, and so on.

The reason the directory is apparently wiped out is that the pointer to the next sector

G-24 COMPUTE FEBRUARY/MARCH 1992

of the directory has been erased. The following pro- gram fixes this link, thereby re- storing all but the first eight programs on the disk. It's pos- sible that the first program on the disk may also be restored and will appear on the direc- tory under the name ZZ. Load it and see if it works.

This is only a temporary fix, however. Once the directory has been partially restored, you should copy any pro- grams you may need to anoth- er disk and then reformat the original disk.

The program should only be used on disks which have been accidentally short format- ted, It does not work on a disk which has been fully for- matted (with an ID).

10 FOR A=1 TO 10; READB: A$=A$+CHRS$(B): NEXT: FOR A = 1 TO 14: A$=A$+CHR$(160): NEXT

20 DATA 0,3,21,18,4,130,17,0,90, 90

30 OPEN 1,8,15: OPEN2,8,2,"‘#0"

40 PRINT#1, “U1 20181”

50 PRINT#1, ““M-W" A$

60 PRINT#1,U2 20 18 1”

70 CLOSE2:CLOSE1

Noisy Random Numbers

Did you know that you can use Voice 3 of the SID chip as a random number genera- tor? The idea behind this is that since we can set voice 3 to make noise and since noise as produced by the com- puter is simply a succession of random frequencies, then the computer must be produc- ing random numbers some- where. Fortunately, we can read the register which holds these random numbers. Here's an example of how it can be done.

10 POKE 54287,255: POKE 54290,128: POKE 54296,128

20 PRINT PEEK(54299)

30 GOTO 20

This program prints random numbers until you press Stop. You may notice that all the random numbers lie be- tween 0 and 255. That's be- cause we're looking at ran- dom bytes, and bytes can on- ly hold values between 0 and 255. To get a random integer between 0 and 9, try this line of code instead.

20 PRINT INT(PEEK(54299)*10/ 256)

Reading the noise register is a technique sometimes used in machine language program- ming, but it's rarely seen in BA- SIC programs because BA- SIC has the more commonly used RND function for gener- ating random numbers.

Undocumented 128 Command You won't find BASIC 7.0's RREG command document- ed within Commodore's man- uals. It's not mentioned in ei- ther System Guide or Program- mer's Reference Guide, but this command does exist. RREG is followed by one or more variable names. (A, B, C, and D are suitable.) It puts the values of the accumulator and the X, Y, and processor status (P) registers into the variables. You can thus pass values from an ML program back to a BASIC program via RREG. You can also send val- ues in the other direction by adding up to four variables or values after a SYS statement. SYS 3072,A1,A2,15,2Z(5), for example, would put the val- ue of A1 into the accumulator, A2 into the X register, 15 into the Y register, and Z(5) into the processor status register. The equivalent procedure on the 64 can be accomplished by poking values into memo- ry locations 780-783 before you enter the SYS command and then peeking locations 780-783 after the machine lan- guage subroutine returns.

PROGRAMS

BALLOON CRAZY

Ligia Latino

You've always wanted to run away and join a circus, haven't you? Now here's your chance. You've been hired to assist aclown with his act. The object of Balloon Crazyis to help the clown burst all the bal- loons on the screen and advance to the next level. The only problem is that the magnets and green monsters will do all they can to stop you.

Getting Started

Balloon Crazy is written entirely in ma- chine language, but it loads and runs like a BASIC program. Use MLX, our machine language entry program to en- ter Balloon Crazy. See “Typing Aids” elsewhere in this section. When MLX prompts, respond with the following.

Starting address: 0801 Ending address: 1998

Playing the Game

Put a joystick in port two to play, and use the stick to move the clown's arm in all four directions. You may be sur- prised at how far his arm can stretch. Press the fire button to pull his arm back. He holds a knife that breaks the balloons, and it's also handy for deflat- ing any green monsters. Be careful, though. If a monster grabs your arm, you'll lose one life. You'll also lose a life if a magnet pulls the knife out of your hand. If a magnet approaches, you should move the knife to another row of balloons until it passes, or bet- ter yet, maneuver the knife around so you can touch the magnet on its back. This will cause it to disappear for about eight seconds.

Scoring

Each balloon you pop is worth 25 points, a dead monster is worth 50 points, and each magnet is worth 100 points. If you break all the balloons and move to another level, you'll receive an extra life. It's tough to finish off all the balloons, but not impossible.

Tips

When a magnet appears on the bot- tom row, touch its back and send it away as soon as possible. If you ig- nore it, it may catch up with a monster

making it impossible to stop them, or it may get you when you press the fire button to retrieve the clown's arm. The magnet always reappears in the row where the knife is located.

Beware of the second magnet that appears only when you move the knife to the top row. It moves very fast and will keep appearing until you move the knife out of that row. The best strategy here is to burst only one or two bal- loons at a time. The balloons at the cor- ners are the toughest to reach. To get them, you'll have to keep a close eye on the magnet.

Sometimes it's best to let the green monsters pass rather than killing them, especially if they move slowly. They always take about two seconds to reappear. Which means that if you kill one, it will be replaced in two sec- onds. If you let it go, however, it will cross the screen and disappear for two seconds before it comes back. This can give you much more time to break balloons at the top of the screen.

BALLOON CRAZY

G8 OG G6 GB 17 26 95 A3 @D 9D 8F 8D 12 DG 11 De 41 8D @3 Ad AQ 41 15 63 8D 8D AS 88 OB AG ag 16 20 AQ GF 8E 28 6B 13 AG 99 FL D7 GA AC 4D EG BD

36 GF Cr) 16 16 Ag 29 1A 6B DC Ag 8D 17 26 99 6B 13 26 Ag 13 8D 14 18 AE 18 36 16 8G co 93 78 62 De AE 7E 18

G8G1:0A 6899:31 9811:5B G819:03 G821:A2 @829:A9 @831:8D 9839:8D G841:A9 G849:15 G851:78 @859:8D @861:0E G869:03 O871:FF 9879:8B 9881:33 G889:06 9891:0F @899:8D G8A1: 06 G8A9:18 G8B1:95 G8B9:03 @8C1:0B G8C9:36 G@8D1:C9 G8D9:14 @8E1:8A G8E9:DG G@8F1:0E @8F9:64 G961:28 G969:28 G911:0F G919:A8

Uy) Ul) 5D 95 96 18 AD Ag 14 oo 8D 58 17 17 B9 F7 34 20 8D AQ OF A2 GA OB OF 69 E8 AQ 41 22 96 44 AD 4c 96 41

@921:A9 0929:0F G931:AE 0939:FG 0941:63 9949:BD 9951:28 g959:41 6961:93 G969:7E @971:7E G979:BD 9981:26 G989:22 g991:29 9999:55 @9A1:CD G9A9:EG 09B1:89 99B9:18 @9C1:A2

G9E9:99 @9F1:15 G9F924G GAG1:GA GAG9: 40 GA11:00 GA19:9D GA21:16 GA29:85 @A31:CE GA39:34 GA41:44 GA49:26 GAS1:GF GAS9:GA G@A61:4C GA69:0B GA71:39 GA79:FF GA81:17 GA89:04 GA91:0B @A99:6B GAA1:17 @AA9:A9 GAB1: 28 @AB9:DG GAC1: 6B GAC9:AD GAD1:32 GAD9:A9 GAE1:29 GAE9:GE @AF1:16 @AF9:7E @BG1:9D GBG9:CA @B11:96 GB19:4C @B21:90 6B29: 80 @B31:64 GB39:09 @B41:AD @B49:AD

20 99 22 3A 4c 7E Bo 18 4c 41 46 7E 18 OF 16 GA 12 FE 40 18 G8 F8 28 80 41 aly] ag 9D GA 68 48 27 Ag AA 35 oB gc D8 26 A2 Fl AQ 77 OB AA 26 FO Dg 18 61 2F 26 FO 31 oB gl 2F GE A2 76 28 16 FB 67 B4 ao 3c EE 19 15

CE GE ao 17 Ag 79 86 6B 9D BD EG BD 26 GE 4c DG FB 4c 86 ico) 18 GA 48 FC 48 AG 26 9D 69 18 9D 4B 31 OF 1F 20 GE i. A2 Gl 14 8B gc Ag 26 16 E9 21 @B 17 99 16 33 2F @B 17 69 96 68 oo 11 oo Lt) 5A B4 vy) Uy) FF 19 96

OF 34 29 96 22 6B BD 19 41 46 98 41 26 ao GA 69 Fl GA AA FO 99 4F 22 A8 G1 26 9D 4G 9D gc 40 26 Ag 93 80 GA G2 EE 26 64 8E 6B 16 26 GE B9 99 26 2B AQ 88 AD De 18 27 AQ 28 26 99 28 FE E4 ol OF Cr) Ct) 0G 4) A2 FG

FEBRUARY/MARCH 1992 COMPUTE G-25

PROGRAMS aT LE TS

9B51:2C 34 GB 16 16 BD 7 48 85 | gngi:Fg 2p AQ G3 9D 28 40 AD 7C A Beee osebaeuasiq= 0) 6790098018 | gneszae:snuaweamesy) 20)42,18 87 ll.arsorae ceccesss te oevoa' ceo 9D91:03 26 7D BE AO 8G 9D 78 CB | grci:78 Ad 33 85 G1 AO DB BD 23 GB69:FO 26 DE 66 46 DB 21 9D 88 | gng9:49 AO 64 26 31 BC AD G3 DC 9B71:60 40 DE 58 40 FO 06 FE F9 | gpai:85 A3 A9 FF 8D 33 GB 4C 38 ee ue x 38 a0 pa A a4 fe BES RAP Ue A CeO e SBE RDS Sas2—28!|l\oDA9 scl yapecewle xaDN DIDS AMD II gengiasi galing e7eacine oo ae C7 @B81:FG OB DE 78 46 Dd G6 26 A7 | gppi:95 85 a3 Ad 8G BD D7 GD BS | gFEiiDs Ee oe by oe OS GE BE a 9B89:6B 16 4C 91 BB 20 7D 16 67 | gpB9:8p 34 GB 4C C4 GD A2 GO GD | gFE9:g1 SBA? OU LL Doe aa @B91:CA 10 BS 34 OB 30 43 FB | gnci:ca 19 61 68 4c CA OC BD CE | oprisag 3E on CO Shen OL an ee 9B899:A2 87 AD 15 DB 3D 98 16 7C | goco:Fg EC 85 FD BD 2E 18 18 17 | gregine bo cr ee te De ohare Rone eeeE oe egece Lop 1026598) (apn i: 6904s soar eue aN OB NGORASNEE |inagiteruemtca son aac gather a8 94 Be SOE eee eal | nbd = 93020 1DREERAGE1ONAZHOCIBON Ig gtgal Gal eallsGheATRATKRCAG! OF BBs Ae oe Dg OO R sa COeAEG 29985)||/ 908-18 }200R9) ZERAS EE MADEGDICS || vara naltpatggtaahoneon on oN ea BBS BoE 20g CRETE Bee BD 3B | ODE9:26 1E AB AD G8 GE 18 69 FD |1919:2a 2a 2a 2A AG 86 G8 GO C7 : GDF1:31 26 D2 FF A2 FG 26 64 84 5 9BC9:46 BD G8 46 7D 38 40 9D SF | gprg:ga a9 93 4c D2 FF G5 4C AT rates ee a8 He ae ee oe Be Ee 9BD1:68 40 20 4B 16 CA 16 C2 73 | gegi:45 56 45 4c 26 23 6G OO 5a 1031:03 63 G0 66 3F G8 a8 a8 cS GBD9: 20 C8 GC! AS) 8d 8D) E408 5D) gegoz8C 6B GE 48 9A FOG4 98 45 |\1g39:08 gs gs oo oo Gs ua as 98 GBBT? AC £9) 18180 YA2/ 06) AD) 15939 ||(Ge11: 091/80) AB)i68! gC’ 59'/GE)/261 73 || agaysag Gs'Gal3F Fr ABUBE FB 86 OBE9:DG 3D 96 16 FG G9 BD 89 D2 | gE19:83 17 BO 4D 9D 8G 42 48 63 | 1949:FB BF AB FF FF AA BF FB F2 GBF1:42 29 G4 C9 64 FG G3 CA 45 | gE21:98 9D 88 42 68 AB BO 6D EC | 1951:FB BF AA FF 3F 2A 3F 3B 11 OBF9:10 EC 69 AS OG 2C AD G4 G2 | gE29:GE 9D 26 46 B9 75 GE 9D 19 | 1959:3B 3F 2A 3F BG 15 15 15 B3 BCO1:8D 28 BC BC 17 GC A2 G6 66 | gE31:28 40 AD GO 9D 30 40 9D 72 | 1961:15 15 15 15 BB 55 58 55 9A BCGI2AD 15 DB 3D 96 16 FG 12 FB | ge39:38 40 AD GB 9D GB 49 9D Cl | 1g69:55 55 15 15 15 15 15 15 BO GC11:BD 88 42 29 7F C9 GO DO F8 | gE41:16 46 AD 59 GE 10 GD 26 AB | 1971:15 15 69 GB 15 55 55 55 SF C19:09 BD 86 42 29 G4 C9 GB 46 | gE49:7D GE AI AD 9D GB 40 98 BD | 1979:55 55 GG GG GB 55 55 55 EE 9C21:FG 63 CA 16 E3 6G AE 22 EC | gesi:18 69 G8 A8 26 FE 15 A9 36 | 1ggi:55 55 GO GO GB GB G2 G2 A7 8C29:GF BD 7F 41 4A 4A AB 66 69 | GE59:06 GA GA GA GA GA 69 36 5B | 1989:9A GA 2A 2A 3B 3B 3F 3F 9D OC3P218/6D! 85175 8D) 86! 17) 98>4D 1091:3F 3F 3F OF G@ 6G G0 GG FO 9C39:03 EE @1,17 A9 80 8D 43 cD 1099:00 @3 GF GE FF FF FF FF 3D @C41:0C 66:60 'A2' 07 26 6B 16 47 10A1:FF FF FF FC @@ @@ G@ GG 91 @C49:CA 16 FA 60 A2 GA AG G8 BE | GE79:GG GG GO G1 BD 26 46 49 DD | igag:ca Fa FC FC FF FF FF 3F 15 GC51:18 8E 65 GC 26 FO FF AE F9 | GE81:FF 18 69 G1 9D 20 40 BD 8C | 1gBi:ac 3F GG GO GO GG OG 3F EG GC59:65 BC BD 69 GC BC 6C GC AD | GE89:28 4G 49 FF 69 G6 9D 28 Al | 1gB9:FF FF BF FF OF 03 00 0 56 GC61:20 1E AB A2 OG ES EG OD 23 | GE91:46 6G AE 22 GF CA CA 4C 63 | 1gC1:99 GG GG OG FF FF FF 3F 21 @C69:30 E4 AD OG DC 29 16 DG G5 | GE99:AG GE CA 28 C8 GE E8 ES 1E 106C9:2F 2B 28 28 FF FF FF FC DG GC71:F9 66 79 93 AC BC GC GC COB | GEA1:EC 22 GF 96 F5 CA 26 62 C4 | 1gpl:Fs ES 28 28 FF FF FF FF 30 GC79:05 20 20 20 20 20 20 26 G4 | GEA9:GF AB BO C4 GE 48 BD 86 88 | igpg:FF FF FF 3C 99 60 00 @@ BD @C81:47 41 4D 45 26 4F 56 45 BB | GEB1:4@ 48 BD 80 41 AA 26 18 CC | 1gf1:99 Ca FO FC FC FO CO 66 4D GC89:52 26 26 26 28 26 26 20 BA | GEB9:18 68 AB 68 91 26 AO GB 1B | 1gf9:99 GG GG GB AA AB AA AA G2 GC91:28 GG 26 26 26 26 26 26 Al | GEC1:91 28 60 DC DB DA D9 26 AS | 1gFi:aA 2B GF 3F AA AA AA AA Q8 8C99:26 20 26 26 26 20 26 26 Bl | GEC9:G2 GF GA GA 8D D6 GE E8 59 | igpo:FF FF FF FF FF FF FF FF 1A GCA1:26 26 26 26 26 26 20 26 BO | GED1:26 G2 GF CA 69 GG AB BO 63 |11¢1:FF FF FF FF 2A 2A 2A AA 1C GCA9:26 26 GO 5B 52 45 53 53 86 | GED9:F2 BE 48 BD 8G 4G 48 8E FB |11G9:AA AA AA AS CO GO GG GB 11 @CB1:26 46 49 52 45 26 54 4F SC | GEE1:F@ GE BD 86 41 AA 26 18 C6 | 1111:G2 GA 2A AA AQ AA AA AA 9E GCB9:20 5@ 4C 41 59 26 41 47 AS | GEE9:18 68 AB 68 91 26 A2 GG 32 |1119:AA AA AA AA 6A AA AA AA 39 @CC1l:41 49 4B @@ 4c Cl GD A2 BC 1121:AA AA AA AA 15 15 15 15 7F GCC9:66 AD 15 DG 3D 94 16 FG 49 1129:15 15 15 15 68 G8 8G GO GF GCD1:F3 BD 76 46 DG EE BD 88 AB 1131:68 C@ CG CG GB GG BB Ga A7 GCD9:42 GA GA 8E E4 GC AA 26 8C GCE1:C8 GD A2 GO BD GB 40 18 7c GCE9:69 62 4A 4A 38 E9 63 BG 45 GCF1:62 A9 6G 8D 16 GD BD GG AE | gF21:66 G3 G2 Gd G3 GB BG G1 89 OCF9:46 18 69 GA 4A 4A 38 E9 DB | gF29:A2 GG AG GB AD G5 20 2F 7D 9D61:03 C9 28 36 G2 A9 27 8D AY | GF31:17 18 69 GA 8E 65 GF A2 79 |1161:11 AQ 11 8D 6D 11 AG G5 67 9D69:35 GD 8E CO BD AO 8G 8D 7C | GF39:G8 9D 8C 18 CA 1G FA AE 11 |1169:A2 G6 BD 7E 11 9D G6 33 AE 9D11:D6 GD A2 3 AG BG 4C 34 36 | GF41:65 GF 8C 66 GF 8A A2 Gl BE |1171:E8 DG F7 EE 6D 1l EE 76 28 @D19:GD Bl FD C9 D9 96 13 C9 83 | GF49:26 93 17 AE 65 GF AC 66 51 |1179:11 88 DG EE 66 GG AA 8G 28 0D21:DD 90 3A C9 F9 FG G8 C9 OF | GF51:GF 98 18 69 G4 AB CG 27 22 |1181:02 AA AS GA AA ABS 2A AB FC GD29:E0 96 67 C9 E5 BO G3 GE 5B | GF59:36 D2 8A 18 69 G4 AA EG AS |1189:EA 2A AF 7A AA AF 7A AA FC GD31:D6 GD C8 CB GB 36 E2 FO 96 | GF61:14 36 C7 68 GG GB 8D 93 43 |1191:AB EA AA AA AA AA AA AA 44 @D39:EG AS FD 18 69 28 85 FD 63 | GF69:GF 8E 92 GF AG GG 8C 94 AB |1199:AA AA AB AA 9D DC AA B7 EB @D41:96 62 E6 FE CA DO CD 2C 52 | GF71:GF AE 92 GF AC 94 GF AD 89 ]11A1:74 AA AA AB 2A AA AA 2A G4 9D49:D6 GD 36 72 AE CG GD BD 8F | GF79:93 GF 26 2F 17 48 38 6D D3 |11A9:AA AA GA AA AS GA AA AG 1B 9D51:80 42 C9 G4 BG 68 AO G4 34 | GF81:94 OF 8D 94 GF 68 26 95 98 |11B1:2A 2A AG 26 26 AG 28 28 85 9D59:85 A3 4C B4 GD AE CO GD AS | GF89:GF AD 94 GF C9 28 30 El 4F |11B9:28 28 28 28 GG GG AA 80 57 @D61:BD 80 42 C9 G4 BG 11 AS GE | GF91:66 BG GG GB C9 GB FG 27 37 |11C1:62 AA AS GA AA AS 2A AB 3D @D69:80 9D 68 40 A9 32 2G 31 C3 | GF99:26 18 18 BC 12 18 18 6D 28 |11C9:EA 2A AF 7A AA AF 7A AA 3D @D71:0C A9 G2 85 A3 4C Cl GD 73 | GFA1:12 18 8D 13 18 CG OG FG 66 |11D1:AB EA AA AA AA AA AA AA 84 9D79:BD 88 42 36 2D CC 35 GD F3 | GFA9:@3 A9 DF 2C AQ DE CO 28 E4 |11D9:AA AA AB AA 9D DC AA B7 29

G-26 COMPUTE FEBRUARY/MARCH 1992

L1E1:74 AA AA 1L1LE9:AA AA GA 11F1:A8 AA A8 11F9:AG AG AG 1201:62 AA A8 1269:EA 2A AF 1211:AB EA AA 1219:AA AA A8 1221:74 AA AA 1229:AA AA GA 1231:22 AA A8 1239:8A G62 82 1241:62 AA A8 1249:EA 2A AF 1251:AB EA AA 1259:AA AA A8 1261:74 AA AA 1269:AA AA GA 1271:6A AA A8 1279:GA GA BA 1281:2A AA 86 1289:A8 AD FA 1291:EA AA AA 1299:2A AA AA 12A1:AA 2A AA 12A9:AA A8 2A 12B1:6A A8 A8 12B9:28 28 28 12C1:2A AA 86 12C09:A8 AD FA 12D1:EA AA AA 12D9:2A AA AA 12E1:AA 2A AA 12E9:AA A8 2A 12F1:2A AA 2A 12F9:GA GA GA 1361:2A AA 86 1369:A8 AD FA 1311:EA AA AA 1319:2A AA AA 1321:AA 2A AA 1329:AA A8 2A 1331:2A AA 88 1339:A8 62 82 1341:2A AA 86 1349:A8 AD FA 1351:EA AA AA 1359:2A AA AA 1361:AA 2A AA 1369:AA A8 2A 1371:2A AA AG 1379:AG AG AG 1381:2A A5 46 1389:46 AA A5 1391:60 66 A8 1399:A8 GG G6 13A1:51 13A 13B1:66 86 86 13B9:68 66 66 13C1:2A AS 44 13¢9:5@ AA AS 13D1:08 G8 A8 13D9:A8 6G 68 13B1:44 AA AS

14@1:2A A5 5G 1469:41 AA AS

1411:68 66 1419:A8 60 1421:44 AA 1429:A5 56 1431:68 66 1439:68 06 1441:2A A5 1449:44 AA 1451:68 96 1459:A8 06 1461:40 AA 1469:A5 41 1471:08 0G 1479:98 60 1481:01 5A 1489:AA 45 1491:66 2A 1499:66 66 14A1:AA 61 14A9:5A A8 14B1:68 60 14B9:08 6G 14Cl:1l 5A 14C9:AA 11 14D1:00 2A 14D9:08 60 14E1:AA G5 14E9:5A A8 14F1:08 60 14F9:66 G6 1561:65 5A 1569:AA 11 1511:06 2A 1519:66 00 1521:AA 41 1529:5A A8 1531:08 60 1539:08 60 1541:41 5A 1549:AA 61 1551:08 2A 1559:08 60 1561:AA 11 1569:5A A8 1571:60 06 1579:88 66 1581:48 68 1589:08 62 1591:09 26 1599:22 22 15A1:82 66 15A9:68 66 15B1:08 06 15B9:98 06 15C1:92 8A 15C9:28 26 15D1:26 8A 15D9:GA 8A 15E1:8A 88

oo AS AA 0o Ur) Go AS AA 99 AS AA Cl) Go Cr) 5A ll 2A 5A 11 CT) Uy) ot) SA Ol 2A 5A 41 Oo Cr) oo SA 65 2A 5A 11 oO Ut) Oo SA 41 2A 5A 05 C) U1) Ui) 82 20 82 Cs) 68 86 Cr) i) 88 22 28 26 22

A8 58 AS 6G Ut) Ct) 56 AS Ag 41 AS 0o CT) a6 AA SA 06 AA SA i) 66 Ur) AA 5A 06 AA 5A Ur) 0G UT) AA 5A Ct) AA 5A 1) 0o Ur) AA SA ) AA 5A Ur) 66 Ur) 20 88 Go 68 Go Ut) 06 oo 86 88 82 AG 8A

1619:78 40 1621:48 4A 1629:D8 68 1631:16 68 1639:Ad 17

18 FO 16 2c It)

4A 63 68 AG DG

1641:16 90 63 1D 98 16 99 GO DE 1649:D0 60 8A GA AB BD 10 46 84 1651:6A BD G8 46 2A 99 G8 DO 7E 1659:BD 68 40 99 G1 DO AG 10 A4 1661:D@ D9 AD 15 DG 1D 98 16 AS 1669:D@ 66 AD 15 D@ 3D 98 16 49 1671:8D 15 DG A9 BG 9D 68 40 ES 1679:9D 70 40 66 BD 40 4@ 9D AB_ 1681:F8 67 BD 56 40 9D 66 40 22 1689:BD 48 40 9D 58 40 6@ G1 GE 1691:02 64 68 16 20 40 80 FE C3 1699:FD FB F7 EF DF BF 7E A@ SF 16A1:05 20 FA 16 A9 G3 AG 17 CA 16A9:20 1E AB AG GB 20 FA 16 D1 16B1:AD 62 17 26 F4 16 AD GG 75 16B9:17 AC G1 17 85 63 84 62 53 16C1:A2 96 38 20 49 BC 26 DD C7 16C9:BD A2 FF E8 BD @2 G1 DG D4 16D1:FA F@ 11 A9 30 8D GG G1 2D 16D9:AG 65 B9 GG G1 99 G1 Bl 40 16£1:88 16 F7 £8 EG 04 DG EB 88 1659:A@ 1B 26 FA 16 AQ Gl AB AZ 16F1:4C 1E AB 18 69 30 4C 16 7D 16F9:E7 A2 17 18 4C FO FF GO 4D 1701:00 9G 85 4c 49 56 45 53 16 1769:3A 1D 1D 1D 1D 1D 1p 1D C5 1711:1D 1D 1D 1D 1D 1p 53 43 Dl 1719:4F 52 45 3A 00 AD GO DC 63 1721:0A GA GA GA AG G4 GA 90 72 1729:03 88 DO FA 98 60 8D SA 80 1731:17 A9 81 8D GF D4 8D 12 57 1739:D4 A9 FF 8D 59 17 AD SA Fl 1741:17 DO 64 66 4B 59 17 GA C5 1749:90 FA AD 1B D4 2D 59 17 OB 1751:CD 5A 17 FO 62 BO F3 60 GA 1759:00 60 26 81 FF A2 18 BD 1c 1761:6A 17 9D 16 D@® CA 10 F7 69 1769:60 D8 0G 1F 79 FO OO FF 7F

D 9D 18 8D E7 17 BD 9F C8 17€9:18

17D1:AE 14 18 AC 12 18 E@ 19 FS 17D9:B@ 28 CO 28 BG 24 26 18 73 17E1:18 86 FB A6é FC BD FF FF 86 17E9:8D 16 18 BD FF FF A6 FB 8C 17F1:C9 08 FO BE 2C 17 18 30 22 17F9:02 AQ 26 91 26 AD 16 18 DC 1801:91 28 E6 FC C8 CC 13 18 68 1869:D8 1811:69 181 1821:2E 18 18 69 64 85 27 69 F5 1829:D4 85 29 68 68 GG BG BB D3 1831:60 9G GG GB G1 G1 G1 G1 76 1839:G1 Gl G2 G2 G2 G2 G2 G2 AB 1841:62 03 63 G3 63 63 GG OO E7 1849:00 66 F9 FB FF FD FA D7 3E 1851:D5 FE FC F6 F5 ES F7 F8 6B 1859:D6 D8 F2 F3 F3 FG 66 EF 1C 1861:EE ED EF 9@ 08 G8 68 68 FA 1869:98 GA GE GE GA G8 GA BA 51

FEBRUARY/MARCH 1992 COMPUTE G-27

PROGRAMS

LL ES ME SS LE a a IE TE eT

1871:GA GA G8 68 G8 GB GB GB 23 1879:GF GF OF OF 68 OF GF GF 71 1881:0F 68 E7 EB E9 E6 F4 E8 B4 1889:EC EA Fl GA GA GA BA GA 66 1891:GA GA GA GA G5 G3 G6 G3 6E 1899:47 83 18 18 65 8C 18 18 78 18A1:CC CC CC CC D4 D4 D4 D4 4A 18A9:D@ D@ DB DB DB DB DB DB 52 18B1:DC DD 64 G4 64 G4 G4 G4 C4 18B9:04 04 G4 64 G4 O4 G4 G4 ED 18C1:04 64 G1 G1 65 64 G3 G2 65 18C9:04 64 G4 G4 G5 G4 G3 G2 FD 18D1:64 64 G4 G4 GA 14 D2 D2 DE 18D9:D2 D2 92 92 92 92 D2 D2 FA 18E1:D2 D2 92 92 92 92 @3 D3 64 18E9:A2 6D BD 98 42 9D @@ D4 CC 18F1:CA 10 F7 A2 @7 B4 A3 FO F7 18F9:48 88 98 8D 63 19 BA BA F2 1961:G0A 69 66 A8 AD BG 95 AZ 39 1999:9D 65 D4 9D 66 D4 BD 94 53 1911:42 29 FE 9D 64 D4 AQ 87 36 1919:85 A6 8E 2B 19 B9 66 19 D1 1921:9D 99 42 C8 E8 C6 A6 DG 9B 1929:F4 A2 66 BO 66 19 95 A5 82 1931:C8 B9 66 19 95 A4 4C SC CB 1939:19 D6 A4 DB 68 BD 94 42 Fl 1941:29 FE 9D 94 42 BD 91 42 33 1949:18 75 A5 9D 91 42 6A 55 33 1951:A5 16 68 A9 6G 9D G6 D4 4D 1959:9D 96 42 8A FO G4 A2 OG CD 1961:FG 93 4C 31 EA OB G6 6 FG 1969:98 81 68 F9 66 G3 GB G1 AC 1971:06 68 81 06 FA 66 G5 GG B7 1979:30 G9 G8 41 62 FA GG G6 DA 1981:68 86 G@ 08 41 66 FF FC DC 1989:63 6G G3 @6 OB 21 16 F9 7C 1991:06 20 66 G6 GB BG GB GB CB

Ligia Latino is a programmer who lives in San Jose, California. a

QUIZZER 128

Bruce M. Bowden

Quizzer 128 is a high-tech, efficient, but easy-to-use improvement on flash- cards. It is designed for the 128 in ei- ther 40- or 80-column display.

Unlike flashcards, Quizzer 128 lets you design a quiz with three types of questions: direct answer, fill in the blank, and multiple choice. You may de- sign your own quizzes using any or all of these types. You may also have as many questions as you like in a quiz. The program maintains a running score, and the questions are chosen ran- domly from those which either have not yet been answered or have been an- swered incorrectly.

Setting Up

There are two versions of Quizzer 128, one for 40-column screens and one for 80-column screens. Both are written en-

G-28 COMPUTE FEBRUARY/MARCH 1992

tirely in BASIC. To avoid typing errors, use The Automatic Proofreader to type in whichever version you prefer. See “Typing Aids" elsewhere in this sec- tion. After typing in Quizzer 128, save a copy to disk. It will serve as a mas- ter for all future quizzes you make up.

Prepare a Quiz

When the program is initially run, two op- tions are available. You may either take a quiz with existing questions or en- ter new questions. Since there are no questions the first time you run the pro- gram, start by pressing the B key for the second option.

Now you can choose between the three problem types. Choose direct an- swer by pressing A. The parser is en- gaged, and you're asked to enter a question. For example, type WHO IS THE PRESIDENT OF THE UNITED STATES? Then press Return. The pro- gram will ask if you want to enter the question again, in case you wish to cor- rect any mistakes you may have made. Press Y for yes or N for no. You may enter the question in uppercase, lowercase, or a combination of both.

Next you're asked for the correct an- swer. Type in BUSH and press Return. After responding to the reenter Prompt, you're asked if there'll be an- other question. Press Y for yes if you wish to enter more questions.

Presented with the three problem types again, now choose option B, fill in the blank. For questions in this for- mat, enter the question and type an as- terisk to indicate the word left blank. For this example, type THE LARGEST CITY IN THE U.S. IS *. When asked for the correct answer, type NEW YORK. Now set up one more question, so press Y in response to that prompt.

For the final question, choose option C, multiple choice. Since you must sup- ply several wrong answers to accompa- ny the correct one, you're asked how many answers there'll be, out of a max- imum of five. Enter 3 and press Return. For the question, type THOMAS JEF- FERSON WAS A NATIVE OF WHICH STATE? Enter VIRGINIA as the correct answer. At the alternate answer prompt, enter NORTH CAROLINA and PENNSYLVANIA. When asked if there will be another question, press N for no. Now you're ready to take the quiz.

Renumbering After entering a list of questions, you must prepare the quiz for taking. Quiz- Zer 128 inserts the questions as DATA statements at the end of the program listing. The number of entries is given (three, in this case), the prompt RENUM- BER is printed, and a special program line is listed. Within this special pro- gram line is a GOTO statement. The line number after the GOTO now needs to be listed. In the 80-column ver- sion of Quizzer, the line number is 1510, so if you're using this mode, type LIST 1510. You should now see a DATA line followed by the remark NUM- BER OF ENTRIES. After DATA, replace the 0 with a 3 because you've entered three questions; then press Return. For the 40-column version list line 1440. The following step is necessary only if you plan to add more questions to Quizzer later on. If that is the case, move the cursor back to the line on the screen where RENUMBER is printed and press Return. The reason for renum- bering is that when new questions are being processed as DATA statements, they receive line numbers starting at 40000. If you neglect to renumber, any new questions you add will simply re- place the old ones in the quiz.

Save the Quiz At this point, if you'd like to save this quiz for running later, list the first line of the save routine, which is line 90. Change the program name in quotes to one you like. If you choose HISTO- RY, for example, line 90 should begin 90 B$(2)="HISTORY”.

Now run the save routine to save your quiz. To do this, simply type RUN 90.

Taking a Quiz

Run the quiz you've just made; then choose option A. Note that a reversed bar appears at the top of the screen with elapsed time, the number of right and wrong answers, the total number of questions asked, and the percent- age of the actual number of questions completed.

Answer the questions as you like and see how the various values change. Another experiment: In reply to WHO IS THE PRESIDENT OF THE UNITED STATES?, enter BUSH in eéi- ther uppercase, lowercase, or a com-

bination. All answers are converted to lowercase. This makes entering an- swers easier.

The next time the program is run, re- ply to the same question with GEORGE BUSH instead of BUSH Again, the answer is accepted be- cause the answer being sought, BUSH, is part of the response. This solves many problems that may occur, for example, when asking about New York and getting answers such as NEW YORK CITY or NEW YORK, NY.

Notice that whenever a wrong an- swer is entered, the right answer is shown before the question is recycled. This reinforces the right answer in the mind of the person taking the quiz, and the information is absorbed faster. Ques- tions answered incorrectly are placed back in the pool and are repeated be- fore the quiz ends. Again, this helps reinforce the correct information.

QUIZZER 128 40-Column Version

GD 1@ REM COPYRIGHT 1991 - COM PUTE PUBLICATIONS INTL L

TD - ALL RIGHTS RESERVED POKE53280,@: POKE53281,6: PRINT"{7}":GOTO416

GOTO 1396:REM THIS IS A {SPACE}RETURN FROM THE L INE ADDITION

REM REM IMPORTANT ADDRESSES: GOTO 1370:REM THIS LINE {SPACE}CONTAINS A QUOTED GOTO WHICH SHOULD ADDRE SS THE SECOND LINE OF TH E PROGRAM

GOTO144G:REM LOCATION OF NUMBER OF ENTRIES

REM

MM 26

QD 38

FF 40

56 66

XD KX

76

KA 86

90 REM SAVE ROUTINE. 100 BS(2)="QUIZZER46":B$ (1) =BS (2)+".BK": PRINTCHRS ( 14) :FORX=1T02: PRINT: PRI NT "SCRATCHING ";B$(X): SCRATCH (B$ (X) ) : CATALOG ( BS (2)+"*")

PRINT"SAVING ";B$(X):DS AVE (BS (X) +CHR$ (160) +CHR $(172)+CHRS$ (184) +CHRS (1 86)) CATALOG (BS (2)+"*") :NEXT :END

DX

AA 116

cD 126

AH 136

GX 148 REM 4G-COLUMN MESSAGE C

ENTERING ROUTINES

156 166 176

IFLEN(M$)>39 THEN BEGIN YX=INT (LEN (M$) /2)

IF MID$(M$,¥X,1)=CHRS$ (3 2) THEN XXS=LEFTS$ (M$,YX ) :¥¥S$=MID$ (M$, YX) :GOTOL 96

YX=¥X+1:GOTO176

BEND

IF LEN(M$)<4@ THEN YX=1 NT ((4G-LEN (M$) ) /2) :FOR {SPACE}XW=l TO YX:MS=" {SPACE}"+M$:NEXT: PRINT" {CYN}";M$: RETURN

YX=INT ( (40-LEN (XX$) ) /2) :FOR XW=1 TO ¥X:Xx$="_" +XX$:NEXT: PRINT" {CYN}"; Xx$

YX=INT ( (40-LEN (YY$) ) /2) :FOR XW=l TO YX:yy$=" " +¥Y$:NEXT: PRINT" {CYN}"; YY$: PRINT: RETURN

REM

188 196 206

PD 216

GR

226

236

:NEXT

250 IF LEN(MS$)<>4@ THEN MS$= MS+" ":GOTO250

PRINT CHR$(149)+CHR$(18 ) +M$: RETURN

REM REM MESSAGE INPUT ROUTI NE

XS$="":PRINT CHR$(15)+CH RS (28) +"<"+CHRS (143) +CH R$ (157) +CHRS (149) ; GETKEY Y$ IFY$<>CHRS$ (13) THENBEGIN IFYS=CHR$(28)THEN PRINT CHRS (29) ;¥$;Y$;CHRS$(15 ) ;CHRS (28) ;"<";CHRS (143 ) ;CHRS (157) ;CHRS (149) 7: XS=LEFTS (X$,LEN (X$) -1): GOTO36G

IFYS=CHRS$ (34)THEN PRINT YS;CHRS (27) ;CHRS$ (27) ;CH R$ (15) ;CHRS$ (28) ;"<";CHR $ (143) ;CHRS$ (157) ;CHRS (1 49) ;:YS=CHRS$(19@) :GOTO3 56 PRINTYS;CHR$ (15) ;CHRS$ (2 8) ;"<";CHRS (143) ;CHRS (1 57) ;CHRS$ (149); XS=XS$+¥$:GOTO30G

268

278

288

296

368 316 326

HM 336

348

356 366 376 389 396

REM CHOICE OF SELF-EXAM INATION OR ENTRY OF NEW QUESTIONS RESTORE 1446:READ NE:RE M READING THE NUMBER OF ENTRIES DIM T(286) ,N(286) ,QS(20 G) ,AS (208) ,R(28G) ,C$(29

496 EX 416

JD 428

Sx

sc

RJ

cc

FC cs

QE

JK

JF

QG FK

HK

PG

430

446

456

466

476 486

496

580

528 538 546

559

560 578

586

596 606 616

629

639 648 659

666 676 686

696

769

6,5) ,WS (208) ,V$(2G8) ,W( 266) ,QQS(260,3) PRINT CHR$(147)+CHR$(17 ) +CHRS (17) +CHR$ (149) +CH R$(14):MS="PLEASE CHOOS E ONE:":GOSUB150 PRINT: PRINT: PRINT: MS="A ) QUIZ WITH EXISTING QU ESTIONS":GOSUB150: PRINT :M$="B) ENTER NEW QUEST IONS":GOSUB150 GETKEYX$:IFX$<"A" OR XS >"B"THEN45@:ELSE ON ASC (X$)-64 GOTO 480,956 REM REM SELF-EXAMINATION PRINT: PRINT: PRINT :MS="P REPARING...":GOSUB159 TL=6:RT=6:WG=G:X=RND (-T I):FOR ZZ=1 TO NE:W$(22Z yeu" READ 1(ZZ):REM QUESTION TYPE 1=DIRECT ANSWER, {SPACE}2=FILL IN THE BL ANK, 3=MULTIPLE CHOICE READ Q$(ZZ):REM THE QUE STION READ A$(ZZ):REM THE ANS WER IF 1(ZZ)=3 THEN READ R( ZZ) :REM NUMBER OF THE R IGHT ANSWER IF 1(ZZ)=3 THEN FOR X=1 TO N(ZZ):READ C$(2Z,X) :NEXT NEXT RD=0:FOR X=1 TO NE:W(X) =@:NEXT:ZZ=RND (-TI) PRINT CHR$(147)+CHRS (17 ) +CHRS (14) :MS=STRS (RT) + " RIGHT ANSWERS":GOSUB2 46 MS=STRS (WG) +" WRONG ANS WERS":GOSUB240 MS=STRS$(TL)+" TOTAL QUE STIONS":GOSUB246 IF TL<>@ THEN M$=STRS(I NT (16600*RT/TL) /190)+" {SPACE}PERCENT CORRECT" :GOSUB24G PRINT CHR$(36)"~

ZZ=INT (RND (ZZ) *NE+1)

IF W(ZZ)=@ THEN 740 FL=@:FOR X=1 TO NE:FL=F L+W(X) :NEXT

IF FL<NE THEN 630 MS=CHRS$(154)+"YOU DID " IF RT/TL=1 THEN MS$=MS+" A PERFECT JOB!":GOSUB15 @:GOTO736

IF RT/TL>.89 THEN M$=M$ +"VERY WELL INDEED!":GO SUB158:GOTO736

IF RT/TL>.79 THEN MS=MS +"FINE. BUT PRACTICE!":

FEBRUARY/MARCH 1992 COMPUTE G-29

PROGRAMS a EN SY Ge PT A

GOSUB158:GOTO73@ 5@:PRINT:M$="B) FILL IN | EM 1180 IF II$="B" THEN X=INST SD 710 IF RT/TL>.69 THEN MS$=MS THE BLANK":GOSUB15@:PR R(QTS,"*") :QTS=LEFTS (Q +"FAIR. SOME WORK IS NE INT:M$="C) MULTIPLE CHO T$,X-1) +CHR$ (15) +CHRS ( EDED.":GOSUB15@:GOT0730 ICE":GOSUB15@: PRINT" {2} 36) +" (BLANK) "+CHRS$ (149 CQ 7286 MS=M$+"A WEAK JOB THIS " ) +CHRS (143) +MIDS(QTS,X {SPACE}TIME. I SUGGEST | FQ 986 GETKEYX$:IFX$<"A" OR XS +1) {SPACE}YOU TRY AGAIN.": >"C"THENS80:ELSE II$=x$ | KQ 1196 QQ$(xx,1)=OTS GOSUB156 GM 990 QTS="DATA "+STRS(ASC(X$ | DH 1260 IF II$="C" THEN BEGIN SK 730 PRINTCHR$ (149) :END )-64)+",":REM QUESTION JP 1218 V$(1)=x$:QTS=x$ GQ 748 M$=Q$ (ZZ) :GOSUB156:TL=T {SPACE}TYPE IN NUMERAL QC 1226 PRINT "NOW ENTER"; YY-1 L+1: PRINT: PRINT {SPACE} FORM ;"ALTERNATE ANSWERS" PF 750 IF T(22Z)=3THEN850 BJ 1000 REM * * * * * kk * & CJ 1236 FOR X=l1 TO YY-1:PRINT: EB 768 GOSUB290:MM$=X$:GOSUB9G {SPACE}* PRINTX;") "; :GOSUB296:V 9: XS=MMS$:MMS=AS$ (ZZ) :GOS | JH 1010 IF II$<>"C" THEN QTS=Q $(X+1)=X$:NEXT UB966:REM MESSAGE INPUT TS+"99,":GOTO 1070 AA 1248 MS="DO THIS OVER?":GOS ROUTINE JG 1628 PRINT CHR$(147)CHR$(17 UB150:PRINT CHR$(149): ME 778 IF INSTR(X$,MM$)=6 THEN )CHR$(17) :MS="HOW MANY GETKEYY$: IFY$="Y"THEN1 796 MULTIPLE CHOICE ANSWE 236 CE 786 PRINT CHRS$(15@)CHR$(15) RS WILL THERE BE?":GOS | xF 1256 FOR ZZ=l1 TO YY-1:FOR X "CORRECT !":W(ZZ)=1:RT=R UB158 =1 T0 yy-1 T¥1:GOTO810 XX 1036 MS="(THERE MAY BE A MA | SH 1266 IF V$(X)>V$(X+1) THEN SP 796 PRINT CHR$(154)CHRS$(15) XIMUM OF 5)":GOSUB15@: {SPACE} M$=V$ (X) :V$(X)= "WRONG! !":W(ZZ) =6:WG=WG PRINT"{2}":INPUTA:MS=" VS (X+1) :V$ (X+1) =M$ +1 DO THIS OVER?":GOSUB15 | CK 1270 NEXT:NEXT AA 8066 M$="THE CORRECT ANSWER @:PRINT CHR$(149):GETK | QC 128@ FOR ZZ=1 TO YY:IF VS(Z {SPACE}1S:":GOSUB240:MS EYYS: IFYS="Y"THEN1920 Z)=QT$ THEN X=22Z =A$ (ZZ) :GOSUB15G DJ 1040 IFA>5 THEN A=5 KD 1296 NEXT HH 810 FOR X=1 TO 500:GET M$:I | XX 1050 YY=A:QTS=QTS+STRS(A)+" XB 1360 QTS="DATA"+STRS$(X)+"," F MS<>"" THEN X=1000 ,":GOTO 1116 :FORX=1TOYY:QTS=QTS+CH PR 8206 NEXT:IF M$="" THEN 589 | DX 1060 REM * * * * * * * * & R$ (94) +V$ (X) #CHRS (34) + HE 8306 MS="PAUSED - PRESS ANY {SPACE}* ""SNEXT {SPACE}KEY TO CONTINUE" | XB 1070 IF II$<>"B" THEN 1116: | aG 1316 X=LEN(QTS) -1:QQ$(XX, 3) :GOSUB246 REM OTHERWISE THIS IS =LEFTS$ (QT$,X) PH 846 GETKEY M$:GOTO586 {SPACE}A FILL-~IN-THE-B | BD 1326 BEND GM 856 FORX=1 TO N(ZZ) :MS=CHRS$ LANK KD 1336 MS$="WILL THERE BE ANOT (X+64)+") "+C$(2Z,X):GO | PG 1686 PRINT CHRS(147)CHRS$(17 HER ONE? OR N)":GOS SUB150:NEXT )CHRS$ (17) :MS="ENTER TH UB15@:PRINT CHRS(149): AK 866 GETKEY X$:IF ASC(X$)-64 E QUESTION USING * TO GETKEYY$: IFYS$="Y"THENX <1 OR ASC (X$)-64>N (22) {SPACE}REPRESENT THE B X=XX+1:GOT096G {SPACE} THEN86G LANK:":GOSUB158:GOSUB2 | JK 1346 REM ---~~~--~~-----~-~- FS 870 IF ASC(X$)-64=R(ZZ) THE 90 - N78G:ELSE GOTO 796 QE 1698 MS="DO THIS OVER?":GOS | KP 1350 x=0 EH 888 REM ~~~~~~~~~~~~~~~---- UB15@:PRINT CHR$(149): | HS 1366 X=X+1 ~-~--~ GETKEYY$:IFY$="Y"THEN1 | EX 1376 PRINT CHRS$(147)+STRS$(X FD 896 REM REDUCING ALL UPPER 986 *16+16008)+QQ$(X,1):PR {SPACE}CASE CHARACTERS | CF 1108 GOTO1130 INTSTRS (X*10+16000+5) + {SPACE}TO LOWER CASE BR 1116 PRINT CHR$(147)CHRS$(17 QQS$(X,2) :PRINTSTRS (X*1 QC 960 FOR X=1 TO LEN(MMS) ) CHR$ (17) :M$="PLEASE E G+16060+6)+QQS(X,3):PR FS 916 IF MID$(MM$,X,1)>="A" A NTER THE QUESTION: ":GO INTSTRS (X*16+10000+7) + ND MIDS (MMS,X,1)<="Z" 7 SUB150:GOSUB296 "3 ":PRINT"GOTO3G" HEN MMS=LEFTS (MM$,X~1)+ | RM 1120 M$="DO THIS OVER?":GOS | GC 1380 POKE268,6:POKE842,19:P CHRS (ASC (MID$ (MM$,X,1)) UB150:PRINT CHR$(149): OKE843,13:POKE844,13:P ~ (ASC ("A")-ASC ("A") ))+M GETKEYY$: IFY$="Y"THEN1 OKE845,13:POKE846,13:P IDS (MM$,X+1) 116 OKE847,13:BANK15:SYS19 XD 920 NEXT: RETURN BK 1138 QT$=QTS+CHRS (34) +X$+CH 916 PB 930 REM R$ (34) AR 1390 IFX<=XX THEN 1366 ----- XA 1140 REM *%)% Re x x & oR ® HP 1496 PRINT" {CLR} {DOWN} {CYN} XG 948 REM SELECTION OF NEW QU {SPACE}* * THERE IS NOW A TOTAL O ESTION ENTRY KR 1156 PRINT CHR$(17)CHR$(17) F";XX+NE;"ENTRIES.":PR QQ 958 XX=1 :MS="WHAT IS THE CORRE INT"BE SURE TO NOTE TH MX 968 QTS="":QQS(XX,3)="REM N CT ANSWER?":GOSUB156:G E CHANGE!" OTHING HERE!":PRINT CHR OSUB29G CA 1418 PRINT: PRINT"RENUMBER": $ (147) CHRS$(17)CHRS$(17)C | QB 1160 M$="DO THIS OVER?":GOS LIST7@ HR$(14) :MS="PLEASE CHOO UB150:PRINT CHR$(149): | JJ 1426 SE THE ANSWER MODE:":GO GETKEYY$:IFYS="Y"THEN1 | AE 1436 SUB15@ 158 EF 979 PRINT: PRINT: PRINT:MS="A | JA 1176 QQ$(XX,2)="DATA "+CHR$ | XD 1448 DATA @:REM NUMBER OF E ) DIRECT ANSWER":GOSUB1 (34) +XS+CHRS (34) NTRIES

G-30 COMPUTE FEBRUARY/MARCH 1992

QUIZZER 128 80-Column Version

JF 18 GOTO 409:REM COPYRIGHT 1

DR

BK

MA HQ

CM RM

EJ

QB

sD

FH

DF

xQ

BS

GG

FH

26

106

119 126 136 146

156 166

176 186 196

266

210

226

230

2408

256

991 - COMPUTE PUBLICATIO NS INTL LTD - ALL RIGHTS RESERVED

GOTO 1466:REM THIS IS A {SPACE}RETURN FROM THE L INE ADDITION

REM REM IMPORTANT ADDRESSES: GOTO 1440:REM THIS LINE {SPACE}CONTAINS A QUOTED GOTO WHICH SHOULD ADDRE SS THE SECOND LINE OF TH

E PROGRAM

GOTO1519:REM LOCATION OF NUMBER OF ENTRIES

REM

REM SAVE ROUTINE... "QUIZZER" :B$ (1)=BS BK": PRINTCHRS (14 FORX=1T02: PRINT: PRINT"SC RATCHING ";B$(X) :SCRATCH (BS (X)) CATALOG (B$ (2) +"* "

)

PRINT"SAVING ";B$(X):DS AVE (BS (X) +CHRS (160) +CHR $ (172) +CHR$ (184) +CHRS (1 86)) CATALOG (BS (2)+"*") NEXT :END

REM 8G6-COLUMN MESSAGE C ENTERING ROUTINES IFLEN(M$)>79 THEN BEGIN YX=INT (LEN (M$) /2) IF MIDS (M$,YX,1)=CHR$ (3 2) THEN XX$=LEFTS (M$, YX

-1) :Y¥YS=MID$(M$,YX+1):G oTo1sa

YX=YX+1:GOTO16G

BEND

IF LEN(M$)<8@ THEN YX=I NT ((8G-LEN (M$) )/2) :FOR {SPACE}XW=l TO YX:M$=" {SPACE }"+M$:NEXT: PRINTM $:RETURN

YX=INT ( (8G-LEN (XX$) ) /2) :FOR XW=1 TO YX:Xx$="_" +XX$:NEXT: PRINTXXS YX=INT ( (8G-LEN (Y¥$) ) /2) FOR XW=1 TO YX:¥y$="_" +YYS:NEXT: PRINTYY$:RETU RN

YX=(8@-LEN(M$))/2:FOR X W=l TO YX:MS="_"+MS+" " :NEXT

IF LEN(M$)<>8@ THEN M$= MS+" ":GOTO24B

PRINT CHR$(149) +CHRS (18 ) +M$: RETURN

XK HJ

HG

QA DP MH

FC

FR

PB

RX

FM

GR

EE

EC

MS

FC

AX

HM

JK

268 278 289 296

388 316

326

336

346 359 36 376 386

398

406

416

426 430

446

REM MESSAGE INPUT ROUTI NE

XS=""3PRINT CHRS$(15)+CH RS (28) +"<"+CHRS (143) +CH RS (157) +CHRS (149); GETKEY Y$ IFYS$<>CHR$ (13) THENBEGIN IFY$=CHR$(20)THEN PRINT CHRS$ (29) ;¥$;¥$;CHRS (15 3 CHRS (28) 7 "<"7CHRS (143 ) ;CHRS (157) ; CHR$ (149); XS=LEFTS (X$,LEN (XS) -1) : GOTO296 IFY$=CHR$(34)THEN PRINT Y$;CHR$ (27) ; CHRS$ (27) ;CH R$ (15) ;CHRS (28) ;"<";CHR $ (143) ;CHRS (157) ;CHRS$(1 Ao ae ee CE 20 1) GOx03 PRINTYS$;CHR$ (15) ;CHRS (2 8) ;"<";CHRS (143) ;CHRS (1 57) ;CHR$ (149); X$=X$+¥Y$:GOTO296

REM CHOICE OF SELF-EXAM INATION OR ENTRY OF NEW QUESTIONS RESTORE 151@:READ NE:RE M READING THE NUMBER OF ENTRIES DIM T(268) -N(298) ,QS$ (26 8) ,A$ (200) ,R(28B) ,CS$(20 6,5) ,WS(28G) , V$ (2G) ,W( 206) ,QQ$(200,3) :HYS="": FOR X=1 TO 80:HYS=HYS+" -":NEXT SPS$="":FOR X=1 TO 80:SP $=SP$+" ":NEXT FAST: PRINT CHR$(147)+CH RS (17)+CHR$ (17) +CHRS (14 9) +CHRS (14) :MS="PLEASE {SPACE}CHOOSE ONE:":GOS UB148 PRINT: PRINT: PRINT :M$="A ) QUIZ WITH EXISTING QU ESTIONS":GOSUB140: PRINT :M$="B) ENTER NEW QUEST IONS":GOSUB148 GETKEYX$: IFX$<"A" OR X$ >"B"THEN45@:ELSE ON ASC (X$)-64 GOTO 480,1626 REM REM SELF-EXAMINATION PRINT: PRINT: PRINT :M$="D REPARING":GOSUB14@:TIS= "969000" 1 6: RT=8:WG=@: X=RND (-T

sue ":PRINT™. "3 READ T(ZZ):REM QUESTION TYPE 1=DIRECT ANSWER,

FX

JF

QR RE GK

Qx

CF

RB

EB

cQ

PB

GJ

519

526 536

546

558

568

579

58

596 606 616 626

636

648

659 660 676

689 699 768

719

726

738

746

756

{SPACE}2=FILL IN THE BL ANK, 3=MULTIPLE CHOICE READ N(ZZ):REM NUMBER O F MULTIPLE-CHOICE ANSWE RS (99 IF NOT MULTIPLE {SPACE }CHOICE) READ Q$(ZZ):REM THE QUE STION READ A$(ZZ):REM THE ANS WER IF T(ZZ)=3 THEN READ R( ZZ) :REM NUMBER OF THE R IGHT ANSWER IF T(ZZ)=3 THEN FOR X=1 TO N(ZZ):READ C$(ZZ,X) :NEXT NEXT RD=G:FOR X=1 TO NE:W(X) =@:NEXT:ZZ=RND (-TI) PRINT CHR$(147)+CHRS$(17 ) +CHRS$ (14) :MS=TIS$:MS="A PPROXIMATE ELAPSED TIME : "+LEFTS(MS,2)+" H "+M ID$(M$,3,2)+" M “+RIGHT $(MS,2)+" S ":GOSUB230 MS=STRS$(RT)+" RIGHT ANS WERS":GOSUB23G MS=STR$(WG)+" WRONG ANS WERS":GOSUB238 MS=STR$(TL)+" TOTAL QUE STIONS ASKED":GOSUB230 MS="("+STR$(RT)+" /"+ST RS (NE) +"="+STRS$ (INT (RT/ NE*10GG) /1G)+"% COMPLET ED )":GOSUB238 IF TL<>@ THEN MS=STRS(I NT (16606*RT/TL) /106)+" {SPACE}PERCENT CORRECT" :GOSUB236 PRINT CHRS (30) " --

ZZ=INT (RND (ZZ) *NE+1)

IF W(Z2Z)=@0 THEN 768 FL=G:FOR X=1 TO NE:FL=F L+W(X) :NEXT

IF FL<NE THEN 658 MS=CHR$(154)+"YOU DID " IF RT/TL=1 THEN M$=M$+" A PERFECT JOB!":GOSUB14 6:GOTO75G

IF RT/TL>.89 THEN M$=M$ +"VERY WELL INDEED!":GO SUB149:GOTO758

IF RT/TL>.79 THEN M$=M$ +"PINE. BUT PRACTICE!": GOSUB149:GOTO756

IF RT/TL>.69 THEN MS$=MS$ +"FAIR. SOME WORK IS NE EDED.":GOSUB146:GOTO750 MS=M$+"A WEAK JOB THIS {SPACE}TIME. I SUGGEST {SPACE}YOU TRY AGAIN.": GOSUB149

PRINTCHR$ (149) :END

CQ 768 MS$=Q$(ZZ) :GOSUB149:TL=T FEBRUARY/MARCH 1992 COMPUTE G-31

PROGRAMS

HK QF

Jc

HM

MP

KR

GA

DQ RH

DF JD

SK GA

QF

AH

JF

KJ PF

FB EX

AE KA

DF

776 786

796

866

810

826

836

849 856

866 876

880 896

986

919

929

936 946

959 965

976 986

999

L+1: PRINT: PRINT IF 1(2Z)=3THEN876 GOSUB286:MM$=X$:GOSUB97 G:X$=MMS$:MM$=A$ (ZZ) :GOS UB97@:REM MESSAGE INPUT ROUTINE AND CHANGE ALL UPPERCASE CHARACTERS IF INSTR(X$,MM$)=6 THEN 816 PRINT CHR$ (156) CHR$(15) " {OFF} CORRECT! "CHR$(143 )"{2} {RVS}";:W(ZZ) =1:RT=RT+1:PRINTAS (ZZ) ; "{OFF}{2 SPACES}";:GOTO 836 PRINT CHR$(154)CHR$(15) "{OFF}WRONG!!":W(ZZ) =O: WG=WG+1 MS$="THE CORRECT ANSWER {SPACE}IS:":GOSUB230:M$ =A$ (ZZ) :GOSUB146 FOR X=1 TO 15:GOSUB946: GET M$:IF M$<>"" THEN X =1606 NEXT: IF MS="" THEN 580 MS="PAUSED ~ PRESS ANY {SPACE}KEY TO CONTINUE" :GOSUB230 GETKEY M$:GOTO58¢ Y=@:FORX=1 TO N(ZZ):IF {SPACE}LEN (C$ (ZZ,X)) >Y {SPACE}THEN Y=LEN (C$ (22 +X)) NEXT FORX=1 TO N(22):C$(ZZ,X ) =LEFT$ (SP$,Y-LEN (C$ (ZZ 1X)))+C$(22,X) :NEXT FORX=1 TO N(ZZ) :MS=CHR$ (X+64) +") "+08 (2Z,X) GO SUB149:NEXT GETKEY X$:IF ASC(X$)-64 <1 OR ASC(X$)-~64>N (ZZ) {SPACE} THEN916 IF ASC(X$)-64=R(2Z) THE N800:ELSE GOTO 819 REM ANIMATED CURSOR FORY=1T0156:NEXT: PRINT" {RVS}{F}{LEFT}";:FORY=1 TO156:NEXT: PRINT" {RVS} {D}{LEFT}";:FORY=1T015¢ :NEXT: PRINT" {RVS}{C} {LEFT}"; :FORY=1T0156:NE XT: PRINT" {RVS}{V}{LEFT} ";:RETURN REM -~ REM REDUCING ALL UPPERC ASE CHARACTERS TO LOWER CASE FOR X=1 TO LEN (MM$) IF MIDS (MM$,X,1)>="A" A ND MIDS (MM$,X,1)<="Z" T HEN GOSUB946:MMS=LEFTS ( MMS, X~1) +CHR$ (ASC (MIDS ( MM$,X,1))-(ASC("A") ~ASC ("A") ))+MIDS (MM$,X+1) NEXT: RETURN

FM 1666 REM ~~-~~-~-~-~-~-~-~---~- G-32 COMPUTE FEBRUARY/MARCH 1992

FH

CR RQ

EK

HQ

XA

Gs EA

CM

BD

cQ DD

QD ac

DM

RM

SK JQ

HX

1616

1626 1930

1046

1956

10608

1976 1686

1696

1196

1116 1126

1136

1146

1156

1166

1176 1186

1196

REM SELECTION OF NEW Q UESTION ENTRY XX=1 QT$=""2QQS (XX, 3) ="REM {SPACE}NOTHING HERE!": FAST: PRINT CHR$(147)CH R$ (17) CHR$ (17) CHR$ (155 ) CHR$ (14) :MS="PLEASE C HOOSE THE ANSWER MODE: ":GOSUB14B PRINT: PRINT: PRINT:MS=" A) DIRECT ANSWER":GOSU B14:PRINT:MS="B) FILL IN THE BLANK":GOSUB14 OPRINT:MS$="C) MULTIPL E CHOICE":GOSUB14@: PRI nr™g23" GETKEYXS$:IFX$<"A" OR X $>"C"THEN1@5@:ELSE II$ =X$ QTS="DATA "+STRS$ (ASC (X $)-64)+",":REM QUESTIO N TYPE IN NUMERAL FORM REM * * * * # * ke ® & {SPACE}* IF II$<>"C" THEN QTS$=Q TS+"99,":GOTO 1146 PRINT CHR$(147)CHR$(17 ) CHR$ (17) CHR$ (155) :MS= "HOW MANY MULTIPLE CHO ICE ANSWERS WILL THERE BE?":GOSUB14@ MS="(THERE MAY BE A MA XIMUM OF 5)":GOSUB14@: PRINT" {2}": INPUTA: PRIN T"{8}":MS="ENTER THIS {SPACE}AGAIN?":GOSUB14 @:PRINT CHR$(149) :GETK EYY$: IFYS="Y"THEN1996 IFA>5 THEN A=5 YY=A:QTS=QTS+STR$(A)+" ,":GOTO 1186 REM * * * * &# # # ® & {SPACE}* * IF II$<>"B" THEN 1186: REM OTHERWISE THIS IS {SPACE}A FILL-IN-THE-B LANK PRINT CHR$(147)CHR$ (17 ) CHRS$ (17) CHRS (155) :MS= "ENTER THE QUESTION US ING * TO REPRESENT THE BLANK: ":GOSUB14G:GOSU B28¢ PRINT CHR$(155) :MS="EN TER THIS AGAIN?":GOSUB 146:PRINT CHR$(149):GE TKEYY$: IFYS="Y"THEN115 ( GOTO1268 PRINT CHR$(147)CHR$(17 ) CHR$ (17) CHRS (155) :MS$= "PLEASE ENTER THE QUES TION: ":GOSUB14G:GOSUB2 86 PRINT CHRS$(155) :M$="EN TER THIS AGAIN?":GOSUB

BF JE

HR

DF

SQ

BJ

EK DK

1266 1219

1226

1236

1246 1256

1266 1270 1286 1296

1366

13196

1326 1336 1346 1358

1366 13768

1388

1396 1496

1416

1426 1430 1446

140:PRINT CHRS$ (149) :GE TKEYY$: IFY$="Y"THEN118 6

QT $=QTS+CHRS$ (34) +X$+CH R$ (34)

REM * * * * * *& &* & & {SPACE}* *

PRINT CHR$(17)CHR$(17) CHRS$ (155) :M$="WHAT IS {SPACE}THE CORRECT ANS WER?":GOSUB140:GOSUB28 6

PRINT CHR$(155) :MS="EN TER THIS AGAIN?":GOSUB 140:PRINT CHRS$(149):GE TKEYYS$: IEY$="Y"THEN122 t)

QQ$(XX,2)="DATA "+CHRS (34)+XS+CHRS (34)

IF II$="B" THEN X=INST R(QTS,"*") :QTS=LEFTS (Q T$,X-1) +CHR$ (15) +CHRS ( 30) +LEFTS$ (HY$,LEN (XS) ) +CHRS (149) +CHRS (143) +M IDS$ (QT$,X+1)

QQ$ (XX,1)=QTS

IF II$="C" THEN BEGIN V$ (1) =X$:QTS=x$

PRINT CHR$(155)"NOW EN TER";YY-1; "ALTERNATE A NSWERS"

FOR X=1 TO YY-1: PRINT: PRINT" {8}";X;

B28G:V$ (X41) = PRINT CHR$(155 TER THIS AGAIN?":GOSUB 140:PRINT CHR$(149) :GE TKEYY$: IFYS="Y"THEN136 6

FOR ZZ=1 TO YY-1:FOR X =1 T0 yy-1

IF V$(X)>V$(X+1) THEN { SPACE} MS=VS (X) :V$(X) = VS (X+1) 2 V$ (X+1) =MS NEXT: NEXT

FOR 2Z=1 TO Y¥:IF v$(z Z)=QTS THEN X=22

NEXT QTS="DATA"+STRS(X)+"," :FORX=1TOYY: QT$=QTS+CH R$ (34) +V$ (X) +CHRS (34) + "| "SNEXT

X=LEN (QTS$) ~1:0QS$ (XX, 3) =LEFTS$ (QT$,X)

BEND

PRINT CHR$ (155) :MS="WI LL THERE BE ANOTHER ON E? OR N)":GOSUB14@: PRINT CHRS (149) :GETKEY YS: IFYS="Y"THENXX=XX+1 :GO0TO1938

REM x=@ X=X+1

PRINT CHRS$(147)+STR$(X *16+4000G)+QQS(X,1):PR INTSTRS (X*16+40GG0+5) +

QQ$(X,2) :PRINTSTRS (X*1 0+49000+6) +QQ$(X,3):PR INTSTRS (X*10+40000+7) + ":":PRINT"GOTO20"

POKE 208 , 6: POKE842,19:P OKE843,13:POKE844,13:P OKE845,13:POKE846,13:P OKE847,13:BANK15:SYS19 916

TEX<XX THEN 143 PRINT" THERE IS NOW A T OTAL OF";XX+NE;"ENTRIE S. BE SURE TO NOTE THE CHANGE!"

PRINT: PRINT" RENUMBER": LIST 60

HS 1450

CA GA

1466 1476

GE 1480

DR BM

1496 1568

DATA @:REM NUMBER OF E NTRIES

JX 15198

COMPUTE programmer Bruce Bowden lives in Greensboro, North Carolina. O

SAMMY SEAL

Arthur Moore

The trainers at Seal World have been quite amazed at the talents of their re- cent addition. Although he looks just like any other seal, Sammy has been stunning crowds day after day with his remarkable intelligence. After trainers mark blocks of ice with four distinct pat- terns, audiences stand in awe as Sam-

my matches pattern after pattern. A lit- 4

tle foresight and quite a bit of patience are all you'll need to master this unusu- al yet addicting game of logic for the 64, A joystick is required. Plug one into port 2 to control Sammy's actions as he tosses blocks of ice with his nose.

Typing It In

Although written in machine language, Sammy Seal loads and runs like a BA- SIC program. To enter the program, use MLX, our machine language entry program; see “Typing Aids” elsewhere in this section. When MLX prompts, re- spond with the following.

Starting address: 0801 Ending address: 1458

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

Balancing Act Sammy balances on his nose a block

of ice that is marked with a distinctive pattern. Have Sammy throw the block of ice at a matching ice block in the stack on the opposite side of the are- na. If Sammy's toss is accurate and it lands on a matching block, those blocks will be removed, and the next block in the path will be returned to Sammy's nose. Continue this way and remove all of the blocks in the stack. If you strike a block that doesn't match or if you run out of time, you must start over, using one of your reserve blocks. Use up all three of your locks, and the show is over.

On the Nose

Your faithful Sammy appears on the left of the playfield. Using his best bal- ancing skills, he holds the block to match on the tip of his nose. On the right, a stack of 36 ice blocks stands be- tween you and a stellar performance.

At the start of a game, the blocks will shuffle randomly until you press and release the fire button. Your goal block (explained below) will flash, and the round begins.

A glowing block, known as a wild block, rests on Sammy's nose. This block will match any block in the stack. To the left of the stack, a yellow arrow points to the block you'll strike should you throw from Sammy's cur- rent position. By moving Sammy up and down, you can aim the arrow at a specific block. Moving Sammy above the height of the stack causes the ar- row to point downward. This repre- sents a throw that will strike the angled portion of the wall and rebound down- ward before striking a block on the top of the stack. Blocks on the side and top may be hit, but blocks inside the stack cannot be struck until surround- ing blocks have been removed.

If a throw from Sammy's location will not strike a block, the arrow will dis- appear. Throwing without an arrow is not permitted.

How Blocks Move

Throwing a block sends it horizontally toward the stack. If a block hits a wall, it will bounce downward until it strikes a block in the stack. If the patterns match, the one in the stack will be re- moved, and the block in motion will con- tinue in the same direction until it

strikes another block or wall. If more matching blocks are aligned in the path, all will be removed.

lf Sammy's toss lands on a block that doesn't match, the nonmatching block returns to Sammy, who catches it on his nose. (Sammy never misses.) Should a block strike the ground or the back corner, a wild block will be re- turned. Wild blocks behave just as the first block on each level, matching whichever block it first strikes. Play a few practice games, and the rules will become clearer.

Once a block returns to Sammy, the stack may shift because of gravity. This shifting creates an ever-changing playfield which can reveal further moves or obscure current ones.

Goal Blocks

The goal block that flashes at the be- ginning of each round distinguishes ad- vanced from standard skill level. If you can complete a round with the goal block resting on Sammy's nose, you'll receive 1000 bonus points. In the stan- dard level, there is no penalty for not reaching the goal. Should you fail in the advanced level, the round will be considered incomplete, and you'll lose a reserve wild block.

Scoring

Scoring is based on the number of matching blocks that are removed in one toss before a nonmatching block (or bottom wall) is encountered.

Matching blocks Points One 50 points Two 100 Three 200

Four 400

Five or more 800

If you complete a round, you'll earn ten points for each remaining second, and five seconds will be deducted from your allotted time for the next round. Sammy Seal records the score of the previous game as well as the score of the current game. This is convenient for two players taking alternate turns.

Sammy Seal can be paused by press- ing the Shift-Lock key. The border will turn red to signal this. If a block is in mo- tion, the pause will begin once the block returns to Sammy's nose.

FEBRUARY/MARCH 1992 COMPUTE G-33

PROGRAMS

a a a IE a IS LE ES SS

SAMMY SEAL

9801:0C G869:33 G811:1¢0 9819:18 9821:26 @829:A9 9831:66 9839:1E 0841:0F 0849:14 @851:14 9859:49 @861:Cl 6869:11 G871:10 @879:A9 O881:A9 O889:5A O891:FF 6899:D4 @8A1:8D

@8C9:CD @8D1:5A G8D9:F8 @8E1:20 G8E9:DG @8F1:29 O8F9:54 9961:65 9969:8D @911:AD 0919:8D G921:CA @929:A9 G931:FB @939:FD 9941:54 6949:62 @951:FD 6959:FE 6961:D0 6969:4C 6971:1E G979:GE 6981:99 9989:3B G991:FG 9999:85 G9A1:68 G9A9214 G9B1:63 @9B9:4C @9C1:A9 G9C9:G2 09D1:85 G9D9:8G 89E1:C9 G9E9:4C G9F1:6C O9F9:A9 GAG1:5C GAG9:GF @A11:D4 GA19:D4

08 3A 20 26 1E E9 14 FO De FG co 61 65 06 ED 06 63 14 8D AQ 18 E9 69 A2 AE BD 14 Ag EO F6 16 14

07 CT) GE FF AQ F8 6o cg 4c 4c FO 66 80 86 33 61 65 61 D4 8D ag F8 8D AG 16 36 F7 85 AD EO F6 32 8D Ag 8D Ag AQ 63 85 85 86 63 85 c8 FD cg Bl 18 FE AQ FE 66 8A @D oB AD 26 @2 i) 1F GA 4c 14 FD 5D D4 8D 14

G-34 COMPUTE FEBRUARY/MARCH 1992

@A21:D4 GA29:CE GA31:D4 @A39:D4 GA41:13 GA49:F8 GA51:07 GAS9:E8 GA61:09 @A69:5A @A71:54 GA79:GA GA81:14 GA89:00 GA91:GA GA99:60 @AA1:8D @AA9:14 GAB1:GE GAB9:14 @AC1:95 @AC9:14 @AD1:14 @AD9:CO GAE1:16 GAE9:96 GAF1:68 GAF9:1A

AD 66 4c AG 26 67 4c AG 26 GA 14 EE 26 F@ Bl FO 54 4c 26 26 gc AB CE 4 18 63 AA @D

66 14 3A 61 2F cg 22 28 2F cD cg 53 2F 63 FB 63 14 c3 2F 63 98 38 63 96 6D EE 68 26

9B59:FB @B61:5E

AD 14

Oe) AD

@B81:AD @B89:85 OB91:FG @B99:3D GBAL:AG @BA9:C9 @BB1:69 OBB9:AG @BC1:69 @BC9:098 @BD1:C9 G@BD9:28 @BE1:8B GBE9:54 GBF1:66 OBF9:95 @CG1:49 9CG9:69 @C11:62 @C19:BB @C21:a9 6C29:26 @C31:26 @C39:A9 6C41:26 @C49:8D

64 3D GE BG 6G 26 D4 28 Bl Ag 65 85 6B 14 14 gc 28 64 14 @D 32 2F 1c 1l cé6 Gl

14 AG 38 EF Bl FG 85 91 3D 26 Dg 3D 4c cD DG 26 1E 8D 20 26 26 @D @D 8D F7 D4

@C51:EE @C59:6D @C61:0C 6C69:3C @C71:8D GC79:26 @C81:14 @C89:8D @C91:14 9C99:GE GCA1:6D GCA9:91 @CB1:96 @CB9:3D @CC1:19 @CC9:FG @CD1:8D @CD9:1¢0 GCE1:C@ GCE9:DG @CF1:85 GCF9:09 @DG1:58 @DG9:Da 9D11:85 @D19:99 @D21:8D @D29:CE GD31:AG 6D39:66 0D41:48 9D49:AD @D51:AD 9D59:65 @D61:14 @D69:FB @071:C9 @D79:6D 6D81:68 @D89:98 GD91:FG @D99:86 GDA1:14 @DA9:D2 @DB1:13 @DB9:68 @DC1:5A @DC9:D4 @DD1:8D @DD9: 6G @DE1:C@ @DE9:69 @DF1:6B @DF9:69 GEG1:B1 GEG9:8D @E11:A9 GE19:06 GE21:07 GE2 D GE31:26 GE39:8D @E41:18 GE49:20 GE51:FA GE59:8A GE61:AG GE69:8D GE71:A6 GE79:3A

GE81:BB GE89:00 GE91:68 G@E99:A9 GEA1:GE @EA9:4C GEB1:FG GEB9:A5 GEC1:C6 GEC9:A9 GED1:D7 GED9:EA GEE1:8D GEE9:8D GEF1:CA GEF9:E9 @FG1:9D @F99:8D @F11:27 GF19:8D GF21:DG GF29:BD GF31:F7 GF39:26

GF59:17 OF61:96 GOF69:AG GF71:8C

1661:FF

1629:A9 1631:8D 1639:8D 1641:4D 19649:85 1651:36 1959:48 1061:49 1969:9C 1671:1D 19679:41 10681:1D 1689:26 1691:44 1999:1D 10A1:52 16A9:41

16B1:28 16B9:EG 19C1:66 196C09:45 19D1:29 16D9:26 16E1:296 1GE9:26 16F1:96 16F9:13 1191:9D 11969:BD 1111:F7 1119:3C 1121:77 1129:76 1131:36 1139:76 1141:77 1149:78 1151:36 1159:63 1161:3C 1169:2C 1171373 1179:77 1181: 43 1189: 43 1191:36 1199:78 11A1:37 11A9:7B 11B1:36 11B9:3E 11C€1:36 11€9:68 11D1:63 11D9:63 11E1:3C 11E9:6F 11F1:3C 11F9:FC 1261:3C 1269:18 1211:68 1219:68 1221:1C 1229:668 1231:66 1239:18 1241:46 1249:3F 1251:06 1259:06 1261:86 1269:69 1271:698 1279:81 1281:66 1289:18 1291:60 1299:36 12A1:3C 12A9:7F 12B1:6E 12B9:6F 12C1:76 12C9:36 12D1:18 12D9:36

12E1:36 96 GG G6 18 66 GG 18 FO 12E9:66 6G OG 7F 7F 7F OO F7 F7 12F1:F7 F7 GE 18 30 66 38 18 CE 12F9:GE 68 GG OG 7E GB 7E BB 16 1361:88 68 76 18 GC G6 GC 18 5F 1369:76 GG 3C 66 G6 GC 18 BO ES 1311:18 GG G1 G1 G1 G1 G1 G1 82 1319:G1 61 G1 @1 G1 G1 G1 G1 3F 1321:61 G1 @1 G1 G1 G1 G1 FF 46 1329:FF FF G1 61 @1 G1 G1 G1 8E 1331:61 @1 G1 G1 G1 G1 G1 G1 57 1339:61 61 G1 G1 G1 G1 G1 FF SE 1341:FF FF 88 G6 GB G6 GG GB 67 1349:68 GG BB GB GB BG GG BG GF 1351:09 61 G6 GG GB BO GB BB B7 1359:09 68 46 GG GG EG GB G1 BC 1361:EG GG G3 66 GB G3 EB BD 2C 1369:67 88 GB 67 CB BB B7 CB 78 1371:49 03 CO 68 63 EG G7 FB 16 1379:E@_1F FD F@ 3F FD FO 7F F9 1381:FF FO 7F FF FS 77 FD EO 16 1389:3B FB C@ 1C 67 80 36 66 D2 1391:00 GG GB GB BB BO GG GG B7 1399:60 GG GG BG GB 78 GB BG AL 13A1:D8 GG G1 F8 6G G3 BE BB 51 13A9:03 CO GB 63 CB GG G3 CH 7E 13B1:98 63 CG GB Gl CB B7 FY C3 13B9:E@ 1F FD E@ 3F FD FG 7F 39 13C1:FF FO 7F FF 77 FD E@ D5 13C9:3B FB C9 1C G7 88 36 96 13 13D1:08 68 GB BG GB GB BG BB F7 13D9:08 GB GB BG GB 76 BO BB C1 13E1:F8 08 G1 EC OG G1 FC 88 71 13E9:93 BO BB G3 CB GG G3 CO BA 13F1:98 63 CO 6G G3 CH G7 FB 16 13F9:C@O 1F FD CO 3F FD EG 7F 47 1401:FF EO 7F FF EG 77 FD EO 13 1469:3B FB C@ 1C G7 86 36 G6 54 1411:68 68 GG GB BB BG BG BB 39 1419:80 G6 GB GB BG GG GB GB 41 1421:79 66 GB F8 GG G1 EC OG EE 1429:83 FC 88 G3 D8 BB G7 8B 97 1431:88 G7 88 GG G7 8G 87 FB 6F 1439:C@ 1F FD C@ 3F FD 7F 88 1441:FF E@ 7F FF EG 77 FD E@ 53 1449:3B FB C@ 1C 87 86 36 G6 94 1451:06 GG GB BB BB BB BB BG 79

Arthur Moore lives in Orlando, Florida, and this is his first game in machine lan- guage. He wrote Labyrinth Adventure, a bonus on the June 1991 Gazette Disk. o

RPG CODEBUSTER

George Kouba Are you tired of slaying that same goblin time and again as you try to develop enough experience points to advance in your favorite role-playing game (RPG)? Does your character get killed every time you try to collect a little treasure or booty as you explore those mysterious dungeons?

Attheir best, multicharacter role-play-

FEBRUARY/MARCH 1992 COMPUTE G-35

PROGRAMS

a ee TE CE EEE ET TS

ing games offer suspense, intrigue, and that good old sense of wonder. At their worst, these games become an exercise in mind-numbing tedium as you slowly amass experience points,

If you're into these games, there’s hope! | recently spent an enjoyable stint sloshing around a certain subaquatic cas- tle | probably wouldn't have seen for weeks, if ever, in the normal course of events. A judicious bit of character ed- iting on my part provided the shortcut to increase my gaming enjoyment. Now you, too, can edit many, if not all, RPG characters to your own benefit.

Noble Cheating

It may not be entirely fair to the spirit of the game, but it's your time and your computer. If your character bogs down in an RPG because of lack of ex- perience, take this shortcut and get in- to the real plot and high points of these games.

When you play most RPGs, you have to supply a blank disk in order to save a game. As you've probably gath- ered, your characters’ stats are record- ed on this disk often during play and al- ways when the game is saved. In many cases it is possible to isolate that data and modify it for extra lives, increased power, and more experi- ence points that will help you in the game.

To experiment with this editing proc- ess, you'll need your character disk, at least one blank disk for a backup, a copy program to make the backup (your RPG may include this utility), a disk editor program, and a copy of RPG Codebuster.

Typing It In

RPG Codebuster is written entirely in BASIC. To help avoid typing errors, use The Automatic Proofreader; see “Typing Aids” elsewhere in this sec- tion. Be sure to save a copy of the pro- gram when you've finished typing it in.

The Purpose

RPG Codebuster facilitates your at- tempts at character editing in three ways. First, the program converts your character statistics from decimal numer- ic quantities to the hexadecimal form most likely to be displayed as disk bytes. This shows you what to look for

G-36 COMPUTE FEBRUARY/MARCH 1992

in the character block and what to change with the disk editor. Second, the program converts the character's name into ASCII, one of the more com- mon forms of disk storage.

Finally, RPG Codebuster attempts to locate the particular block (track and sector) on the disk that contains the character data that you'll want to edit. This search works with some but not all RPG character disks. Games that save the character's name as part of their statistics are the games compati- ble with the Codebuster character trap routines.

Easy Cases and Hard Ones

Character disks may contain a massive amount of game data along with the character stats, or they may only save game position and statistics. Whichev- er type of character disk you have, it may be categorized as an easy case or a hard case.

Easy cases store character data in blocks of relatively neat organization, each containing the character's name in some variation. Hard cases use com- plex programming techniques to store data much more indirectly, in essence masking or hiding data among the disk's sectors.

The following process for character editing works with the easy cases. For- tunately, many character disks for even the biggest and baddest RPGs use this storage technique. You won't be able to tell whether your disk is easy or hard until you attempt to find the char- acter block.

Step by Step

Let's go through the RPG character- editing procedure step by step. First, load your game and play it just long enough to bring up a display of your characters’ statistics. Write down their most vital statistics: experience points, hit points, level, and money (gold). Stop playing now. Save the game, remove your disk, and turn off the computer so these statistics will not be altered.

Next, make a backup copy of that character or play disk. Disk editing of this sort involves a bit of detective work and trial and error, so you don’t want to lose your current saved game should you damage some data field.

Translate to Hex

Even if you were to select the correct track and sector and look at that area with your disk editor, chances are that you'd only see incomprehensible gibber- ish. Not only would the stats not be in evidence, but the character name would probably not be visible as such (even in the character translation col- umns to the right of the hex dump ina Commodore disk editor). Stats are stored in byte form as quantities in the hexadecimal numbering system, and names may be stored in a variety of dis- play and print codes, not all of which are immediately translatable.

In order to be able to identify the stats you want to find and change in the disk sector and in order to know the most probable byte form of your character's name (most likely standard ASCII), you'll need RPG Codebuster.

Hexadecimal, of course, is the num- ber system based on powers of 16. In Our everyday decimal system, we use the digits 0-9 to represent tens, hun- dreds, and so on. In hex, digits include the numerals 0-9 plus the letters A-F, which represent 10-15. Higher-order hex digits in multidigit quantities repre- sent sixteens and successive powers thereof.

However familiar you may be with hex, save yourself the math and use Convert Character Stat to Hex from the Codebuster menu. Type in your char- acter stat at the prompt. The hex bytes, including the likely left-to-right or- der in which they might be stored on disk, will be returned to you. Copy these down so you'll know what to look for when you edit your disk.

Note that while the higher-order hex digits in one byte are stored to the left of the lower-order digits as in decimal, the overall order of the bytes that total to make up your stat will probably be stored with the lower-quantity bytes on the left and the higher ones on the right. You can ignore excess Os to the right of your translated result.

Repeat this process for the impor- tant stats of your character(s). Also, choose Convert Name to Probable Bytes from the menu. Enter the name and jot down the probable disk bytes that will equal this name in the disk sec- tor. There is a good chance that the al- phabetical bytes on your disk will actual-

ly be slightly different. The second letter, however, will almost certainly be the same as the second digit in each byte. This is because different games may use standard ASCII, PETSCII, screen characters, a mixture of upper- and lowercase, or even a customized character set to store the letters in the name. Luckily, all these variations usu- ally have that second digit in common, which should make the name recogniz- able enough for you to track down. That's the next step.

Find Character’s Sector

Somewhere on your data disk are your character's stats, usually stored with the character name. Because disks of this type are commonly crammed with other miscellaneous game data, find- ing the sector which holds your charac- ter stats is half the battle.

Complicating matters further is the fact that many variations of alphabeti- cal coding may be used to store these names, as mentioned above. Also, some names will be “left-justified” in the lines of data in a sector, while some names will be embedded further toward the center of the sector. Scan- ning the sectors with a disk editor may or may not be of much help here, as the character name may not actually be displayed in the character transla- tion columns.

One idea is to print out the contents of the various tracks sector by sector. A praperly configured printer with a good interface can show both ASCII and PETSCII and may reveal the tell- tale character names alongside the sec- tors. A program, such as Display T&S from the Commodore disk drive manu- al, modified to loop will allow you to do this. This method, however, requires a lot of time and miles of fanfold paper.

With luck, RPG Codebuster can do this onerous chore for you, telling you the exact track and sector where the character data probably is stored. Note: If you find your first character, you've probably found the rest of your party; simply scan the following sectors in that vicinity.

To search every byte in every sec- tor, translating data and comparing strings, would be exhausting. There- fore, | have narrowed the search sub- programs to the most likely sector loca-

tions. In fact, | have included options to customize hunting for the names of your RPG characters on the disk.

Traps

First, choose Find Character Disk Block and then Left Justified Character Trap from the Codebuster options. Type in the name of your game party's first character at the prompt and press Return. You'll also be asked if you wish to change the sector range de- fault. Answer N for no for a quicker search (12 sectors per track). Answer- ing Y will cause the program to search all sectors of the tracks, if needed. Since there are 35 tracks on a disk, specifying suitable starting and ending tracks can save time, Some possible ranges to try are suggested onscreen. Character data, like data in most pro- grams, often appears toward the end of the disk contents.

The trap subprogram will report on the success or failure of the search for character track and sector. The traps search the most likely sector lines (first, second, and eighth) for an occur- rence of the name. If your names ap- parently are not left-justified in relation to sector data, try the Running (Embed- ded) Trap option. While this routine takes longer to execute, it checks more bytes for any embedded names on those likely lines.

A third option, Party Initial Trap, looks for a series of leading initials at full- or half-block intervals. This may even help locate hard-case data, since tough-coded disks often have these initials as the first bytes in sec- tors that otherwise appear scrambled.

Experiment with variations of the ini- tial trap if other traps don't succeed, It may be helpful to type in the initials of only the first two or three party names in order, since character sectors are sometimes separated by intervals of a few data blocks. There's a chance that the initial trap may find a series of bytes which by coincidence contain the same letters but are not the data blocks you want. (FastLoad cartridges may adversely affect the success of this routine. If you have no luck, try it again with any cartridges removed.)

If you still have trouble finding the characters, try renaming any default- named game characters or creating a

}

uniquely named character in the lead position. Get the new entity on your saved-game backup and repeat the search. You may find that some sec- tors are not be what they seem. There are inactive character blocks on some disks (more on this shortly). If the cod- ing is a true hard case, decipher at your own discretion, and good luck! For- tunately, even many of these sectors are editable. On the other hand, if they are too tough to edit, they may let you transfer powerful characters from another RPG that is editable!

Edit Data

Now you're ready to edit those stats with your disk editor. Get your editor up and running, and put your backup character disk in the drive. Go directly to the track and sector where your char- acter was found and scan the data for the hexadecimal pairs you jotted down when you converted your charac- ter stats. For example, let's say your character Quixillva, from Minstrels Sa- ga Ill, has 1127 (67 04) experience points and 907 (8B 03) gold. The easy- case sector would look something like the listing below.

Track 27, Sector 2

51 55 49 58 49 4C 4C 56 41 00 00 00 00 00 00 00 00 00 00 67 04 00 8B 03

Note that the 40-column limit of the 64 causes most disk editors to break a 16- byte sector line into two 8-byte rows. There is a small chance that the bytes as translated by Codebuster will ap- pear reversed, 03 8B, for example, rath- er than 8B 038. Either way, move the cur- sor to that matching stat field and change bytes, as the editor allows. One quick way to raise the stats is to change each of the bytes to FF. This gives you the highest possible quanti- ty in that field. If you desire a specific quantity, convert using the stat con- version option from RPG Codebuster, and you'll know what to insert.

One concern here is the size of the data field. If there is another pair of Os or similarly formatted bytes to the right (left, in case of reversed bytes) of the data now in the field, chances are that you can increase the stat even more. First, though, stick with changing the

FEBRUARY/MARCH 1992 COMPUTE G-37

PROGRAMS

SS SEES PAP DEY ST FAST EE ELT ES

bytes that you know represent your stats. Also, you may want to jot down the bytes that you changed and their original values in case you have to change them back after this initial ex- periment in editing.

Test Your Changes

Now, boot up your RPG and play the game. Go to the character stats dis- play and observe whether your editing changes took. With a little luck, you'll im- mediately see your powered-up char- acter points. If the changes are not re- flected in the game, you have either changed the wrong data field or stum- bled upon an inactive character block.

An inactive block is a sector which holds character data similar to that used in the saved game but which is not being used by the game. This hap- pens when a character has been re- moved from the party during a play ses- sion or just because the game keeps a duplicate roster block of all possible characters before their entry into the cur- rent game.

If your editing doesn't seem to have any effect, check your data fields with the disk editor and change (or change back) any fields which might have stored duplicate bytes in the block. If the changed stats still don't show in the game, you must have an inactive block. You'll have to search a different range of tracks and sectors for the ac- tive sector. If you suspect the active block is in the same track and need to start a character trap in RPG Code- buster with a sector other than 0 (the sector following the inactive one), you can easily modify line 600 in the pro- gram to read S = N, with N being the sector desired. Note: Editing an inac- tive block may prove fruitful, as you can add that powered-up character to your party later.

Extra Power

After your initial changes have taken, you may want to see if you can boost the stats even higher by typing over bytes outside the known data field. Try this by filling the first byte to the right (left, for reversed bytes) with FF. Then boot your game and see if the change took. If it didn’t, you'll know that that byte is not meant to be part of the

G-38 COMPUTE FEBRUARY/MARCH 1992

stat; you can change the byte back, if you wish, with your disk editor.

If your RPG is the type of game that requires you to visit a particular guild or headquarters to gain new levels and skills, simply changing the experience and gold/cash fields is probably all the editing you'll need to do, In this sort of game, just visit that guild or temple af- ter your editing and get your ranks am- ply rewarded.

In a game that automatically raises levels at certain points after battles, you may want to change the data fields holding hit points, level number, and so on. It will require a bit of logic to edit the sector(s) to your satisfaction, depending on the game structure. In fact, you may want to reedit at certain points if your characters change class or require a boost to their magic points, gold, and the rest.

Don’t worry about spoiling your game by making it too easy. If the role- playing game is worth its salt, there will still be plenty of challenging puz- zles, mazes, and monsters to deal with. At least now you'll have half a chance to make some headway. Re- member that all FFs are always nice for a quick edit. Happy venturing!

RPG CODEBUSTER

MM 5 REM COPYRIGHT 1992 - COMP UTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED DIM BY$(15) ,CM$(15) PT$=" ABCDEFGHIJKLMNOPQR STUVWXY20123456789'-§" AS$="2641424344454647484 94A4B4C4D4E4F59515253545 5565758595a" SC$="3031323334353637383 9272D23":ASS=AS$+SCS$ HX$="9123456789ABCDEF" PRINT"INSERT CHARACTER D ISK, PRESS A KEY..." GETAS:IFAS=""THEN GOTO 7 8

OPEN 15,8,15,"I"+"g" OPEN 2,8,2,"#"

168 PRINT"RPG CODEBUSTER":P RINT"RUN/STOP TO QUIT. {SPACE}OPTIONS:"

118 PRINT:PRINT:PRINT"(1) C ONVERT CHARACTER STAT T O HEX"

120 PRINT:PRINT:PRINT"(2) C ONVERT NAME TO PROBABLE

BYTES" 136 PRINT:PRINT:PRINT"(3) F

JP PR

16 20

SF 30

DG

MB

149

156 168

176 186 196

266

210

226

236

248 256 266

276

280 299 386

3190 320 330

349 350

360 376 386

390

460

419

426 436 446 456 466 476

489

499 566

IND CHARACTER DISK BLOC Kk"

GETAS:IF A$="1" OR AS=" 2" THEN GOTO 168 AS<>"3" THEN GOTO14G AS="1" THEN GOSUB 13

AS="1" THEN GOTO 100

AS="2" THEN GOTO 336 PRINT"CHOOSE METHOD A,B OR C3"

PRINT: PRINT:PRINT"(A) L EFT JUSTIFIED CHARACTER TRAP"

PRINT: PRINT: PRINT" (B) R UNNING (EMBEDDED) CHARA CTER TRAP" PRINT:PRINT:PRINT"(C) P ARTY INITIAL TRAP" GETAS: IF (AS<>"A"ANDAS<> "B")AND AS<>"C" THEN GO

70236

FL=1:IF A$="B" THEN FL= Uy)

IF AS$="C" THEN FL=3:L1$

2$5""sE3S="":Tg=0"

SF=@: PRINT: PRINT: PRINT"

CHANGE SECTOR RANGE DEF AULT OR N)?" GETA$:IFAS<>"Y" AND AS< >"N" THEN GOTO270

IF AS="Y" THEN SF=1

IF FL<>3 THEN GOTO336 PRINT"TYPE PARTY FIRST {SPACE} INITIALS" INPUT"IN ORDER, NO SPAC ES";RPS

GOTO346

INPUT"TYPE YOUR CHARACT ER'S NAME, THEN RETURN" ;RPS

FORJ=1T015

HS=MIDS (RP$,J,1):FORT=1

TO4G:IF HS=MIDS$(PTS,T,1 ) THEN [=2*T-1:7=41 NEXT

CM$ (J) =MID$(ASS$,1,2

IF CM$(J)="26" THEN GOT 0416

IF MID$(CM$(J),1,1)="3" AND AS<>"2" THEN CMS (J ) ="5"4+MIDS$ (CMS (J) ,2,1) IF MID$(CM$(J),1,1)="2" AND A$<>"2" THEN CMS$(J )="4"+MIDS$ (CMS (J) ,2,1) IF FL=3 THEN I$=I$+CMS( J)

IFJ=LEN(RPS$)THEN J=16 NEXT

IF AS<>"2" THEN GOTO51@ Bys=""

FORK=1TOLEN (RPS) BY$=BY$+CM$ (K) :BYS=BYS+ " "3NEXT PRINT"PROBABLE DISK BYT ES FOR NAME:"

PRINT" ";BYS

GOTO169

HG

KG

5108 526 536 540 556

569 576

586 596

600 616 626 638

646

650 666 676 686 695 766

7196 729 736

748

758 769 776 786 798 800 816 820 836

846 850

860 878

886 896

960 916 926 936 946 958 968

976

PRINT"POSSIBLE HOT TRAC KS - 27-30,17-26" INPUT"WHICH STARTING TR ACK";T

INPUT"WHICH ENDING TRAC K";ET

IF T<1 OR T>35 THEN GOT

0526

IF ET<1 OR ET>35 THEN G oT0520

IF T>ET THEN GOTO520 PRINT"THIS TAKES A WHIL

1

PRINT"CURRENT TRACK AND SECTOR"

PRINT"{4 SPACES}BEING E XAMINED:"

S=G PRINT#15,"U1:2,"0;T;S PRINT#15,"B-P:2,1" PRINT#15,"M-R"CHRS (8) CH RS (5)

GET#15,BY$(6):IF BY$(6 =""" THEN BY$(@) =CHRS(@) F=1

PRINT"{7 SPACES}";T;S FORC=0TO8

FORD=FTO15

GET#2,BY$(D)

IF BY$(D)="" THEN BYS$(D ) =CHRS (8)

NEXT D:F=6

NM=1

IF C=@ OR C=l1 THEN GOTO 750

IF C<>8 THEN NM=0:GOTO1 996

Byg=""

FORD=9T015

BN=ASC (BY$(D) )

N1=INT (BN/16)

B1$=MIDS$ (HX$,N1+1,1 N2=INT (BN-16*N1

B2S=MID$(HX$,N2+1,1 FORK=2TO18STEP2

IF B1$=MID$(HX$,K,1) TH EN B1l$="5"

NEXT

IF B1$<>"5" THEN B1$="4 "

BY$=B1$+B2$

IF BY$="49" THEN BY$="2 an

IF FL=@ THEN GOTO92G

IF CM$(D+1)<>BY$ THEN N M=G

IF FL=1 AND NM=6 THEN D =16:GOTO996

IF D=LEN(RP$)-1 THEN D= 16:GOTO996

BY$ (D)=BY$

IF FL<>3 THEN GOTO99G NM=6

IF C=@ THEN L1$=L1$+ByY$ :GOSUB1599

IF C=1 THEN L3$=L3$+BY$ :GOSUB1596

IF C=@ OR C=8 THEN L2$=

CH

DM

L2$+BY$:GOSUB1599

980 IF FL=3 THEN D=16 990 NEXTD

1060 1616 1626

10630 1646

1656 1066

1676 1688 16996 1166 1116 1126 1136 1146 1156 1166 1176 1180

1196 1206

1216 1226 1236 1246 1256 1266 1276 1286 1296 1366

1316 1326

1336 1346 1356

IF FL=1 OR FL=3 THEN G 0T01696 FORD=6TO15-LEN (RP$) :NM =1

IF BY$(D)<>CM$(1) THEN GoTO 1076 FORK=1TOLEN (RP$) -1

IF BY$(D+K) <>CM$ (K+1) {SPACE}THEN NM=@

NEXT

IF NM=1 THEN D=16:GOTO 1086

IF D=15-LEN(RPS$) THEN {SPACE} NM=6

NEXT

IF NM=1 THEN C=9

NEXT

IF NM=1 THEN GOTO1226 S=S+1:GOSUB1150

IF T>ET THEN GOTO1296 GOTO619 IF SF=6

01206 IF T<18

01266 IF T<25

01268 IF T<3l THEN

01200

IF T<35 THEN SL=16 IF S>SL THEN S= tL1$="":L2$="":L3S= RETURN

PRINT RPS" FOUND -" PRINT"TRACK, SECTOR:";

T;s

PRINT"MORE RPG CODEBUS

TING? OR N)" GETAS:IF AS$="" THEN GO

701250

CLOSE 15,8,15:CLOSE 8,2

IF AS="Y" THEN GOTO END

PRINT RP$;" NOT YET

UND..."

CLOSE 15,8,15:CLOSE 8,2

GOTO 66

FORD=0TO7:BY$(D) ="0":N

EXT

PRINT "NO COMMAS, SEeian INPUT"CHARACTER STAT";

cs

IF CS>268435456 THEN P

RINT"EIGURE TOO LARGE {SPACE}FOR ROUTINE":RE

TURN

IF CS=268435456 THEN B

Y$ (6) ="1":GOTO1500

IF CS=16777216 THEN BY $(7)="1":GOTO1500

IF CS>16777216 THEN DV

=16777216:D=7:GOSUB155

THEN SL=12:GOT

THEN SL=20:GOT THEN SL=18:GOT

SL=17:GOT

2, 60 FO

2,

PLEA

1396 1468 1416 1426 1436 1446 1456 1466 1476 1486 1496 1566 1516 1520 1536 1548 1556 1566 1576 1586 15968 1606 1616 16268 1636 1646 16598 1666 1676 1686

1696 1799

1716 17298 1736

1748

7]

IF CS=1048576 THEN BYS (4) ="1":GOTO1566

IF CS>1048576 THEN DV= 1648576:D=4:GOSUB 1550

°$=65536 THEN BY$(5

:GOTO1L50G

IF CS>65536 THEN DV=65 536:D=5:GOSUB 1550

IF CS=4996 THEN BY$(2) ="1";GoTO1568

IF CS>4696 THEN DV=409 6:D=2:GOSUB155¢

IF CS=256 THEN BY$(3)= "1":GoTO154G

IF CS>256 THEN DV=256: D=3:GOSUB1559

IF CS=16 THEN BY$(9)=" 1":GOTO15GG

IF CS>16 THEN DV=16:D= @:GOSUB1556 BY$(1)=MID$(HX$,CS+1,1 )

BY$ (0) =BY$ (@) +BY$(1) :B Y$ (1) =BY$ (2) +BYS (3) BY$ (2) =BY$ (4) +BY$ (5) :B YS (3) =BY$ (6) +BYS$ (7) PRINT"PROBABLE FORM OF CODED STAT IN BLOCK:" PRINT BY$(@) ,BY$(1) ,BY $ (2) ,BY$(3)

RETURN Q=CS/DV:Q=INT (Q) BYS$(D) =MID$ (HX$,Q+1,1

CS=CS-DV*Q

RETURN

L1$=I$ THEN NM=1 L2$=1$ THEN NM=1 L3$=1$ THEN NM=1

NM=1 THEN C=9:RETUR

LEN (L1$)=LEN(I$) TH TS=L1$:GOTO1676

LEN (L2$)=LEN(I$) TH