WINDOWS 3.1 vs. 0S/2-BATTLE OF THE TITANS

LOW-COST LASERS! 10 TOP PRINTERS TESTED

WORTH THE WAIT? POWER CHIPS: PAST,

PRESENT, AND FUTURE COMPARED

HACKERSPEAK START YOUR OWN BBS VIRTUAL REALITY

1

U.S. $2,95

1 | 93

ty) ll

Overe

3

64/128 VIEW

This month, I'll introduce readers to the editorial staff members who edit the pages of Gazette.

Tom Netsel

his month, readers who subscribe to Gazette and Amiga Resource will have a chance to meet the editors who pro- duce those sections As editor of Gazette, I’m lucky enough to have the help of technical editor Bruce Bowden. Bruce an-

swers many of the questions that appear in Gazette's “Feedback” column, and he serves on the committee that selects type-in pro- grams. Bruce describes his

ul to “the greatest 8-bit computers ever built.”

I'm the other Gazette staff member. | joined COM- PUTE's features department in 1987, coming from a mixed background of elec- tronics, photography, and ournalism. The first stems from an interest in amateur radio that led to electronics training in the U.S. Navy fol- lowed by a stint at Cape Ca- naveral during the Apollo/ Saturn V days

From the Cape, | moved

Gazette's editorial staff consists of edi

technical editor Bruce Bowden

journey from a math and physics background to com- puting as “a natural exten- sion of an abiding interest in formal systems.”

Bruce bought his first 64 in 1984 and began making his mark writing unique share- ware programs—probably the best known of which is Graphic Assault System, a graphic utility.

He joined the COMPUTE staff in July 1990 and di- vides his time between Ga- zette and other technical and online service duties (He is known as Sourceror on QuantumLink.) Though the IBM is his principle tool these days, he remains faith-

Tom Netsel (left) and

to New York to study photog- raphy. That field eventually led me back to central Flori- da as a photojournalist

In the early 1980s, | grav- itated from the newspaper's darkroom to its newsroom, trading my Nikon for a word processor. A short time lat- er, | picked up a degree in journalism and a computer.

A professor at the Univer- sity of Central Florida in Orlando recommended a new model called the Com- modore 64. | tried it, liked it, and bought it. Commercial software for it was scarce then, but | found COM- PUTE!'s Gazette and began typing in programs. a

GAZETTE

64/128 VIEW G-1 Meet the Gazette editorial staff. By Tom Netsel. WORD PROCESSING WITHOUT GEOS G-2 Should you use a conventional word processor instead of geoWrite? By Dorothy Hemme.

REVIEWS G-8 GeoWizard, geoVideo, and SID Master. COMMODORE CLIPS 6-13 New products for the 64/128.

WORLD VIEW G-14 The Commodore scene in Germany. By Anders Reutersward.

FEEDBACK G-16 Questions and comments from our readers. BEGINNER BASIC G-18

Take a look at some of the unique keys found only on 64 and 128 keyboards. By Larry Cotton.

MACHINE LANGUAGE G-20

Use a fake BASIC program to read a disk directory. By Jim Butterfield.

D’IVERSIONS G-21 Is life itself just a subroutine? By Fred D'Ignazio. GEOS G-22 New tools are available on Dweezil Disks for geoPaint artists. By Steve Vander Ark. PROGRAMMER’S PAGE G-24 Try these wonderful sounds. By Randy Thompson. PROGRAMS

SpeedSpeller 128 G-25 La BASIC G-29 SpeedSpell G-31 Dynamic Memory G-35 Scan 64 G-36 Mindboggle G-37

OCTOBER 1992 COMPUTE

GA

| | Lt

| |

RET

Can a GEOS fan find happiness =

using a non-GEOS

a

word processor? Try one of these and see.

WORD PROCESSING WITHOUT GEOS

BY DOROTHY HEMME

EOS is wonderful, and | love

geoWrite. I'm attracted to this

graphics environment by its vari- ous fonts and type sizes, its pull-down menus, and its allowing the user to point and click on icons.

With all of geoWrite’s printing op- tions, | can tailor my writing to fit my au- dience, Whenever | write letters to fam- ily members, its crazy fonts help me express my mood. At school, when | want to give my students short, clear di- rections for an assignment, the 14- and 18-point font sizes are great for empha- sizing these instructions. So what's the beef? Why not use GEOS all the time? It's a great program, and | love it.

My problem is that | also hate geo- Write. I'm sorry to have to say this, but it does have its faults. As Steve Vander Ark mentioned in his November 1991 “GEOS” column, geoWrite is slow and tends to skip letters when you're

cranked up, typing rapidly. Since | use a 128, | don’t have as great a problem as those who use a 64 and have to en- ter text in BSW font with screen-size margins so that the computer doesn't have to keep redrawing the screen.

While GEOS lets me use a number of fun fonts, its print quality—unless you have a laser printer—leaves a bit to be desired for serious correspon- dence. | don't own a laser printer, | don't have the funds to invest in one, and | don't have the time to send off my geoWrite documents to a printing service and then wait for the mail to bring them back.

Since | also use a modem and have a need to transmit files in true ASCII to an Associated Press computer, | don't want to type an article with GEOS, save it to disk, run a separate spelling checker program on it, resave the cor-

rected article, pull down the menu to

convert GEOS to a sequential file, save it again, and then finally load my terminal program.

| know this will sound like out-and- out heresy to GEOS lovers, but my so- lution is to use regular, commercial word processor programs of the non- GEOS variety. Although these pro- grams have no icons to click on and I've had to memorize a few com- mands, | feel this minimal investment of brainpower is worth the effort. For those of you who have true letter qual- ity printers and 9-pin dot-matrix print- ers, regular word processors may be more to your liking in their versatility, print quality, and ease of use. Don’t get me wrong; | still love and use geoW- rite. But there are times when other word processors are better for the task at hand.

A Speedy Solution

I've used several good word proces- sors upon occasion, and here are some | can recommend. COMPUTE's SpeedScript is a great word processor, and there are versions for both the 64 and 128. Included on the SpeedScript disk is a conversion program to change the word processor's screen code program files to true ASCII se- quential files. Until recently, | had to save the file, exit the original program, load the conversion program, load my text file, and then switch disks while the program converts and saves my sequential file to disk.

| discovered a program on Quantum- Link called SpeedScript Modified for the 64, It takes any version of SpeedScript and alters it so that it can load and save sequential files. The only downside is that SpeedScript Modified has no 80- column preview mode. When | write an article that's to be sent by modem, how- ever, it doesn't have to be previewed as a printed page, so a preview feature isn't important.

If you print hardcopies of most of your documents, however, the Speed- Script disk does include an 80-column preview patch for modifying Speed- Script. With the press of a couple of keys, you can see onscreen how your printed page will look before you send your document to the printer.

Like many programs, SpeedScript has a few surprises even for veteran us- ers. | recently discovered that it does have an option that will let me print a file to disk as a true ASCII or Commo- dore ASCII sequential file. This often- overlooked format command saves me the bother of using a conversion pro- gram. Now | can upload files by mo- dem with even less hassle. Sometimes it pays to read the manual!

Separate spelling checker programs G-4 COMPUTE OCTOBER 1992

are available for both versions of SpeedScript. These programs must be run after you've written and saved a document.

| often have occasion to use hang- ing indents with Roman numerals when typing outlines or test questions and answers, so | need a program that offers variable margins. SpeedScript does offer a margin-re- lease option. With both versions of SpeedScript, text is formatted automat- ically with preset page lengths and mar- gins, but these are easily changed with a simple format command. Give this one a try. SpeedScript is quick, and it uses simple format commands. It beats trying to drag icons to an ex- act spot and risking the possibility of dropping them in the wrong area.

The Fleet’s In

Another solution to my writing prob- lems when | have specialized needs is Fleet System by Professional Software. | have version 2, but I'd like to upgrade to version 4 for the 128, with its pull- down menus. Unfortunately, both of these programs have been discontin- ued, but copies often show up at swap meets. In addition to the spelling checker disk that works within the pro- gram, version 4 has a thesaurus.

Version 4, like SpeedScript, has true word-wrap, which makes looking over your typing much easier. Fleet Sys- tem 2 doesn’t have word-wrap, which is a drawback, but it does have advan- tages of its own. It works with the 64 in 40-column mode and can scroll to 80- column width for a preview. In 80-col- umn mode on a 128, it presents an ex- act view of what's on each page.

Fleet System comes with a short tu- torial and a detailed but easy-to-under- stand user's manual. This word proc- essor has all of the advantages you'd expect in a commercial word proces- sor. It can link long files, has local and global search and replace, has an ex- tra text area if | need to look at the disk's directory or other files, and offers a sophisticated way to move blocks of text.

All margins in Fleet System are vari- able; just set them at the top of the file. Later, if | want to change the mar- gins, | simply and easily insert a com- mand to change them inside the doc- ument. The margins are just like those found on a typewriter. | can change them for a Roman numeral outline with the hanging indents that | need when preparing question numbers and items for a test.

When | use a letter quality printer, | save the file as is with no adjustments. Like GEOS, | just choose the selecta- ble printer driver. If I'm printing a test

for students, | normally use a dot-ma- trix printer. In this case, | use the print- er’s escape codes and print in double- strike or near letter quality mode. This produces printing that is clearer and easier to read than normal draft mode. This isn't a difficult operation, folks. Usu- ally, one embedded command lets me use a variety of printing options.

If | have to send a Fleet System file through my modem, | hit one key, and | can store the file to disk as true AS- Cll. | cut out all formatting commands, which are essential only for a printer, and save text only. All the operations are accomplished while I'm still in the word processor. | don't have to change disks or resave numerous times to get the ASCII file.

The Right Stuff

With The Write Stuff by Busy Bee Soft- ware, | believe | have found word proc- essor nirvana for the 64 and 128. Yes, folks, it slices, it dices, and it makes quick work of any writing chore. For me, it has the right stuff.

The Write Stuff is much more com- plex than SpeedScript and Fleet Sys- tem, so you'd expect a thick manual filled with time-consuming tutorials and explanations. Not so! The manual is small and thin, but the word process- ing disk itself contains 68 help files that you can load and read while still in the word processor. Use them as you need them, or use the Manual Maker program to print out all of the help files to read later.

Busy Bee states that The Write Stuff is not only a “full-featured, high produc- tivity” word processor, but that it's also “intended for use by beginners, chil- dren, and occasional users.” This is ac- complished through a command line at the top of the screen that offers only five options: Help, Edit, Print, Save, and Load. A novice can start typing right away, save what’s been written, and then hit the Print command. A print menu lets you select options such as Double Space, Margins, Line- feeds, Justify, Number of Copies, Start at a Given Page, Wait Between Pages, or Preview on an 80-Column Screen. In the Edit mode, you can Eat Text (delete it) by word, sentence, and paragraph; restore deleted text; or clear all text above or below the cur- sor. Nothing has to be memorized or re- ferred to in order to type and print a draft. Neat, huh?

More experienced and sophisticat- ed users, however, will appreciate the program's gamut of features. Once past the novice type-and-print stage, you'll want to explore and use these powerful options, with the help of The Write Stuffs enclosed cheat sheet.

modore”™

IGA

CG com

Amiga 500 Computer

Basic Package

> gal

ics Pack TENEX Super Graphics Package | TENEX Power Pack SS Forte Plus 3 Great Value Packages: Power Pest sc package eee *Software Bundie #1 sana fe on TENEX Bonus Pack *Software Buncle #2 & Joystick “Smorsninae 2 ote | i kage Soh swore : ae geo Memory Expansion oe 3 Sie Ais si : ; 454.75 otal 3 4 ° Tv Adapter $364.85 _TotalatReg Price eles : pay Tote Pookoge Pee ait Roy Totolot Rea Frage rice $339.95 Low reNexPackoge rice, SFR ne x 90 More! You Save $24. des: Masterlype. F-40 Pusut M are Bundle # 2 inclu 1 be paroheres softwore Buncle #1 Includes fas. Ynereh STE manatenivnere onstee O°® the World is Carmen Sandiego. O°* = eT

Commodore-Ready Printer

At An Incredible Price! Only . $1499 53 $1 19% aay 149 ae) i THE COMPUTER PRINTER

STAR NX-1000C

Njoy near-letter Quality at 36 cps and high- speed draft at 144 cps, Features ino cae paper Parking function and convenient font Panel controls, Includes four built-in 22 fonts and over 20 typestyles. This is the

nl Commodore-ready version of thi -

> Just plug it in and start pigtingere Gog | Sq tional interfaces or cables required, . Sug. Retail $299.00 x

NX-1000C Printer 75060 $179.95- in ore 1541 Il Ribbon (NX-1000C) an $119.95 Comme a : Dust cover 77789 $5.95 Disk Drive

$8.95 Only

O one THER STAR PRINTERS CARDPRINT G-WIZ INTERFACE.

4 NX-1001 Multi-Font Connect any printer to you! \ NX-2420 Rainbow Popa peti high-res screens up to 8 ee ee $ 1 69” NX.1020 Rabo “ASi0ae Bere Geosnite interfaces without buffers. 90-day J . franty. Fro i LaserPrinter 4 A5S7934 $799.00 GWisinede 34a8 seal Ad

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

Call today to receive your FREE

catalog with the greatest prices on the most popular hardware and software!

Shipping, Handling, Insurance

Order Amount Charge &

ms less than $19.99 $4.95 5

S24 22> S> © 56600 Magnetic Drive $20.00$88 88 sos 3 es Mishawaka, IN 46545 $75.00-$99.99 $7.95 :

= = _ = S =_ == _—_219)259-7051 FAX (219)259-0300 $100.008149.99 sass 8

= = = _ We gladly accept mail orders! $200.00'599.00 si20s B Computer Express Circle Reader Service Number 170 $500.00-$609.99 si995

an GTEr: 9 a 3

Order Today! Call 1-800 -FROMPT-1 OSes PRAT e ie COMMODORE 64 and COMMODORE 128 are registered trademarks of Commodore Electronics, Ltd. AMIGA is a registered trademark of Commodore Amiga Inc., NOTE: Due to publishing &

leacttimes, product prices and specifications are subject to change without notice. “APO, FPO, AK, Hl, CN, VI, GU, and foreign orders are subject to additional shipping charges. a4

First off, both the 64 and 128 pro- grams come with Busy Bee Speller. In version 1, the speller.is a stand-alone program that can’t be accessed from within the word processor. That puts you back in the SpeedScript and GEOS category, saving your text, exit- ing the program, loading the spelling checker, and then saving the correct- ed text.

In version 2, however, the spelling checker boots with The Write Stuff and can be used from within the program. The great thing about this spelling checker is that it doesn’t just flag sus- pected words from its dictionary and force you to look them up. For good spellers, BB Speller has a quick 17,000- word dictionary that finds most com- mon words for fast typo checking. If you're a poor speller, an additional 61,000 words kick in. You can select an option that will automatically correct your spelling. There's none of that time- consuming business of trying to look up a word when you don’t know how to spell it in the first place. In addition, you can add 15,000 words of your own and delete those that you don't need.

The Write Stuff offers a multitude of features that let you get as complicat- ed as you want. By progressing through the features in stages, complex- ity isn't forced upon you. A Menu Mak- er lets you create custom disk menus, edit program names beyond the usual 16 characters, and add comments. Thus, instead of trying to remember an exact program name to load, you can search through a menu of meaningful filenames, complete with brief descrip- tions. Children and poor typists will like the fact that they can use the cur- sor to load files.

Like SpeedScript, The Write Stuff saves text as program (PRG) files in screen code, but you can save text as sequential (SEQ) files with the press of a key. If you have files from SpeedScript, Easy Script, PaperClip, Fleet System, or other word processors and want to convert them for use with TWS, the program offers automatic file translation for ten different word proc- essors. | loaded Fleet System USR files and successfully converted them, including the embedded format com- mands. With the press of a key, you can opt for word-wrap or you can see an edge effect, the term for the white space that surrounds your text on the printed page.

The Write Stuff has many more fea- tures as well. To compare different ver- sions of a file at the same time, you can opt for a split screen. TWS rivals GEOS and other graphics-based word processors by letting you print in dou- ble columns for simple desktop publish- G-6 COMPUTE OCTOBER 1992

PRODUCT BOX The Write Stuff Busy Bee Software P.O. Box 2959 Lompoc, CA 93438 (805) 736-8184 Commodore 64—$19.95 with Busy Bee Talker—$24.95 with Busy Bee Speller—$29.95 with Busy Bee Speller and Busy Bee Talker—$34.95 Commodore 128, 80-column—$29.95 with Busy Bee Speller—$39.95

SpeedScript

COMPUTE Publications

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

(919) 275-9809

Commodore 64 and 128, 40-column and 80-column plus utilities—$11.95

Word Writer 6

Timeworks

625 Academy Dr.

Northbrook, IL 60062

(708) 559-1300

Commodore 64 and 128; 40-column with dictionary, thesaurus, art library, fonts—$49,95

ing. You can also add soft hyphens i you want words to get as close as pos-

sible to the right-hand margin but don’ want to use justification.

The Write Stuff also supports the Su- per Graphix printer interface, RAM ex- panders, sorting by columns, file secu- rity, and alternate fonts such as Ga- zette programs Ultrafont+ (September 1986) or Excelfont 80 (June 1988). Writ- ers and students should like its handy outliner. About the only feature this pro- gram doesn't have is a thesaurus.

One additional feature that comes on- ly with the 64 version is Busy Bee Talk- er. BB Talker uses SAM (Software Au- tomatic Mouth) from Tronix Software to read aloud anything you've written with BB Writer. This is a great feature for reading stories to children or for let- ting them create their own and having SAM read their stories to them.

The GEOS Substitute If your old word processor seems out- dated and if you'd like to upgrade to a newer one that can print different fonts and has graphics capabilities but you don't want to invest in GEOS, then take a look at Word Writer 6. This Time- works program for the 64 and 128 in 40-column mode offers both plain and fancy word processing capabilities. You can print text in different size fonts and even insert small graphics. Don’t expect to rush through this word processor and become an expert the first time you try it. Word Writer can do much, but it’s complicated and

takes time and effort to get up and run- ning. It’s not for children or the occa- sional user.

The 166-page manual says Word Writer is “a complete writing environ- ment for memos, manuscripts, and eve- rything in between.” That may be true, but learning to use it takes some effort. It was like trying to install GEOS and making all those disks the first time out.

First off, you can’t just boot up the disk and start typing. You have to make a backup disk containing all the files and fonts you think you'll need. That takes up a lot of space, so you can't store many documents on a disk. When the disk is full, you have no choice but to make another backup disk.

The manual does have a section for getting started quickly, and the pro- gram comes with a cheat sheet to help you become familiar with the com- mands. When you run the program, sev- eral help screens are available to ac- quaint you with various features.

Although the program supports a va- riety of printers, nothing is truly automat- ic. It took me an hour to get a sample text file printed correctly with a Super Graphix interface and Star SG-10 print- er since that combination wasn’t on the automatic-setup list.

The Final Word When it comes to commercial word processors, this die-hard GEOS fan finds that she can crank them up and type faster with them than she can with geoWrite. | don’t have to wait for the screen to redraw because |’m not using a graphics-based processor. | don't drop icons accidentally or have to reset them, trying to get proper mar- gins, paragraph indents, and tabs on the exact spot. Also, what | see in the preview for both the 64 and the 128 is exactly what |’ll get on the printed page. | have to give up most of the fancy fonts | use with GEOS, and I’m con- fined to 12-point type unless | load ex- ternal fonts. But that’s not truly a prob- lem. | find | do most of my work with standard typefaces and ASCII files any- way. Because I’m usually in a hurry and don’t want to wait for all the disk saves and loads or for the screen to re- draw, | often find | don’t need the graph- ics or fancy fonts of geoWrite. I’m not saying goodbye to geoWrite; I'm just ad- mitting that commercial word proces- sors do make my life easier. 0

Dorothy Hemme teaches high school in Sugar Land, Texas. Like any good teacher, this GEOS fan keeps an open mind to computing alternatives.

Fun Graphics Machine

FUN GRAPHICS MACHINE (FGM) 1S AN “ALL-IN-ONE” GRAPHICS PROGRAM FOR THE C=64, WHAT CAN BE CREATED WITH FGM IS ONLY LIMITED BY YOUR IMAGINATION, JUST A FEW EXAMPLES:

BUSINESS CARDS cus. L$ ING

FUN GRAPHICS mAi

K SUPPORTS HI-RES SCREENS U

| IRNY POPULA’

£0 GEOS SCREENS CAN BE CAPTURED SIMPLY BY RESETTING COMPUTER THEN LOADING THE FUN GRAPHICS MACHINE

FEM CLIP ART VOL,1 OVER 200 EXCELLENT GRAPHICS- $8.0) FGM FONT DISK OVER 90 FONTS IN FGH FORNAT~----~ $5.00 C=64 KEYBOARD TEMPLATE NAKE vOUR OWN OVERLAYS-- $5,00 C=128 KEYBOARD TEMPLATE HAKE yYouR OWN OVERLAYS- $5.00 FGM CALENDAR TEMPLATES OAILY, WEEKLY, MONTHLY-- $5.00

