27.07.2013 Views

Ahoy! Magazine December 1986 - Commodore Computers

Ahoy! Magazine December 1986 - Commodore Computers

Ahoy! Magazine December 1986 - Commodore Computers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

THE<br />

ARTIST<br />

FOR THE 128


m<br />

la.<br />

re.<br />

S<br />

extla<br />

ion,<br />

'eval<br />

iI's<br />

lasks.<br />

DEPARTMENTS<br />

FEATURES<br />

PROGRAMS<br />

Cove, Cover art art by J.......... James Regan and _ JOII. Josie 'H lee<br />

•<br />

A View from the Brielge...ofthe Bridge ... of the <strong>December</strong> issue of <strong>Ahoy</strong>! <strong>Ahoy</strong>! 7<br />

Scunlebutt... ScuHlebuH ... what's coming for your <strong>Commodore</strong> in the New Year. 8<br />

Reviews.. Reviews ... .dashing dashing through the latest latest software and firmware. 60<br />

Art Gallery.. Gallery ... .our our readers decorate decorate this holiday holiday issue. 90<br />

Tips <strong>Ahoy</strong>!. <strong>Ahoy</strong> I. .. take a few from your fellow f ellow reader/programmers. 105<br />

Commodares... Commodares ... tough enough to ruin any Christmas morning. 109<br />

Flotsam... Flotsam ... our readers have the near-last word. 115<br />

Program Listings.. Listings .. .stuff . stuff stockings with with our our games and and lIIilities. utilities. 117<br />

Rupert Report: File Manipulator by Dale Rupen* Rupert* 20<br />

<strong>Commodore</strong> Roots: Roots: The Shadow Knows, Part II by Mark Mark Andrews**27<br />

Andrews**27<br />

Entertainment Software Section (contents on page 41) 41<br />

Cadet's Column: Christmas Presents Present. for Your Commdore 100<br />

Build a Five Volt Peripheral Power Supply by Monon Morton Kevelson 92<br />

*lncludes *lnc1udes programs: Planetary Moons Database and File Manipulator<br />

(for the the C-128)<br />

**lncludes **lnc1udes program: program : SPRlTE2 SPRlTE2 (for the C-128)<br />

The Artist for the C-12B C-128 by by Denoy DeBoer 34<br />

Minotaur Maze for the C-64 C-64 by by Cleveland Cleveland M. Blakemore 52<br />

Mouse in the House by by James C. Hilty 55<br />

The Editor for for the the C-64 C-64 by by Buck Buck Childress Childress 56<br />

Micro City for the C-64 by by Darryl Darryl Hawkins Ha wkins 76<br />

Speedway for the C-64 by Tony Brantner Branlller 78<br />

Lazy Source Code for the C-64 by Michael Bennett Bennell 88<br />

Rebels and Lords for for the C-64 C-64 by Terry Bryner Bryner 96<br />

Bug Repellents for the C-64 and C-128 C-12B by Kleinen Kleinert & Barron 118<br />

Flankspeed for the C-64 by Gordon F. Wheat 119


PUt on your black belt and challenge your<br />

friends or the computer through nine<br />

plcturf9que settings In this leadIng Martial<br />

Arts Game to become the KARATE<br />

CHAMP. For the <strong>Commodore</strong> 64"'/ 128<br />

and the 48K Apple II 0- Series.<br />

As the crack shot COMMANDO: battle<br />

overwhelming odds to defeat advancing<br />

rebel forces. Armed with only a machine<br />

gun and hand grenades. you must break<br />

through the enemy lines to reach the fortress<br />