FULL KEYBOARD OVERLAYS FOR THE FOLLOWING PROGRAMS Cea CMO’S HARD ORIVE, RAMLINK, RAMDRIVE JIFFY DOS COMMANDS SNAP SHOT 5 ACTION REPLAY 4&5 EPYX FAST LOAD (5 BUSINESS FORM SHOP CALC STAR BASIC 9 5Qen ROCK’S ASSEMBLER (S80 THE FUN GRAPHICS MACHINE A PLEASE STATE COMPUTER (C64,C128,SX-64) OR C64 IS SHIPPED

P.O. Box 2206 44 Roseburg. OR. 9747084

(503)-673-2234 ADD $3.50 FOR S/H PER ORDE!

New * Big Blue Reader 128/64 - 4.0

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

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

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

Big Blue Reader 128/64 - 4.0 only $44.95

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

Bible Search 3.2

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

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

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

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

. Wildcard and Boolean AND, OR & NOT search options.

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

. Money Back Guarantee!

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

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

KJV $49.95 | NIV $59.95 | Both $90 ex Any questions? Call or write for more information. Order by check, money order, or COD. US funds only.

ts FREE shipping in US. No Credit Card orders. Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR)

SOGWAP Software F (219)724-3900

115 Bellmont Road; Decatur, Indiana 46733

es

NOOR

Th

GRAPEVINE GROUP ,...

Inc.

COMMODORE UPGRADES

" SPECIALS

* e COMPUTER SAVER: This C-64 Protection System saves you costly repairs. t Over 52% of C-64 failures are caused by malfunctioning power supplies that destroy your computer. Installs in seconds between power supply & C-64, No soldering. 2 year warranty. An absolute must and great seller .. . $17.95

© PRINTER PORT ADAPTER by Omnitronix. Avoid obsolescence. Allows you to use any Commodore (C-64) printer on any PC compatible or clone. Does not * work with Amiga. .. . $34.95

512K RAM EXPANDERS

By special arrangement with Commodore, we are able to purchase ata fantastic price 400 of the original 512K 1750 RAM expander units for your C64 or C128 computer. Now keep up with the latest technology. Upgrade to 512K with a } simple plug-in module. Completely compatible and comes with software. If you have a C64 you will need a heavier power supply (4.3 amp), which we will give you for $31.00, C128 users do not need this power supply. This is the original Commodore unit with over 800,000 sold.. Super 1750 REU CLone (512K). Does not req 9 ,

COMMODORE DIAGNOSTICIAN II

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, Diagnostician Il utilizes sophisticated cross-reference grids to locate faulty components (ICs) on all C-64 and C1541 computers (C-128/64 mode). h Save money and downtime by promptly locating what chip(s) have failed. (No equipment of any kind needed.) Success rate from diagnosis-to-repair is 98%. Includes basic schematic ... eee ++ $6.95 (Available for Amiga computers with 3¥2" disk at $14.95)

NEW POWER SUPPLIES

© Asuper-heavy, repairable, “not sealed” C-64 power supply with an output of

4.3 amps (that's over 3x as powerful as the original). Featuring 1 year warranty,

ext, fuse, schematics, UL approved . $37.95 (includes bonus Commodore Diagnostician II (valued @ $6.95)

© Our Biggest Seller ® 1.8 amp repairable heavy duty supply for C-64, (Over

120,000 sold,).... . $24.95

REPLACEMENT/UPGRADE CHIPS & PARTS 6510 CPU 1, 6526 CIA y@ 6581 SID

6567 Video. PLA 906114

C1571 ROM Upgrade (310654-05)

C-64 Keyboard (new)

C64 Cabinet (new)

Interface Cables: #690 C64 to 1541/1571 disk driv #693 C64 to 3 pin RCA (eg. 1084)

1541/1571 Drive Alignmen

Super Graphics by Xete’

Service Manuals for C64, C428, 1802, 1084SP, 1541

+ EMERGENCY STARTUP KITS +

Save a lot of time and money by repairing your own Commodore computer. All chips are direct socket plug-ins (no soldering). Each kit includes all you need to “start up"/revive your broken computer. Originally blister packed for the government PXs worldwide, this series is now available to you. Total cost savings per kit far exceeds purchasing chips on an individual basis

KIT #3 (Part #DIA 15) for C64 Symptoms: No power up ® Screen lock up ® Flashing colors * Game cartridge problems Contains: ICs #PLA/82S100/906114, 6526, Commodore Diagnositician, Fuse, Chip Puller, 8 RAMs, Schematic, Utility Cartridge & special diagnostic test diskette with 9 programs An $87.50 value for only $29.95

KIT #4 (Part #DIA 16) for C64 Symptoms: Control Port * Sound ® Keyboard ¢ Serial device problems Contains: ICs #6526, 6581, 8 RAMs, Commodore Diagnostician, Fuse, Chip Puller, Basic Schematic, Utility Cartridge & special diagnostic test diskette with 9 programs A $79.80 value for only $29.95

KIT #5 (Part #DIA 17) for 1541/1571 Symptoms: Drive runs continuously ® Motor won't stop ® Read errors © No power up Contains: ICs #6502, 6522, Fuse Chip Puller, Basic Schematic, Commodore Diagnostician & special diagnostic test diskette with 9 programs An $70.10 value for only $29.95

Send For Free Catalog 3 CHESTNUT ST., SUFFERN, NY 10901 Order Line 1-800-292-7445 Fax 914-357-6243 Customer Service: 914-368-4242 __ International Order Line: 914-357-2424 We Ship Worldwide Prices subject to change Hours: 9-6 E.T. M-F 15% Restocking Charge

Tell a friend you've heard it through the Grapevi1

e.

Circle Reader Service Number 145

REVIEWS

GEOWIZARD

You have to expect some- thing special from a pro- gram that bills itself as “the ultimate GEOS utility.” But when you run this AUTOEX- EC program, all you see is an innocuous dialog box tell- ing you that geoWizard has been installed in your RAM. (You need at least 512K. Smaller RAM units can be used only at the expense of the RAM disk.)

That's about it. Life goes on as usual, and you might even forget that geoWiz- ard’s there. But when you press both buttons on the mouse (or a key combina- tion if you use a joystick), geoWizard pops out of no- where and shows its stuff. Whatever you're doing— working on a document or moving files around the desk- Top—freezes, and a new command window opens at the top of the screen. This new menu offers a number of functions at the touch of a key combination. At this point, geoWizard is ready to go.

Press the Commodore key and the P key simultane- ously to dump a screen to your printer. Such a screen dump is glaringly absent from the GEOS system. The routine will print both 40- and 80-column screens. On the geoWizard disk is a desk accessory that can in- crease the capabilities of the screen dump, allowing you to dump the image to a photo scrap or a geoPaint file. Pretty snazzy, but that's only the beginning of geoWiz- ard’s capabilities.

You can use another key combination to rescue you from those annoying system error dialog boxes. When you lock everything up, as long as the pointer is still moving on the screen (in oth- G8 COMPUTE OCTOBER 1992

er words, if GEOS can still read your input device), geoWizard is alive and kick- ing, ready to transport you back to the deskTop with your RAM _ disk __ intact. There's also a command to do a system reboot, which starts you over from scratch. Use this to recover from the most hopeless crashes.

All of this is great, but geoWizard has more amaz- ing tricks up its disk sleeve. When you press the Commo- dore key and either L (for Load) or D (for Desk acces- sory), something extraordi- nary occurs. After present- ing you with a file selection box (a much more efficient one than GEOS usually us- es), geoWizard opens anoth- er program for you, right smack in the middle of what- ever you're doing. The op- tions allow you to run a desk accessory, an applica- tion, or an AUTOEXEC file without closing another appli- cation first. It's a lot like mul- titasking, and it can really speed things up.

Let me illustrate. If you're in the middle of a geoPub- lish session and you discov- er that you need to do some graphics work in geoPaint, you activate geoWizard. Press Commodore-L to load an application, select ge- oPaint from any active drive, and you're off. When you leave geoPaint, you'll be returned to where you left off in geoPublish. This powerful feature alone is worth the program's modest price.

As if that weren't enough, the geoWizard disk includes MiniDesk, a desk accessory that works some rather fine magic of its own. MiniDesk provides a scaled-down ver- sion of the deskTop, listing files by name instead of by icon and offering several es-

sential file-handling func- tions: copy, scratch, and re- name. You can access any drive using MiniDesk, includ- ing drive C. While in geoPub- lish, for instance, you might discover that you've forgot- ten to place a text file on your work disk. No need to quit geoPublish when Mini- Desk is around. The needed file can be retrieved from any drive and copied onto your work disk in seconds. If you're short of disk space, MiniDesk will let you clear nonessential files without leaving the comfort of your application.

All of these amazing feats don’t come free. There are some compatibility prob- lems because geoWizard breaks a few GEOS rules to work its wonders. There ar- en't many problems, howev- er, and most of them are de- tailed in the documentation that comes on disk as a geoWrite document. If you use a utility that’s on the disk to relocate the geoWiz- ard code during boot-up, you can even avoid some of these problems.

Generally speaking, geoWizard may conflict with third-party programs that may also break rules by re- writing vectors or areas of memory that GEOS normally leaves vacant. One example is GateWay. There is some incompatibility, since Gate- Way's Switcher and geoWiz- ard’s multitasking fight over memory space. Such prob- lems are rare, which is a trib- ute to Jim Collette’s skills as a programmer.

In fact, the entire pack- age is one of the finest piec- es of user-written software I've ever seen. The program is as bug-free and user- proof as you can imagine. It cheerfully shows up whenev- er you call it and tidies up screen modes and disks be-

fore it leaves. The documen- tation is clear and complete, including honest information about possible pitfalls and a technical description of how the magic is done. Try it, and geoWizard, the ultimate utility for GEOS, will quickly become an indispensable part of your GEOS environ- ment. You won't know how you got along without it. STEVE VANDER ARK

Commodore 64 or 128, RAM expan- sion with at least 512K, GEOS 2.0— $16.50

COMM-PLEX SOFTWARE 6782 Junction Rd. Pavilion, NY 14525

Circle Reader Service Number 341

GEOVIDEO

On the wall by my computer desk is a scrap of paper, torn from a notebook that has long since hit the circu- lar file. On that piece of pa- per is a collection of scrib- bles—SYS commands, phone numbers, three-line programs, directory com- mands, and so on—that I've accumulated over the years. | keep telling myself that I'm going to print a nice, clean copy one of these days and throw away the messy version—but | know | never will.

That scrap of paper with its messy scrawl is one of the most valuable reference tools | have. It makes no dif- ference that it looks like something blown into my yard from the dumpster across the street. It gives me information that | need.

In other words, it's not the package; it’s the content. Keep that in mind when you look at geoVideo. This isn’t software for your 64; it's a vid- eotape tutorial for GEOS. It was put together by a group of people whose ex- pertise is GEOS, not video.

I thought my wife was just forgetting things.

KS

Then she forgot my name.

1-800-621-0379

(In Illinois 1-800-572-6037)

A

10 1988 Alzhewner’s Disease and Related Disorders Association. Inc

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

8 BIT

PO BOX 542 LINDENHURST NY 11757-0542

DON’T LET A SPILL CAUSE A COMMODORE

MELTROAWN ONE SMALL MISTAKE COULD DESTROY YOUR COMMODORE COMPUTER FOREVER The finest quality keyboard seels are available for your| Commodore . Custom molded for cach model,

6 PACSETS EACH SET $5.00

Never Again Wear Off The Print On Your Keys!

Save Your Commodore for ONLY $ 19.00 Order # VS64 .......fits your Commodore 64 or Vic 20 64C

COMMERCIAL SOFTWARE ! CALL FOR ITEM AVAILABILITY ! S

JOYSTICK ONLY $5.00

MANY ITEMS ARE CLOSEOUT ITEMS ONLY, AND THE AMOUNT OF STOCK MAY BE LIMITED! CALL OUR OFFICE TO VERIFY AVAILABILITY ! SHIPPING $2.00 For First Ite + $1.00 cach additional item! °U.S. Fands Oaly! °SORRY NOC.O.D.'s OR CREDIT CARD ORDERS) FOR A FREE COPY OF OUR CATALOG, CALL: (516-957-1110 MONDAY - FRIDAY 10am to 5 pm EST

Alien Syndrome, and Thunderblade !)

Circle Reader Service Number 162

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

REVIEWS

You might smile and say, “Yeah, but hey, they know what they're talking about,” and you'd be right. Sort of.

This onscreen duo does know its subject, but the vid- eo has some problems. There are occasional cuts that clip off part of what's be- ing said, and the poor im- age of the computer screen makes it difficult to see what's being described at times. There's the fact that the cursor has been rede- fined and doesn't remotely resemble the pointer novice users might expect to see on their own screens, but these blemishes are minor.

The real problems come from the fact that, even though these folks are obvi- ously experts at GEOS, they don't impart that expertise in a logical sense. Instead, they ramble through a de- scription of each application using the menus as a gener- al guide, throwing in occa- sional tidbits of vaguely relat- ed information when the idea strikes them. To be fair, they do cover most of what you need to know about GEOS, but unless you're familiar with the pro- gram to begin with, you'll nev- er be able to piece it togeth- er from geoVideo.

Which brings up another problem. Far too often the person explaining the pro- gram uses a keyboard short- cut to accomplish a task. Since the video shows only the monitor screen, the view- er can’t see what is being demonstrated! Keyboard shortcuts are defined even- tually, but not before they're used extensively and myste- riously. Of course, many GEOS users would know these shortcuts already and wouldn't be confused. Then again, those users wouldn't need geoVideo in the first place. The folks who do

G-10 COMPUTE OCTOBER 1992

need a video like this are the ones who gave up on GEOS the minute they saw a manual more than eight pages long. They need accu- rate, easy-to-follow instruc- tions and information.

OK, OK, now | hear some people accusing me of nitpicking. Who cares if the cursor is shaped like the let- ter K instead of its usual pointer? And didn’t | say that the video quality isn't all that important? Any user who watches geoVideo will get some information from it. It's very interesting to watch expert users put a powerful software package like this through its paces. And the quality of the screen image and commentary does occa- sionally shine, especially in the geoPaint tutorial. Even a jaded GEOS junkie like me can glean some pointers from other experts.

GEOS is a rich, powerful operating environment with a lot of possibilities. New us- ers watching geoVideo will certainly get a feel for the im- mense capabilities of the sys- tem along with a healthy dose of information that they can use. But right away, we run into another problem. The information isn't always accurate.

Early in the video, it’s stat- ed that the geoRAM device is inserted into the user port; actually, it goes in the cartridge port. The Search and Title Page functions in geoWrite are obviously new to the expert trying to ex- plain them, since she doesn't get them right. The strange effects of colors bleeding into each other, in- herent in the Commodore high-resolution screen, seem to baffle the presenter as much as they would a new user. The Update func- tion is erroneously declared to be unnecessary for

geoRAM users.

The list of inaccuracies goes on and on, and that's a problem—a big problem. The makers of this video should at the very least have planned exactly what they were going to say about each feature before they switched on the cam- era. Also, they should have researched the items that they were fuzzy about.

So what's the verdict? Is geoVideo worth the 20 bucks? That depends. Is it a complete tutorial? Pretty much. Is it accurate? Fairly. Is it interesting? For any GEOS nut, sure. Is it instruc- tive? It's really too disjointed and assumes too much for most novices. If you're an intermediate user who'd like to see how that darn graph- ics importer really works or if you break out in hives when confronted with a hefty man- ual, geoVideo is worth a look-see.

| certainly compliment the makers on a good effort, but unfortunately, they have giv- en us what amounts to a first draft that’s still plagued with errors. What geoVideo needs is a good final edit. STEVE VANDER ARK

geoVideo—$20

MEMORY PLUS ENTERPRISES Box 225

Oakwood, IL 61858

Circle Reader Service Number 342

SID MASTER

“You know, looking at this program is about as excit- ing as looking at a belt sand- er,” David Minnick said to his coreviewer wife, Robin. “OK, but a belt sander is a handy thing to have around if you're building a bookcase,” Robin replied. SID Master is a modest- looking program—no fancy frills. Its manual has a sub-

dued, two-tone cover, basic Courier-style print, and com- puter-generated diagrams. Yet, like a belt sander that makes a tedious woodwork- ing job easier, SID Master is a powerful addition that should be welcome in any programmer's toolkit.

Indy Software has recent- ly lowered SID Master's price, and the manual alone is worth the modest cost. This is an excellent hand- book for understanding sound, sound production, and the Commodore SID chip. Appendices in the man- ual contain listings of the SID registers, tables of de- cay and release times, and tables of frequency settings and sustain loudness levels. This information is available in Commodore's Program- mer's Reference Guide, but it's nice to have it here in a manual dedicated to sound.

Let's take a look at some of the material covered in the manual. | think you'll agree that it's a great refer- ence book.

The first chapter provides an overview of the program and is mandatory reading. Subsequent chapters ex- pand on the properties of the SID chip, how it works, and how you can control it.

Chapter 2 deals with par- ameters applying directly to the SID chip’s three inde- pendently controlled voices. Each parameter is defined and explained, followed by an example for experimenta- tion. Parameters include fre- quency, pulse width, wave- form, ring modulation, syn- cronization, and the enve- lope generator, which cov- ers attack, sustain, decay, and release.

Filter parameters are cov- ered in chapter 3. The filter is used to remove high, low, or middle frequencies of the waveform.

PUMP UP

YOUR PRODUCTIVITY!

Harness the potential of your, The eum Graphics 64 and 128 with these Sain

Do it all with Commodore

f | graphics! powertul programs. Here's what's on it-

burst Graphics, Get more work out of your 64 and 128 see Designer 128 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.

Extend Your Computer Power With This Powerful Software!

em Check or Money Order ___ MasterCard _ VISA | want to pump up my productivity! Please send me the | ©@ disks checked below at $11.95 each. Credit Card No. Exp. Date Signature The 1992 Best of Gazette Utilities Y (Required) _— The Gazette Graphics Grab Bag Daytime Telephone No. | _—— Subtotal Name —— Sales Tax (Residents of NC and NY please add appropriate sales tax for your area. Canadian orders, add 7% goods and services tax.) Address _— Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City | airmail per disk.) Total Enclosed State/Province ZIP/Postal Code Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. |

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

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

joystick, or mouse control. Features in-

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

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

ORDER YOUR 1991 GAZETTE INDEX TODAY!

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

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

1991 Gazette Index

324 West Wendover Avenue Suite 200

Greensboro, NC 27408

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

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

REVIEWS

Chapter 4 explains the digital/analog meter that is displayed on SID Master's screen. The meter displays continuous output of the SID chip's four read-only registers. This chapter explains how the registers can be used to generate sound effects in conjunction with soft- ware links, parameters that control soft- ware in SID Master itself. Chapter 5 cov- ers the creation of complex sounds with these software links.

Chapter 6 is the one most of us have been looking for. This is where you learn how to incorporate sound ef- fects in BASIC programs. This chapter provides the background and mathe- matics necessary to enable you to take the sounds that you’ve created with SID Master and put them where you want them—in your own software.

The mathematics used to convert pa- rameter values into bytes are present- ed in a BASIC program that does the work for you. In no time at all, we came up with a simple program using two sounds we created and the num- bers in the manual for producing two other effects. Our short demonstration depicts an annoying noise, an aggravat- ed assault upon the source of that sound, then enthusiastic applause, fol- lowed by authoritative retribution.

A defective power transformer near our house had been making an annoy- ing ponging sound, so we used SID Master to develop a similar sound on the 64. Then we worked on applause. We modified a siren whose parameters were listed in the manual. Then we took the numbers listed for a gunshot effect. After converting these numbers to the appropriate POKEs and adding some PRINT statements, we came up with a short program. Imagine that you are running this program, listening to the sounds and reading the text that ap- pears on your monitor.

Sound: PONG! PONG! PONG!

Text: Will someone please shut that thing up?

Text: Just a minute, honey. | have an idea.

Sound: Gunshot.

Text: Good shot!

Sound: Applause.

Text: Jolly good!

Sound: Siren.

Text: Uh oh!!!

OK, so we're not Jim Butterfield or even Arlan Levitan—but it worked, and so does SID Master.

Other programs let you play around with sound, helping you learn about

waveforms, pulse widths, and sound envelopes. SID Master takes you a step further by helping you to use the sounds that you create. As its name im- plies, it helps you master the SID chip.

Normally, when you try to program sound, you have to experiment, trying out different routines, poking in various values and settings. This process lets you alter only a few parameters at a time, checking the results one by one. SID Master lets you manipulate all of them at once. This makes creating and adjusting sound effects quicker and easier. All that remains is adding the numbers to your own programs. (SID Master is geared toward BASIC pro- gramming, but it wouldn't take many more steps to convert the numbers in- to hex to use SID Master with assem- bly language.)

There is an art to using SID Master efficiently. There are nuances to many of the steps. Certain delay times work better than others. You may find that you prefer some filters with certain kinds of waveforms over others, and get- ting just the right sound takes some fine-tuning. But that’s the fun, Our favor- ite tools are those that are complex in ability yet simple to operate. They ac- complish easily in seconds what would take us hours to do by hand. Their beauty and elegance lie in their ability to liberate us from time-consum- ing tasks. Just as a circular saw, a drill, and a belt sander are basic pow- er tools of carpentry, a sprite editor, an assembler, and now SID Master are ba- sic power tools of programming.

DAVID AND ROBIN MINNICK

Commodore 64 or 128—$7

INDY SOFTWARE 9725 Alexander Ln. Fishers, IN 46038 (317) 842-2117

Circle Reader Service Number 343 a] -——

CORRECTION

In the August issue, we published a review of S.E.C. Check Register 128. The version that was sent to our re- viewer apparently was an early edi- tion of the program. A spokesman from Sparks Electronics informs us that the current version has been up- graded and improved. New features have been added and earlier prob- lems have been addressed. The price for the new version is $24.95 plus $3.00 shipping and handling, and the new address is Sparks Elec- tronics, 5316 South Ninth Street, St. Joseph, Missouri 64504.

COMMODORE CLIPS

News, notes, and new products

Messiah Is Coming

Messiah Ill: Nemesis (about $59) is a vast role-playing game for the 64/128 that should be available for Christmas. The game has more than one meg of code stuffed on three double-sided disks. Artists and programmers at Mad Man Software (7610 West Fifth Street, Suite 200, Lakewood, Colorado) have spent more than two years completing this project.

Messiah III features more than 300 scenes, 50 maps, and intelligent monsters.

Note that Messiah III is R-rated. It has violence, nudity, and adult situa- tions. It's also a tough game to com- plete, designed for high-school intellec- tuals and up who have role-playing experience. Mad Man Software's Artifi- cial Monster Intelligence System makes each monster fight in its own unique style. The Mad Man program- mers claim that these are the smartest monsters that you've ever faced in a role-playing game.

CQ Computer Hams

Here's a useful product for 64/128 own- ers who are also ham radio operators. They can connect their computers to VHF hand-held or HF SSB transceivers and communicate via packet radio. MFJ Enterprises (P.O. Box 494, Missis- sippi State, Mississippi 39762; 800-647- 5869) announces a fast, easy, and in- expensive way for hams to join the packet action.

The MFJ-1271 ($49.95) modem plugs into your 64/128's cassette port and works both VHF packet at 1200 bps and HF packet at 300 bps. An ad- justable threshold control helps reduce noise susceptibility to increase contact success. An LED is also included to let you know when you're receiving sig- nals properly.

The MFJ-1271 also sports remote packet operation, mailboxlike message forwarding, and Net/ROM emulation, plus much more. It works with MFu’s Digicom/64 public domain software.

i> GRAFIX GALORE

(S27 Original Printshop Graphics), Over 80 super graphics to add sparkle to your Printshop projects! Everything from sports to spys and pirates to pizza. Send $11.95 (ine. s/h) add $3 if outside N. America, Specify C-64 or IBM version. REQUIRES PRINTSHOP OR GRAPHICS COMPATIBLE PROG. C-64 CLIP ART CUPBOARD P. O. BOX 317774 * CINCINNATI, OH 45231

C-64 Program: "DRAW-PRINT IN COLOR" FOR STAR NX1000C RAINBOW PRINTER DRAW AND PRINT YOUR GRAPHICS OR PICTURES IN COLOR DRAW: Full 320x200 pixel high res. bit map screen « Key press and/or 1351 Mouse crayon control On screen crayon coordinates for precision « Vertical and horizontal mirror Imaging, re-coloring PRINT; 4"x2.75" or 8"x5.5" screen dumps In color - No Interfaces needed FUN TO USE - MANY HOURS OF CREATIVE SATISFACTION $14.00 check or money order to:

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

SEC CHECK REGISTER 128

Manages personal or small business checking in a fast/efficient manner. Fast data entry, many bank transactions predefined. Unlimited recurring payees. Up to 750 active file transactions. History files allow an on going record. Up to 999 reference (account) numbers, Easy editing with many powerful commands. Reports printed by, Outstanding Transaction, Transaction, Reference Number, Reference Number & Date, Date, Date & Random Reference Number, or Payee. Print any type of personal or form feed check. Supports all 15XX and Hard Drives. Compatible with all currently available DOS cartridges and ROM chips. Custom video fonts. Spiral bound lay flat manual and much more. System requirements: C=128 with 80 column RGB or Mono. monitor, FREE with each order SEC Financial Calc, 128 TO ORDER: Send Check or Money Order for $24.95 + $3.00 S&H to: SPARKS ELECTRONICS, 5316 So. 9th, St. Joseph, MO 64504-1802

Circle Reader Service Number 252

Big Bucks

Everyone loves cash, and the bigger, the better. With this in mind, Banner Band (533 North Wolf Road, Wheeling, llinois 60090; 800-333-0549) has cre- ated Banner Cash ($14.95). Banner Cash is computer paper that looks like

ONLY ON DISK

Here's the bonus program that you'll find only on Gazette Disk.

DOC BLOCK By Kathleen Hobby Evansville, IN

Use this handy block access pro- gram to read and edit the contents of any block on any 1541 or 1571 disk.

Order the October Gazette Disk. The price is $9.95 plus $2.00 ship- ping and handling. Write to Gazette Disk, COMPUTE Publications, 324 West Wendover Avenue, Suite 200, Greensboro, North Carolina 27408.

a giant ten-dollar bill. Retail store own- ers can use Banner Cash to print sale banners. It also makes great birthday greetings. There are 245 Banner Cash dollars on each roll of paper.

In addition to Banner Cash, Banner Band also has Lacey Flowers, comput- er paper with a floral motif woven into a pink lace background.

Each roll is 45 feet long with no cross perforations. It comes in a self- feeding tray and is covered with a pro- tective outer sleeve.

The Lay of the Land How would you like to view the topog- raphy of your hometown in 3-D? Digi- scape Software (P.O. Box 113058, Car- rollton, Texas 75001) has released a product that will let you see the topog- raphy not only of your area but of the entire United States—excluding Alaska and Hawaii—and parts of Canada. Digital Landscape ($58) contains more than 400,000 elevations taken at regular intervals across the continent. The distance between intervals is ap- proximately three miles, depending on selected latitude. The 3-D renderings on each of the 15 data disks may be ro- tated 360 degrees in 1-degree incre- ments of azimuth and tilted up to 89 de- grees in declination. o

OCTOBER 1992 COMPUTE G-13

G-14

Commodore 8-bit computers will survive longer in Germany than anywhere else.

WORLD VIEW

Anders Reutersward

VIEW FROM GERMANY

Here is Europe calling again, with an extensive report from the Commodore scene in Ger- many, Since we don’t yet have a German correspon- dent, I'll try to describe the Commodore situation from my viewpoint north of the border in Sweden.

| base my evaluation on what | gather from reading Ger- man computer magazines and the bulletin of Germany's popular GEOS Users Club (GUC), to which | belong.

Germany has always been the center of Commodore ac- tivity in Europe. Maybe Commo- dore fans in Britain will dispute my opinion, but no other Eu- ropean country has produced as much hardware and profes- sional software for the 64 and 128 as has Germany. Also, al- most all Commodore ma- chines sold in Europe during the past few years have been assembled at Commodore fac- tories in Germany.

It's only when it comes to games that the British Isles have been more productive than Germany, thanks in part to their close contacts with the large U.S. market. Also, most Germans aren't proficient in languages other than their own, making them dependent on domestic software or titles that have been translated.

One good example of this is GEOS, a software package that has reached high sales and a very high level of usage in Germany. This is mainly be- cause the importer has taken the time to translate the entire GEOS line, software and man- uals, into German.

The driving agent behind GEOS and Commodore activ- ity in Germany is Markt & Tech- nik. This company produces a large range of quality software and books, imports GEOS prod-

COMPUTE OCTOBER 1992

ucts, and publishes a Commo- dore magazine called 64’er.

Even with the worldwide de- cline of the 8-bit machines, this monthly magazine still goes strong. Every issue is packed with articles, hard- ware and software reviews, construction projects, repair in- structions, and type-in pro- grams for the 64/128.

One new phenomenon in Germany is the GUC. With over 2000 members, a month- ly bulletin, a large public do- main library, and its own qual- ity GEOS software, this club has quickly become a power on the Commodore scene. Un- fortunately, this climb to the top hasn't been without clash- es and controversies with the established market domina- tors, mainly Markt & Technik.

For fans elsewhere, GEOS products are available from the GUC at reasonable prices. How about GEOS on an EPROM? It boots instantly when you turn on the comput- er. TopDesk is an entirely new desktop that displays the con- tents of up to four drives at the same time. RamPrint is a print- er routine that uses an REU as a printer buffer, leaving the computer free for other tasks while the printer trundles along. There’s even more in the club’s GEOS pipeline. If you're interested in learning about this group, drop a line to GEOS Users Club, Jurgen Heinisch, Xantener Strasse 40, D-4270 Dorsten 19 Rhade, Germany. He'll send you information about GUC membership.

There are still a lot of Ger- man mail-order firms catering to Commodore users. You can see many of their advertise- ments if you skim through the pages of computer maga- zines. There are word proces- sors, database programs, CAD programs, paint pro- grams, assemblers, terminal software, desktop publishing

programs, and games—all in the German language.

Perhaps true to their heri- tage, the Germans seem to specialize in hardware. Peripherals of all imaginable and some unimaginable kinds are available. Another quick look through computer maga- zines reveals advertisements for video digitizers, scanners (among them Handyscanner, which recently turned up on the U.S. market [COMPUTE, December 1990]), Prestel de- coders, printer ribbon reink- ers, MIDI interfaces, realtime clocks, satellite pay-TV decod- ers, printer interfaces, RS-232 interfaces, drive turbos, EPROM burners and cards, memory expansion units, car- tridges, user port expanders, and more.

The list is long. The prod- ucts are all for use with the 64 or 128, and they're all of do- mestic origin. Imported prod- ucts such as Hard Drive and RAMLink from Creative Micro Design are available, but at much higher prices.

Regretfully, | don’t have fig- ures regarding the number of computers in Germany, but Amigas are taking over the mar- ket there as well as every- where else in Europe. The rate of 8-bit decline, however, seems to be slower than it is in the U.S.

One reason for this is the re- cent merger of East and West Germany. That merger re- leased a flood of computer- deprived East Germans onto the market. Their somewhat lim- ited cash resources make used 64s and 128s perfect first computers. These new buy- ers should also help keep de- mand strong for software and add-on hardware.

| believe that Germany is a very fortunate country in this as- pect and that the Commodore 8-bit computers will survive longer in that country than any- where else. o

021MU

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

Choose 6 for $5.00 LIMITED OFFER

KILLER:

LUNG DISEASE

C.O.D. orders call: AMERICAN _ Os . Dp) LUN! iuperior Micro Systems, Inc, _ < ASSOCIATION® Does Your Heart Good. as ISN. Ose, (a>,

® The Christmas Seal People ®

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.

Circle Reader Service Number 253

2. @P American Heart Association

Can Your Computer Make you

. 35°$1,000,0007

WITH LOTTERY PC YOUR NEXT TICKET COULD BE WORTH MILLIONS!

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

Join the growing list of winners using our system.

a

SID MUSIC UTILITIES

PRINTSHOP UTILITIES JR HIGH EDUCATION HIGH SCHOOL EDUC.

TYPING / SPANISH SPECIFY: COMPUTER SCIENCE Lottery 64(C64/128) Lottery PC

PIRATES TOOLBOX FOREIGN ARCADE CASINO-BOARD GAMES| GEOS FONTS

LOTTERY PROGRAMS COLLECTORS CORNER

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

(Illinois residents add 6% sales tax)

(Grders outside North America add $3.00)

oo =

Space contributed by the publisher as a public service.

COMPUTE’s

Circle Reader Service Number 221

SpeedScript Disk

A powerful word processing package for Commodore 64 and 128 owners

A Great Deal for Commodore Users!

* SpeedScript for the 64

° SpeedScript 128—80-column version * Spelling checkers

° Mail merge

* Date-and-time stamp

* 80-column preview for the 64

* Turbo save and load

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

Ives! Send me _______ copies of COMPUTE’s | SpeedScript Disk. | I've enclosed $11.95 plus $2.00 postage and handling. (Outside

U.S. and Canada add $1.00 for surface mail or $3.00 for | airmail.)

| ORDER NOW!

Amount Sales Tax*

Total

Address

State

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

Residents of North Carolina and New York, add appropriate tax for your area. Canadian

orders, add 7:

% good and services tax

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

| Mail personal check or money order to i

G-15

Questions and answers

about typewriter emulations,

double-spaced listings,

G-16

FEEDBACK

Bug-Swatter

Several readers wrote to com- plain about F/X Plot 128 (June 1992). The problem oc- curs when line 920 directs the program to a nonexistent line 170. The mistake was a renum- bering error on our part. Line 920 should read as follows.

920 ON GK GOTO 930, 1450, 110, 990

Typewriter Emulator

Has anyone ever come up with a program that would con- vert a 64 and a printer into a typewriter? This would be nice for filling in blanks on printed forms.

STEPHEN LUISSER NORTHAMPTON, PA

Here's a program that might work if your printer doesn't have a buffer.

10 OPEN 4,4,7 20 GET A$: IF A$ = ““” THEN 20 30 PRINT#$,A$;: GOTO 20

Most printers with buffers, how- ever, save characters sent to them until they receive a car- riage return. In this case, you'd be typing blindly until you hit Return, and then al let- ters would print at once.

If this program doesn't work as you'd like it to, try changing line 20.

20 INPUT A$

As you type, you'll see charac- ters on the screen; press Re- turn and the line will print. It's not exactly like a typewriter; you may have problems mov- ing the printhead the proper number of spaces when filling in blanks.

Double-Spacing

Is there some way | can get a program listing to print double- spaced? It would be a break for my poor old eyes when it comes to debugging, but |

COMPUTE OCTOBER 1992

hate to fiddle with my printer's DIP switches.

G.W. BLACK ATLANTA, GA

Here's a way you can do it with a program command. Load your program into mem- ory, but when you enter the commands to produce a print- out of the listing, use a file number greater than 127. Here's an example. Enter the first line and press Return to start the listing. Enter the sec- ond line to close the file.

OPEN200,4:CMD200:LIST PRINT#200:CLOSE200

Programs Within Programs | have trouble loading pro- grams from within another pro- gram. For example, I'll make a menu, it loads a program, and then there's an error. | used the clear command at the end of the menu, and that didn't work. Please help!

MICHAEL V. MAY MT. PERRY, OH

Using BASIC for loading ei- ther another BASIC or ma- chine code file is called chain- ing. To chain, your program must enter a LOAD command with the ,8 or ,8,1 extension just as if you'd entered it in di- rect mode. Within BASIC, how- ever, the interpreter has a pointer that tells the 64 where to continue processing the pro- gram after a command has been executed. The pointer is reset to the start of the pro- gram when a LOAD is execut- ed. This is actually a help when one BASIC program is loaded from another, since the new program overwrites the old and you want the new one to start running at the first line. When you want to load a machine language pro- gram, however, you run into a problem if you simply enter something like the code in the next two lines.

10 LOAD ‘‘MACHINE CODE” ,8,1 20 REM THE REST OF THE BASIC PROGRAM FROM HERE

This results in an endless loop as the pointer is reset and the file named MACHINE CODE is loaded over and over again.

The solution is to set a flag that tells your program that it has already completed the loading and to continue run- ning. Here's how the program above should look.

10 IF FL=0 THEN FL=255:LOAD “MACHINE CODE",8,1

20 REM THE REST OF THE BASIC PROGRAM GOES HERE

The flag, in this case, is held in the variable FL. When the program is first run, all possi- ble numeric variables have a default value of 0. When we test whether or not FL is O initially, the condition is true. Because it's true, the line con- tinues to process by setting FL to a value of 255 and load- ing the machine code file. (Any number other than 0 will work except in the case of a bad memory register, a rare event.) Now, when the pointer is reset and the condition is tested again, it's no longer true and processing contin- ues on the next line.

Null Modems

| want to transfer some docu- ments that | wrote on my 64 to my IBM computer. | know that | can upload them to a BBS and then download them to my IBM, but isn't there some way | can hook the two computers together without going through a third one by telephone?

WAYNE PALMER CHICAGO, IL

Last month in a similar ques- tion we mentioned that some conversion is necessary to make the Commoaore files

compatible with the character set of the receiving IBM com- puter. The 64 uses a nonstan- dard set of characters called PET-ASCII or PETSCII and the IBM uses the standard AS- Cll character set. (For more information about PETSCII, see the reply below to Frank Chang.)

For the 64, there are sever- al conversion programs that will let you convert PETSCII to ASCII or ASCII to PETSCII. Some commercial word proc- essors include a conversion program. Convert, for exam- ple, is one that comes with Word Writer. Check your local Commodore user group, bul- letin board system, or nation- al online services for a public domain conversion program.

The serial port on the back of the 64 is almost, but not quite, a standard RS-232 port; the only difference is the Commodore's voltage level. You can convert it by plug- ging in an RS-232 adapter, which is available from vari- ous suppliers.

Next, you'll need some- thing called a null modem ca- ble. This is just a simple cable that fools computers into think- ing that they're linked by mo- dem over a telephone line. A couple of the cable's wires are crossed so that an input line on one side is an output line on the other. One end plugs into the RS-232 adapter on the 64, and the other end plugs into the IBM's serial port. Null modem cables are available from several manu- facturers, including The Grape- vine Group, 3 Chestnut Street, Suffern, New York 10901; (800) 292-7445.

Finally, each compuier will have to be running its own ter- minal software. The software must be set up to recognize a modem plugged into the seri- al port. Of course, there won't really be any modem at- tached, only the null modem

cable. Have the IBM request a download and then have the 64 upload the file. Also, be sure that the terminal pro- grams are set for the same sending rates and other tele- communications parameters.

Commodore’s ASCII Just what is PET ASCII?

FRANK CHANG RIDGEWOOD, NY

ASCII stands for the Ameri- can Standard Code for Infor- mation Interchange. As the name suggests, it’s a stan- dard way of assigning comput- er character sets to specific values, 65 for the letter A, 66 for the letter B, and so on. It's often used with word proces- sors when saving text to disk and for transmitting text from one computer to another.

Commodore devised its own number-to-character sys- tem when it released its origi- nal PET series of computers, hence the PET ASCII or PET- SCIl name. It is similar to AS- Cll, but there are differences. The most obvious difference is that uppercase letters in PETSCII print in lowercase in ASCII, and vice versa.

The 8-bit Commodore ma- chines derive their character set from a time when ASCII wasn't the de facto standard that it is today and the big players took no pride in being compatible. Consequently, from the point of view of more modern machines, including the Amiga, the 8-bit Commo- dores not only confuse upper- and lowercase, but they ne- glect entirely such characters as the brace and underscore.

There's no problem when you are swapping sequential files with someone who owns another 8-bit Commodore, and modems do a good job of translating when you call 4 BBS that's running on an IBM. The problem becomes appar- ent when you download an AS-

Cll sequential file from an IBM and try to read it with a Commodore word processor or sequential file reader. If you get a file whose upper- and lowercase letters appear to be reversed, that's usually the reason. There are conver- sion programs available that translate the characters, ena- bling word processors to han- dle the text correctly.

Word processors such as SpeedScript add more com- plexity to the situation by us- ing their own special codes. In- stead of writing sequential files in ASCII or PETSCII, SpeedScript saves text as pro- gram files using Commodore screen codes,

If you're sending a SpeedScript file to someone who needs a PETSCII or true ASCII sequential file, you can overcome this problem by printing your SpeedScript file to disk rather than saving it by pressing f8 as you normal- ly would. To print a file to disk, press Shift-Ctrl-P simulta- neously. You'll be asked if you want to print to screen, disk, or printer. Select D for disk, and you'll have a PET- SCII sequential file on disk.

SpeedScript can also print files as true ASCII. On the first line of your document, press Ctrl-£ and then press A. This will print a lowercase re- versed A on your screen. This code will change your SpeedScript file to true ASCII when you print to disk. You can easily test for this by print- ing your file to the screen in- stead of to a disk. All the up- per- and lowercase letters will be reversed.

Converting documents to true ASCII can be useful when you want to send a SpeedScript document via mo- dem to someone who has an IBM. The IBM user can then load your text into an ASCII- based word processor with- out additional converting. O

Comments about running a

program from within

null modems, ASCII,

and PETSCII

OCTOBER 1992 COMPUTE

G-17

Here’s a look at some of the

unique keys found only on 64

and 128 keyboards.

G-18

BEGINNER BASIC

Larry Cotton

MORE KEYS, PLEASE

Last month we learned about some keys unique to the 64. Let's examine some more.

When the 64 is first turned on, the keyboard defaults to what is known as the upper- case/graphic character set mode. Normally, anything you type is in uppercase. Howev- er, most keys can generate graphic characters by holding the Shift or Commodore key while pressing them.

Each keyboard character has a unique CHR$ code, which you can see by entering PRINT ASC(‘'X"), where X is the character itself. For in- stance, the ASCII code for J is 74. The codes for the symbols produced when holding down the Shift or Commodore key with J are 202 and 181, respec- tively. Conversely, to print any character onscreen, enter PRINT CHR$(X) and then press Return, where X is the character's ASCII code. (Note that you don’t need the quota- tion marks in this case.)

As you may have discov- ered by now, graphic charac- ters can be used to enhance the appearance of your BA- SIC program screens. Here's a short example:

10: PRINTCHR$(147): REM CLEAR SCREEN

20 POKE 53280, 5: POKE 53281, 1: REM SET BORDER AND BACK- GROUND COLORS

30 POKE 646, 5: SET CURSOR COLOR

40 V=8: H=15: GOSUB 1000

50 PRINTCHRS$(213)

60 V=8: FOR H=16 TO 22: GOSUB 1000

70 PRINTCHRS$(192): NEXT

80 V=8: H=23: GOSUB 1000

90 PRINTCHRS(201)

100 FOR V=9 TO 11: H=15:

GOSUB 1000 110 PRINTCHRS(194): NEXT 120 FOR V=9 TO 11: H=23:

COMPUTE OCTOBER 1992

GOSUB 1000

130 PRINTCHRS(194): NEXT

140 V=12: H=15: GOSUB 1000

150 PRINTCHRS(202)

160 V=12: FOR H=16 TO 22: GOSUB 1000

170 PRINTCHRS(192): NEXT

180 V=12: H=23: GOSUB 1000

190 PRINTCHRS$(203)

200 V=10: H=17: GOSUB 1000

210 PRINT TITLE”

999 GOTO 999

1000 POKE 214, V: PRINT: POKE 211, H: RETURN

1001 REM VERTICAL AND HORI- ZONTAL CURSOR POSITIONS

The numbers 214 and 211 in line 1000 are the memory reg- isters that control cursor posi- tion. Admittedly, this tech- nique creates a longer pro- gram, but | prefer it because it's precise and much easier to type in. Most programs can be shortened by printing the graphic characters them- selves, but typing in such a program can be tedious.

The keyboard can be switched to the uppercase/ lowercase character set by pressing the Commodore and Shift keys simultaneously. This allows the use of upper- and lowercase in text, but un- fortunately, it prohibits print- ing graphic characters on the same screen. Switching be- tween character sets can be accomplished with PRINT CHR$(14) (uppercase/lower- case) or PRINT CHR$(142) (uppercase/graphic).

Some of the other keys pe- culiar to the 64 are the Clr/ Home, Inst/Del, Run/Stop, Ctrl, Commodore, and Re- store keys. Let's look at each.

The Clr/Home key, as |’m sure you have by now discov- ered, has a dual purpose: Un- shifted, it brings the cursor home—to the upper left cor- ner of the screen; shifted, it clears the screen completely. Clr and Home CHR$ codes are 147 and 19, respectively.

The Inst/Del key is used to

insert and delete characters. However, when entering BA- SIC programs, it's easy to be caught in what's known as the quote mode. This is where every inserted key- stroke produces an arcane graphic symbol. The easiest way to escape this mode is to press a shifted Return.

The CHR$ codes for Inst and Del are 148 and 20, re- spectively. These are useful to know when looking for spe- cific characters to be entered.

The Run/Stop key is usual- ly used (unshifted) to stop a BASIC program. Shifted, it's used to start loading a pro- gram from tape. The CHR$ code for Stop is 3. Sensing a shifted Run/Stop key requires peeking at memory locations 197 and 653, as mentioned last month :

The Ctrl key's most useful function is to slow down a BA- SIC program listing. Use it with a number key to select one of eight cursor colors. As with other keys, it can be pro- grammed to do other things. In SpeedScript 3.2, for in- stance, the Ctrl key is used with the E to erase words, sen- tences, and paragraphs.

The Commodore key's main two default functions are switching between keyboard character sets (with the Shift key) and selecting eight addi- tional cursor colors (with the number keys).

The Shift, Ctrl, and Commo- dore keys don't have ASCII codes. To prove it, try PRINT ASC("'X"), where X is one of those keys. They can be sensed, however, as pointed out last month, by peeking at memory register 653.

Finally, we come to the Re- store key. This is probably the most abused key on the 64. It's used with the Run/Stop key to restore the computer to its standard condition. It's de- signed to be struck, rather than just pressed. o

HELP PREVENT HEART ATTACK WITH A +

—s

Any type of aerobic exercise program can help reduce your risk of heart attack and stroke. The only hard part is diving in. To learn more, contact the American Heart Association, 7272 Greenville Avenue, Box 47, Dallas, TX 75231-4596.

You can help prevent heart disease and stroke. We can tell you how.

American Heart Association

This space provided as a public service. © 1992, American Heart Association

NUCLEAR SUB COMMAND

Realistic: Nuclear Attack Sub Simulation

Requires C64 GEOS a or 2.0. > We CQ) $19.95 Check or Money Order