. For the <strong>Commodore</strong> 64''''t 28.<br />

Prepare for the light of your life • •• you<br />

are the KUNG·FU MASTER:" Battle the<br />

evil forces through the flve dangerous<br />

floon In the wizard's castle to rescue the<br />

captive fair malden. For the <strong>Commodore</strong><br />

64'"11 28 and the 48K Apple II" Series.


By Dale Rupi--;:"'<br />

hat? You have never used reltive<br />

ftles? fIles? Rumor is that it<br />

takes some sort of programming<br />

genius to be be<br />

able able to use them. Perhaps a high high IQ is a prerequisiterequisite<br />

for learning about relative files from<br />

the original VlC-1541 V!C-1541 Disk Disk User's Manual, Manual,<br />

but as we shall see, creating and manipulating<br />

relative files fIles in BASIC 7.0 is quite<br />

straightforward, ifnot downright child's play.<br />

So what are these relative files with their<br />

strange accompaniment of "side sectors,"<br />

"pointers," and and "records"? A relative ftle fIle is a type<br />

of disk ftle fIle which allows easy, random-order access<br />

to each of the elements in the file. The elements in the<br />

ftle fIle are called "records." To identify which record you<br />

wish to access, you simply set a pointer to that record.<br />

The computer automatically finds the location of the selected<br />

record on the disk and allows you to read it or<br />

write to it. We won't worry about "side sectors" because<br />

it is not necessary to know anything about them in order<br />

to use relative files. files .<br />

There is one more concept we must discuss. Each record<br />

in the file may be further subdivided into portions<br />

called "fields." Locating a specific field within a given<br />

record in a named ftle fue on a disk is really not a difficult<br />

programming task, especially with the model programs<br />

20 20 AHOYl AHOY!<br />

we will create this month.<br />

Our discussion aod and programs this this month<br />

are for BASIC 7.0 on the C-128. The concepts are<br />

identical, however, for BASIC 2.0 on the C-64 and for<br />

other versions of BASIC. After studying srudying the examples in<br />

this article, you should be able to translate the BASIC 7.0<br />

command sequences into your your own computer's language.<br />

RILATIV. RILA TIVI DI...R.NC.S<br />

DIFFIRINCES<br />

Both relative ftles fIles and sequential ftles fues provide structuresrures<br />

in which data data may be stored and accessed. Relative<br />

files are called random access files fIles in other computer


language language dialects. The The tenn "relative" "relative" obscures obscures their their priprimarymary distinguishing distinguishing characteristic: that that each record record is is<br />

individually individually and independently accessible. "Random access"<br />

is a more more descriptive descriptive tenn tenn than than "relative" for for these<br />

files, although although we we are not not dealing with with true random random files files<br />

as defined defmed by by <strong>Commodore</strong>. <strong>Commodore</strong>. (See the the March 1984 issue<br />

of <strong>Ahoy</strong>! for a discussion of random files.) flIes .)<br />

Sequential flies files also consist of records. Before reading<br />

the 30th 30th record in a sequential sequential file, the computer<br />

program program must must first read through through the preceding preceding 29 recordsords<br />

in the file. ftle. This This is the main disadvantage of sequentialtial<br />

files. files. If records records must must be accessed in in random random order,<br />

JOSIE VEE<br />

typically the the program first first reads reads them from from the disk into into<br />

arrays arrays in in memory. memory. Once Once in memory, each each record record is localocatedted by by an index of of the array.<br />

Each record in in a relative relative file file also has has an an index index associaassociatedted with with it. it. The index index is stored stored right on on the the disk disk with<br />

the the flIe file as as it is created. (The (The storage storage areas for for these these indexesdexes<br />

are the side sectors mentioned earlier. The computer<br />

takes care of all this for us.)<br />

Ifeach If each relative relative file file carries carries along along its its own own indexes, indexes, and and<br />

if each record is easily accessed in random order, then<br />

why are sequential flies ftIes even used? The disadvantage<br />

of relative relative files files is is that that they they generally generally require require more more disk disk<br />

AHOYt AHOYI 21


I. Open the file (DOPEN)<br />

2. Point to the desired record(s) (RECORD)<br />

3. 3. Read Read or or write write the record(s) record(s) (INPUT#, (INPUTH. PRINT#) PRINT#)<br />

4. 4. Close the fLle me (DCLOSE) (DC LOSE)<br />

ERROR HANDLING<br />

There are various conditions that cause errors when<br />

using relative relative files. fLIes. The BASIC 7.0 variable DS$ contains<br />

the error codes and descriptions for disk errors.<br />

If the disk drive light is flashing and the program has<br />

ended, ended . you you should type type PRINT PRlNT DS$ in in direct direct mode mode to to<br />

display d.isplay the the error and to tum offthe off the light. You may also<br />

have to type DCLOSE DC LOSE if the light stops flashing but remains<br />

lit.<br />

In general when a program writes to a relative file<br />

for the the first first time, time. an an error error 50 50 "Record "Record Not Not Present" Present" ococcurs. This error occurs when the pointer is set with the<br />

RECORD RECORD statement statement to to a record which has not not yet yet been been<br />

wrinen. written. (In our our sample sample program program above. above, this this error did<br />

not not occur occur since the the total total length length of the three records was<br />

less less than 256 characters.)<br />

The best way to handle the error 50 problem is to write<br />

the the highest numbered record when the the file is first opened<br />

and then then read read DS$ DS$ to clear clear the error. Assume Assume we knew<br />

that we wou.ld would never have more than 40 records in the<br />

file. We We could open open it and and write write to to the the 40th 40th record record this this<br />

way: way:<br />

1 DOPEN. DOPEN, "TEST" ,Lll) ,LIt)<br />

2 RECORD#!, RECORD#l, 41),1 4t), 1<br />

3 3 PRINT#l,"DUMMY"<br />

PRINT#!, "DUHMY"<br />

4 PRINT DS$<br />

5 DCLOSE<br />

Now the space on the disk has been a1.located allocated for 40 records,ords.<br />

the 40th record has dummy data in it, it. and the error<br />

50 has been cleared by line 4. 4. If we later need to<br />

put more than 40 records in this fiIe, fLle. we may simply<br />

open the file again, put the RECORD pointer to the new<br />

maximum number, number. and write the additional records. We<br />

must read DS$ each time a record is accessed which has<br />

a higher record number than any previously accessed.<br />

That is an advantage of writing the highest numbered<br />

record first.<br />

Another suggestion. Put your RECORD# RECORDH statement<br />

immediately before the corresponding PRINT# PRlNTH or [N­<br />

PUT# PUTH statement. A bug in BASIC gives improper values<br />

of DS$ if a GETKEY statement is between the REC­<br />

ORD# ORDH and PRINT# PRlNTH statements, statements. for example.<br />

Whenever a program opens a a ftIe, fLle. it should houJd read DS$<br />

and act accordingly accordingly. . YAL(DS$) Y AL(DS$) gives the error number<br />

of the most recent disk input or output. A value of<br />

o means that the file access was without error.<br />

An An error error will occur if we try to write data which contains<br />

more characters than the record length length specified<br />

for for the the file. For that reason, reason. the program shou.ld should carefully<br />

check the length length of each string of data before it<br />

is wrinen written to the ftle. file. We will see how to do that in the<br />

24 AHOyt AHOY!<br />

relative file model to be discussed. discussed .<br />

INTO THE FIELDS<br />

Relative files are more flexible if their records are subdivided<br />

into smaller segments cal.led called fields. Suppose we<br />

want want to store the the names names ofthe of the planets and their numbers<br />

of moons in a relative file me. . Each record should contain<br />

two fields: fie.lds: a name field and and a number field. field . The records<br />

for for Earth Earth and Mars would would look like this: this:<br />

Field 1 --v ---v<br />

Record #1: U: EARTH<br />

Record 12: #2: MARS<br />

v--Field v---Fie1d 2<br />

1<br />

2<br />

We could create variable length fields or fixed length<br />

fields. For example, example. Field I (the name field) of Record<br />

H # I must be at least five characters wide, wide. whereas Field<br />

I of Record #2 would need to be only four characters<br />

wide. The sample program on page 123 uses fixed length<br />

fields. We will simply pad the data in each field with<br />

spaces as necessary.<br />

For example, example. let Field I have a length of 14. 14. That<br />

is longer than the longest name we have to store. store. Let<br />

Field 2 have a a length of 10. 10. That is certain.ly certainly wider than<br />

necessary. Ten characters will allow us to store most<br />

floating point numbers easi.ly. easily.<br />

Once we have defined the field lengths, lengths. we can calculate<br />

the record length. The lengths of the fields add up<br />

to 24. We must add one for the delimiter at the end of<br />

each record. record. That gives a record length of 25.<br />

Field 1I starts at character I and is 14 characters wide.<br />

Therefore Therefore Field Field 2 starts at character character l5 15 and is 10 characters<br />

wide. The The delimiter delimiter fills the 25th character character position<br />

in each record. The record for Mars and its numberber<br />

of moons looks like this:<br />

Character Character iI # 1111111111222222<br />

1234567890123456789012345<br />

MARS __________ 22 _________ A<br />

The The number, number. structure, structure. and and control control ofthe of the fields is up up<br />

to us. The RECORD statement does allow us to move<br />

the pointer to a specific character within a record so that<br />

only a part of a record may be read or wrinen. written. But we<br />

will will not not use that that method method of of selecting selecting fields. fields . Instead, Instead. we we<br />

will always read the entire record into a string variable.<br />

We will wiH read or write the desired substrings, substrings. then we<br />

will write the modified record string in its entirety back<br />

to disk.<br />

READY TO MANIPULATE<br />

Now that we have covered the background of relative<br />

file me handling, handling. we are ready to put our knowledge into<br />

practice. practice. Refer to to the program Planetary Planerary Moons DaraDatabase on page 123. This program creates a relative file ftle<br />

called PLANETS. PLANETS. The file fLle has a record length of 25<br />

as defined defined in line line 50. 50. SP$ is a string of 24 spaces to


ON WITH THE PROGRAM<br />

Now we're ready to take lake a look at the SPRlTE2 SPRITE2 pro­<br />

addressing- addressing-a a form of addressing in which the Y register<br />

and a lWO-byte two-byte zero-page pointer are used in the folgram.<br />

Actually, it's an improved version of the program lowing format:<br />

that appeared in last month's column: a high-resolution<br />

program that printed a message in quadruple-size characters<br />

on the C-128 screen. This month, the program is<br />

LDA (POINTER),Y<br />

(POINTER) ,Y<br />

expanded into one that also includes an animated sprite Before indirect indexed addressing is used used in a pro­<br />

routine.<br />

gram, a base address must be placed in a two-bYte two-byte zero<br />

In its newest form, the program copies a character set page pointer, and an index value must be placed in the the<br />

from ROM into RAM and then prints a message on the Y register. Then, when a statement that uses indirect in­<br />

screen in large type. It then clears a bit map for sprite dexed addressing is encountered, the value stored in the<br />

0, copies some data into the bit map from from the character Y register will be added to the eight-bit address pointed<br />

set in RAM, and places an expanded sprite in an area to by the pointer, and the accumulator will be loaded with<br />

out of viewing range at the top of the screen. Next, the<br />

the contents of the resulting resuIting address.<br />

sprite descends into viewing range, and maintains a slow<br />

To use INDFET, this is what you have to do: Store<br />

descent until it reaches a predetermined position. Then a base address in a zero-page pointer, load the accumu­<br />

it stops and becomes a pan part of the message displayed on lator with the address of the pointer, load load the X register<br />

the screen.<br />

with the desired bank bank number, and load the Y register<br />

THE 'INDfET' 'INDlET' ROUTINE<br />

with an index. Then you can load load the accumulator with<br />

any value you wish by simply doing a JSR to memory<br />

One noteworthy feature of the program is its use of address $FF74. When the routine routine ends, the value that<br />

a C-128 Kemal Kernal routine routine called INDFET, which has a call<br />

has has been fetched will be be in in the accumulator, and the C­ C-<br />

address of $FF74. With the help of the INDFET rou­ 128 will still be in the memory bank bank that it started out in.<br />

tine,tine, a program can load the accumulator with any val­ Now you know how to set up a high-resolution proue<br />

from any of the C-128's 16 memory banks, without<br />

leaving the memory bank that is currently active.<br />

gram on the <strong>Commodore</strong> 128, and how to program the<br />

C-128's sprites. 0<br />

The INDFET INDFET routine works much like indirect indexed SEE SEE PROGRAM LISTING LISTING ON ON PAGE PAGE /20 120<br />

===========================================<br />

30 30 AHOrt AHOYI


all over over the the screen and and ruin your your masterpiece. masterpiece. Second, the the<br />

palette palene used used for the the FILL FILL operation operation must be the same same one used<br />

to to draw draw the the oulline outline of of the the shape shape to to be filled flJIed. . Before performperforming any FrLL FILL operations where there is even a remote chance chance<br />

that that you you save the the current screen to to the the safety buffer by hitting hining<br />

the the 'OS" S" key. key. That way, if if you you mess mess up, up, you you can hit hit "R" to to recover<br />

your screen. screen.<br />

Note that in in any of the the drawing modes, modes, you you can can hit hit the the oS' oS·<br />

key to save the current screen to to the buffer, or "R'" "'R" to to restore<br />

the the screen from the the buffer. Please note that that it it takes takes approxiapproximately 10 seconds for the program program to save or or restore a picture picture<br />

from the the buffer. To To go go back back to to the the MENU MENU screen, press any any<br />

other other key.<br />

MENU SELECTION<br />

When When you you first run the the program, you you will will be greeted with<br />

a menu menu screen. screen. The The upper 4/5 4/5 ofthe of the screen screen is the Main Main Menu;<br />

the the lower lower ponion ponion is the the Color Color Menu. Menu . Most Most of of the the commands<br />

are are self explanatory, explanatory, or or have have been explained above. To To make make<br />

a a choice, choice, use use the the joystick joystick (plugged (plugged into into Pon Pon 2) to to move move the<br />

cursor cursor to to the the box box of the the selection selection you want want to to make and and hit hit<br />

the the fire button. bunon. In addition addition to to the the command commands already covered,<br />

there are a few few more more available available from the Main Menu Menu. .<br />

On the the left left hand hand side, side, near near the the center of of the the screen, screen, you you<br />

will will find two two boxes boxes marked marked LARGE and and SMALL. These These boxboxeses allow allow you you to select the size size of your pen pen strokes. strokes. When When you you<br />

are in LARGE LARGE mode, mode, the the cursor cursor will will be be twice twice its normal normal size. size.<br />

In In addition to to the the two brush brush (pen) (pen) sizes available, available, you you will will be<br />

THE ULTIMATE CONTROL INTERFACE<br />

Compatible Compatible with with C64,<br />

C128 C128 in 64 64 & 128 modes, modes,<br />

and and C128 C128 in in CPIM CP/M mode mode<br />

Universally applicable dual 6522 Versatlle Versatile Interface Interlace Adaple. Adapter (VIAl (VIA)<br />

board bOard. Intelligently conlrol control almost any deVice. device. PerlOfm Perform automated<br />

leSllOQ testmg. Acquire dala data 101 for laboratory labOratory and instrumen 1O$lrumentallOn tation<br />

appllcallons, applic3ltOns. PrOVides Provides fOUl four8-billully 8-bIIlully bldlrectlonallJO b,dllecllonall/O ports & eight eIght<br />

handshake lines Four It).bl!lnTier/counlers. 16-bIt tlmer/counlers. FulllRO lnlenupt interrupt<br />

capability capability, Expandable Expandable. Includes extenSive extensIve documenlalion dOCumentation and<br />

programs on on disk. diSk. $169 postpaid USA. Eachaddillonal Each addi tional board boardS149. S149<br />

SYMBOL MASTER MULTI·PASS<br />

MULTI-PASS<br />

SYMBOLIC DISASSEMBLER<br />

The The origmal onginal and and best beSI is IS now now even better Wllh wllh VersIOn Version 2.0'<br />

Disassembles any 6502I65 6502I65101undoCl65C02J8502 101undocJ65C02I8502 machine code<br />

program InlO In io beaulllul beautiful source. Includes both C64 & CCI28 128 native<br />

mode versiOnS. versions. Learn Learn 10 to program program like like Iheexperls! the experts! Adapt Adapt eXlsUng ex IS ling<br />

programs 10 to your needs! Outputs source soulcecode code Illes to disk lully fully<br />

compalible compatll:>le With w,th your your MAE. MAEI PAL. CeM. CBM. Devel0p.64, Develop-64. LADS. LADS. Merltn Merlin or 01<br />

Panther Panther assembk!r, assembler. ready lor or re-assembly le·assembly and edlMg ediling 100°. 100%<br />

machine mach,necode code and extremely fast. 63-page 6J.page manual . Advanced and<br />

sophiStiCated sophisticated fea features tures far far too 100 numerous to lodelail detail here here. . $4995 $49 95<br />

postpaid USA USA.<br />

PROFESSIONAL PROFESSIONAL UTILITIES & RESOURCES<br />

RESOURCES<br />

• • C64 C64 Source Code Most Mosl complete complete available available reconstructed,<br />

reconstructed.<br />

extensively eX lenslvely commented and cross·referenced cross-referenced assembly language<br />

source code lor BaSIC and Kernal ROMs. allt6K. all t6K.ln ln book lorm. 242<br />

pages_ pages. $29.95 postpaid USA.<br />

• PTD-6510Symbohc PTO.s5tOSymbolic Debugger lor for C64. An extremely powerlultool<br />

powerlul lool<br />

with wllh capabilities capablhlles lar lar beyond beyond a machfne-Ianguage machine-language moMor. montlor l00-page tOl}page<br />

manual 549.95 postpaid postpaId USA.<br />

• MAE64 MAE64 verSion 5.0. 5.0 FUlly Fully prolessional6502J65C02 prolesslonal6502I65C02 macro<br />

e


More power for your dollar<br />

Timework., Tlmeworks, Inc. 444 Lake Cook Rd., Deerlleld,lL Deerfield, IL 60015 6001 5<br />

312-948-9200<br />

.. An alJlo-dial modem Is requIred required to use the phooe-dialer leatule. teature.<br />

"Convnodofa '<strong>Commodore</strong> 128... 128 ... 18 is a lrademaril trademark and <strong>Commodore</strong> 64 6415 Is a registered lrademartl trademark 01 <strong>Commodore</strong><br />

Electronics, EIec:ll'onlcs, lid.. ltd., Sidekick Is 8 trademarlt trademark 01 Bot1and BOOaOO International, International. Inc.<br />

Cll985 Cl I985 Tlmeworxs, T1mewof1(s, Inc. AM rights reserved.<br />

PARTNER! A cartridge-based program with eight<br />

convenient memory-resident desktop "accessories"<br />

that operate "concurrently" with other C12S:. C12S:" software<br />

programs.<br />

Like Sidekick""" Sidekick·,., PARTNER automagically suspends<br />

the existing program in your computer<br />

while you use the PARTNER accessories. When<br />

you are through, press a button and PARTNER<br />

returns you to the point in your program where<br />

you left off.<br />

Accessories at your command:<br />

• Appointment calendar calendar and date book: Keep • Phone list & auto dialer: Keep track of important<br />

track track of of appointments and and deadlines. At the the press of a a phone phone numbers. At At your your command, the the computer computer will will<br />

key, you'll be be able to to review your your appointments for for a day, search search through through your your list list for for the the number number you you want, and and<br />

week, or or month. Months may be be viewed viewed in their their entirety entirety automatically automatically dial dial the the number number for for you." yOU .-·<br />

in a traditional calendar format, and then printed out. • Screen print: At the press of a key, the contents of<br />

• Memo pad: Write yourself important notes. Print them<br />

out out on paper paper or save them onto disk.<br />

your computer computer display will will be duplicated duplicated on your your printer.<br />

•• Name Name and and address address list: list: Keep Keep track track of of important important<br />

names and and addresses. Available Available instantly, any time time you you<br />

are are using using your computer.<br />

• Calculator: A multi-function calculator with an<br />

optional "paper tape" that prints out out your calculations calculations on<br />

your your printer.<br />

• Typewriter: Typewriter: Turns Turns your your computer computer and and printer printer into into aa<br />

traditional typewriter.<br />

• Envelope Envelope addresser addresser & label label maker: maker: Use Use this this<br />

feature feature and your your name and address address list to to address address<br />

envelopes or or create mailing mailing labels - qUickly, quickly, without without<br />

leaving leaving the the software software you you are are working working with.<br />

PARTNER PARTNER 128 128<br />

THE 1sT THE 1 DESKTOP ACCESSORY THAT<br />

WORKS IICONCURRENTLY" WITH<br />

OTHER C128 SOFTWARE.<br />

ST DESKTOP ACCESSORY THAT<br />

WORKS IICONCURRENTLY" WITH<br />

OTHER C128 SOFTWARE.<br />

Other features:<br />

• SwiftDOS: SwiftDOS: Allows Allows you you to to access <strong>Commodore</strong> <strong>Commodore</strong> disk disk<br />

drive drive commands commands any any time.<br />

• SwiftLock: Enter your your secret code code before before you you leave<br />

your your computer. The keyboard will will be be locked until until you<br />

re-enter your your code.<br />

• Extended Printer Control: Allows you to send commandsmands<br />

directly to your your printer at any time.<br />

•• SwiftLoad: SwiftLoad: Allows Allows your your <strong>Commodore</strong> <strong>Commodore</strong> 1541 1541 disk disk drive drive to to<br />

load load as as fast as the <strong>Commodore</strong> <strong>Commodore</strong> 1571 disk disk drive.<br />

Suggested Suggested Retail Retail Prices: Prices:<br />

C128 C128 (128K, 80 80 column):<br />

$69.95 $69.95<br />

C64. (64 K, 40 column):<br />

$59.95<br />

Available at your favorite Dealer,<br />

or call call Timeworks Timeworks today.<br />

TO TO ORDER ORDER CALL: CALL:<br />

1·800·535·9497<br />

Reader SelVice Service No. 223


disk. disk. Now enter the C-128's C-12S's built in monitor by hitting hining the f8<br />

key. TYpe Type M OEOO OEB8 and press RETURN. The screen will<br />

fill with hexadecimal numbers. numbers. Move the cursor up to the lines lines<br />

and change the hexadecimal bexadecimal values to match those in in the listing<br />

of the second program (SPRITE DATA). DATA). Be sure to to press<br />

the REfURN RETURN key at each eacb line after you have bave made the changes.<br />

Once you have finished cbanging changing the values to match those<br />

in the listing, move the cursor to a blank line and type M ooBOO OOBOO<br />

ooBlO. OOBIO. Change the values in these locations to to match those<br />

of listing three (ML ROUTINE). You can now save the program.gram.<br />

TYpe Type S"ART S"ARf SPR",8,+3584,+4096 SPR",s, +3584, +4096 and and press RETURN. RETURN.<br />

Now, type S"ML",8,OBOO,OB14 S"ML",S,OBOO,OBI4 and press REfURN. RETURN . You can<br />

now exit ellit to to BASIC and type type in The Anist. Be sure to save<br />

The Anist Artist before anempting attempting to run il. it.<br />

FUTURE EXPANSION<br />

You may have noticed that the upper right hand comer corner of<br />

the Main Menu screen contains a large blank box. box . I purposely<br />

left this box blank for future expansion. expansion. Here is a brief description<br />

of how how the cursor input routine works in case you<br />

would like to add some features to the program.<br />

Lines 62-74 check to see where the cursor is along the yaxis<br />

when the fire bunon button is pressed. Control Control is then transferredfurred<br />

to to the appropriate section section (Lines 78-126) to to determine determine<br />

where the cursor is along the x-axis. x-axis. This is wbere where the routinetine<br />

actually determines what function was was selected. selected. Thke note<br />

of line 62 62. . This line calculates the x and y coordinates of the<br />

cursor sprite and then translates it to x and y coordinates for<br />

a 40 column by 25 row screen. The upper left hand comer corner<br />

is location (0,0) and the lower right hand comer corner is location<br />

(39,24).<br />

To demonstrate the process of adding new commands (options),tions),<br />

I will show you how to add a BORDER command. command.<br />

This will allow you to change the border color of the graphics<br />

screen. screen. First, we we have bave to decide how the command will work. work.<br />

1b keep things things simple, I have decided that a box with the word<br />

BORDER in it will be used to activate the BORDER command.mand<br />

. The user could move the joystick up to the box and<br />

hit the fire bunon to cycle through the 16 available colors.<br />

The next thing to do is add the command command box itself. itself. I decided<br />

to to add the command at Line 500. 500. Here are the lines<br />

needed: needed:<br />

51JCJ Y)() WINDOW24,1,39,14 WINDOW24 ,I,39,14 : PRINT"[WHITE][ PRINT"[WHITE][8 8<br />

" "][ RVSON] RVSON J ": ": PRINT" BORDER [RVSON] [RVSON J " :<br />

PRINT" [8 " "][ RVSON] RVSON J ": PRINT" [RVSON][ W<br />

HITE][ HITE][9 9 " " "]": "J": WINDOW), WINDOW) , 1),39,24: () , 39 , 24 : RETURN<br />

The first WINDOW command makes a a window in the big<br />

blank box on on the Main Menu screen. screen. The The BORDER command<br />

is then printed in the upper left hand comer corner of that box. box . The<br />

screen screen is then returned retu rned to normal with the second WINDOW<br />

command, and the program then returns from the subroutine. subroutine.<br />

To make sure that our new command is printed along with<br />

the Main Menu screen, we have to have a GOSUB to our rouroutinetine from the routine that prints the Main Menu. Menu. Add the command<br />

GOSUB 500 to Line 714, 274, right before the RETURN<br />

statement.<br />

However, just adding and printing the command command is not<br />

enough. We also have to add a routine to check for and activate<br />

the new command. Type TYpe in the following Line: Line:<br />

83 IFX>23 IFX >23 AND X


I<br />

S<br />

g9<br />

of<br />

aa·<br />

ce e<br />

l-<br />

re<br />

is<br />

m<br />

d<br />

e<br />

nityug<br />

ve 0i-<br />

is<br />

e<br />

S<br />

or<br />

IS<br />

4.<br />

PIGSKIN PROGRAMS<br />

FOR COMPU-COACHES<br />

New titles give football foolball fans<br />

lots of gaming choices<br />

.y By Anli. Arnie Katz Kat.<br />

........ and Bill K_It•• Kunkel<br />

The United States Football<br />

League's challenge to the<br />

NFI:s monopoly monopoly failed, failed ,<br />

but Pete Rozelle's group<br />

still isn't the only game in town for<br />

football fans. funs . There's a stadium built<br />

into every <strong>Commodore</strong> 64 and 128,<br />

and software software publishers have ftlled it it<br />

with a rich assortment of great gridiron<br />

disks. disks.<br />

Four football football games have appeared<br />

for the C-64/128 C-64/128 since <strong>Ahoy</strong>! <strong>Ahoy</strong>! last<br />

studied studied the category. category. As if that were<br />

not enough good news for computer<br />

sports fans, funs, the new entries reviewed<br />

here represent a truly amazing amazing variety<br />

of game-formats.<br />

game-formats.<br />

Whether the computerist enjoys<br />

pure arcade-style action or undiluted<br />

statistical accuracy, there's a firstquality<br />

game game that that can fill the bill. The<br />

four newcomers, newcomers, together with the<br />

previously available On Field Footballball<br />

(Gamestar/Activision) and and Super<br />

Bowl Sunday (The Avalon Hill Game<br />

Company), insure that there is a programgram<br />

to suit suit every football funcy. fancy.<br />

Fans of action-oriented gridiron<br />

simulations can start dancing in the<br />

end zone: zone: Electronic Arts Arts has released<br />

a <strong>Commodore</strong> version of !magic's<br />

excellent Touchdown Football.<br />

In this contest, contest, the coach ofthe of the offense<br />

has a choice of eight formations,tions,<br />

eight pass patterns, and three<br />

possible line blocking schemes, schemes, plus<br />

full kicking options. The defeoder defender selects<br />

from among eight regular and and<br />

two kicking plays. plays. All selections selections are<br />

entered via joystick, using a series of<br />

pull-down menus. menus.<br />

Once the strategy is set, the onscreen<br />

center snaps the ball. The userer<br />

takes direct control ofthe of the quarter- quarter-<br />

Football mixes action and stolistics. statistics.<br />

READER READER SERVICE SERVICE NO. NO. 213 213<br />

Thuchdown Touchdown Football: 8fomwJions.<br />

8 formations.<br />

READER READER SERVICE SERVICE NO. NO. 2/4 214<br />

back and either guides him through<br />

the line on a rushing play or sets up<br />

for a pass to a previously designated<br />

receiver.<br />

A completed pass causes control<br />

of the onscreen athlete to immediately<br />

shift to the receiver. A pass catcher<br />

can try to dart downfield down field for extra<br />

yardage. yardage. On On defense, defense, meanwhile, meanwhile, the<br />

computer coach maintains joystick<br />

control over the middle linebacker linebacker<br />

IIITI.TAIIIMIIiT<br />

.onwa••••CT.ON<br />

.OPTWA.I.leTIOIl<br />

while the rest of the team moves according<br />

to the preprogrammed instructions.structions.<br />

. . Touchdown Touchdown Football presents its<br />

two six-man squads in in a realistic, realistic,<br />

three-quarters perspective with horizontal<br />

scrolling, visible officials,<br />

cheerleaders, and and a pigskin that casts<br />

a a shadow. There There are punts, punts, field<br />

goals, goals, and even interceptions as the<br />

two squads march up and down the<br />

gridiron in this head-to-head or oneplayer<br />

action contest.<br />

Unfortunately, this excellent program<br />

by by Mark D. Klien, Klien, Michael<br />

Becker, and Wlifredo Wilfredo Aguilar was<br />

originally designed to be be played on<br />

the 128K ffiM reM PC and PCjr systems, systems,<br />

and the the translation to to the the <strong>Commodore</strong><br />

<strong>Commodore</strong><br />

64 causes several problems. For one<br />

thing, the play entry system was created<br />

fur for use with a tw()-button two-button joystick. joystick.<br />

In the original, one action action button<br />

brings up the options and the other<br />

enters commands. Once the play bebegins to unfold on the field, field, the dual<br />

fire buttons allow the quarterback to<br />

throw to either the upper or lower<br />

wide receiver. receiver. While the lack of a<br />

second action button does not cripple<br />

the game, it significantly complicates<br />

the command control scheme. scheme.<br />

Another noticeable flaw flaw is that the<br />

graphics are not as sharp as one<br />

might expect in a game as sophisticated<br />

as Touchdown Football. Football., - The<br />

gamer must be be able to follow the individual<br />

players as the lines collide,<br />

but this is often next to impossible<br />

due to the muddy muddy animation. animation.<br />

Touchdown Football, even with<br />

these minuses, minuses, is still still the best action action<br />

football simulation around. The extensive<br />

choice of offensive and defensive<br />

plays and faultless joystick re-<br />

AHOYt AHOYI 47 41


CoMPUSERVE.<br />

You DON'T HAVE HAVE 1b 1b KNow How IT WORKS<br />

1b APPRECIATE ALL IT CAN Do.<br />

You don't have to know about hardware.<br />

You don't have have to know about about<br />

software. All All you have have to know is that<br />

CompuServe CompuServe is a acomputer computer information<br />

service. service. You<br />

subscribe to it. it.<br />

And in<br />

return,<br />

you have -,-, _·_If.<br />

access to an incredible<br />

amount amount of information, entertainment,<br />

communications and and services services right at<br />

your fingertips.<br />

Here are a few of the<br />

hundreds of things you can can<br />

do do with CompuServe.<br />

CompuServe.<br />

COMMUNICATE<br />

COMMUNICATE<br />

Even beginners can compose, edit,<br />

send send and and file messages messages the first time<br />

they they go go online with with CompuServe's<br />

CompuServe's<br />

EasyPlex,. EasyPlex ,. Electronic Electronic Mail. Mail. Friends, Friends,<br />

relatives relatives and and business associatesassociatesanywhere<br />

in in the country-can stay stay in in<br />

constant, convenient convenient touch.<br />

CB CB Simulator Simulator features 72 channels<br />

for "talking" 'talking" with with thousands of other<br />

subscribers throughout throughout the country country<br />

and and Canada. Canada. The chatter is frequently<br />

hilarious, hilarious, the "handles" unforgettable<br />

and and the friendships hard hard and and fast. fast.<br />

More than than 100 100 CompuServe Forums<br />

welcome your your participation in in discusdiscussions on all sorts of of topics. topics. There are<br />

Forums for gourmet cooks, cooks, gollers, golfers,<br />

musicians, pilots, sailors and and more, more, all<br />

designed to show you how easy easy and and fun fun<br />

it it can be to get the most out out of your your<br />

computer.<br />

II If you want to learn learn more about about your<br />

computer system, CompuServe's at<br />

your service. service. Our Our Users Users Forums Forums cater<br />

to specific computer makes makes and and models,<br />

and and offer inlormation information and expertise experti se<br />

on many different different types types of machines. machines.<br />

You'll You'll find find electronic electronic editions of popular<br />

computer periodicals. You can even<br />

find free software.<br />

And if if you you need need answers answers to software<br />

questions, seek out out aSoftware a Software<br />

Forum. Forum. You can often find find solutions solutions<br />

quickly and and easily online. online.<br />

Bulletin Bulletin Boards let you post<br />

messages messages where thousands will will<br />

• see see them. Use our our National<br />

Bulletin Bulletin Board Board or the special­<br />

•• • • ized bulletin boards found<br />

in in almost<br />

• every<br />

' -:<br />

'... Forum.<br />

HAVE FUN<br />

You'll find •<br />

.... "" all sorts of sports and<br />

entertainment trivia .. •<br />

•• games, plus brain-teasing<br />

educational games. games. You can ••<br />

go go it it alone or compete against •<br />

players Irom from all over the country. country. Test. Test .<br />

your wits in in the only online lV-style<br />

game show with with real prizes. prizes. Then,<br />

when you're ready, ready, go go for the ullimate ultimate<br />

in in excitement excitement and and get into one of our our<br />

interactive interactive space space adventures. adventures. •• • •<br />

CompuServe's CompuServe's movie movie reviews reviews keep<br />

that big night night at the movies movies from being<br />

afive-star a five-star mistake. Soap Soap opera opera ••<br />

updates updates keep keep you up up on all the latest<br />

turmoils turmoil and and tragedies tragedies on your favorite<br />

daytime dramas. dramas.<br />

For leisure-time reading and and relaxrelaxing, look into the electronic editions editions of<br />

some of your favorite magazines,<br />

including OMNI OMNI On-Une. On-Une.<br />

SHOP SHOP<br />

CompuServe's CompuServe's ELECTRONIC ELECTRONIC MALL'" MALL'·<br />

lets you you take acoast-to-coast a coast-to-coast shopping shopping<br />

spree spree without without ever leaving home. home. It's an<br />

exciting and and easy easy way to shop online, online,<br />

buying name-brand name-brand goods and and services services<br />

from from nationally known known merchants. merchants.<br />

SAVE SAVE ON ON TRIPS TRIPS<br />

CompuServe's Compu Serve's travel services services let you<br />

control your own own travel arrangements<br />

through the convenience convenience of your personal<br />

computer. Scan night flight availavailabilitiesabilities on almost any airline<br />

worldwide. Find airfare<br />

bargains, then<br />

book your<br />

own flight<br />

online.<br />

online.


64 AHOYI<br />

Reader Reader Service s.tYlce No. 272<br />

64 AHOYt<br />

Fulltone Fulltone dumps dumps may may be be further funher influinfluencedenced by the starus status ofthe of the NLQ NLQ mode.<br />

Finally, Finally, directories directories will will be automaautomaticallytically listed listed to the printer. printer. All you you<br />

need do do is issue the appropriate appropriate comcommand over over the the command channel channel or<br />

via via a a double double escape code sequence<br />

and send send the data to the interface via<br />

a file me with with secondary secondary address address one. one.<br />

"Now "Now that that sounds sounds great; great," we we hear<br />

you you exclaim, "hut "but you you have have obviously<br />

taken taken leave leave of of your your senses. The The<br />

screen screen dump dump sounds like like a a useful<br />

gimmick gimmick but but aien't aren't all interfaces interfaces supsupposed to send send text text files to the the printprinter?er? Besides, what's wha(s the big big deal deal about about<br />

listing a directory?"<br />

The real gimmick is that you don't<br />

have have to to send send the the data data directly directly to to the the<br />

interface. From the time the download<br />

command is issued, Device One<br />

patiently patiently listens listens for any any and and all serial<br />

bus fIle transfer activity between<br />

the the computer computer and the disk drive. drive. This<br />

could could be a LOAD LOAD or or SAVE SAVE operaoperation or even a VERIFY. Once a file<br />

transfer commences, Device One<br />

greedily greedily gobbles a copy copy of of every every<br />

passing byte till the file has completely<br />

gone by. Only then does processing<br />

begin. begin. In In the case case of of a VERIFY,<br />

the the possibilities possibilities are awesome. Any Any of of<br />

the four file ftle formats may be passed<br />

on on to and processed processed by the interface interface<br />

without disturbing the the current current concontentstents of the computer's RAM!<br />

In the the case of of text text and and directories,<br />

printing will start start as soon as the file<br />

transfer is complete. Pictures are banhandIeddled differently. Printing Printing is delayed delayed<br />

till a series of lines are sent sent to the the ininterface. Ifthese If these are all blank, just just the<br />

picture picture will will be be printed. If If the the lines lines<br />

include include text, it will overlay overlay the image.age.<br />

This This effect effect works works well with with a<br />

halftone halftone dump dump as the the image image forms forms a<br />

background background to the text. It is even possible<br />

to offset offset the the image image margin margin and<br />

print text text and and a graphic graphic side by side.<br />

Downloaded images must be pure,<br />

8000 byte bit bit maps, stripped stripped of all all<br />

color color data. Flexidraw, Flexidraw, from from Inkwell Inkwell<br />

Systems, Systems, is is the the only only graphics graphics packpackage we know ofwhich of which normally normally saves saves<br />

images in this tltis format. All others<br />

combine their image image files, fIles, with the<br />

bit bit map's map's color color information, information, in varying<br />

ways. To get around this tltis problem,


@<br />

Disk Disk Catalog Catalog System System<br />

* tr Catalogs up to 640 Disk Directories Direaories<br />

1280 with with 2 drives<br />

* tr Indexes and Alphabetizes over 5000 Titles<br />

10.000 10,000 with with 2 drives drives<br />

* tr Unique Disk ID'S not necessary<br />

* tr Automatic Entry from Disk Direaory Directory with<br />

Manual Selection. Seleaion, Edit Edit and and Cross Cross Reference<br />

* tr Print - Alphabetized Index of all Titles. Titles,<br />

Directories Direaories by by disk. disk, Disk labels and and more more<br />

* tr Printer not required<br />

Search Function Funaion defaults to the Screen<br />

* tr Search - find any Title in to 10 seconds<br />

* tr Sorts 1000 Titles in 8 seconds<br />

* tr Runs on <strong>Commodore</strong> C-64 or C-128 C- I 28 with<br />

I 154 1541I Drive Drive I 2 154 1541I Drives Drives I Dual Dual Drives<br />

S29 S Z 9 9S 9 5<br />

(u.s.) (u.s.) Includes shipping shipping within USA USA<br />

• Includes Includes backup backup copy copy of of program program disk<br />

Add 54 S4 for COD Orders - 56 S6 for Shipping Outside of USA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!