VMC Software PO Box 326

Cambria Hts. NY 11411

Circle Reader Service Number 171

Upgrade your Commodore system Refurbished Hardware New APROTEK modems

MONITORS DRIVES OTHER 64/128/AMIGA-2400 BAUD - $119 1701 -$235 1541-$100 1660-$30 64/128/AMIGA-1 200 BAUD - $89. 1702-$255 1541-I1-$120 1670-$50 APROSAND-4 SLOT CARTRIDGE 1801 -$265 1571-S165 C64 -$100 EXPANDER FORTHE 64/128 - $40 1802-$285 1571-Il- $185 64C-$120 New CMD accessorles 1901-$295 1581-$180 C128-$175 JIFFYDOS 64/128 & ANYDRIVE "SYSTEM" - $85 1902-$305 1001SFD-$150 C128D-$225 128D/ANY DRIVE SYSTEM" - $95 1084s-$325 1530 DATASETTE-$35 ADDITIONAL DRIVE ROMS - $45 MANY BOOKS - $10 ‘SOFTWARE - $10-20 RAMLINK/RAMCARD C/W BATTERY (OMb)- $345,

ASK FOR ANYTHING, | MIGHT HAVEITI 1Mb RAMSIMM - $75 4Mb RAM SIMM - $250 J.P.PBM PRODUCTS BY MAIL SHIPPINGINCLUDEDFORCANADA, USA+15%

P.O. BOX #1233, STATIONB 15 DAY WARRANTY ON REFURBISHED GOODS

WESTON, ONTARIO, M9L2R9 TAX-Canada+7% GST, OntarioRes. +8% PST

Commopore_e 64 PusB_ic DomAIN

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

64 DISK CONNECTION

4291 Holland Rd., Suite 562 - Virginia Beach, VA 23452 (* Formerly RVH Publications)

Circle Reader Service Number 254

Commodore Accessories & Necessities

Ribbons! M3 Mouse

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

1802 Monitor Power Supply

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

= ELECTRO-TECH ELECTRONICS eo 677 East Main Street + Ventura,CA93001 + 805-648-5417 ;

Circle Reader Service Number 148

Calc il makes your math work a breeze

= whether it's a mortgage calculation, budgeting, orkeeping sports statistics. (Or use it for your non-math chores fixe organizing phone numbers or making shopping fst! * Uses Commodore math routines for

The Fastest power and speed * gets results twice as fast as Competito’s © deal for

Spreadsheet databases - sort by row or cohrmn * ft h View lots of information fast with up to for the four confgurable windows, row and column locking * Quick, responsive Commodore 64 Sireaing = independently schestable decimal places, width and positioning

of data * Uppercase, lowercase and Commodore graphics all available * Bar graphs on-screen with text * Over two dozen functions, including LOOKUP, AVG, IF, BND, SIN & FIX * 240 rolvs by 240 colurms * Easy to remember com- mands * Uses disk or tape * Simple worksheet setup + Easy text entry,

The Package includes a detailed User's Guide and disk with Calc I, two utility programs and over 40 easy to use worksheets. Write for free information or

PANKHURST PROGRAMMING Dept. « Box 49135 » Montreal * Quebec * Canad2 * HIN 3T6

Circle Reader Service Number 152

Here’s a way to use

a fake BASIC

program to read a

G-20

disk’s directory.

MACHINE LANGUAGE

Jim Butterfield

DIRECTORIES

Programming to read a disk di- rectory isn’t trivial. You must go through a careful se- quence of steps.

There are two approaches: read a fake BASIC program or read disk data in binary. Fake BASIC is invoked by opening with a filename such as $0 and using secondary address 0. That's the option we'll take; it's simpler and more flexible.

You know that LOAD “$0",.8 will load a directory and LIST will display it. The LOAD com- mand brings in a fake BASIC program, complete with pseu- do line numbers, showing the size of each file. Instead of LOAD, we may open the file and use GET to pull in direc- tory bytes one at a time. But we must know how to unscram- ble this programlike structure.

In a BASIC program—even the fake one used for directo- ries—the first two bytes are the load address in binary. Then come the program lines.

Each line consists of a two- byte link, followed by a two- byte binary line number; these four bytes are followed by a string of characters termi- nated with a binary 0 charac- ter. When we read the direc- tory, we check the link for 0, which will signal the end of the file. We save the line number, since it represents the file size in blocks, and scan through the remaining text. This text is not all filename; there may be leading spaces, quotation marks, and file type designa- tions such as PRG or SEQ.

After putting the machine language code into memory, the BASIC program opens the file. Note that it uses a secon- dary address of 0. If desired, we can use pattern matching in the filename; for example, OPEN 1,8,0,"$0:B*" would de- liver only those filenames that begin with the letter B.

The job of reading the direc-

COMPUTE OCTOBER 1992

tory is done in the machine lan- guage program. First, it con- nects to the file; then it throws away the first two load bytes.

2000 LDX #$01 JSR SFFC6 JSR $FFE4 JSR $FFE4

Next, the program starts its main loop, which reads each directory line. The first two link bytes are tested for 0, then discarded.

200B JSR $FFE4 STA $2100 JSR SFFE4 ORA $2100 BEQ $2057

The next two bytes are the pseudo line number that rep- resent the file size. We bring this in and store the two bytes. You'll often want to make use of this file size val- ue; this program stores it but doesn't use it.

2019 JSR $FFE4 STA $2101 JSR SFFE4 STA $2102

The remainder of the line con- tains text. We'll read this into memory, watching for the bina- ry O that signals the end of the line.

LDX 2027 STX JSR LDX STA TAY BEQ INX BNE

#$00 $2100 SFFE4 $2100 $2200,X

$2039 $2027

After receiving the line, we'll deliver it to the screen. It hasn't been neatly parsed for spaces or quotation marks, so it might look a little ragged. But you'll be able to see how the directory is read.

Before printing the line, we'll disconnect momentarily from the input channel.

2039 JSR LDX 203E LDA JSR INX CPX BCC

SFFCC #$00 $2200,X $FFD2

$2100 $203E

A final return is printed, and then the program reconnects the input stream and goes back to do another line.

204A LDA #$0D JSR $FFD2 ; reconnect to the input stream LDX #$01 JSR $FFC6 JMP $200B

When we're ready to quit, we just unhook the input channel and return to BASIC.

2057 JSR $FFCC RTS

Here's the program in BASIC.

100 DATA 162,1,32,198, 255,32, 228, 255, 32,228,255

110 DATA 32,228,255,141,0,33, 32,228,255,13,0,33,240,62

120 DATA 32,228,255,141,1, 33, 32,228,255,141 ,2,33,162,0

130 DATA 142,0,33,32,228, 255, 174,0,33,157,0,34,168, 240,3,232,208,238

140 DATA 32,204,255,162,0,189, 0,34,32,210,255, 232,236,0,33,144,244

150 DATA 169,13,32,210,255,162, 1,32,198,255,76,11, 32,32,204,255,96

200 FOR J=8192 TO 8282

210 READ X

220 T=1+X

230 POKE J,X

240 NEXT J

250 IF T<>11245 THEN STOP

300 OPEN 1,8,0,"$0”

310 SYS 8192

320 CLOSE 1 im)

D'IVERSIONS

Fred D'lgnazio

MY DREAM

The other night | awoke from a strange dream in which I'd been a computer program—a simulation. The authors of the program were monitoring the program and had just decided to terminate it, since it had out- lived its usefulness. At that mo- ment | woke up.

“Whew!” | sighed silently, no- ticing the comforting dark pro- file of my wife sleeping next to me. “That sure was weird!”

“What was weird?” came a small voice from inside my head.

| looked around the silent bedroom. No one else was there—just my wife and |. Who could have spoken?

“We're still watching you,” came the reply.

“Who are you?" | whis- pered, casting a nervous glance at my sleeping wife.

“No one special. We're just monitoring your program. It's about to be terminated, you know.”

Now | was deeply fright- ened. What was going on? Was | awake or not? Was this just another dream within my first dream?

“You're not really there,” | whispered. No reply.

It was working, | continued, “You're just the product of a fe- verish mind. I've been sick re- cently, and you're just the res- idue of my fever."

Still no reply.

| glanced at the clock radio on the bedside table—3:00 a.m. | figured it was OK for me to settle down again and try to get some sleep. | closed my eyes again.

“We're still here.”

| bolted out of bed. | sprint- ed for the bathroom door. Once inside, | shut the door and turned on the light. Star- ing back at me from the bath- room mirror was an extremely scared-looking face. | rushed to the toilet. No dream had ev-

er survived this test!

A few moments later, calmed and relieved, | switched off the bathroom light and returned to bed. | pulled the covers way up and fell almost instantly to sleep.

The voice returned. “If you don't believe me," it said, “watch this." | then saw a re- play of parts of my life that | hadn't thought about in years. “It's all in the database,” the voice said. ‘We know every- thing about you because we created you. And we created everything around you, But it's all about to end.”

“But I'm alive!” | silently screamed. “How can you ter- minate me if I'm alive?"

“You only think you're alive,” said the voice. “We pro- grammed that feeling into you to make the simulation more in- teresting."

“But what about my wife here beside me?” | said quiet- ly, gently nudging her sleep- ing form. Jeez, she sure seemed relaxed! She didn't have to be that relaxed, not with this drama being played out only inches away.

“Just part of the program,” said the voice.

“And my kids?”

“Also the program,”

“And this house? And our poor kitty who lived with us for 20 years before she wandered away last November? And a la- dy named Margaret who raised my brothers and sister and me? And the mean kid on the playground in the sixth grade who pushed me down the hill in front of my friends? And my three-legged dog?” (| was running out of memories.)

“The program.”

Then | had an idea. “If all this is part of a program,” | rea- soned, “how come | have my own computer? In fact, how come | have a bunch of com- puters? Are they all part of the program, too?" | smirked in the darkness.

“You got it,” said the voice. (Did | detect in that voice a faint trace of yet another smirk, mirroring my own?)

“OK,” | whispered in de- spair. “You win. | am a pro- gram. My whole life is a pro- gram. My whole reality is a program. So when are you go- ing to terminate me? Right here? Right now?”

“We're thinking about it,” said the voice. “But you're turn- ing out to have some unexpect- ed uses. We'll let you know.”

“When?” | thought. “When? When? When?”

| finally dozed off to sleep.

The next morning my wife asked me how |’d slept—the way she'd done for the last 23 years—and | just looked at her. How was | to tell her that | now had the notion that she was just a simulation, that | was just a simulation, and that our world was just someone's computer program?

Every day | look around and touch objects, sniff them, hold them, taste them, enjoy them. Are they real? Or are they just bits and bytes, subroutines and macros, tiny little pieces of the program of my life?

Is today the day I'll be ter- minated? Or tomorrow? Or not at all? Was it really just a dream?

| speculate about the fu- ture. Will technology ever be- come so advanced that we'll be able to embed parts of our consciousness into our virtual media and create virtual selves—little Fred programs, leading blissful lives on a com- puter-simulated landscape, in- teracting with fellow simulated beings all living in a virtual world?

Will these beings think they're real, too? Will they think they're alive? What hap- pens when it comes time to terminate them and try some-

thing new? Do we tell them before we pull the plug? o

OCTOBER 1992 COMPUTE

If computer simulations mimic reality, how

can we be sure that life itself isn’t

just a subroutine

in some vast complex simulation?

G-21

geoPaint utilities

that artists will want

G-22

to add to their palette of tools.

GEOS

Steve Vander Ark

DWEEZILS AND DRIVERS

Dave Ferguson is an accom- plished GEOS programmer who has written several excel- lent utility programs for ge- oPaint. He's made them avail- able on his Dweezil Disks, and I'm sure geoArtists will want to add them to their palette of tools. Here’s a rundown of what the Dweezil Disks have to offer. In case you're curi- ous, Dweezil is Ferguson's dog, and the disks are availa- ble from Quincy Softworks, 9479 East Whitmore Avenue, Hughson, California; 95326- 9745. Write for a flier.

| love NewTools and its new loolbox. When activated from he menu in geoPaint, New- Tools presents you with a large pointer that you use to designate a rectangular sec- tion of the bitmap. When you select a region, the cursor jumps automatically to the new toolbox (the regular tool- box is deactivated when New- Tools works its magic).

From this toolbox you can perform a wide variety of strange but wonderful options. For example, one icon will slant your selected area up- ward at a 45-degree angle. An- other will curve it—something I've always wished | could do to text in geoPublish!

NewTools also has a fea- ture to put the finished results in boldface, adding pixels to the image. This is often neces- sary since some angle options tend to stretch the pixels apart. NewTools2, which oper- ates in 64 or 128 mode, 40 or 80 columns, can be found on Ferguson's Dweezil Disk 1.

While geoPaint supports col- or, it's less of a hassle to work in monochrome. Besides, most users don’t have a color printer anyway. When you're working in monochrome mode, patterns take on a new

COMPUTE OCTOBER 1992

importance. With the paint- brush tool set for various widths and patterns, you can create with a slew of shadings and simulated tints and hues.

UltiPatt and PattDA are two desk accessories that give you complete control over the patterns used in geoPaint. Each accessory includes a large selection of pattern sets that include some excellent gray scales. With UltiPatt, the sets are built right into the pro- gram; with PattDA, you load them from the disk in alterna- tive patterns.

If you can’t find a pattern you want from the 50 or so sets that are provided, you can use UltiPatt to create new ones. You can combine exist- ing patterns, layering patterns on top of each other, or even use the program's random function to create new ones with the click of a button. Ulti- Patt and PattDA can be found on Dweezil Disk 2.

Marker is one more little Dweezil disk utility that comes in handy with geoPaint. It's a desk accessory that replaces geoPaint's ineffectual ruler tool. Marker not only reads the offset position in inches and pix- els but also leaves a single- pixel mark when you press the M key. You'll find Marker on Dweezil Disk 1.

You won't want to miss geo- Stamp or its big brother, Big- Stamp, if for no other reason than that they are so darn much fun. The difference be- tween the two programs is the size of the stamps they pro- duce. BigStamp makes a stamp four times as large as geoStamp's. Where do the stamps come from? Well, a number of collections are in- cluded with the disk, and there are a few on Quantum- Link. And with the included util- ities you can copy stamp- sized chunks of a geoPaint bitmap into a collection or edit stamp images of your own.

The programs include a lot of well-thought-out commands, such as a key stroke to move the stamp one stamp width ex- actly in any direction, making borders a cinch. GeoStamp isn't on a Dweezil disk but is available separately from Quincy Softworks.

As long as we're on the sub- ject of geoPaint programs, let me mention a few that are in Q-Link's library. A handy utili- ty called Mirror Mirror lets you flip a geoPaint page side to side, resulting in a mirror im- age of your page. To down- load it easily from Q-Link, re- quest MIRROR, uploaded by Red Storm.

Printing a geoPaint docu- ment is fairly straightforward, but there are print utilities that offer you some options. If you'd like a poster of your geo- Paint or any GEOS page, try PosterPrint, a printer driver for Epson FX-80-compatible print- ers. PosterPrint enlarges the printout, turning one page in- to four. PosterPrint is available on Q-Link. Its filename is POSPRI3.0.SDA, and it was uploaded by Irv Cobb.

Another print utility called Ro- tate Pages will take sections of a geoPaint page (perhaps con- verted from geoPublish via Paint Pages) and print them sideways. With a little planning you can create landscape- printed booklets using this pro- gram. You can find Rotate Pag- es on Q-Link as ROTPAGES, uploaded by Student 4th.

If you want to get a gray- scale printout of a color ge- oPaint document, there are printer drivers on Q-Link that will do that for you. There are Epson versions for the 9-pin (EPSON9PINCOLOR) and 24-pin (EPSON24PINCOLOR and EPSON24PINGREY). Okimate 20 users should look for OKIMATE20GREY. All of these were uploaded by Geo- Rep GHW, the wizard of the printer drivers. a

The Gazette Productivity 9 Manager <=

(Formerly PowerPak)

© Harness the productivity x power of your 64 or 128!

Turn your Commodore into

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

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

ORDER YOUR 1991 GAZETTE PRODUCTIVITY MANAGER TODAY!

GemCalc 64 & 128—

A complete, powerful, user-

friendly spreadsheet with all the features you’d expect in an expensive commercial package (separate 64 and 128 versions are included). Most commands can be performed with a single keypress!

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

Just use the standard Commodore editing keys. (MasterCard and Visa accepted on orders with subtotal over $20). Finished? Just save the data to floppy. What could be =p ns easier? | YES! Please send me __ Productivity Manager disk(s)

($14.95 each),

Subtotal

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

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

Total Enclosed

Check or Money Order _ MasterCard _ VISA

Financial Planner—Ansvwers 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!

Credit Card No,

(Required) Daytime Telephone No.

Name

Address

City State/ 21P/ Province Postal Code

Send your order to Gazette 1991 Productivity Manager,

I |

\

\

I

I

|

|

I

|

\

I

I

1 signature |

I

I

|

\

I

I

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

I

i

The SID chip gives the 64 the power to produce a world of earthly and unearthly sounds. Check these out.

G-24

PROGRAMMER'S PAGE

Randy Thompson

DID YOU HEAR THAT?

Vince Tagle of Granada Hills, California, really outdid himself when he answered my chal- lenge to produce some wild sounds for the 64 and 128, My challenge ran in my April col- umn, and within a few weeks of the article's publication, Vin- ce fired off a letter listing some very strange-sounding programs. Here are just a few of the sounds (noises?) that Vin- ce sent in. A couple of them supply some interesting visu- al effects, as well.

PROGRAM 1

JX 166 FOR I=49152 TO 49258

:READ- D:C=C+D:POKE I

;D:NEXT

IF C<>16497 THEN PRI

NT “ERROR IN DATA ST

ATEMENTS": STOP

SYS 49152

POKE 54278, 240:POKE

{SPACE}54276,129:POK

E 54273,34:POKE 5427

2,75

FOR I=1 TO 15:POKE 5

4296,1:FOR J=1 TO 56

:NEXT:NEXT

FOR I=15 TO 1 STEP -

1:POKE 54296,1:FOR J

=1 TO 200:NEXT: NEXT

SR 160 FOR I=l1 TO 606+INT(R ND (1) *1000) :NEXT

KR 176 GOTO 136

XB 186 DATA 120,169,35,162, 192,141,26,3,142,21, 3,169,1,141,18,208,1 33,251,133,254

XH 190 DATA 173,17,268,41,1 27,141,17,208,169,12 9,141,26,208,88,96,1 73,25,208,141

JB 266 DATA 25,208,48,7,173 713,220,88,76,49,234 166,251, 232,232,232 232,232,232

CM 216 DATA 232,232,142,18,

208,134,251,228,254,

268,4,230,251,236,25

4,166,253

DATA{2 SPACES}232,13

8,41,15,170,134,253,

189,91,192,141,22, 20

8,76,188,254,200,201

DATA 262,263,204,25

206,207, 207,206,205

1204, 203,202,201,206

KX 116

cp 126 DA 130

GK 140

MP 150

IX 226

QR 230

PROGRAM 2

EX 106 FOR 1=49152 TO 49191 :READ D:POKE I,D:NEX T:S¥S 49152

HF 116 DATA 120,169,26,162,

COMPUTE OCTOBER 1992

192,141,20,3

KG 1206 DATA 142,21,3,88,96, 120,169, 234,162

DATA 49,141,21,3,142 125,3,88,96,32

DATA 135,234,174,141 12,224,1, 240,246 DATA 76,49,234,0

EF 136 SR 146

HP 150

PROGRAM 3

BP 100 FOR 1=49152 TO 49228 :READ D:C=C+D:POKE I ,D:NEXT

IF C<>9456 THEN PRIN T "ERROR IN DATA STA TEMENTS": STOP

SYS 49152

DATA 120,169,43,162, 192,141,20,3,142,21 DATA 3,162,25,169,0, 157,255,211, 202, 208 DATA 250,169,63,141, 5,212,169, 246,141,6 DATA 212,169,17,141, 4,212,169,15,141,24 DATA 212,88,96,166,2 03,224,64,248,18,169 DATA 17,141,4,212,16 5,211,105,14,141,1 DATA 212,141,0,212,7 6,49,234,169,16,141 DATA 4,212,76,49,234 123,212

PRINT" (DOWN}PRESS AN Y KEY."

Gs 110

cP 120 PX 130

RF 146 GP 150 XF 166 JD 176 SJ 186 XJ 196 DD 206 KB 300

PROGRAM 4

CC 16@ FOR 1=49152 TO 49236 :READ D:C=C+D:POKE I ;DINEXT

IF C<>11843 THEN PRI NT "ERROR IN DATA ST ATEMENTS": STOP

SYS 49152

DATA 169,11,162,192, 141,6,3,142,7/3

DATA 96,16,36,36,15, 48,32,201,255,240 DATA 28,133,251,134, 252,132,254,166,253, 224

QB 16@ DATA 5,240,7,169,5,1 33,253,32,210,255 DATA 165,251,166,252 1164,254,76,36,167,1 33

DATA 251,134,252,132 7254,166,253, 224,154 1248

DATA 7,169,154,133,2 53,32,210,255,165,25 1

CH 110

cP 126 MG 136

EB 146

GP 156

DG 176 PQ 186 DI 196

PP 206 DATA 166,252,164,254

,76,243,166,208,14

PROGRAM 5

RS 106 FOR 1=49152 TO 49266 :READ D:C=C+D:POKE I ,D:NEXT

IF C<>13471 THEN PRI NT "ERROR IN DATA ST ATEMENTS":STOP

POKE 16383,@:SYS 491 52

RJ 138 DATA 126,169,31,162,

EG 116

HK 126

192,141,20,3,142,21 DATA 3,169,6,141,18, 268,173,17,268,41 DATA 127,141,17,208, 169,129,141,26,208,8 8 DATA 96,173,25,208,1 41,25,208,48,7,173 DATA 13,220,88,76,49 1234,230,254,165, 254 DATA 41,3,208,21,166 1251,232,138,41,15 KR 196 DATA 133,251,170,189 178,192,141,17,268,1 89,94,192 DATA 141,22,208,76,1 88,254,24,25 DATA 26,27,28,29,30, 31,31,30,29,28 DATA 27,26,25,24,203 1204, 205,206,207, 206 GG 236 DATA 205,204,203, 202 201,200, 200,201, 202 1203,0,0,0,0,0

PROGRAM 6

BM 10 FOR I=54272 TO 54295: POKE I,@:NEXT

POKE 54296,15:POKE 54 277,8:POKE 54278, 255: POKE 54276,23:POKE 54 287,40

FOR Z=1 TO 6

FOR Fl=255 TO @ STEP {SPACE}-6:POKE 54273, F1:NEXT Fl

FOR Fl=0 TO 255 STEP {SPACE}20:POKE 54273, PL:NEXT Fl

NEXT Z

POKE 54278,15:POKE 54 296,0

PROGRAM 7

BM 16 FOR 1=54272 TO 54295: POKE I,@:NEXT

POKE 54296,15:POKE 54 277,8:POKE 54278,255: POKE 54276,23:F1=10 FOR 2=1 TO 24:F2=30:P OKE 54273,Fl

FOR Y=1 TO 10:POKE 54 287, F2:F2=F2*1.01:NEX TY

PL=F1+8:NEXT Z

POKE 54278,15:POKE 54 296,0

BE 146

KX 156

AE 160 GS 170 QP 180

JC 200 AE 210

FG 226

HE 20

GB 30 EB 40

EM 50

SX 60 CE 76

MX 26

SM 30 RA 40 Jc 50

RE 60

Send more sounds, folks! Our address is listed below.

“Programmer's Page” is inter- ested in your programming tips and tricks. Mail them to Programmer's Page, COM- PUTE's Gazette, 324 West Wendover Avenue, Suite 200, Greensboro, North Carolina 27408. We pay $25-$50 for each tip that we publish, O

PROGRAMS

SPEEDSPELLER 128

By Christopher Chojnacki

When SpeedScript 128 made its debut in October 1987, those of us who had been using SpeedScript for the 64 could hardly wait to try it out. This new version took advantage of most of the 128's abil- ities, but it still lacked two features that most word processors would call stan- dard equipment: a spelling checker and a word counter.

True, programs exist that will take a SpeedScript file and either count its words or check its spelling, but they re- quire an interruption of the creative proc- ess. You have to save your file, exit SpeedScript, load and run the spelling checker or word counter, save the cor- rected file, load SpeedScript again, and finally load the file once more. Now, there's a better way.

Getting Started

SpeedSpeller 128 is a two-part patch to SpeedScript 128 that adds a high- performance integrated spelling check- er, a command line for viewing and changing the parameters of the spell- ing checker, a word counter, and a viewing mode that can double the num- ber of onscreen lines.

The first part, SpeedSpeller 128, is written entirely in BASIC. To help avoid typing errors, enter it with The Automat- ic Proofreader; see “Typing Aids” else- where in this section. When you've fin- ished typing it in, be sure to save the program.

The second part of the program is written in machine language. Enter it with MLX, our machine language entry program; see “Typing Aids” again. When MLX prompts, respond with the following values.

Starting address: 1300 Ending address: 1BEF

When you've finished typing, save this program with the filename ESC.PATCH.ML on the same disk as the first program. When SpeedSpeller 128 runs, it looks for and runs this file.

Running the Program

After you've saved both programs, re- boot your 128 and run SpeedSpeller 128. You'll be presented with options

to install the patch to SpeedScript 128, change the device number for the dic- tionary files, or change the minimum word length to check for errors.

The first time you run SpeedSpeller, choose the first option by pressing the A key. At this point the patch's subrou- tine package loads into memory, and you're asked for the SpeedScript 128 filename and the device number of the drive where it's located. If you're using only one drive, be sure that the disk containing your version of SpeedScript 128 is in that drive before choosing a device number. After the patch is installed, you'll be asked for a filename to save your new version of SpeedScript 128.

Since SpeedSpeller supports numer- ous drives, you'll also be asked what de- vice number you want for dictionary disks and the minimum word length to check for spell 1g errors. These values are then saved to disk in a file called ESC. Since this also contains subrou- tines used by the patch, ESC should be on the same disk as your new ver- sion of SpeedScript 128. Other options on the SpeedSpeller 128 main menu al- low you to display and/or change the default values that you've already saved in the ESC file. When you're sat- isfied that everything is the way that you want it, you can load and run your new version of SpeedScript 128 just as you would your old one.

Changes

Although this new version of SpeedScript 128 doesn't look any dif- ferent from the old one, there are some changes. For one thing, func- tions Control-A to change a letter's case and Control-X to transpose two let- ters no longer exist. They were re- moved to make room for the patch. Al- so, some functions have been switched back to the keys they were as- signed to in the original version of SpeedScript. Specifically, Insert mode is now toggled using Control-I (or the Tab key), the Run/Stop key now inserts 5 spaces, and the Shift-Run/Stop com- bination inserts 255 spaces. The Esc key now gives you four new functions.

Integration The Esc key, when used alone or to- gether with the Shift, Alt, Control, or

Commodore (C=) keys, allows you to check the spelling of the file you have in memory, change your default values for the spelling checker, count the num- ber of words in the file in memory, or toggle the length of the screen be- tween 25 and 50 lines.

The first time that you use any of these new functions, it will be neces- sary to hold down any key being used with the Esc key for a few seconds while the patch loads in the subrou- tines from the disk. After that, all of the new functions will be ready to use in- stantly. Loading the subroutine pack- age in separately from SpeedScript 128 itself makes it possible to upgrade or alter these new functions at some fu- ture time without having to alter SpeedScript 128 again in the process.

Check Your Spelling

To check the file you're working on for spelling errors, move the cursor to where you want the process to begin and press the Esc key. Your file is scanned from the cursor position to the end of the file for words that are at least as long as the value you set as your minimum word length.

Subdictionaries for each letter of the alphabet are then loaded into memory as necessary and used to check your file. If you don’t have a subdictionary on your disk, you can load one from an- other disk or create one as you go along. If a word being checked doesn't appear in a subdictionary, the file scrolls to a point six words prior to the word in question. The word is dis- played in reverse video at the top of the screen, and you're presented with a list of options.

Your first option is to add this word to your subdictionary by pressing the A key. Do this only if you know the word is spelled correctly. Your second op- tion, to edit the word, is selected by pressing the E key. Type the word ex- actly as you want it to appear in your file, using capital letters where neces- sary. Finally, if you don’t want to edit the word or add it to your subdiction- ary, you can skip the word by pressing the S key.

Be Aware There are a few things to remember in general about this spelling checker.

OCTOBER 1992 COMPUTE G-25

PROGRAMS

The first is that SpeedSpeller 128 au- tomatically cancels Insert mode. Simi- larly, the search and replace buffers are cleared anytime you use Speed- Speller 128's Edit option. The next thing to remember is that words are not case sensitive. Therefore, capital, Cap- ital, and CAPITAL all appear the same and are all checked using the same word in the C subdictionary. Also, con- tractions are viewed as two words. So couldn't, for example, will appear to be misspelled as couldn. You can abort the checking process at any time by pressing the Restore key and then pressing the N key when asked if you want to exit SpeedScript 128.

The chart below summarizes the changes that have been made.

Key

Combination Function

Esc Check spelling

Alt-Eso View/change default values

Control-Esc View/change default values

C=-Esc Toggle between 25 and 50 lines

Shift-Esc Word-count

Run/Stop Insert 5 spaces

Shift-Run/Stop Insert 255 spaces

Control-| Toggle Insert mode

Tab Toggle Insert mode

Restore Cancel spell- checking

File Management Whenever SpeedSpeller 128 updates a subdictionary, it saves a temporary version of the new dictionary, verifies it, erases the old one, and then renames the temporary one. This is done to en- sure that you don't accidentally lose or otherwise damage a subdictionary while updating it. For this reason, it’s necessary to always have enough room left on a disk to have an extra copy of your largest subdictionary. Al- so, it's best not to save any documents with a single character as a filename, just to be sure that you don't inadver- tently destroy a subdictionary. Subdictionaries can be loaded into SpeedScript 128 and edited if you ac- cidentally add a misspelled word. The file format is simple. The first letter of the file is the name of the file in reverse video. This is made by pressing the £

G-26 COMPUTE OCTOBER 1992

key while holding down the Control key and then pressing the letter that you want when asked to press a format key. Each word is then stored without the first letter and with the last letter in reverse video. No spaces separate the words, and no space or return is at the end of the file. For example, if the Z sub- dictionary contained the words zany, ze- bra, and zipper, it would look like this.

BanMebrBlippell

A subdictionary stored in this man- ner uses less space and can be load- ed into memory faster.

Default Values

You can view at any time the default val- ues for your subdictionary drive num- ber and the minimum word length to check for spelling errors. Press the Esc key and either Alt or Control. To change these values, keep the Alt or Control key pressed down, release the Esc key, and press either the D key to cycle through device numbers 8-15 or the W key to cycle through word lengths of four to seven characters. These values remain in effect until you change them or turn off your computer.

Counting Words

Pressing the Esc key while holding down the Shift key counts all of the words in the file in memory in three sec- onds or less. There are a few things to consider, however, when using this function. The first is that contractions and hyphenated words are counted as multiple words. For example, couldn't is considered two words. Also, num- bers are not counted as words.

Doubling Your Fun

Finally, we come to the last of Speed- Speller 128's new features. By press- ing the Esc key while holding down the Commodore (C=) key, you can toggle between SpeedScript 128’s normal dis- play of 25 lines and 50 lines of on- screen text.

This is possible by using what's known as Interlace Display mode. Un- fortunately, not everyone will be able to use this feature. You'll need a good RGB monitor with a vertical-hold con- trol. To reduce any flickering, try reduc- ing the brightness of your monitor or us-

ing text and background color combi- nations that have a lower contrast.

If you exit and then reenter SpeedScript 128 while in this mode, you'll have to toggle this feature once to reset your display. Additionally, SpeedScript 128 will seem a little slug- gish when using this mode because the program has to handle twice as much information every time it updates the screen. Also, because the comput- er's Operating system doesn't recog- nize this mode, only the upper half of the screen will be used anytime you dis- play a disk directory or print a file to the screen.

A Final Word The type of disk drive that you use can either help or hinder a spelling check- er’s performance. The way that words are stored in a subdictionary is also a factor. SpeedCheck 128, the spelling checker on COMPUTE's SpeedScript disk, stores words in its dictionary ina random order. This means the entire subdictionary has to be checked from the beginning until it either finds the word it's looking for or runs out of words in the subdictionary. This proc- ess can be very fast or very slow. SpeedSpeller 128, on the other hand, stores the words in its subdic- tionaties in alphabetical order and then uses what is known as a binary search to look for words. This method involves dividing each subdictionary in half and deciding in which half the word being checked should be found. This halving continues until either the word is located or the half is too small to be divided again. This process is very fast. The time required to check the spelling of a word will generally re- main the same regardless of the word's location in the subdictionary, the size of the dictionary, or whether or not the word is in the dictionary. Speaking of size, depending on how much memory your version of SpeedScript 128 uses, each subdiction- ary can contain approximately 7000 words. This means that an entire diction- ary can contain about 182,000 words. In addition, because of the way Speed- Speller 128 handles the loading and saving of subdictionaries, you don't have to keep all of your subdictionaries on a single disk.

SPEEDSPELLER 128

AD @ POKE48,128:CLR:FAST:IFPEE

QF

CB PK

JK

HB

PJ

GG

CR

SK

8 9

16 PRINT" {DOWN}C) ll 12

13 14

15 16

17 18 19 26 21 22

23

24

K (238) <>79THENPRINTCHRS (2 7) "x"

PRINTCHRS (27) "R{7}

{2 HOME} {CLR}"CHRS$ (11) CHR $ (142) :BA=PEEK (186) DEFFNMA (X) =PEEK (174) +256* PEEK (175)

PRINTSPC(12)"{17 SPACES} LA} RRR K KARR RRR RAKES} =< See Sa es eee

PRINTSPC(12)"{5 SPACES} {LAP HAKHKAAKHKIRLXS SPEEDSP ELLER{2 SPACES}128 {Z}*** KHKKKKHHRRES PM PRINTSPC(12) "{A}****{X} P ATCH INSTALLATION AND MAI NTENANCE PROGRAM {Z}*** ¢s}"

PRINTSPC(12) "{ZpereaneHe* HK KKK RIKER KERR KK KKK TE LELLLLELLELEELELE o>

WINDOW12,7,66,22:PRINT" £3}{CLR}":WINDOW13,8,65,2 1

PRINT" {CLR}A) INSTALL PAT CH TO SPEEDSCRIPT 128" PRINT" {DOWN}B) CHANGE DEV ICE # FOR DICTIONARY" CHANGE MI NIMUM WORD-~LENGTH" PRINT" {DOWN}CHOOSE AN OP TION" GETRS: IF ((RS<"A")OR(RS>" C") ) THENL2:ELSEIFRS="B"T HEN33:ELSEIFRS="C"THEN4G BLOAD"ESC. PATCH .ML",U(BA ) ,B1,P4864:EA=FNMA (@) PRINT" {CLR}NAME OF SPEED SCRIPT 128 VERSION TO CO NVERT:":NS=""s INPUTNS IF LEN(NS$)<l OR LEN(NS)> 16 THEN14 INPUT" {DOWN}DEVICE # TO {SPACE}LOAD VERSION FROM (8 TO 15)";DV IF DV<8 OR DV>15 THENPRI NT" {UP}"CHRS(27)"D{2 UP} ":GOTO16 BLOAD (NS) ,U(DV) ,B1,P7169 : EB=EFNMA (3) READS ,F, KC: IFS=OTHEN22 CK=6:BANK1:FORX=STOF:REA DN:CK=CK+N: POKEX, N: NEXT: BANKG IFCK<>KCTHENPRINT" {DOWN} ERROR IN DATA FOR LOCATI ON(S)"S"TO"F:END:ELSE19 PRINT" {DOWN}NAME FOR NEW SPEEDSCRIPT 128 VERSON: "ZNS="": INPUTNS IF LEN(NS$)<1 OR LEN(NS)> 16 THENPRINT"{UP}"CHRS (2 7) "D{3 UP}":GOTO22 INPUT"{DOWN}DEVICE # TO {SPACE}SAVE NEW VERSION

Jc

BD

EC

RE

MJ

SE

EK

GF

GG

DQ AH

RM

PD

HH

JG ER HS EX QA RM

AK

36

37,

38

39

40

41

42

43

44

45

46 47 48 49 58

51

By}

{SPACE}TO (8 TO 15)";DV IF DV<8 OR DV>15 THENPRI NT" {UP}"CHRS$(27)"D{2 UP} ":GOTO24 BSAVE (NS) ,U(DV) ,B1,P7169 TO P(EB) : IEDS<>@THENS2 INPUT" {DOWN}DEVICE # TO {SPACE}LOAD DICTIONARY F ROM (8 TO 15)";DD IF DD<8 OR DD>15 THENPRI NT" {UP}"CHRS(27)"D{2 UP} ":GOTO27 BANK1: POKE5150 ,DD:BANK@ INPUT" {DOWN}MINIMUM WORD -LENGTH (4 TO 7)";WL IF WL<4 OR WL>7 THENPRIN T"{UP}"CHRS$(27)"D{2 UP}" :GOTO3G BANK1:POKE5175,WL:BANK@: GoTo47 INPUT"{CLR}DEVICE # TO L OAD 'ESC' SUBROUTINE FRO M (8 TO 15)";DV IF DV<8 OR DV>15 THEN33 BLOAD"ESC",U (DV) ,B1,P486 4:EA=ENMA (G) :BANK1:DD=PE EK (515@) :BANKO PRINT" {DOWN}DICTIONARY C URRENTLY LOADED FROM DEV ICE #"DD INPUT" {DOWN}NEW DEVICE # TO LOAD DICTIONARY FROM (8 TO 15)";DD IF DD<8 OR DD>15 THENPRI NT" {UP}"CHRS$(27)"D{2 UP} "3GOTO37 BANK1:POKE515@,DD:BANK@: GoTO47 INPUT"{CLR}DEVICE # TO L OAD 'ESC' SUBROUTINE FRO M (8 TO 15)";DV IF DV<8 OR DV>15 THEN4O BLOAD"ESC",U (DV) ,B1,P486 4:EA=FNMA (@) :BANK1:WL=PB EK(5175) :BANK@ PRINT" {DOWN}CURRENT MINI MUM WORD-LENGTH: "WL INPUT" {DOWN}NEW MINIMUM {SPACE}WORD~LENGTH (4 TO 7) ";WL IF WL<4 OR WL>7 THENPRIN T"{UP}"CHRS$ (27) "D{2 uP}" 7GOTO44 BANK1: POKE5175 ,WL: BANKG SCRATCH"ESC",U (DV) :IFDS> 1THENS2 BSAVE"ESC",U(DV) ,B1,P486 4 70 P(EA) :IFDS<>@THENS2 SCRATCH"ESC",U (DV) : IFDS> 1THENS2 RENAME "ESC", U (DV) TO"ESC" ,U (DV) :TEDS<>@THENS2 BANK@: POKE7167,@: PRINT" {2 HOME} {CLR} {DOWN}ALL F INISHED!":BANK15:POKE48, 4:CLR:SLOW:END BANKG@: POKE7167,0:PRINT" {DOWN}ERROR: "DSS$:BANK15

HS QD BX

CH GA

53 54 55 56 57 58 59 66 61 62

63 64

65 66 67 68 69 76 71

72 73

: POKE48,4:CLR: SLOW: END DATA 7280,7281,281,254,2 7

DATA a DATA DATA DATA 2 DATA

7283,7284,281,254,2

8181,8181,3,3 8187,8187,255,255 8221,8222,219,177,4

8245,8246,268,172,3

8265,8266,136,99,37 9833,9833,80,80 16169,10109,79,79 16334,10335,206,166

16936,10993,8169 DATA 173,255,27,201,204, 246,36,169

DATA 3,162,224,160,42,32 189,255

DATA 169,0,176,32,104,25 5,173,3

DATA 40,176,168,32,186,2 55,169,0

DATA 32,213,255,144,3,76 169,48

DATA 32,204,255,108,0,19 169,83

DATA 67,234,160,0,185,70 153,240

DATA 6,32,210,255,200,20 8,245,96

DATA 12354,12350,228,228 DATA G,0,0

ESC.PATCH.ML

1300:58 1368:10 1310:32 1318:20 1326:63 1328244 1330:2E 1338:0B 1346:20 1348: 2E 1350:6E 1358:20 13606:20 1368:20 1370:GF 1378:6B 1386:65 1388:64 1390:63 1398: 26 13AG:29 13A8:26 13B6:14 13B8: 06 13C0:16 13C8:20 13D6:59 13D8:12 13E0:65 13E8:00 13F0:60

14 65 38 52 Ol OF 2E a9 57 06 26 06 45 53 GE 69 26 26 14 28 20 i} 09 4c 65 41 2F 12 6c 45 Isis}

Ds: 6c 3A 30 GE 63 2E GE OF 55 57 26 04 OB @5 GE 55 53 09 59 44 15 OF GF i) 07 4E 95 gc 12 18

16 gc 26 3A GE 15 0o 67 12 GE OF 26 69 99 20 o7 16 15 OF 2F 15 G2 GE gl 3A ol 29 93 69 12 G5

G4 20 30 20 07 OE O5 26 2E OF 26 04 OF 66 gS G1 14 44 12 3F OE 69 19 538 12 20 43 53 3A 26 43

53 31 3A 53 20 14 G3 27 2E 17 2D 2c 12 44 63 16 05 69 19 0G 07 G3 26 G1 19 28 GF 19 26 28 OF

5A 9B 8E 16 59 92 06 5D 46 D6 6F E2 4A 24g 8B FD 2E CA Ol 8c as} 06 88 AB 66 29 5B 35 BE EC oc

a5 @5 0G 26 09 6D 43 20 G4 OB 12 41 14 16 43 GB o4 G2 GE 4E 12 2D G1 G4 26 09 3F 14 GE OF 65

OCTOBER 1992 COMPUTE G-27

PROGRAMS

13F8:15 GE 14 @5 12 26 31 32 AS | 1628:3F 18 DO G5 26 77 18 BO 24 | 1858:AG 13 20 BD FF A9 G6 A2 C6 1400:38 3A 26 0G 26 57 GF 12 65 A9 GO FG DF AD 3E 13 96 | 1860:G6 26 68 FF AQ 80 AE 1E 6E 1488:04 13 @6 43 12 @5 @1 14 ES BF CD @0 @C D@ BO 26 DX | 1868:14 AG BG 20 BA FF 60 A6 GA 1410:45 26 41 0G 44 85 16 G9 56 19 8A DO 95 AD GG OB D5 |1870:BG A4 Bl 20 D5 FF 60 AD 77 1418:43 65 20 23 3A 66 88 26 3B AF 8D FF @B AS 29 48 G4 | 1878:3E 13 69 86 8D 3E 13 8D CE 1426:26 20 4D 09 GE G9 GD 15 5E 2A 48 26 1F 21 26 1F Cl | 188G:18 13 26 CD 18 BO 45 20 96 1428:0D 20 57 GF 12 64 2D 4c 62 20 1F 21 20 1F 21 26 F2|1888:54 18 A9 BO AG 45. A4 46 G3 1436:05 OE 07 14 O8 3A GG 64 AD 21 26 1F 21 A5 29 8D D9 | 1896:26 D8 FF 20 EE 18 BO 34 76 1438:04 3B 65 04 G6 32 07 36 4F 35 A5 2A 8D 14 35 68 52 |1898:20 54 18 20 FE 18 BO 2C 58 1440:98 63 19 G7 12 30 13 G6 38 2A 68 85 29 20 C9 16 C2 |18AG:A9 G1 26 GF 18 26 EB 18 18 1448:20 26 21 66 18 80 26 60 16 18A8:B9 22 AD 3E 13 29 7F 8D 1D 1450:19 68 32 30 DE 1B DE 1B 8C AQ 4A AG 13 26 18 1E EG | 18BG:18 13 26 CD 18 BO 15 AD ED 1458:A5 D3 48 A9 CC 8D FF 1B A3 E5 16 A9 56 AG 13 20 17 | 18B8:18 13 8D 1C 13 AD 3E 13 6c 1460:20 CB 1E 20 52 1D 68 FG 1A 1E 26 64 17 26 52 1D 8F | 18C@:8D 1E 13 A9 G6 A2 19 AG C9 1468:15 4A BO GF 4A BG 69 4A 26 CB 1E AY G2 AG 13 26 FE | 18C8:13 26 D3 18 606 AY G4 A2 DA 1470:B@ 63 4c Bl 1A 4C Bl 1A DS 1E AQ 34 AG 13 26 18 82 | 18DG:15 AG 13 26 BD FF A2 GO 4B 1478:4C 28 1B 4C 81 14 4c 12 FE 18 96 99 AG GG AD 29 17 | 18p8:20 68 FF AQ OF AB 1E 14 51 14806:15 26 CB 1E AQ Fl AG 13 FE G1 20 74 FE 30 GE 29 BF | 18fG:A8 26 BA FF 20 CG FF 20 ES 1488:26 18 1E A5 29 48 AS 2A C4 FO GA C9 1B 16 G6 99 SD | 1888:E7 FF 26 EE 18 60 AO GO 95 1496:48 A9 G@ 85 64 85 65 85 29 | 16CG:6G GC C8 DG EX 8C BG GB A2 | 18FG:20 BD FF AQ GF AE 1E 14 BE 1498:29 A9 G4 85 2A 20 AC 16 DI | 16C8:66 AG GG AD 29 A2 G1 24 DD | 18F8:A8 20 BA FF 26 CO FF A2 83 14AG:CO GG FO G7 E6 65 DG G4 2A! 16DG:74 FF 49 86 A2 29 8E BO F8 | 190G:GF 20 C6 FF 96 24 AD Gl G4 14A8:E6 64 88 C8 98 18 65 29 14 | 16p8:62 A2 G1 26 77 FF C8 CC EA | 1908:8D @6 FF AG FF C8 B9 7D 1F 14B0:85 29 A5 2A 69 OG 85 2A BD | 16£6:00 @B D@ E7 66 AG BB AD 97 | 191G:48 99 G3 GD 10 F7 49 84 71 14B8:A5 29 38 ED 18 35 A5 2A EE | 16£8:29 A2 G1 26 74 FF 99 G6 4B | 1918:8D 8G GD 99 G3 BD AY 2C 18 14CG:ED 19 35 99 D8 68 85 2A 73 | 16FG:8D CC BG GB FO G3 C8 DO 7D | 1926:99 G4 GD AI GE 8D GO FF G3 14C8:68 85 29 A2 13 A5 65 C9 99 | 16F8:5E AD GB 99 GG BD AG BD 23 | 1928:DG 12 AG GG 20 CF FF 99 35 14DG:01 DO G6 AS 64 DB G5 A2 DB | 1704:26 18 1E 60 AD GG 8D FE 75 | 1936:00 OD C8 C9 BD DG F5 AX 9C 14D8:20 8B 69 14 78 26 3D 1D F2 | 1708:0B AC 60 OB 88 98 18 65 D3 | 1938:00 99 GO BD 20 CC FF 26 F5 14EG:A9 66 8D OO FF 38 AS FE BA | 1710:45 85 43 AS 46 69 66 85 62 | 1946:E7 FF AD 66 GD C9 31 16 1E 14E8:A2 96 38 20 75 8C 26 44 Fl | 1718:44 A5 43 38 EO FE A5 44 98 | 1948:02 18 60 20 CB 1B AD E9 A3 14F0:8E AG 60 BO GO G1 FO G6 16 | 1720:E9 FE BO G7 EE FE OB AQ BC | 195G:AG 13 20 18 LE AG G2 CB 5D 14F8:26 GC 1D C8 DO F5 AY BE 24 | 1728:5C DG G2 AD 61 AG 13 20 67 | 1958:B9 BB GD C9 41 3G FB 98 FA 1560:8D 66 FF 20 1C 1D 58 AQ A2 | 1736:18 1B 20 E4 FF D@ FB 20 9F | 196G:AA C8 B9 GB GBD C9 2C DB BA 1508:04 AG 14 20 18 1E EE 15 OD | 1738:84 FF F@ FB C9 53 DO Gl F4 | 1968:F8 AD 3B 99 GO OD BA AG 45 1510:35 66 AY GG 8D 16 35 26 71 | 1746:66 C9 45 DG 4A 20 CB 1E 4F | 1970:GD 26 18 1f AY AG AD 13 3A 1518:CB 1E A9 62 AB 13 26 18 AE | 1748:A9 D6 AG 13 26 18 1E AY 8D | 1978:26 18 1B AY BY AE FD OB AE 1520:1E A9 1F AG 13 26 18 1E 19 | 175g:12 20 83 27 8D B5 35 A8 C8 | 198G:FG G2 AD BE AG 13 26 18 76 1528:AE 16 12 86 BO AE 11 12 CC | 1758:FG F5 88 BO 46 35 99 B6 1A | 1988:1E AY C3 AG 13 20 18 1E 1E 153G:E8 86 Bl A9 @G6 AB 99 BO 17 | 1764:35 CB GB DG F5 AD BO BB D7 | 199g:38 69 EE 15 35 AS 3F 85 6A 1538:GB C8 D@ FA AD 13 35 8D 95 | 1768:8D 96 35 AS 29 85 9E AS 46 | 1998:29 A5 46 85 2A AD 40 BB BC 1546:46 GB AD 14 35 8D 41 OB Bl | 1776:2A 85 9F 26 8A 31 AD BS 35 | 19AG:8D 13 35 AD 41 GB 8D 14 45 1548:A5 29 85 3F A5 2A 85 40 55 | 1778:35 8D 9G OB 18 2E BS 35 6F | 19A8:35 AD GB 8D 96 35 8D BS 13 1550:E6 29 D@ G2 E6 2A 20 1F Bl | 1786:A5 29 38 ED B5 35 85 29 68 | 19Bg:35 26 52 1D 66 AS BO 85 22 1558:21 A5 29 85 41 AS 2A 85 74 | 1788:A5 2A £9 GG 85 2A 66 C9 BO | 19B8:47 AS Bl 85 48 AS 45 85 6F 1560:42 26 AC 16 CO GG DG G1 53 | 1796:41 DO 9F AO G1 8D FD OB 67 | 19cG:49 AS 46 85 4A AO 3F 8D 27 1568:C8 98 18 65 29 85 29 A5 CD] 1798:A9 3F 8D @@ FF AE FF @B E2 | 19C8:96 FF 20 18 1A E@ @6 DB AS 1570:2A 69 6G 85 2A CC 37 14 69 | 17AG:E8 D@ 28 AS 45 85 FE AS BA | 19DG:28 AG Gl Bl FE AA 29 1F 8E 1578:30 67 AD GG GC AB 99 BB 68 | 17A8:46 85 FF AG G1 BY BG BC 6H | 19D8:D9 BG BC 36 23 DB B9 CB B3 1586:6B AS 29 38 ED 18 35 AS 22 | 17BG:91 FE C8 CC 66 OB DG F5 11 | 19BG:8A 30 BF CC BO BB DG EB CC 1588:2A ED 19 35 90 D3 AG G1 CF | 17B8:88 G9 80 91 FE AS 43 85 31 | 19B8:A5 FE 85 49 AS FF 85 4A 75 15906:B9 66 6B D@ 13 C8 CB 1B 5E | 17¢c0:45 AS 44 85 46 AD GE 8D SE | 19FG@:DG D8 CC BB BB DG BE A2 BS 1598:DG F6 206 CB 1B AY 6F AG CO! 17C8:00 FF 66 A5 45 38 ES 26 SA | 19F8:06 AD GE 8D OB FF 60 C8 BY 15AG:13 26 18 1B 20 92 19 60 1F | 17D0:85 B4 AS 46 E5 27 85 BS 94 | 1AGG:Bl FE 16 FB C8 88 98 18 40 15A8:09 40 FG E2 8D 3E 13 AI E8 | 17D8:aC GG GB 88 98 18 65 26 5D | 1A98:65 FE 85 47 85 26 A5 FF E3 15B6:00 99 GG GB 8D FD GB 20 8C | 17BG:85 9E AS 27 69 BH 85 JF 96 | 1A19:69 BG 85 48 85 27 DO B2 4B 15B8:CB 1B AQ 62 AG 13 26 18 4F | 17E8:A5 B5 AA 18 65 27 85 51 52 | 1A18:A5 47 18 65 49 85 26 A5 9C 15CG:1E AQ 34 AG 13 20 18 1E 5C|17FG:A5 26 85 50 18 8A 65 OF 86 | 1A26:48 65 4A 85 27 66 27 66 FA 15C8:26 54 18 A9 GG 26 GF 18 2D| 17F8:85 25 AS 9E 85 24 EB A4 G5 | 1A28:26 A2 G1 AS 26 C5 47 DB 3A 15D0:90 GD 20 EE 18 26 3F 18 51] 189¢:B4 DG G4 FG GB AG FF Bl DA | 1A3G:13 AS 27 C5 48 DG BD C5 FD 15D8:FG@ DD 26 79 1A D@ BB 86 AG | 1898:56 91 24 88 CO FF DO F7 71 | 1A38:46 D@ GB AS 26 C5 45 DB C2 15E0:45 84 46 AS 41 85 29 AS GA! 181G:C6 51 C6 25 CA DO EE AS 46 | 1A46:62 A2 FF 60 AS 26 85 FE F3 15E8:42 85 2A 20 AC 16 C@ GB 1C |] 1818:26 85 FE A5 27 85 FF AG E6 | 1A48:A5 27 85 FF AG OG Bl FE 31 15F@:D@ G1 C8 CC 37 14 16 3D ll 1 B9 GG GC 91 FE C8 CC E6 | 1A5G:3G 24 C6 FF C6 27 88 Bl 14 15F8:98 18 65 29 85 29 AS 2A FA 6 6B DG F5 88 G9 80 91 8F | 1A58:FE 10 FB 98 18 65 FE 85 F2 1600:69 66 85 2A A5 29 38 ED 64 E A5 43 85 45 AS 44 85 DB | 1A6G:FE 85 26 AS FF 69 @0 85 BE 1668:18 35 A5 2A ED 19 35 90 B3 6 AOS GE 8D OO FF 60 20 71 | 1A68:FF 85 27 AS FE 38 ES 45 27

4

B

3

YNABQMAMAUWTHUAUYD w Nu be i=) nN a Q X} e a ny i Q a > +

1619:DA AD FD OB FO 94 20 CB 6B FF D@ FB 206 £4 FF FO 42 | 1A76:A5 FF ES 46 BO Cl A2 GG 6A 1618:1E A9 62 AG 13 20 18 1E 6F C9 59 FG G6 C9 4E DO E7 | 1A78:6G AD G3 GD C9 26 DG 36 1A 1626:A9 7D AG 13 26 18 1E 20 83 | 1856:F3 C9 59 68 AI Gl A2 3E F2 | 1A86:26 CB 1E AQ OB AG 14 26 39

G-28 COMPUTE OCTOBER 1992

1A88:18 1E AQ 89 AG 13 26 18 C7 1A9G:1E 20 3F 18 D@ 1A AD 3E CD 1A98:13 49 C@ AG 6G 91 BG A5 18 1AAG:B@ 18 69 G1 85 AE AA AS 52 1AA8:Bl 69 @@ 85 AF A8 C4 AF Cl 1AB9:60 26 CB 1E A9 62 AG 13 22 1AB8:20 18 1E A9 AD AG 13 26 97 1ACG:18 1E A9 14 AB 14 26 18 AC 1AC8:1E AD 1E 14 AA C9 BA 30 3D 1AD@:6B A9 31 26 GC 1D 8A 18 1F 1AD8:69 26 D@ G7 49 36 26 BC 2D 1AE@G:1D A9 26 26 GC 1D AO 1F 5B 1AE8:AG 14 20 18 1E AD 37 14 22 1AF9:49 36 26 @C 1D EE 15 35 9E 1AF8:A5 D3 FO 2B 26 E4 FF FO 4B 1B00:F7 29 1F C9 64 BE AE 2B 1B08:1E£ 14 E8 8A 69 08 29 OF El 1B16:8D 1E 14 D@ 9C C9 17 DO 2F 1B18:DF AE 37 14 EB 8A @9 64 99 1B26:29 67 8D 37 14 D@ 8A 60 2B 1B28:78 AD 4E 14 8D 4F 14 49 2c 1B30:408 8D 4E 14 AD 45 14 8D 2D 1B38:49 14 49 16 8D 45 14 AD 99 1B40:58 14 8D 52 14 49 2B 8D 24 1B48:50 14 AD 51 14 8D 53 14 98 1B56:49 38 8D 51 14 CD 2F BA 40 1B58:F@ 26 AG GG BE 38 14 C8 6C 1B60:B9 38 14 C8 26 G7 1D CG AB 1B68:16 D@ Fl AO FF AG 16 A2 FB 1B70:1E 26 07 1D 88 D@ FA AD 9B 1B78:58 14 4A 98 63 20 79 El 9B 54 14 AE CF 21 8D CF FD 8E 54 14 AD 55 14 AE 58 21 8D D@ 21 8E 55 14 38 56 14 AE El 21 8D El 39 8E 56 14 AD 57 14 AE BB 21 8D E2 21 8E 57 14 7E 56 14 8D 1D AD 51 D3 8D 2F GA 8D 32 26 8D Fl 26 8D 85 26 8D 93 27 69 4B 14 8D 33 26 AD 13 65 85 29 AD 14 35 85 2A AD 2E 26 26 52 1E AD E6 BE 1BE@:21 GA GA GA BA BD D2 21 57 1BE8:A2 1A 20 @7 1D 58 66 G8 76

Christopher Chojnacki is a hotel secu- rity officer in Port Huron, Michigan. He plans to upgrade his 128 system with the addition of a RAMDrive, a color print- er, and a mouse.

LA BASIC

By Farid Ahmad One of the shortcomings of 64 BASIC is that it doesn't allow the use of labels. A label is a subroutine that is assigned a de- scriptive name rather than a line number or address. Torun the subroutine, you sim- ply call the label by its name. Such a fea- ture makes a program easy to write and even easier to modify.

La BASIC adds this facility to BASIC. It allows the use of labels with GOTO, GOSUB, and RESTORE. In addition, it pro-

vides two new commands for easy cur- sor positioning and color control.

Getting Started

La BASIC is written entirely in machine language. To enter it, use MLX, our ma- chine language entry program; see “Typing Aids” elsewhere in this sec- tion. When MLX prompts, respond with the following values.

Starting address: COO0 Ending address: C337

Be sure to save a copy of La BASIC be- fore you exit MLX.

Labels A label consists of a REM statement in the following format.

REM=l/abel

The equal sign (=) distinguishes a la- bel in La BASIC from an ordinary REM statement. Note that there is no space between the REM and the equal sign. A space after the equal sign will be treated as a part of the label. Labels may be up to 27 characters in length and may use any character except quo- tation marks. Labels may also include BASIC keywords.

The actual BASIC subroutine would immediately follow. The keyword RE- TURN would mark the end of the rou- tine. Here's a very simple example.

500 REM=PAUSE 510 FOR P=1T03000: NEXT 520 RETURN

Whenever you'd like for the program to Pause for a few seconds, you could call the PAUSE label with La BASIC’s commands.

La BASIC Commands The following commands are available in La BASIC.

SYS 49152, 0

This command has no parameters. It must be used at the beginning of a pro- gram before any labels are used. It searches through the entire program for labels and sets up a table of them, their line numbers, and their address- es in a separate area of memory. By de-

fault, the memory under Kernal ROM is used, but it can be changed as de- scribed later.

SYS 49152, 1, label

This is the GOTO command. It trans- fers program control to the line that con- tains the label. The label parameter may be any legal BASIC string, charac- ter variable, or a combination of these. For example, suppose a program con- tains a label such as REM=DRAW TI- TLE. This could be called with any of the following statements.

SYS 49152, 1,“DRAW TITLE” TS$="DRAW TITLE”: SYS 49152, 1, TS AS="DRAW”: SYS 49152, 1, AS+"' TITLE”

SYS 49152, 2, label

This is the GOSUB command. It works like the normal GOSUB, except that con- trol is transferred to the subroutine that starts with the specified label. The subroutine should end with a RETURN statement as usual. The label can be specified as shown previously.

SYS 49152, 5, label This is a selective RESTORE. After this command is executed, the DATA point- er will be set to the line containing the label. The label can be specified as with the previous command.

The remaining two commands don't use labels. However, they make pro- gramming easier.

SYS 49152, 3(row, column, color

Note that there is no closing pa- renthesis. This command will clear the screen, position the cursor at the spec- ified row and column, and set the text color. The row may be from 0 to 24, and the column from 0 to 39. Values out- side this range produce an ILLEGAL QUANTITY ERROR.

SYS 49152, 4(row, column, color This command is similar to the previ- ous one, except that the screen isn't cleared before positioning the cursor. The color parameter may be used in two ways. If you want to change the printing color without changing the text already onscreen, use any Commo- dore color number from 0 to 15. For ex- ample, SYS 49152, 4(0, 0, 1 will change the printing color to white.

OCTOBER 1992 COMPUTE G-29

PROGRAMS

If you want the color change to af- fect the text that is already on the screen, add 100 to the color number. SYS 49152, 4(0, 0, 101 will change the color of all the onscreen text to white and make white the printing color.

In both of the above commands, the color parameter is optional. If you don't wish to change the text color, leave out this parameter as well as the preced- ing comma.

Error Messages La BASIC may generate the following error messages.

LABEL USED TWICE IN LINES: 11,12

LABEL TOO LONG This error occurs when an attempt is made to define or call a label longer than 27 characters.

LABEL NOT FOUND

MISSING LABEL This error occurs if a null string is spec- ified as the label in the GOTO,

GOSUB, or RESTORE statement.

OUT OF LABEL MEMORY Label memory may be increased as de- scribed below.

Label Storage

By default, the labels are stored under Kernal ROM. To use some other mem- ory area, use the following statements with appropriate line numbers at the be- ginning of the program (before the SYS 49152, 0 command).

5 POKE 49967,B0/256: POKE 49968,B0- INT(B0/256)*BO 10 TP=TP-32: POKE 49969, TP/256: POKE 49970,TP-INT(TP/256)*BO

In this case BO equals the bottom of the storage area, and TP equals the top of the storage area.

Each label requires 32 bytes of stor- age, so you can have 32 labels per 1K of memory. Thus, if the default memo- ry area is used, up to 256 labels may be defined.

The advantage of storing labels ina separate area of memory is that La BA- SIC doesn't have to look through the en- tire BASIC program each time a label

G-30 COMPUTE OCTOBER 1992

is used. This can speed things up con- siderably. The speed gain will be espe- cially significant in long programs that contain many subroutines and REM statements. As long as the REM state- ments are placed between two subrou- tines, they won't slow BASIC down and your programs will run faster.

Command Summary

SYS 49152, 0 Set up table of labels

SYS 49152, 1, GOTO label

label

SYS 49152, 2, | GOSUB label

label

SYS 49152, 3

(row, column, Clear screen, posi-

color tion cursor, set color

SYS 49152, 4 Position cursor, set

(row, column, color

color

SYS 49152, 5, | RESTORE to line con-

label taining label

LA BASIC

C@60:26 FD AE 26 9E B7 EG Gl 7F CGG8:FG 19 EG G2 FO 1E EG 83 49 CG1G:FG 14 EG G4 FG 13 EG B5 G6 CO18:FG 15 EG G6 FO 14 A2 BE 9E C626:4C 8B E3 4C 66 Cl 4C F3 82 CG28:Cl 4C F8 Cl 4C D6 Cl 4C 66 C03G:4C C2 A5 2B 85 G3 A5 2C OF CG38:85 64 AD 2F C3 85 FD AD 64 C646:36 C3 85 FE A9 GB AD G1 FA CG48:91 FD A9 6G 8D 35 C3 AG BB CG56:060 Bl G3 85 65 C8 Bl G3 AB C058:85 06 C8 Bl G3 8D 33 C3 CA CG66:C8 Bl 63 8D 34 C3 C8 Bl DF CG68:03 C9 8F FG G3 4C 4C Cl 82 C67G:C8 Bl 63 C9 3D FO G3 4C BF C@78:4C Cl A2 6G AG G6 Bl G3 68 CG8G:C9 66 FG 19 9D GF C3 C8 18 C@88:E8 E@ 1C DG Fl AE 33 C3 BB CG9G:AD 34 C3 86 39 85 3A 4C 77 C998:98 C2 4C CC CB AY BB 9D B7 CGAG:GF C3 20 8F Cl CO 68 FB 99 CGA8:34 AG G2 Bl FB 85 G5 C8 96 CGBG:Bl FB 85.06 A9 37 85 G1 51 C@B8:58 AQ Fl AG C2 26 1E AB 97 CGCG:A6 G5 A5 66 28 CD BD AY 49 C@C8:2C 26 D2 FF AE 33 C3 AD 3A C@DG:34 C3 26 CD BD AY 8D 26 GE CGD8:D2 FF 6C G2 G3 AD 35 C3 6E CGEG:FG GA AQ DC AG C2 26 1E CE CGE8:AB 4C 65 A4 AG GG 38 AS 65 CGFG:63 E9 G1 91 FD C8 A5 G4 GA COF8:E9 @@ 91 FD C8 AD 33 C3 A8 C10G:91 FD C8 AD 34 C3 91 FD 91 C168:C8 18 A5 G3 69 G2 85 G3 3C C11G:A5 G4 69 GG 85 G4 A2 GO 16 C118:BD GF C3 C9 GG FG 37 91 BE C126:FD C8 E8 4C 18 Cl 91 FD 9F

C128:18 A5 FD 69 28 85 FD A5 38 C130:FE 69 66 85 FE A5 FE CD 40 C138:32 C3 FO 64 BB G9 98 GC FA C14G:A5 FD CD 31 C3 96 G5 AD F6 C148:01 8D 35 C3 AY GG AD B1 22 C156:91 FD A5 65 85 63 AS @6 AA C158:F@ @5 85 G4 4C 4F CO 60 G8 C166:28 74 C2 20 8F Cl CO 1 71 C168:D@ 1B AG 6G Bl FB 85 7A 32 C176:C8 Bl FB 85 7B C8 Bl FB FA C178:85 39 C8 Bl FB 85 3A AQ 55 C180:37 85 G1 58 6@ AQ AC AG 4A C188:C2 26 1E AB 4C 65 A4 AD E2 C196:2F C3 85 FB AD 36 C3 85 48 C198:FC 78 AQ 34 85 Gl AG Bl AZ C1AG:Bl FB F@ 2A AG G4 A2 BO 17 C1A8:Bl FB F@ 1A DD GF C3 D@ 47 C1B@:85 C8 E8 4C A8 Cl 18 A5 EC C1B8:FB 69 26 85 FB A5 FC 69 CA C1C6:68 85 FC 4C 9E Cl BD OF 96 C1C8:C3 DG EB AG G1 66 AG OO B4 C1D@:A9 37 85 G1 58 66 AY B3 52 C1D8:20 FB A3 20 74 C2 A5 7B 57 C1EG:48 AS 7A 48 A5 3A 48 AS 12 C1E8:39 48 AOS 8D 48 26 63 Cl 74 C1FG:4C AE A7 AY 93 26 D2 FF 98 C1F8:A9 28 20 FF AE 20 9E B7 4A €200:86 62 26 FD AE 20 9E B7 18 C268:8A A8 A6 62 EB 19 BB 37 F5 C216:CG 28 BG 33 18 26 FO FF 6C C218:A8 66 Bl 7A C9 2C DG BD 79 C226:20 FD AE 20 9E B7 EG 63 G6 C228:B@ 64 8E 86 62 60 38 8A CD C23G:E9 64 AB GG 8D 86 B2 99 FB C238:00 D8 99 GB D9 99 BB DA 37 C246:99 66 DB C8 D@ Fl 66 A2 4C C248:6E 4C 8B E3 20 74 C2 20 10 C250:8F Cl C@ G1 FO G3 4C 85 E7 C258:Cl AG 86 Bl FB 85 41 C8 43 C260:Bl FB 85 42 C8 Bl FB 85 1D C268:3F C8 Bl FB 85 46 AQ 37 6D C276:85 G1 58 60 20 FD AE 26 86 C278:9E AD 26 A3 B6 AA FO 22 5B C280:C9 1C BG 14 85 62 AD BO BE C288:Bl 22 99 OF C3 C8 C4 B82 60 C296:D6 F6 AI BB 99 BF C3 6G 62 C298:A9 BD AG C2 20 1E AB 4C BF C2AG:65 A4 AI CD AG C2 26 1E 82 C2A8:AB 4C 65 A4 12 4C 41 42 94 C2BG:45 4C 20 4B 4F 54 20 46 27 C2B8:4F 55 4B 44 66 12 4C 41 6B C200:42 45 4C 20 54 4F 4F 26 E2 C2C8:4C 4F 4E 47 66 12 4D 49 B2 C2D6:53 53 49 4B 47 20 4C 41 77 C2D8:42 45 4C 66 12 4F 55 54 27 C2EG:26 4F 46 20 4C 41 42 45 46 C2E8:4C 20 4D 45 4D 4F 52 59 40 C2F0:60 12 4C 41 42 45 4C 20 78 C2F8:55 53 45 44 26 54 57 49 35 C300:43 45 26 49 4B 20 4C 49 E7 C308:4E 45 53 28 3A 26 88 68 C6 C31G:00 GB GB GB GB BB BB BB 97 C318:06 G6 GB GG BB GB BG GB OF C326:60 G0 GG GB BB BB BH BB AT C328:00 G6 GB GG BG GO BG BB AF C330:E0 DF FF 98 86 66 BB 86 20

Farid Ahmad, the author of Sprint III (June 1992), lives in Islamabad, Paki- stan.

SPEEDSPELL

By Daniel Lightner

SpeedSpell Utility Program (SUP) and SpeedSpell are a pair of programs for the 64 that can check SpeedScript docu- ments for spelling errors. SUP is used to create and edit SpeedSpell dictionary disks, and SpeedSpell checks the spell- ing. If you already have COMPUTE's SpeedCheck, SpeedSpell can utilize your SpeedCheck dictionary. Both SUP and SpeedSpell are written in machine lan- guage. To enter them, you'll have to use MLX, our machine language entry pro- gram; see “Typing Aids” elsewhere in this section. When entering SUP with MLX, respond with the following values at the prompis.

Starting address: 0801 Ending address: 1100

When entering SpeedSpell, respond with these MLX values.

Starting address: 0801 Ending address: 1518

Be sure to save copies of these pro- grams after you've finished typing.

The Utility

Load and run SUP as you would any BASIC program. When the menu ap- pears, choose option 1 to create a new dictionary disk. You'll have the option to format the disk. Before you answer the prompt, be sure that you place a new disk into drive 8. Never use a disk that contains any important files. Choose Y to format and N to abort. SUP prompts you to place the target disk in the disk drive and press the space bar to begin formatting.

SUP formats the disk and puts end- of-file markers on certain sectors. The program puts a unique ID of SS on its dictionary disks, so try to avoid using this ID on SpeedScript or SpeedSpell disks.

After a disk has been formatted, you won't need to use this option again with that disk. Using option 1 on a val- id dictionary disk will destroy any infor- mation that it may contain.

SUP sets up 104 storage areas, with each area containing six blocks. Each letter of the alphabet has four ar-

eas assigned to it, and each area can hold up to 1535 characters and one end-of-file marker. Each of those four ar- eas is designed to hold words whose second letter falls within a certain range of characters. For example, the first area assigned to the letter A would hold words that begin with A and whose second letter falls within the range A-H. The next area assigned to A would contain words whose second letters fall within the range /-N. The next area would be for letters O-7, and the last area would be for U-Z.

Following this group, the next four ar- eas would be assigned to the letter B, then C, and so on. This system re- serves space for 6140 characters for each letter. Words are stored in these areas back to back, minus the first char- acter, with bit 7 of the last character set. By storing words in this fashion, SpeedSpell can check a text file much faster than the original SpeedCheck.

A newly created dictionary contains no words. It must be compiled by en- tering words one at a time, using op- tion 2, or from SpeedSpell during an ac- tual spell-checking session. With op- tion 2, just type the word that you wish to enter and press Return. If the word already exists in the dictionary, it will be ignored.

Option 3 lets you delete any mis- spelled words that may be in your dic- tionary. Just follow the same steps used in option 2.

Option 4 lets you look at an area of words. Choose this option, and you'll be prompted for the first letter of the word. Next, you'll have to enter a num- ber from 1 to 4, depending on the word's second letter. The ranges will be listed so you can easily decide which range is correct. When the list- ing starts, you can freeze it by holding down the space bar. It restarts when you release it.

If you have a SpeedCheck diction- ary, use option 5 to add its words to the SpeedSpell dictionary. It's better to do this before you put any words in your SpeedSpell dictionary because SUP won't check for duplicate words while adding the SpeedCheck listing. You'll be prompted as to which disks to place into the drive.

Use option 6 when you wish to exit SUP.

SpeedSpell

Once you have a working dictionary, use SpeedSpell to check the spelling of your SpeedScript documents. Load and run SpeedSpell as you would a BA- SIC program. When the menu ap- pears, choose the L option to load a SpeedScript document for checking.

After your file loads, SpeedSpell rac- es through the document, setting flags to determine which words will be searched for in the dictionary. Speed- Spell uses a specially formatted diction- ary disk so that it can rapidly find cer- tain words. After SpeedSpell has set its flags, it'll prompt you to insert the dic- tionary disk in drive 8 and press the space bar. SpeedSpell checks for the SS ID to be sure that it's a dictionary disk. Be sure that the other disks you use have a different ID.

Next, SpeedSpell starts loading cer- tain sectors from the disk and check- ing the document for the words found in those sectors. SpeedSpell only checks words more than four charac- ters long. This process can take sever- al minutes if the dictionary is large. The dictionary can store 24 disk blocks of words for each letter of the alphabet. Af- ter the document has been checked, you can start editing words. Use the G option to get the first misspelled word. If no words are found, SpeedSpell re- sponds with an End of file! bar and the Inst/Del key to correct the spelling. This is a good time to have a paper dic- tionary handy. Press Return to place the corrected word in the document.

If a word is correct but not in your dic- tionary or if the word has been edited, you can add the word to the dictionary by selecting the P option. SpeedSpell checks the dictionary automatically for the word before it enters it. It will not save duplicate words.

Function key f7 can be used to re- call the last misspelled word. It will re- call the word even if it has been edit- ed and entered into the dictionary.

Finally, when the last word has been fixed, select the S option to save the file to disk. Remember to swap disks. SpeedSpell looks at the ID to be sure that you've removed the diction- ary disk.

SpeedSpell marks the misspellings by adding a value of 128 to each char- acter. If you use SpeedScript stage 1

OCTOBER 1992 COMPUTE G-31

PROGRAMS

or stage 2 commands, try not to put them in bunches of more than four. SpeedSpell will mistake them for mis- spelled words and subtract a value of 128 from them, leaving them as use- less letters in the document.

Choose Q to quit SpeedSpell. Be sure to make backup copies of all your important SpeedScript disks, SpeedSpell, SUP, and especially your dictionary.

SUP

G801:0B G8 76 17 9E 32 34 30 6E 6809:37 68 GG GB 26 26 24 20 96 G811:20 26 26 26 26 AG C4 BO 86 @819:3C G8 99 F8 6G BO FD G8 F6 0821:99 33 63 88 DG Fl AG B9 4C 0829:B9 GC G8 99 FF G3 88 DG Al @831:F7 A9 D7 85 2D AO 13 85 B6 G839:2E 4C 66 G1 GA 60 G2 D7 31 G841:13 37 16 B9 6E 69 99 E8 FY G849:07 C8 D@ F7 EE 62 @1 EE 19 @851:85 G1 C6 F9 D@ ED A2 G3 23 G859:28 34 63 FG 33 C9 G7 DO 95 G861:16 A2 G1 26 34 G3 DB GA AG @869:A2 04 26 34 G3 18 69 G7 65 G871:18 G5 A2 BA 26 34 G3 85 1D 0879:A8 A5 A7 85 AS AS FE 85 FB G881:F7 AS FF 85 F8 26 6C @3 73 9889:A5 F8 85 FF A5 F7 85 FE 72 G891:E8 26 34 G3 DG 1E A2 8 21 G899:26 34 G3 AG G2 84 AB 85 2A @8A1:A6 18 AS FC 65 A6 85 F7 58 68A9:A5 FD 65 A7 85 F8 26 6C EF 68B1:03 4C 13 G1 E8 26 34 63 FB G8B9:D@ 1C AG G3 84 AB EB 26 36 G8C1:34 03 FO G8 A2 G8 20 34 F4 68C9:03 4C 5C Gl A2 GF 26 34 CF 68D1:03 E6 A7 4C 5C G1 E8 20 AF 68D9:34 63 D@ GA EB 26 34 83 B2 G8E1:18 69 G4 A8 DG D6 EB 26 37 G8E9:34 63 DO GA A2 G2 2G 34 21 68F1:03 18 69 G6 D@ ED A2 68 A2 68F9:20 34 G3 D@ E6 AI GG 85 F7 6901:A7 A4 FB F@ @C G6 FA 2A 37 6909:26 A7 C6 FB CA D@ F2 AB DB 6911:60 48 Bl FE 85 FA AQ 68 FE G919:85 FB 68 A4 FE D@ 2 C6 4A 6921:FF C6 FE C@ E7 D@ DE A4 BS G929:FF CO G7 DO D8 AY 37 85 BA 6931:01 58 4C GD G8 A4 AB FO 49 6939:22 AS F7 38 E5 A8 BG G3 7E 0941:C6 F8 38 85 F7 AS FC E5 8A G949:A8 BO 62 C6 FD 85 FC Bl 3A G951:F7 88 91 FC 98 DG FB C4 42 6959:A9 FG GA Bl F7 C6 FD C6 76 961:F8 C6 A9 16 EC 66 78 E6 98 9969:01 4C 16 G8 66 GG GB G8 73 6971:C8 G7 9E 32 30 36 31 E3 41 979:92 @9 AX 26 8D B2 92 Cl 6C 6981:8D 18 D9 G8 EF 8D 28 @3 25 9989:76 AB 2G 11 21 DG 26 C7 28 9991:42 26 FA 25 4D @D 26 CC GA G999:86 1F @@ AQ 45 AA 38 ll A4 G9A1:85 FC CG 59 G3 GO FG AB GE 69A9:54 B8 1E CO 3A D3 G1 SF 66

G-32. COMPUTE OCTOBER 1992

G9B1:31 G9B9:33 G9C1:FB @9C9:AE @9D1:06 @9D9:A5 @9E1:8D @9E9:59 GOF1:EG G9F9:67 GAG1:80 @AG9:GF @A11:61 @A19:5A @A21:7A GA29:62 GA31:9B GA39:67 @A41:25 GA49:AG GA51:68 GA59:D1 GA61:80 GA69:FO @GA71:71 GA79:4A GA81:89 GA89:A8 GA91:48 GA99:G1 @AAL:A5 GAA9: G3 @AB1:3B GAB9: GA GAC1:CE GAC9:A2 @AD1:8A GAD9: 48 GAE1:0A GAE9: 48 GAF1:01 GAF9:BF @B@1:C5 @BG9:38 @B11:0A @B19:14 @B21:GA @B29: 66 @B31:E6 6B39:D4 6B41:28 @B49:DG @B51:34 6B59:6D GB61:CG @B69:C4 @B71:45 @B79:00 @B81:CB 6B89:58 GB91:26 @B99:A2 GBA1: 40 G@BA9:A2 @BB1:F6 @BB9:G5 @BC1: 36 @BC9: 3E

17 67 cg 9c sai, AA 69 FC OF 59 13 89 OF Bo 2B OB 18 ct) E2 4G gc El G3 D8 BG cg AC E4 96 8c 9D 89 02 FE OF 86 63 E6 EE GF 4c ol 6E AA 36 AG ce 38 26 26 6B 4c CE G1 16 62 86 GA GE 93 58 41 EC 4D Dg 18

@BE1:C5 @BE9:99 @BF1:81 GBF9:93 GCG61:66 @CG9:FA @C11:0C @C19:AE @C21:48 @C29:EC 6C31:12 6C39:68 0C41:16 6C49:66 9C51:98 9C59:66 @C61:A5 GC69:G1 @C71:47 6C79:8C GC81:9C @c89:54 @C91:56 @C99:DG @CA1:85 GCA9:A8 @CB1:3C @CB9: 21 @ccl:14 @CC9: G2 gcD1:31 @CD9:C7 GCE1:86 GCE9:10 @CF1:31 @CF9:D4 G@DG1:AA @DO9:F5 @D11:FF @D19:C2 @D21:9E @D29:A5 @D31:85 @D39:E5 @D41:58 GD49:89 @D51:C9 @D59: 48 6D61:1F @D69:AA @D71:88 GD79:A9 @D81:27 @D89:EE @D91:81 @D99:45 @DA1:E9 @DA9: 26 GDB1:68 GDB9: 88 @DC1:FF @DC9:BG

Ag 47 DG Bg DA 08 24 C4 48 cs 12 1F 84 86 FE 69 85 91 85 8E 3E 02 Bl 7D 66 75 21 16 17 35 “) 1E BO FS ol GE E4 EO Ct) cg 1A 85 83 9E cg 28 5B F2 93 18 3E 40 AC 91 4D G3 71 57) 06 gat 8E

@DF1:BG GDF9:G2 GEG1:29 GEG9:60

58 B2 GE GG

@F41:C9 GF49:60 GFS1:FE @F59:1C GF61:20 GF69:41 @F71:49 GF79:4F GF81:CG GF89:41 GF91:36 GF99:31 GFA1:29 GFA9:86 GFB1:3A GFB9:9E GFC1:8A GFC9:B8 @FD1:54 GFD9:92 GFE1:34 GFE9:93 GFF1:G4 GFF9:39 1661:99 1609:43 1611:54 1619:16 1621:26 1929:1D 1631:88 1639:BD

FQ D6 66 48 17 42 85 28 26 59 37 2D 2D EF 1c 9G 4G 52 Da 82 29 59 EC A2 16 25 52 AT @D 91 4c

04 Ag GE 53 28 56 14 16 5A 52 @D 69 32 2B 2A 36 G2 FB DD 1c 43 3c 26 4P 42 44 58 48 52 9A 55

69 77 cB 5c 14 89% 24 4a GA 48 s}e4 DA 45 8c pc GA DA 42 E3 c8 FC 7B BB 2D c3 9A 6D 8E Al 39 65 AC

10641:4C 1649252 1651:0F 1659:43 1661:DA 1069:BA 1671:45 1079:0E 1081:56 1689:49 1691:C9 1699:1E 16A1:53 16A9:36 16B1:49 16B9:91 16C1:2D 16C09:16 16D1:38 106D9:50 10E1:06 10£9:63 10F1:66 10F9:08 11061:6D 1109:6D 1111:1¢6 1119:12 1121:15 1129:17 1131:1A 1139:1C 1141:1F 1149:86 1151:8A 1159:07 1161:11 1169:65 1171:4F 1179344 1181:4C 1189:54 1191:9A 1199:58 11A1:64 11A9:49 11B1:96D 11B9:65

4A 41 SA 52 53 A3 8B 80 49 4P 85 19 CM 29 54 56 68 14 34 54 G1 G4 G6 Dd 6B @D 16 12 15 17 1A 1D 1F GE 87 6D 04 71 52 45 4D 55 20 45 78 4E ol oo

SPEEDSPELL $801:0B G8

9809:37 G811:20 9819:3C @821:99 G829:B9 @831:F7 G839:2E 9841:18 G849:987 @851:65 9859226 @861:16 G869:A2 6871:108 G879:A8 GO881:F7 G889:A5 G891:E8 G899:26

Ct) 20 98 33 6c Ag 4c 8E cs G1 34 A2 G4 65 AS A5 F8 26 34

59 4D @D 45 4B 63 54 Fl 45 4E 35 Ci) G2 CB @D El cB 18 38 58 ol G4 66 66 6B GE 16 13 15 18 1A 1D 26 OF ec Us) OA o8 44 46 4E 56 26 45 62 26 Es oo

76 0G 26 99 63 68 78 66 13 Dg Ccé 63 61 26 A2 A7 FPF 85 34 03

20 gD F9 41 D2 C4 45 71 57 41 OF c3 06 Ur) EG 41 Ut) 1c 3c 5c 02 @4 @D 69 gc GE Dg 13 E7 18 1B 1D 3c 83 89 06 16 03 3F 47 4F 57 56 44 44 44 62 EA

17 oo 26 F8 88 99 85 61 B9 F7 F9 FG 26 34 GA 85 85 FF 63 AG

50 B9 B8 53 B8 33 89 El E9 52 co 46 32 26 TE BO CT) 26 40 60 62 Da 67 09 6c GE ct) 13 ol 18 1B 1E F8 39 62 gc 78 34 26 48 56 58 55 43 49 52 69 80

9E 26 26 CT) De FF 2D GE 6E EE Dg 33 34 63 26 Ag F8 AS De G2

4F EF E7 4E 32 63 20 F3 43 68 44 4c 1D 51 91 2D 68 28 48 36 @D 65 68 OA De OF 11 14 16 19 1c 1E 1c 32 GE 95 c2 G4 42 4A 52 SA 26 45 4B 56 15 Uy)

34 20 C4 FD AG 88 18 @5 99 G1 A2 67 Da 69 G3 FE 6C 85 A2 Ag

47 28 63 91 cl 44 A4 Bl 54 38 44 45 28 55 E2 2D 6c 2c 4c F8 63 65 68 OA 6G oF 12 14 17 19 1c 1F 8F 12 ol 6B 1D 57 43 4B 53 gD 53 43 26 45 1B i)

36 26 B9 a8 69 De 85 78 E8 EE 63 Dg OA 07 85 85 63 FE 68 85

@8A1:A6 @8A93A5 68B1:63 @8B9:D9 @8C1:34 @8C9: 03 98D1:63 @8D9:34 @8E1:18 @8E9:34 O8F1:03 G8F9:20 G901:A7 G909:26 G911:60 @919:85 @921:FF 0929:FF @931:61 0939222 0941:C6 6949:A8 G951:F7 G959:A9 9961:F8 9969:61 6971:CB8 6979:54 6981:85 6989:04 @991:Cl 6999:83 @9A1:D6 G9A9:86 @9B1:DG G9B9:62 @9C1:85 69C9:08 @9D1:24 @9D9:Cl G9E1:1B G9E9:1E G9FL:FO GOFO:FO @AG1L:Al @AG9:4B @A11:7D @A19:1C @A21:75 GA29:13 GA31:8D GA39:18 @A41:8B GA49:84 @A51:29 GAS9:ED GA61:86 @A69:7D GA71:24 GA79:B9 GA81:30 GA89:03 GA91:C9 GA99:G6 GAA1L:E3 GAA9:B9 GABL:EC GAB9:78 @AC1:97 GAC9:DD

65 85 E8 84 A2 A2 5c E8 De A2 DG E6 gc CA 85 FE E7 D8 08 ES F7 FD 98 F7 EC 60 36 AS D7 8D ag 17 8D ol 26 44 85 D2 2D DG 28 G2 FO Dl CA 8D 8A 20 26 D9 8D CE 62 6A 4 18 EF 16 16 FE B7 Ag 48 96 23 98 63 CE F9 18

OCTOBER 1992 COMPUTE

PROGRAMS

@AD1:BG GAD9:E6 GAE1:1A GAE9: GF @AF1:FC GAF9:11 @BO1:FB GBG9:C8 @B11:@D 9B19:81 0B21:16 9B29:26 @B31:68 @B39:A5 9B41:DP GB49:66 OB51:GA @B59:73 @B61:25 @B69:D7 0B71:60 6B79:00 0B81:80 GB89:76 OB91:6A @B99:85 @BA1:0B @BA9:AC @BB1:18 @BB9:DG GBC1:1E OBC9:E2 GBD1:GE @BD9:99 @BE1:60 GBE9:14 @BF1:6D OBF9:9A GCG1:E3 G@CO9:A9 6C11:8A @C19:AD @C21:A0 @C29:C9 GC31:04 6039:18 6C41:14 6c49:14 0C51:78 @C59:02 @C61:FB @C69:FC 6C71:D6 GC79:C4 @C81:FD 0C89:4A 0c91:92 9C99:G4 GCAL: FG GCA934C @CB1:FF GCB9:69 @CC1:EE @CC9:F3 @cD1:85 @CD9:C4 GCE1:63 GCE9:B4 GCF1:44 GCF9:1C

G-34

4B G2 gl

BO 81 c3 A4 9c 45 62 AF GA B9 FD 65 cD 06 GA co cg 68 16 oo Cy) 80 EA 32

‘FO

24 41 81 ao B4 OF DG 68 46 EG 4D Ol 68 25 GE ce 14 19 G2 38 FB 22 43 33 BE 26 26 47 63 46 85 A3 8D 99 G1 E8 6a 86 Go 6c @1 51 18 Uy) 2

COMPUTE OCTOBER 1992

9D21:69 6D29:47 @D31:F9 @D39:44 @D41:96 @D49:92 6D51:BC @D59:G5 @D61:85 GD69:FG @D71:09 @D79:8A @D81:58 GD89:5F @D91:Ba 6D99:A9 GDA1:61 GDA9: 86 @DB1:4D 6DB9:15 @DC1:A2 @DC9:DB @DD1:1F GDD9:A2 @DE1:DD GDE9:96 @DF1:FD GDF9:E3 @EG1:7A GEG9:05 @E11:20 GE19:00 @E21:27 GE29:FB GE31:Bd GE39:12 GE41:2B GE49:F9 GE51:A9 GE59:8D GE61:FC GE69:AE GE71:CC GE79:B3 GE81:20 GE89:A5 @E91:DF GE99:AG GEA1:8¢ GEA9:C6 GEB1:B4 GEB9:A9

UWAIBWRAWAHRIIA

Dl 73 6F 9A DB 68 c2 FO 35 4A AD BA AB 4E 48 54 8a ol 4c 6C 5c Ds A2 59 AD B4 8D FO 68 62 CA 64 EO 26 BL ol E4 57 CE 16 FB 26 95 6B 6F BE AE 86 62 5E 36 61 AG 19 62 1D 6G 7B 45 7B Uh) 96 AC B2 F6 ce

3c 8E 39 4G 5B 28 21 206 oo 1c @4 4A 95 61 22 E9 36 @5 Cc @8 OF 6A 45 41 GE BC DG 0G 36 7E 61 16 99 8c 4E 62 DG 29 5A 85 ES 57 87 44 93 2D 06 DE 26 26 68 8E FF D5 39 ol co gc 79 6E G2 BG 89 F6 BF 81

OF31:03 GF39:26 GOF41:AA GF49:34 GF51:96 GF59:8D GF61:B9 GF69:B9 OF71:BF GF79:GA GF81:5C

GFD9:EB @FE1:3EE

1609:65 1611:26 1619:80 1621:62 1029:4C 163

SAMAINDAOASDANVQVUSKPYITDHONS0AATOORa eH

1159:65

8D GE co 18 38 C3 ED 18 98 7E cD

31 15

AC 12 88 BG 9D EP G3 EB 0B EC 62 8o E8 69 96 81 pc DE 2B 26 Cc DG AS 66 @D o7 60 oo 96 78 GE AQ De FA 6B 82 4c E9 76 19 86 4c B9

16 2B De De 5 9A 68 54 41 16 26

4D AD

F3 69 @2 6D 13 66 80 19 i) 59 OA O4 @1 18 80 86 UT) AD 36 i) gc 37 E9 FE FG 79 9c BA 4c Ag Fl 99 c8 D7 gc D3 12 9D ol) 28 8D 12 1E

1161:6F 1169:16 1171:07 1179:76 1181:16 1189:69 1191:46 1199:0B 11A1:04 11A9:13 11B1:96 11B9:27 11C1:41 1109:36 11D1:6C 11D9:C8 L1E1:A9 11E9:4F 11F1:64 11F9:4A 1201:A5 1209:A9 1211:B1l 1219:EC 1221:20 1229:5B 1231:91 1239:C9 1241:ED 1249:80 1251:56 1259:E9 1261:A7 1269:CO 1271:01 1279:62 1281:FB 1289:D8 1291:26 1299:AD 12A1:27 12A9:0A 12B1:F7 12B9:C9 12C€1:34 12€9: 26 12D1:96 1209:81 12E1:Cl 1269:31 12F1: 36 12F9:00 1301:30 1309:A8 1311259 1319:1¢c 1321:45 1329:FO 1331:49 1339343 1341:51 1349:53 1351:6C

1359:72

1361:53 1369:93 1371:E8 1379:C3 1381:55 1389:6D

81 92 CE 2c Bg @3 F8 43 36 4c G1 FG BO cs DE o7 ec 09 Ag E@ 36 9A 71 16 EF Bo 34 ol 8F 88 Da 20 c2 18 AD 85 26 Fl E6 CA 14 29 Ag 26 63 65 EG OB 4D 31 32 07 B6 OF oo 68 96 9A El i) B7 77 54 49 45 9A 86 4P 42 9A

| 1391:0D

26 14 55 4F 49 45 c3 cé6 3E c4 52 9E 3E 16 86 12 2D El 4c 2D OF Ot) 20 40 66 G2 O4 6G 69 eC GE @D 13 1E 18 1B 1E 83 98 88 06 10 93 26 48 58 58 GF Us)

AC 2B A4 2F F4 54 D3 4c 19 43 F7 1D c7 48 D7 CE cs 45 9A 2F 8D 68 28 48 36 Do @5 07 GA gc 0a ll 14 16 19 1c 1E c8 26 G8 12 23 G4 42 4A 52 5A 1B iT)

1399:3C 13A1:46 13A9:CC 13B1:4E 13B9:34F 13C1:CE 13C9:56 13D1:9B 13D9:26 13E1:49 13B9:8E 13F1:62 13F9:3E 1461:26 1469:18 1411:96 1419349 1421:53 1429:4D 1431:13 1439:2D 1441:10 1449:36 1451:56 1459:9F 1461:93 1469:66 1471:08 1479:D8 1481:9D 1489:0F 1491:12 1499215 14A1:17 14A9:1A 14B1:1C

Daniel Lightner is a frequent contribu- tor who seldom misspells words now.

DYNAMIC MEMORY

By Frank Gordon

It's possible to watch the 64 in action by redirecting the interrupt vector at 788 and 789 to a routine that prints selected are- as of memory to the screen. Dynamic Memory is such a program, and it does it 60 times per second.

Dynamic Memory displays selected ar- eas of memory at the top of the screen in anine-lne display. Line 1 displays the BA- SIC pointers from 43 to 56. Lines 2 and 3 display the top 80 bytes of the stack.

Lines 4 and 5 display the 80 bytes of the input buffer, and lines 6-9 display the first 160 bytes of BASIC memory.

By examining these, you can see how BASIC pointers change, how the stack op- erates when you list and run a program, and how line numbers are stored in the stack's last two bytes. You can also see how the input buffer shortens programs by tokenizing keywords and how the screen editor inserts and deletes lines in memory.

Typing It In

Dynamic Memory 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.

Using Dynamic Memory

Load and run Dynamic Memory as you would any BASIC program, but then en- ter SYS 900 to activate the screen. Press Clr/Home and cursor down be- low the memory display. To deactivate, press Run/Stop-Restore.

Screen Codes

The display may appear strange be- cause it consists primarily of screen codes. Text may be easier to compre- hend if you switch to upper- and low- ercase mode by simultaneously press- ing the Commodore key and the Shift key.

On the first line, in the upper left cor- ner, you'll see a line that begins with the letters ah. These letters represent the values of memory locations 43 and 44, the BASIC program pointer. Screen codes a and h equal 1 and 8 in low-byte/high-byte format.

If you place your cursor on a line of code and press Return, the line will ap- pear in the input buffer, which is line 4 on the screen. The original code will ap- pear shortened because it has been to- kenized. For example, list line 185 on a clear part of the screen. It should ap- pear as the following.

135 FOR J = 900 TO 969: READK: POKEJ,K :NEXT

Now place your cursor on this line and press Return. The line will appear in the buffer (line 4) as follows.

OCTOBER 1992 COMPUTE G-35

PROGRAMS

E)J229008 969: kK: J, K:£) @D@:POKEJ.K: NEXT@@@@

The line number 135 is stored in the last two bytes of the stack as @. All 64 tokens are equal to 128 or greater. In the line above, the BASIC keywords are represented as follows.

Token Value Screen code FOR 129 la} = 178 TO 164 i READ 135 POKE 151 NEXT 130 ff

Modifying Dynamic Memory You may wish to modify Dynamic Mem- ory to examine other pointers and mem- ory areas. If so, load the program and enter the following changes.

25 REM INDEX INTO BUFFER AT 30 DATA 165,11,141,0,4 rh 35 REM LINE NUMBER & ADDRESS ~=f\b 40 DATA 162,5,181,57,157,2,4 Fa 50 DATA 202,16,248 QF 60 REM STACK POINTER mK 65 DATA 186,142,9,4 ay

135 FOR J=900 TO 978: READK: POKEJ,K: NEXT

Now when you run the program, the first line shows the values for the input buffer index (11,$b), the current and previous line numbers and the address of the current BASIC statement (57- 62, $39-$3E), and the value of the stack pointer. Many variations are pos- sible with this display.

You can see a listing of screen codes in a number of Commodore pub- lications, including Mapping the Com- modore 64 and 64C (Appendix G) by Sheldon Leemon from COMPUTE Books. You can also see them by run- ning the following short program.

5 REM PRINT SCREEN CODES 10 FOR X=0T0255

20 POKE 1024+X,X: NEXT

30 PRINT'{3 DOWN}

DYNAMIC MEMORY

MM 5 REM COPYRIGHT 1992 - COMP UTE PUBLICATIONS INTL LTD

- ALL RIGHTS RESERVED QS 146 REM ~ REDIRECT INTERRUPT

G-36 COMPUTE OCTOBER 1992

VECTOR TO INSERTED PROG RAM

DATA 1206,169,145,141,26, 3,169,3

DATA 141,21,3,88,96

REM SHOW BASIC POINTERS

{SPACE}43-56 ON 1ST LINE OF SCREEN

DATA 162,13,181,43

DATA 157,0,4,202,16,248

AH 15 RX 26 HM 25

QG 36 EP 40

SH 76 REM SHOW LAST 8@ STACK B YTES ON 2ND & 3RD SCREEN LINES EF 75 DATA 162,79,189,176,1,15 7,46,4 MM 80 DATA 262,268,247

XK 85 REM SHOW INPUT BUFFER ON

4TH & 5TH LINE OF SCREE

N

DATA 162,79,189,0,2,157, 120,4

HH 95 DATA 202,16,247

CF 190 REM SHOW 1ST 160 BASIC {SPACE}PROGRAM BYTES ON LINES 6,7,8 & 9 OF SCR

EEN

DATA 162,55,189,1,8,157 ,200,4

DATA 202,16,247

DATA 162,103,189,57,8,1 57,0,5

DATA 262,16,247

REM BACK TO REGULAR INT

ERRUPT ROUTINE

DATA 76,49,234

FORJ=900T0969: READK: POK

EJ,K:NEXT

FB 96

MP 165

EC 119 PS 115

AD 120 XA 125

RC 136 XH 135

Frank Gordon is the author of Graphos (April 1992). He lives in Orono, Maine.

SCAN 64

By Daniel Lightner

Here’s a short utility program that lets you view the entire contents of your 64's mem- ory. It's similar to Dynamic Memory, also published in this section, but it doesn't re- spond to immediate input.

Entering the Program

Scan 64 is written entirely in machine language. To enter it, use MLX, our ma- chine language entry program; see “Typing Aids” elsewhere in this sec- tion. When MLX responds, reply with the following.

Starting address: COO0 Ending address: COEF

When you've finished typing in Scan 64, be sure to save a copy to disk be-

fore exiting MLX.

Using the Program

Scan 64 is easy to use. Load it with the 8,1 extension, type NEW, and then press Return. To activate the program, enter SYS 49152. At the top of the screen, Scan 64 displays the range of addresses being displayed, followed by the contents of the first 512 bytes of memory. (Note the ah in bytes 43 and 44, as mentioned in connection with Dy- namic Memory.)

To scan forward in memory, press the right cursor key. To scan back- ward, hold down the Shift key while pressing the same cursor key. To exit the program, press Return.

You can see the contents of Scan 64 itself, by scanning locations 49152- 49663. You can easily spot the words MEMORY LOCATIONS on lines 7 and 8. If you can't, press the Commodore key and the Shift key simultaneously to enter upper- and lowercase mode. If you load other programs before you load Scan 64, you can also see their contents, depending on their starting addresses in memory.

SCAN 64 9 00 85 F

COGB3A B 85 FC A@ G6 28 CGG8:A9 9A 206 D2 FF AX 93 26 24' CG@106:D2 FF B9 D7 CO 20 D2 FF DB CG18:C8 CO 12 D@ F5 AS FC A6 64 C620:FB 26 CD BD A9 26 20 D2 1E CO28:FF A9 2D 20 D2 FF AQ 24 C5 C630:20 D2 FF 18 A5 FB 69 FF E7 C@38:AA AS FC 69 G1 20 CD BD 96 CG46:A2 G2 26 AF CO 26 C9 CB 6D C@48:18 AS FD 69 26 85 FD AS 4E CO5G:FE 69 69 85 FE 20 BA C@ B2 CO58:E@ 16 D@ E9 AS FB 48 AS SA CO6G:FC 48 A2 6G 20 AF CO AI Bl C@68:7C 85 FD AOI 64 85 FE 26 38 C@76:C9 CO 26 BA C@ 18 A5 FD 66 C@78:69 28 85 FD A5 FE 69 66 45 C@806:85 FE E@ 10 D@ ED 68 85 26 CO88:FC 68 85 FB 24 E4 FF C9 71 CG90:1D FO G9 C9 9D FH 88 C9 25 C698:8D D@ Fl 69 4C G6 CB 38 4D COAG:A5 FB E9 6G 85 FB A5 FC 95 COA8:E9 64 85 FC 4C G6 CO AD 46 COBG:D@ 95 FB AI C795 FC A2 4B COB8:06 66 18 AS FB 69 26 85 FA COCO:FB A5 FC 69 6G 85 FC E8 D8 C6C8:60 AG GB Bl FB 91 FD C8 A8 CGDG:CB 20 DB F7 AG BB 66 20 3A COD8:4D 45 4D 4F 52 59 26 4C 75 COEG:4F 43 41 54 49 4F 4E 53 BF CGE8:20 GB BB BG BH BB BB GB 7A

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

MINDBOGGLE

By John Cameron If you want a challenging yet entertaining game that will help you whittle away a few hours, look no further. Mindboggle is just what you've been looking for. Mindboggle (not to be confused with Mind Boggle, May 1984) is a strategy game for up to four players. Your memo- ry will be pushed to the limit as you search through a game:board of almost 200 blocks to locate identical pairs hid- den within. As if this wouldn't be hard enough, you must also contend with three other human or computer players, who'll do everything in their power to low- er your score while searching for the matches themselves. Special blocks placed randomly throughout the board may be either helpful or harmful to you. If used to your advantage, they may mean the difference between the joy of victory and the agony of defeat.

Getting Started

Mindboggle consists of two programs. The first is written in BASIC. To avoid typing errors, enter it using The Auto- matic Proofreader; see “Typing Aids” elsewhere in this section. When you've finished typing, be sure to save a copy of the program before exiting Proofread- er. The second program is written in ma- chine language and must be typed in using MLX, our machine language en- try program; see “Typing Aids” again. Enter the following values when MLX prompts.

Starting address: C800 Ending address: CB77

When you've finished typing, save the program to the same disk as the BA- SIC portion of the game. Save it with the filename BOGGLE.ML before exit- ing MLX.

Game Options

Load and run the BASIC portion of the game. It automatically loads the ma- chine language routines. Since Mind- boggle is a multiplayer game, it plays with one joystick plugged into either port or two joysticks. When the title screen appears, you'll be asked for the number of players. Move either joystick

to alter the value, and then press the ,

fire button. The initial number of play- ers is zero. If this value is selected, all four player positions will be controlled by the computer. If human players are competing, the game will ask them to type in their names. The final question asked is the skill level. There are eight levels avail- able, ranging from Simple to Difficult. In the easier levels, fewer pairs have to be found, and a larger number of spe- cial blocks are scattered throughout the game board. In the difficult levels, the board consists almost entirely of pairs, with only a few special blocks. Once these options are entered, the game pauses momentarily to random- ly place the matching blocks. The length of this pause depends on the skill level chosen. Higher levels require more time to position the increased number of pairs.

Playing the Game

When the game begins, you are pre- sented with a view of 171 blocks, turned so that only their backs are show- ing. The players’ names are arranged below them, with the current player’s name highlighted in white. Scores are shown under the names, and the num- ber of pairs remaining to be found is printed at the bottom of the screen. A cursor in the shape of an open rectan- gle appears at the top of the screen. Its color corresponds to the color in which the current player's score is dis- played. This helps in determining whose turn it is.

Move this cursor to a block that you wish to open. Press the fire button to re- veal one of five possible designs. When a block is uncovered, the player must then find its twin, located some- where else on the board. If the second block doesn’t match the first, then both are turned back over. If the two match, that player earns 100 points, and both blocks are covered by a mark- er in that player's color. Among the spe- cial blocks found in the game is one that looks like a closed hand. If it's en- countered before or after uncovering a patterned block, then all blocks which match that pattern are revealed. This can be advantageous when a pattern has more than one twin, thus earning the player a greater number of points in a single move.

If one player uncovers several hand blocks in a row, play continues until that player locates a different block de- sign. If any succession of hands ends with a happy face block or if this block is revealed upon a player's first move, then that player is awarded 250 bonus points instantly. Stop blocks are rare, and they resemble a stop sign with a di- agonal line crossed through it. Come across one of these at any time, and you lose your turn.

Perhaps the most interesting block is the masked thief block. This gray block lets you steal 50 points from any opponent by changing the opponent's colored marker to your own color. If no opponent markers are available, then select a closed block as the target in- stead. Should a closed block be re- vealed instead, it will remain open if it's not a pattern block. The game contin- ues until every pair is revealed. This doesn’t necessarily mean that every block is opened. There may be some special blocks hidden even after the last set of twins has been located. At this point, the game goes to a special wrap-up screen, where the final scores and statistics are displayed. The winner is the individual with the highest score. If two players have the same score, the winner is the one with the greater number of markers. So try to keep as many blocks as you can. With the game over, hit the fire button to play again. You will be returned to the title screen and given the option to keep the same players for a second game or to change them. Likewise, the skill level may then be altered for a more or less challenging game, depend- ing on your preferences.

Computer Opponents

One of the most attractive features of Mindboggle is the ability to pit your wits against the computer. Though it may sometimes seem like the machine has the advantage, it actually tackles the game much in the same manner that we do. It uses a probability func- tion to calculate its chances of finding a hidden pattern and its match. Like a human being, it's more apt to locate a block that has been revealed several times when there are few blocks remain- ing. Its memory capability increases, however, at higher skill levels.

OCTOBER 1992 COMPUTE G-37

PROGRAMS

ied GM 16 GOSUB205:2L=0 gen gee aes SP In the higher levels, where speci es bsele ars Geena a ibaieiorernhe: 17 PRINTLEFTS (DWS, 22) TAB (10 | KS 50 NEXU:NEXN:GOTOS6 1 q' me) Ipr )"{WHT}NUMBER OF PLAYERS | CM 51 C=FNRN(3)+1:ONCGOSUB52,5 sis should be placed on memorizing :{CYN}";PL 3,54,55:RETURN the locations of patterns, especially 18 GOSUB82:P=PL~(JR=8ANDPL< | DX 52 BL$(K,L)=FI$:RETURN those that have been revealed numer- 4)+(JL=4ANDPL>@) :IFFB=0T | MH 53 BLS (K,L)=HPS:RETURN ous times you tne necessary 0 | apy SencsuniENle Ge 35 Besta’ )caveznstonn use a pad and pencil to j Ww! = ey ued notes vinta Tee, for or Etning 20 PL=P:GOTO17 JE 56 PRINT"{CLR}{2}!"B1$"#";: i Cele svt 9 21 IFPL=GTHEN32 FORK=1T018:PRINT"S"SPC (3