Skip to main content

Full text of "Analog Computing Magazine Issue 15 (Inside the 600XL)"

See other formats


NM. 




THE SECRETS OF PERFECT MEMORY: 
ONE AND ONE HALF EARTH DOLLARS 



AT LAST: THE WHOLE 
TRUTH ABOUT FLOPPIES. 

Amazing book reveals 
all! 

How to keep from 
brainwashing your disk 
so it never loses it's 
memory. 

How fingerprints can 
actually damage disks. 
Unretouched Kirlian T 
photographs of UFO's 
(Unidentified Floppy 
Objects)! The incredible 
importance of making 
copies: the Department 
of Redundancy Depart- 
ment- and what goes on 
when it goes on! Power- 
ful secret methods that 
scientists claim can ac- 
tually prevent computer 
amnesia! All this, and 
much more . . . 

In short, it's an 80- - 
page plain-English, 
graphically stunning, 
pocket-sized definitive 
guide to the care and 
feeding of flexible disks. 

For The Book, ask your 
nearest computer store 
that sells Elephant'" 
disks, and bring along 
one and one half earth 
dollars. 

For the name of the 
store, ask us. 

Elephant Memory Systems"' 
Marketed exclusively by 
Dennison Computer Supplies, 
Inc., 55 Providence Highway, 
Norwood. MA 02062. Call 
toll free 1-800-343-8413. 
In Massachusetts, call 
collect (617) 769-8150. 
Telex 951 -624. 




t 



[ i L* j l< 



DOWN TO EARTH PRICE. 

Datasoft" has added a new dimension to computer game enjoyment. Each of Gentry's™ 12 software products 
are available at prices that are sure to take the gamble out of the game. From $14.95 to $19.95, each selection 
incorporates the same quality and payability of far more expensive software. See your nearest dealer and find out 
how Gentry really does give you more than you bargained for. 



BOSEN! 
BBIGA" 



ROSEN'S BRIGADF" 

Face an array of war planes and choppers that come at you in 
wave after wave. If you can face up to the 
rigors of battlefield action, you'll 
face a hero's welcome at 
home. Penetrate behind en- 
emy lines and rescue your ' 
crew. Not only must you fight 
off the steady onslaught of 
aircraft, but be crafty enough 
to pinpoint enemy tanks and 
i battleships below. Your missio" 
To beat the clock and sa"~ 
troops. 



MANIAC MINER™ 

Jumping, turning and hovering in mid-air are your only 
defenses as you dodge dangerous bats and spiders in search 
of valuable jewels and treasures. And if you're lucky, 
defying gravity will be your only chance at defying death. 
The Magic Pole suddenly appears and takes you deeper 
and deeper into the mine. The game play is 
magical, the sounds, maniacal. Maniac 
Miner will make you crazy 
for more. 




/ 



m 



ALIEN MUNCHIES 7 

This is the space 
age cookout that 
cooks with excite- 
ment. It takes qui 
decisions and fa 
footwork to catch t 
little morsels in th« 
becue grill. They are i 
right dangerous on the 
ground. But let the 
your supply of pro 
the tables are suddei 
Try Alien Munchies. It's tl 
protein diet craze, but b 



imBMLtMiM HUi 



t» 



fr*° 



W* 



ITR- 

rWAKI 



~>-r 



M^ 



ij ■ 




or* 





& 



HANDY DANDY™ 

A game of many levels with four 

completely different screens. 

As the fearless fix-it man, you 

find yourself busy at work in a 

multi-level boiler room. Wild 

rats, leaking hot steam, falling 

debris, pounding pile drivers 

and disappearing floors will 

earn you an honest day's 

work. Race to the top of 

each room before the 

clock runs out. But watch 

| out! As handy as you are 

with tools, you could find 

yourself in a real fix. You 

HH can't swim and the 

water level is rising. 



You'll Find The Best in Home Computer S 
Entertainment, Home Management, Graphics 

from 



Gentry, Rosen's Brigade, Maniac Miner, 
/Alien Munchies and Handy Dandy are all 
trademarks of Dalasoft, Inc. 

9421 Winnetka Avenue, Chatsworth, CA 91311 




Datasoft is a registered trademark of 
Datasoft, Inc. a 1983 Datasoft, Inc. 



(213) 701-5161 



■ 1 1 



WOULD YOU SHELL OUT 
$1000 TO MATCH WITS 
WITH THIS? 



Meet your match. Meet Infocom games: 
perhaps the best reason in software 
for owning a personal computer. 

In fact, people have been known to 
purchase computers and disk drives 
solely for the purpose of playing our 
games. And they haven't been disap- 
pointed. Because Infocom 's prose stim- 
ulates your imagination to a degree 
nothing else in software approaches. 
Instead of putting funny little creatures 
on your screen, we put you inside our 
stories. And we confront you with start- 
lingly realistic environments alive with 
situations, personalities, and logical 
puzzles the like of which you won't find 
elsewhere. The secret? We've found the 
way to plug our prose right into your 
imagination, and catapult you into a 
whole new dimension. 

If you think such an extraordinary 
experience is worth having, you're 
not alone. Everything we've ever 
written-ZORK* I, II, and III, 
deadline: STARCROSS™ 



SUSPENDED;" The WIT- 
NESS 1 /' PLANETFALU;' 
( ENCHANTER;" and INFIDEL- 
' has become an instant best- 
seller. For the simple reason that Infocom 
offers you something as rare and valu- 
able as anything in software— real 
entertainment. 

At last, you can fritter away your eve- 
nings playing a computer game without 
feeling like you're frittering away your 
computer investment. 

Step up to Infocom. All words. No 
pictures. The secret reaches of your 
mind are beckoning. A whole new 
dimension is in there waiting for you. 
(For more information on Infocom 
games contact: Infocom, Inc., P.O. 
Box 855, Garden City, NY 11530.) 

inFocont 

The next dimension. 

For your: Apple II, Atari, Commodore 64. CF/M 8;DEC Rainbow DEC RT-11 
IBM, MS-DOS 2.0. NEC AFC. NEC FC-8000. Osborne, Tl Professional 
TI 99/4A, TRS-80 Model I, TRS-80 Model III. 










From the creators of 
ger, H Scramble; Super Cobra; 
Tutankham and Time Pilot: . . 







>> 



iWilFESH 



POOYAN, the popular 
. arcade game from 
Konami, for home com- 
puters. Enjoy all the fun, 
action, colorful, high-res- 
sn graphics and arcade- 
play without all the 
rters. 
Quick reflexes and fast 
thinking will protect your help- 
less piglets in the forest valley 
from a pack of vicious, hungry 
wolves who travel up and 
down the valley clinging to 
balloons and throwing objects 



at you. 5hootyour 

arrows to burst thei 

balloons or throw cr 

of meat to get them 

but don't give up, because the 

wolves won't! 

POOYAIi is a super chal- 
lenge that will keep any expi 
rienced gamer glued to the 
screen. And Datasoft" will be 
making it available for Apple* 
Atari 400/800/1200, Radio 
Shack Color, Commodore 64 
and VIC 20 computer 
systems. 



-r*r if 



Datasoft Inc. 

HOMt '^^ COMPUTER SOFTWARE 

9421 Winnetka Avenue 

Chatsworth, California 91311 

(213)701-5161 



c 1983 Datasoft Inc. 
Datasoft ; is a registered trademark of Datasof 
POOYAh ' is a registered trademark of 
Konami Industries Company Ltd. 





Wargames 

Not the movie the real things! 

The Avalon Hill Game Company, America's premiere strategy game maker, 

has combined their years of experience designing military strategy board games 

with the latest in artificial intelligence for home computers. The resulting computer games 

are designed to assist you, the player, with combat results, lines of fire and double hidden movement 

in two player games and provide a worthy opponent in solitaire games. 



Strategic Level 





Paris in Danger: A simulation of Napoleon's 1914 campaign in 
France. One of Napoleon's finest, against the invading Allied Armies. 
(Austrian, Prussian and Russian). You can choose to take the role as 
Napoleon, Commander Schwarzenberg, or play both sides to re-create 
the actual campaign. PARIS IN DANGER is unique, in that it allows 
the players to compete on both the strategic and tactical levels, on a 
full-color scrolling map of France and surrounding countries. 

For all Atari Home Computers, 48K Disk: $35.00 



T.A.C.: Tactical Armor Command during World War II. You 
control individual tanks, anti-tank guns, and infantry squads. For one 
or two players featuring outstanding Hi-Resolution graphics, enhanced 
sound, and stimulating challenge. Five different scenarios are available 
from Meeting Engagement, Rear Guard, and Static Defense, to 
Breakout and Stalemate. The players control up to eight vehicles, guns 
and squads simultaneously, utilizing the equipment of either the 
German, British, Russian or American forces. 
Atari & Apple Disks (48K): $40.00 




Atari 4/800 (40K), TRS-80 (48K) 
cassettes: $30.00 

Apple II (48K) 

Atari Home Computers (48K) 
TRS-80 I/Ill (48K) 
diskettes: $35.00 



LEGIONNAIRE (by Chris Crawford): 

Consumer Electronics Showcase Award for Innovative Programming 

Wargame of the Year, VIDEO GAMES PLAYER Magazine 

Nominee for Wargame of the Year, Game Manufacturers' Association 

"On a scale of 1 to 100, this is a 95" SOFTLINE Magazine, March '83. 
"Legionnaire is a wonderful game that combines the graphics and move- 
ment of arcade games with the depth of strategy games" BYTE, March '83. 
"An entertaining, attractive game in which thinking is more important 
than fast reflexes" COMPUTE!, July, '83. 

For all Atari Home Computers, 16K Cassette: $35.00 
32K Diskette for Atari Home Computers: $40.00 
Apple II Computer Diskette (48K): $40.00 

"Trademarks of Warner Communications, Apple Computers Inc. and Tandy Corporation. 




CLOSE 
ASSAULT: 

Advanced wargame of tactical infantry combat. Russian, German, and 
American forces are represented in this WWII simulation which blends 
the allure of computerization with tabletop gaming. CLOSE ASSAULT 
permits original scenario development or pre-programmed ones. 
Features include double hidden movement, solitaire or two player 
option, morale factors, and most unique, a game system that actually 
lets you control squad level units in life-like situations. 



AVAILABLE AT LEADING 
COMPUTER GAME STORES 
EVERYWHERE 

or call Toil-Free: 1 (800) 638-9292 

for the name of the dealer near you. 
Ask for Operator A. 



Kin 

Still 



® 



microcomputer gomes 

A DIVISION OF 

The Avalon Hill Game Company 

4517 Harford Road • Baltimore, MD 21214 • (301) 254-5300 



NO. 15 



JANUARY 



THE MAGAZINE FOR ATARI* COMPUTER OWNERS 



PNFLOG 



COMPUTING 



FEATURE ARTICLES 

Transporting Programs to the 5200 Claus Bucholz 59 

Software Piracy: A Survey Allen Harberg 64 

Disk Users: Don't Let This Happen Jerry White 94 

Fine Scrolling Part III Kyle Peacock 104 

Index to ANALOG Computing Brian Moriarty 131 

PRODUCT REVIEWS 

Professional Business Graphics Tom Kelley 14 

Magic Storybook Tony Messina 28 

Rally Speedway Lee Pappas 28 

Star Trek Simulator Patrick J. Kelley 30 

Inside the New Atari 600XL Brian Moriarty 32 

Eagles Edward Bever 48 

PROGRAM LISTINGS 

BASIC Cassette Recovery Bob Fine 18 

Knights and Chalices Bruce Willard 74 

Music Synthesizer Ken Collier 83 

Alternative Keyboard Handler Steven Howard 96 

Bricklayer's Nightmare Gordon Robson 110 

COLUMNS 

Editorial Brian Moriarty 8 

Reader Comment 10 

Ask Sally Forth Sally Forth 20 

Griffin's Lair Braden Griffin, M.D. 24 

Our Game Joel Gluck 40 

BASIC Training Tom Hudson 50 

Boot Camp Tom Hudson 124 

D:CHECK2/C:CHECK 70 

Control Characters 71 

Index to Advertisers 1 39 




JF*5* 












w 




I 












1 




c- ■■ ■ ■■■ ^"—J 




MAKE TRACKS TO 
YOUR DEALER TODAY! 

ATARI 400/800/1200 CARTRIDGE 

053-0171 $49.95 

If your dealer doesn't have Rally Speedway in 
slock, phone 1-800-327-7172 with your order, or 
write us at Adventure International, P.O. Box 3435. 
Longwood, FL 32750 for your FREE catalog. 

DEALER ORDERS WELCOME 




f Ml*i 



ANALOG STAFF 

Editors/Publishers 

MICHAEL DESCHENES 
LEE H. PAPPAS 

Managing Editor 

JON A. BELL 

Technical Editor 

BRIAN MORIARTY 

Contributing Editors 

JOEL GLUCK 
BRADEN GRIFFIN, M.D. 
TONY MESSINA 

Art Director 

BOB DESI 

Contributing Artist 

LINDA RICE 



STATEMENT Of OWNERSHIP. MANAGEMENT AHO CIRCULATION 






AWLW, tWHJTlNC. 


-1'hNH-l 


| 1/LS/A3 


BI-nONTMLY US Of 1/V(I4 nOKTHLfJ 




■■~,""""" 


'"~zrs7zrz^z"rz'~^ -——— 


»>. . H « ulM «, Draa , l ,„ M »„ lw-lfl 




':(■■!■: i «.-. (N?™- '.,.', n.,,,. :.: ■-..■, v.,::,.. m fill. it 


l« fropil M>5 lain St dwn> valley (1* UJ.U 


Jon Hell 5LS flair, St thirrry V,.ll^¥ «* DM." 


W^^^^^^&f-^M^^^^^ 




















































rj ^.™.™«, OD ™« n S.ck.™^^-: „„-»«™„™,. J _..„^^.., 




,-,,,:,..,..,.,., 


:■'■;•:.::■ ■. , .:;- l .; 1 .,'.: ■';'■" 


■•■""-«— — — 


SMOl 


7DCDD 


" aaSSSaaKfi" —• 


-KM) 


SJmo 


•"'■"■■'■ 


mo 


laan 


,,=»«.=-„,..„,_„».._.„ 


sura 


bum 


jraRBSSKSftSSBKCSr- 




1,55 


• -—•—«• — «-• 


SW30 


UJ.55 


' '!2™~;F™ — — -— 


yi;i:i 


Etna 


' »—•«—•«■"•' 


IfflD 


uvs 


.... , 


MUK. 


TUDUQ 





ABOUT 

THE 
COVER 

This issue's cover shows the 
flagship of the new Atari com- 
puter line: the 600 XL. To 
produce this image, a slide of 
the 600 XL was composited 
onto a tinted circuit board 
pattern. Will the 600 XL start 
a new era of Atari computer 
products? How well does it 
stack up against the venerable 
400 and 800? See our review 
on page 32 and judge for your- 
elf. 



Technical Division 

CHARLES BACHAND 
TOM HUDSON 
KYLE PEACOCK 

Advertising Manager 

MICHAEL DESCHENES 

Distribution 

PATRICK J. KELLEY 

Typography 

HENDRICKX &. 
LARRIVEE Co., Inc. 

Production/Distribution 

LORELL PRESS, INC. 

Contributors 

EDWARD BEVER 
CLAUS BUCHOLZ 
KEN COLLIER 
BOB FINE 

AUSTIN FRANKLIN 
ALLEN HARBERG 
STEPHEN HOWARD 
TOM KELLEY 
ROBIN E. NO WELL 
GORDON ROBSON 
JERRY WHITE 
BRUCE WILLARD 



ANALOG Magazine 
Corp. is in no way 
affiliated with Atari. 
Atari is a trademark of 
Atari, Inc. 




ANALOG COMPUTING (ISSN 0744-9917) is published monthly for $28 per year 
by ANALOG Magazine Corp., 565 Main Street, Cherry Valley, MA 0161 1, Tel. (617) 
892-3488. Second-class postage paid at Worcester, MA and additional mailing offices. 
POSTMASTER: Send address changes to ANALOG COMPUTING, P. O. Box 615, 
Holmes, PA 19043. No portion of this magazine may be reproduced in any form 
without written permission of the publisher. Program listings should be provided in 
printed form. Articles should be furnished as typed copy in upper and lower case with 
double spacing. By submitting articles to ANALOG COMPUTING, authors 
acknowledge that such materials, upon acceptance for publication, become the exclu- 
sive property of ANALOG. If not accepted for publication, the articles and/or 
programs will remain the property of the author. If submissions are to be returned, 
please supply self-addressed, stamped envelope. U.S.A. Newstand distribution by 
Eastern News Distributors, Inc., Ill Eighth Ave., New York, NY 10011. 
Contents copyright © 1983 ANALOG Magazine Corp. 



PAGE 8 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



1 
I 1 






by Brian Moriarty 



You're holding the first monthly issue of ANA- 
LOG Computing. It's our way of saying thanks to 
the 80,000+ Atari users who have helped make our 
magazine one of the finest machine-specific journals 
in the industry. We're going to do everything we can 
to deserve your continued support. Want proof? 
This overview of Issue 15 will give you an idea of 
what to expect in the future: 

The 1983 Christmas season will be over by the 
time you read this, and final figures will be coming in 
on which home computers grabbed the biggest 
chunk of the market. The 600XL computer was 
Atari's do-or-die entry in the Santa Claus Sweep- 
stakes. Can the new XL Series (or what's left of it) 
revive Atari's sagging stance in the home computer 
market? Read our 600XL review on page 32 and 
decide for yourself. 

This month's Utilities Department features an ele- 
gant solution to an exasperating problem. Steve 
Howard's Alternative Keyboard Handler gets rid 
of DLI glitches, unwanted clicks and other nasties 
that have plagued Atari programmers for years. Cas- 
sette users will be kissing the feet of Bob Fine, whose 
BASIC Recovery Program can save hours of re- 
typing when your program recorder is on the blink. 

Tom Hudson fans will be happy to discover 
BASIC Training, a new companion for his already 
popular Boot Camp column. BASIC Training will 
help beginners get the most out of Atari BASIC while 
providing a useful refresher course for us old-timers 
who think we know everything. Sally Forth takes a 
quick squint at the FORTH systems available for the 
Atari, and the esteemed Dr. Griffin continues his 
monthly survey of educational software. 

Ever wonder why the 5200's Pacman looks vir- 
tually identical to the 400/800 version? Claus Bucholz 
got out a screwdriver and came up with an in-depth 
technical comparison of the two hardware systems. 
His superb article reveals much of what you need to 
know about Transporting Atari Computer Pro- 
grams To The 5200. 

No issue of ANALOG Computing would be 
complete without a couple of public-domain games. 
You'll find an entertaining and instructive example of 
character set animation in Bruce Willard's Knights 
And Chalices. It's an action-adventure with the 
professional touches that prove how much can be 



accomplished with Atari BASIC. Assembly hackers 
will want to study the source for Bricklayer's 
Nightmare, Gordon Robson's fast-moving arcade 
fantasy that takes up only about 2K of object code. 
Just think, you could fit four games like Nightmare 
into a single Super Breakout cartridge! Don't over- 
look Joel Gluck's Our Game column, either. His 
little "Bounce" demo is good for hours of fun and 
experimentation. 

We hope you enjoy our new monthly format. 
Don't hesitate to send in ideas, articles and programs 
— we need your input now more than ever before. In 
the meantime, keep an eye out for Issue 16, when 
we'll present some of the most advanced Atari gra- 
phics utilities ever published. □ 



ISSUE 14 CORRECTIONS 

A sincere apology to John Euker of Houston, 
Texas, co-author (with Bernard Ertl) of the game 
program Lumberjack. His name was accidentally 
omitted from the article's byline, although it did 
appear in the table of contents. 

A few of our readers reported difficulties with 
Lumberjack on the higher levels of play. Replacing 
line 1360 of the published BASIC listing with the 
following will eliminate this problem: 

1360 FISH=C1 : RAN=INT CC12*RND (C83 *C1J : 
N RAH GOTO 1480,1480,1480,1480,1498,14 
38 , 1490 , 1490 , 1580 , 1580, 1580, 1580 

Ron Bishop of Tulsa Regional Atari Computer 
Enthusiasts (TRACE) discovered an obscure prob- 
lem with mUse. If the BASIC code you're analyzing 
has a PRINT-comma statement in it, and you try to 
RUN the program after executing mUse, the system 
will lock up. The fix turns out to be very simple. 
Replace line 260 and add line 265 to the published 
BASIC listing as follows: 

260 RESTORE LINE: FOR 1=1 TO 24: READ BY 

TE:IF LINE=1210 AND BYTE=77 THEN BYTE= 

73 

265 PUT tt2,BYTE:NEKT I:READ CHECK 

The fix is even easier to implement if you're work- 
ing with the assembly version of mUse. Just adjust 
the BASIC warmstart entry address in line 250 to 

read: 

0250 HARM = $A049 

and the PRINT-comma glitch will disappear. □ 



Great Software • Great Service •JfreafPrices 




from Synapse 

Quasimodo 

32K Tape or Disk $23.88 

Soldiers pursue Quasimodo believing that he 
stole the jewels— but he didn't. As Ouasi's 
alter-ego, you must avoid the manhunt and 
grab the jewels to prove your innocence. 
All Synapse programs including Rainbow 
Walker, Dimension X and Blue Max available 
at similar savings. 

from Infocom 

Planetfall 

32K Disk $34.88 

Join the Patrol! Maybe your luck will change. 
Maybe you'll narrowly escape disaster or 
travel to an unknown corner ot the universe, 
where you'll save a doomed planet or die try- 
ing. There's danger and the famous Infocom 
wit and humor in this one. 
All Infocom releases including Infidel, En- 
chanter and The Witness in stock and 
available at similar savings. 




^HH 





W, 



from Datasoft 



Zaxxon 



16K Tape or Disk $25.88 

The long-awaited version of the 3-D arcade hit 

of 1983. A must-have program for the space 

gamer. 

All Datasoft programs, including Pooyan and 

Moon Shuttle in stock and available at similar 

savings. 

from Thorn- EMI 

Home 

Financial 

Management 

16K Tape $19.88 

Set up a budget and then see where you stand 
financially either in figures or through bar 
charts. This program should pay for itself 
All Thorn-EMI programs including Computer 
War, Jumbo Jet Pilot and Soccer in stock and 
available at similar savings. 

Prices good thru Jan. 31, 1983 




from Koala 

ffl Koala Pad 
Touch Tablet 

w/Micro Illustrator 

req. 48K Disk $69.88 

One of the only truly "new" products of 1983. 
The Koala Pad attaches to the joystick port 
enabling you to draw, play music or play 
games (depending on the Koala Software be- 
ing used) by using a stylus, or your finger, on 
the pad. Comes with the Micro Illustrator, an 
incredible disk-based drawing program. You 
can save the masterpieces you create to disk. 

from SSI 

Eagles 

48K Disk $27.88 

Fly yesterday's planes today. Fulfill your 
dream of being a WWI flying ace. Fly thru 
balloon-busting missions, one-on-one 
dogfights, and melees involving up to 20 
planes. Play with a friend or against the com- 
puter. The skies await you! 
All SSI programs including Combat Leader 
and Battle for Normandy in stock and 
available at similar savings. 

from Big Five 

Miner 2049er 

ROM Cart. $34.88 

Rated the top arcade game cartridge of 1983 
by the staff of this magazine and by the staff 
at Software Plus. Ask us why we think it's so 
great— but be prepared for a long answer! 

from Sirius 

Bandits 

48K Disk $22.88 

Bouncing nerve gas balloons, energy shields, 
space bandits attempting to steal your sup- 
plies — they're all on the screen in one of the 
best space arcade games yet. 
All Sirius Software including Capture the Flag 
and Way Out in stock and available at similar 
savings. 




&-5SJ 




1%\ 




': : 



from Broderbund 

Arcade 
Machine 

48K Disk $39.88 

This program contains several sample arcade 
games, which are fun by themselves, but, 
more importantly, it is a utility that lets you 
develop and play your own arcade games 
without requiring experience as a machine 
language programmer. 
All Broderbund Software including Lode Run- 
ner, Choplifter and Bank Street Writer in stock 
and available at similar savings. 

■!«?jxs& from Parker Brothers 

Frogger 

ROM Cart. $27.88 

The official Atari cartridge version of the 

smash coin-op hit. Excellent graphics and 

game play. 

All Parker Brothers programs including 

O'bert and Popeye also available at similar 

savings. 

from Sierra On- Line 



0t 






Ultima II 



48K Disk $39.88 



After a long wait, fantasy role-playing game 
fans have a top-notch Atari program of their 
own. Disk comes with cloth map of the fan- 
tasy realm of Ultima and extensive rules. 
All Sierra Online programs including B.C.'s 
Quest for Tires, Oil's Well and Homeword 
available at similar savings. 



from Lightning 

Mastertype 



32K Disk $25.88 



A breakthrough in interactive educational 
software. Learn to type as you battle wave 
after wave of invading words riding in hi-res 
spaceships! 17 pre-programmed lessons, 
plus others that you can create, guarantee 
continuous challenge and help you develop 
mastery of the Atari Keyboard. 




Call or write for FREE CATALOG 
(specify Atari) 



Mail order prices do not apply 
at our retail location. 





PAGE 10 



A.N.A.LO.G. COMPUTING 



ISSUE 15 




k\^«\ 



n k 



IT J I V ▼ i I 
".J L J I L J L 



I recently picked up my first 
copy of ANALOG Comput- 
ing Magazine. I was delighted and 
impressed, and have since sub- 
scribed. I wish you continued suc- 
cess with your fine publication. 

I read with interest Sheila Neece 
Spencer's article Sound Effector 
(Issue #12), as the Atari's sound 
potential was one reason in my 
choosing it. I enjoy the program, 
but would respectfully submit a 
few minor enhancements. In order 
to achieve a gradual decay, the 
volume loop must step down with 
a negative number (e.g., vol=15 
to step -.5). By changing lines 
230 thru 280 as shown, Sound 
Effector can accommodate this 
effect. 

238 IF PL3 AND DL3=8 AND V 

L3=8 THEN 338 

246 IF DL3 AND PL3=8 AND U 

L3=8 THEN 388 

250 IF VL3 AND PL3=8 AND D 

L3=0 THEN 430 

268 IF PL3 AND DL3 AND UL3 

=8 THEN 588 

278 IF PL3 AND UL3 AND DL3 

=8 THEN 618 

288 IF DL3 AND UL3 AND PL3 

=8 THEN 728 

Also, lines 540, 650, 760, 880, 
940, 1000, 1060 and 1120 should 
all read: 
G85UB 12O0: GOTO 478 

And now for a suggestion: 
Why not make The ANALOG 
Compendium available on disk 
or tape? Looking forward to your 
next issue. 

David J. Kessel 

Asst. General Manager 

KAZM 

Sedona, AZ 

Thanks for the Sound Effector 

enhancement. A multi-disk edition of 
the Compendium is available; no 
cassette edition is planned. Look for 
details in the Compendium. 

— B.M. 



On Omnimon . . . 

It was with both relief and con- 
cern that I read Brian Moriarty's 
review of Electronic Arts' games 
and their ridiculous protection 
against our product, 
Omnimon!. It is obviously an 
asset to have Brian's endorsement 
as to the advantages of having 
Omnimon! installed in one's 
system. However, the reader is left 
with the impression that it is not 
possible to run these games in the 
same system with the monitor. 
Instructions are provided in the 
Omnimon! documentation for 
the addition of a simple toggle 
switch, which makes the monitor 
invisible and thus compatible with 
all software. 

But lest software publishers 
become too upset, let me point 
out that there are ways of making 
protection schemes less vulnera- 
ble to people using Omnimon! 
to break them. We have always 
given out this information freely 
to anyone taking the trouble to 
ask. 

1) Omnimon! uses the bot- 
tom of the stack as its terminal 
input buffer. Any code down there 
will get wiped out when one enters 
Omnimon! 

2) Omnimon! must use the 
top of memory for its graphics 
mode screen data. Any code up 
there will likewise get wiped out 
upon entry to the monitor. 

3) During execution of critical 
parts of the protection mechanism, 
the program could monitor the 
SELECT button to see if someone 
is fixing to interrupt the program 
with Omnimon!. The program 
would then have plenty of time to 
scramble itself before it was actu- 
ally interrupted. 



After public reaction to the 
outrageous protection scheme 
Zaxxon initially came out with, 
Datasoft has become much more 
discriminating and their products 
are now, as far as I know, compat- 
ible with everybody else. I hope 
Electronic Arts will now take the 
same course of action. By making 
the above information available 
by sending them an Omnimon! 
unit free of charge, I have done my 
best to cooperate. 

Sincerely, 

David Young 

CDY Consulting 

Richardson, TX 

Instructions for installing a disable 
switch were not provided in the origi- 
nal documentation for 
OMNIMON.', which I reviewed in 
Issue 12. Mr. Young assures me that 
the latest version of the product does 
include this information. His can- 
didness and responsible attitude 
towards the Atari community set an 
example which other software and 
hardware manufacturers would do 
well to emulate. 

—B.M. 



Software Piracy: 
The last word? 



As soon as I saw the letter in 
ANALOG Issue 13, I knew I 
had to write. I'd seen many letters 
like this one (variations on a theme, 
you might say), but this was the 
one that broke the programmer's 
back, if you'll pardon the mangled 
metaphor. What was in the letter 
that got me so steamed? Some 
quotes: 

" . . .most software is grossly over- 
priced, especially when you consider 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 11 



the price of media and documen- 
tation. ' ' 

"If software companies would re- 
duce . . .a $3 5 program to. . . the low 
twenties 1 think there would be less 
piracy." 

"It's harder to justify spending. . . 
money on a copying system if the price 
of legally buying the program is low. ' ' 

If I hear any more of this swill in 
defense of theft, I'm gonna puke. 
And make no mistake, pirating 
software is theft. But first, an 
introduction. I'm a games designer 
and programmer. I make my living 
by writing games. I don't do it in 
my spare time. I'm not a pro- 
grammer for IBM by day and a 
hacker by night. I sit at my desk, 
writing, programming, designing, 
sometimes 20 hours a day, in an 
effort to write the best and most 
fun games that I know how. And 
what's the result? "Gee, man, I 
just can't see paying $34.95 for 
your game, so I stole it. I mean, if 
it was $24.95 then I would've 
bought it, but that extra ten 
bucks. . ." Bull. This person would 
have stolen it, regardless of the 
price. Yes, I know that $34 or $40 
is quite a bit of money, but 
the "it's too expensive" line is just 
an excuse. In fact, all of the argu- 
ments quoted above are just 
excuses. And so that they can't be 
bandied about quite as easily any- 
more, I want to look at a few 
excuses, and the facts behind them. 

Excuse #1: The all-time champ. 
"It's too expensive. If it were just 
$25 (or $20, or $15, or...)." 
People look at the cost of disk 
(about $2), the cost of packaging 



:vr 



(add another $2), and voila! decide 
that it costs the company about 
four bucks to make a game. They 
then look at the $34.95 selling 
price, and in a lightning-quick 
burst of mathematical insight, con- 
clude that the manufacturer is get- 
ting around $31 profit. Well, I 
hate to break the news, gang, but 
that ain't how the real world works. 
First of all, the media and packag- 
ing costs are not the only expenses 
a software manufacturer has. 
They're not even the largest part 
of the cost. Here are some other 
items that your friendly neigh- 
borhood pirate hasn't been taking 
into account: 

Advertising. You think all those 
4-color super-graphic ads that you 
see every month in 15 different 
computer magazines are free? Let's 
not be absurd. 

Artwork. Let's see, the artist 
does all that artwork for nothing, 
right? 

Inventory, shipping, overhead. All 
of these are extremely unglamor- 
ous (and easily ignored) costs. 
The manufacturer has to have a 
place to put all these umpty-ump 
copies of Galactic Death and 
Mega- Ants. He also has to pay to 
have them shipped to distributors 
and stores, he has to pay insu- 
rance, salaries, building rental, and 
on and on. And all of these costs 
have to be made up by the sale of 
the games. Otherwise we've got 
one more belly-up video game 
company. 

(continued on next page) 



RAM-N-SMASH 



or 1 or 2 Simultaneous Players for ATARI Home 
^Computers Requires 16K, 2 Joysticks, Cassette, Basic Cartridge" 



ACCELERATED Computer Research 

P.O. Box 416 

Waimea, Hawaii 96796 

Call (808) 245-8914 



fc-kiz-k-k^A 



ATARI DOS2 
USERS 

NOW YOU CAN OWN A RAM 

RESIDENT DOS FOR YOUR 

ATARI COMPUTER 

ESHAJtCEIllENtg 10 DOS 



NO WAITING FO 
DOS AVAILABLE 
WITHOUT ERAS I 
EASILY REPAIR 
FILENAMES 
ALLOWS MORE V 
IN FILENAMES 
CAN SUPPORT U 
CONCURRENTLY 
WILL RESTORE 
DELETED BY AC 
16K MIN - 24K 



R MEM. SAVi 
INSTANTLY 

NG PROGRAM 
DUPLICATE 

ERSATILITY 

P TO SEVEN 
OPEN FILES 
MOST FILES 
CIDENT 
SUGGESTED 



INTRODUCTORY PRICE 



ONLY $10 



CASH. CHECK OH 
MONEY ORDER 
(add S1 .50 for COD.) 



SEND CHECK OR MONEY ORDER 
FOR $39.95 TO: 

FIRST BYTE 

P.O. BOX 3 Z 

RICES LANDING, PA 15 357 

OR PHONE 412-627-3596 
M0N - FRI 9 AM - 4 PM EST 
VISA-MASTERCARD ACCEPTED 
IN PA ADD $2.40 STATE TAX 
C.O.D. $2.00 ADDITIONAL 

ATARI -- T.M. ATARI. INC. 



COST EFFECTIVE SOFTWARE 

BY 
"The Best Little Software House In Texas" 

HOMEBASE by SOFT SECTRE is a 
versatile database program lor the home, small busi- 
ness or lab. In a 'USER FRIENDLY' MENU driven lormal 
HOMEBASE utilizes TWENTY COMMANDS: CREATE, 
ADD. LIST, CLIST. CHANGE. CONCATENATE. 
SEARCH, SUM, SORT, DELETE, LABELS, LOAD, 
PRINT. SAVE. DIRECTORY. HELP. DRIVE, AUDIO, 
LOWER CASE, END. An optional SECURITY CODE 
prevents unathonzed data tile retrieval and manipula- 
tion Optional AUDIO FEEDBACK signals the end ol a 
command response. The ATARI version uses a 
MACHINE LANGUAGE SORT! 
HOMEBASE is ideal lor: MAILING LISTS (we use it 
ourselves): household, insurance and equipment IN- 
VENTORIES: MAINTENANCE schedules, a PRESCRIP- 
TION list; relund COUPON and GROCERY lists. Ready- 
to-use data files lor these tasks are included. Why buy 
several programs? Purchase the ONE program that will 
handle all ol your database needs HOMEBASE by 
SOFT SECTRE will SAVE you TIME and MONEY 1 . 
SELECTRE by SOFT SECTRE is included in the disk 
based package at no additional charge (a $29.95 
value!). Disk DIRECTORIES and PROGRAMS are 
loaded with numeric key input allowing even the most 
inexperienced person to easily operate the computer 
ATARI OR PET DISK 32K $49.95 
PET TAPE 16K $49.95 

Add $2.00 lor shipping 

SOFT SECTRE 

P.O. BOX 1821. PLAN0, TX 75074 

Send for FREE catalog! VISA/MasterCard WELCOMED 



PAGE 12 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



Also, the manufacturer is not 
getting $34.95 for the game. Often, 
he's getting $25 or less. Your local 
software store then marks up the 
price (he's got rent to pay, too), 
and sells it to you. Make no mis- 
take, people are making money on 
video games. But they're not mak- 
ing the outrageous amounts that 
pirates would like you to believe. 

Excuse #2: "It doesn't hurt any- 
body." Well, I thought this one 
had long since been laid to rest, 
but it still manages to rear its ugly 
head every now and then. 1 can 
name you one person that piracy 
hurts very directly. Me. If you 
pirate my game instead of buying 
it, that's money out of my pocket. 
And if enough money disappears 
that way, I won't be in this busi- 
ness much longer. Because no 
matter how much I enjoy writing 
games, and I enjoy it very much, if 
I can't pay my rent and living 
expenses with game designing, then 
I'll have to pay them some other 
way. And there won't be too much 
incentive for me to release any 
designs that I do come up with. If 
your attitude is "Gimme," then 
why shouldn't mine be "Get lost?" 

Excuse #3: "The game isn't 
worth $34.95. The (game play/ 
graphics/design) are lousy." Fine. 
Feel free not to buy it. After all, 
nobody has a gun at your head, 
saying "Buy this game." And if 
the excuse is "Well, it isn't worth 
$34, but 1 still like it, " you have to 
make a decision. Either you like 
the game enough to pay 34 bucks 
for it, or you don't, in which case 
you don't get to play it at all. You 
can't have some in-between area, 
like "I like it 25 bucks worth." 
There are lots of games out there 
that are worth far MORE than 
their purchase price. Buy one of 
them. But as I said before, if you 
don't like a game enough to buy it, 
don't buy it. 

Excuse #4: "There's nothing 
wrong with making a copy of a 
game." This excuse has the dub- 
ious virtue of at least being honest 
about the situation. The person 
employing it sees nothing wrong 



with stealing someone else's work. 
There's only one problem with 
this excuse. It's dead wrong. There 
is everything wrong with stealing 
someone else's work. It is a mor- 
ally, ethically and socially inde- 
fensible position. We are not talk- 
ing about a life-threatening situation 
here. Nobody is going to die if we 
don't steal the game, and no one is 
going to be saved if we do. It is a 
little bit like asking Leonardo Da 
Vinci to paint a picture for us, and 
then telling him "Well, Leo, it 
isn't worth $34.95, but tell you 
what, I'm going to take it any- 
way." What about his time? What 
about mine? 

In the final analysis, this is the 
position. You, as a pirate, have no 
right to any particular game. I 
don't care what its price is, if you 
are not willing to pay it, you have 
no ground to stand on, none. Not 
legal. Not moral. Not ethical. You 
have no right to steal someone's 
efforts, and then rationalize that 
theft with vague (and, as we have 
seen, spurious) arguments about 
"excessive price" and "moral right." 
I don't know which of the argu- 
ments above you use, and frankly 
I don't care. Whichever one it is, I 
don't want to hear it. 

Piracy is not a monetary issue, 
nor a legal one. It is a moral issue. 
It is wrong to steal someone else's 
program, and until the pirates have 
the maturity to realize this and 
cease their piracy, manufacturers 
will have to spend ever-increasing 
amounts of money to protect their 
programs (doesn't sound like the 
price is coming down, does it?), 
magazines will continue to print 
letters like this, and the pirates 
will continue to whine about how 
abused they are. 

Alexander Leavens 
Fremont, CA 



Programmers — 

Our rapidly growing company is looking for 
software authors skilled in originating and 
developing products for home computers. 

Bram has a growing network of dealers, dis- 
tributors and advertisers. If you have a pro- 
gram that is not yet market quality we can 
offer technical support and expert marketing. 

As a free lance author you can work where 
you are and send your programs to us. 

We would like to work with you to help you 
develop your programs under the BRAM 
label. 



Direct all inquiries to: 



Beverly Martarella 
Director of Program Development 

BRnrn inc. 

18779 Kenlake Place NE 

Seattle, WA 98155 

(206) 486-8428 




Send letters to: 

Reader Comment 

P.O. Box 23 

Worcester, MA 01603 



EZ*EDIT 


6K Global Searcli/Replace EDITOR w/ 
real time HELP 


EZ'DBUGR 


5K Atari BASIC Stepping DEBUGCER. 
Display/Mod Variables & Subr. Stark 


EZ*XREF 


3K BASIC X-REFERENCE. Maps 
Variables & Line Refs to 

Statement Nos. 



EZ*D0CUM 13K DOCUMENT PREPAROR / PROC 49.95 

ESSOR. Disk/Cass. based, Multi-File Input, 
Rt-Jusiifs. Tibs. Margins. Top-End Page 
Processor & real time HELP 

EZ*TELC0M I3K Communicate: Multi-Bd. Rate, req. 850, 49.95 

Up/Down Load, Directory, Auto Dial/Answer 

EZ*BiLLR 10K BILLINC Statement. Mulii-Copy, 29.95 

Tax %, S/H, Balance, Advertisement line 

EZ*INV0IC I0K INVOICE Statement, Multiple Copy 29.95 

& Item Entry, Balance 

EZ*PR0PLN 10K PROJECT PLANNER. Evaluate & 49.95 

Report Time'Costs, User Defined 
Phases & Elements, Menu Driven 

EZ*HAMR 13K RADIO AMATEUR Code Translator, 34.95 

Splii-Screen, Clock, Vari-WPM. 
User Messages, Disk'Cass., w( 
Interface Schematic. 

EZ*P0RTST 5K Tests Porte Trigger, Stick. Pols A/B 29.95 

EZ*CRTST 2K Tests Screen functions with "barber 21.95 

pole" character display in steps or 
free -running 

Colorado residents add 6y 2 % tax. Add $3.00/1 tem for 

S/H of CASSETTE. 

Send Check or Money Order to: 

P.O. BOX 26013 Drawer A 
Lakewood, Co. 80226 



Start off on the right foot 

with an ATR8000 for your Atari. 

In the long run, it makes more sense. 





You're going to expand your Atari 
So why not do it right. 



® 



Your first step, purchase of an Atari 
400 or 800, was smart. Your next logi- 
cal step is to buy a SWP ATR8000™ 
interface unit. 

An ATR8000 gives you more capa- 
bility for less money. You can start 
small, but you can build big . . . from 
an outstanding home computer to 
a powerful CP/M™ machine. And 
prices for the ATR8000 start at only 
$349.95. 

I Yes ... I'd like to know more about 

SWP's ATR8000 and CO-POWER-88 

for my Atari 400/800 computer. 

Please rush me free literature. 

Send lo: 

SWP Microcomputer Products, Inc 

2500 E. Randol Mill Rd. - 125 

Arlington, Texas 76011 

s 200 



street address 



city 



state 
MAIL TODAY! 



zip 



2500 E. Randol Mill Rd 
Arlington, Texas 76011 
817/469-1181 



MAIL TODAY! 
DEALER INQUIRIES INVITED. 

SUB 

imcuDCDMPUTEn pimniicisi 

We used to be Software Publishers, Inc. 

ATR8000 and CO-POWER-88 are trademarks of SWP Micro- 
computer Products, Inc.; CP/M and CP/M-86 are trademarks 
o( Digital Research Corporation; MSDOS is a trademark of 
Microsoll Corporation; Z-80 is a trademark of Zilog 
Corporation; Atari 400, Atari 800 and Atari 810 are trade- 
marks of Atari, Inc. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE 
WITHOUT NOTICE. 



What you get first, in the amazingly adaptable ATR8000, is plug-together 
interfacing to all ordinary system devices: 

• To floppy disk drives — The ATR8000 lets you hook up from one to 
four low-cost add-on drives, 5" or 8", one- or two-sided, in any mix 

. . . and go right to work with either a single- or double-density DOS. 
(DOS is optional.) 

• To a printer — The ATR8000 parallel "Centronics-interface" is 
supported by a ROM driver program that you can access from 
Atari Basic. 

• To a modem, to a serial data terminal or to any other RS-232 
communicating device — The comprehensive users manual includes 
an Atari Basic serial printer driver. 

• To Atari peripherals such as the 810 Disk Drive. 

And of course the ATR8000 interfaces to the 400 or 800 computer itself. 
But system versatility is just the beginning; the ATR8000 also opens the door 
to another world of microcomputing. 

Atari : CP/M — A whole new world 
of personal computing 

Quite simply, CP/M is the dominant operating system of the 8-bit micro- 
world. Make the ATR8000 your first system expansion unit, and you can 
put the CP/M world in your own little jug. 

Since the ATR8000 is actually a self-contained Z-80 computer, a low-cost 
upgrade converts your Atari-ATR8000 system into a full-capability CP/M 
machine. Of course you can also start right off with a CP/M-ATR8000. In 
either case, you get CP/M program-development capability, plus access to 
an enormous base of proven application programs that just load and go. 
The CP/M upgrade, which includes 64 Kbytes of RAM, costs just $249.95. 

And it doesn't end there! 

You can further upgrade your CP/M-ATR8000 to 16-bit microprocessing 
power ... to CP/M-86 or MSDOS operation. Moreover, with SWP's 
CO-POWER-88'" upgrade, you not only retain your 8-bit processing 
capability, but you also can use CO-POWER-88 RAM — up to 256 Kbytes 
— as fast, simulated disk storage for CP/M operation. 

Like the ATR8000, CO-POWER-88 comes with comprehensive documen- 
tation. Prices begin at $749.95 with 128 Kbytes of RAM and CP/M-86 
operating system. 



PAGE 14 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



PROFESSIONAL 

BUSINESS GRAPHICS 
FOR THE ATARI - 

AT LAST! 



by Tom Kelley 



B/GRAPH 

by Michael Reichman and Robert Wilson 

INHOME SOFTWARE 

2485 Dunwin Drive, Unit 8 

Mississauga, Ontario 

Canada L5L 1T1 

48K BASIC and machine language 

Two disks and manual, $99.00 



"These numbers are just fine, and you've done a 
good job, Tom, but a few graphs could really 
sharpen the picture." 

Those comments were true, but I sure could 
have done without them. I grumbled at the Atari 
800 sitting near my desk as I walked into my office. 
I thought to myself: If it had a rear end, I'd kick it. 

My Atari 800 was purchased with enthusiasm 
when only a few micros were available in the winter 
of 1980. The only real competitor close in price at 
the time was the Apple II, and the design of the 800 
was clearly 'second generation' by comparison. 
Little did I know that business-oriented software 
writers would flock to the Apple II and ignore the 
Atari 800. 

Even so, I still use Visicalc, Text Wizard and 
Filemanager+ and, except for limited spreadsheet 
size, I can manage project planning, sales analy- 
sis, sales and promotion tracking, and field com- 
munications just fine. I've just never been able to 
make good graphs. 

Sure, I've tried Atari's Graph It, but quite frankly, 
it's pathetic; and even with a screen dump routine for 
my Epson printer, it can only do fair graphs at best. 
No custom labels, and forget about altering data, or 
going from a line graph to a bar chart. 

What a paradox! A great graphics machine, com- 
petitive with $4000 business micros, and no decent 
graphing software! If I sound disillusioned, I am. But 
let me get off my soapbox. 



Enter B/Graph, a professional graphics- 
charting and statistical analysis program. Is it the 
answer? Read on and find out. 

Hardware requirements. 

The first menu of B/Graph is unique among 
Atari software. It asks you to define your printer, 
and then loads the appropriate "printer driver" into 
your machine. It's nice to see a software company 
acknowledge that computer purchasers don't always 
buy the same printer. In fact, you don't need any 
special boards, chips or other fancy accessories to 
run B/Graph. You will need a 48K Atari computer, 
a disk drive, Atari BASIC, and an 850 Interface (if 
you want hard copy). 

Here's a partial list of printer manufacturers that 
B/Graph supports: 

Centronics 

Epson with Graftrax 

C.Itoh 

N.E.C. 

Seikosha AT/100 

Okidata 92 

Gemini 
Prowriter 
Once you've selected the appropriate printer, then 
you move to the main B/Graph menu. B/Graph is 
actually 9 different programs. Together, they allow 
you to format the data in the most meaningful visual 
format. If you have straightforward data, you will be 
using Graphing, Pie Charts, and the Graph Imaging/- 
Labeling programs the most. These are the graphics 
generating programs. 

Is it easy to use? 

I was using the graphing module to make graphs 
within 10 minutes of receiving the package in the 
mail, and I'm no computer wiz or hacker. Just a user. 

The graphing modules (both graphing and pie 
chart) are outstanding. The sample graphs in Figure 
1 were generated on my system and printed with my 
Epson MX printer. B/Graph uses a unique 
combination of single key commands plus menus* to 
manipulate the graphs. This format allows for detail, 
yet it's fast. The functions are in English, and logical. 
For example, should you forget a command while 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 15 



the graph is on screen, pushing OPTION returns you 
to the prompting menu, but don't worry, pushing 
"R" instantly re-displays your graph. B/Graph 
uses the Atari's highest resolution mode to draw 
with. By using artifacting, color is sharp and clear, 
and the graphs have excellent detail on color TVs as 
well as monitors. 

Once you've plunked in some basic data called 
"factors," you can begin drawing graphs. And what 
graphs! Your choices include: line graphs, point 
graphs, bars (in 3D), segmented bar (with bars 
stacked), and market (either tic or connected) for 
stock charting. I will assume the reader has some 
knowledge of graphs, and if you don't, the 
B/Graph manual contains an excellent tutorial on 
common types of graphs. 

Graphing features. 

Here's the real power of B/Graph: Any graph can 
be changed almost as fast as you can type. If your 
data isn't meaningful as a point graph, press s (for 
switch) and choose a bar, and B/Graph will draw 
you a new bar chart with the same data. You can 
change your mind as often as you like, or draw your 
graph several different ways and then decide which is 
the most effective graph. To change actual data is just 
as easy as using the standard Atari editing features. 
You are allowed up to 3 factors for any particular 
graph. More than this tends to get messy anyway. 
Plus, you can have up to 100 data points for each 
factor. That large a data file would only be needed for 
a complex analysis, but it deomonstrates the 
author's dedication to making the program useful. 

Bar graphs are brilliantly displayed in 3-D until 
you reach a total of 21 columns or bars, at which 
time they automatically become two-dimensional. 
48 columns are the limit for bar charts. Segmented 
bar charts are simply bar charts with 2 or 3 factors, 
stacked on top of each other. The segmented bars 
will be 3-D up to 21 columns, and then switch to 
two-dimensional. 

B/Graph sets all the scaling automatically, 
including negative numbers. However, you can 
rescale to a scale of your own choosing any time. To 
enhance your graph you can FILL in under a line 
graph (or between factors), ATTACH points (point 
graph only), add or remove a GRID, add 
BORDERS, ALTER LABELS, CHANGE 
INTENSITY, CHANGE HUE, add or remove 
vertical GRIDS, or even OVERLAY a previously 
stored graph. If you need lots of labels you can use 
the Imaging/Labeling program to add countless 
variations to your basic graph. 

B/Graph contains one more important 
graphing/image processing capability in its 
IMAGING program. This module allows you to set 
up a simple slide show format, and instruct the 
computer to place your graphs on the screen in 
sequence. Each can be called up to the screen on your 



command. Imagine those board room presentations! 
While all this graphics power is exciting, 
B/Graph's power would be limited without its 
FILE MANIPULATION module. This function lets 
you format your data and perform algebraic 
functions on it, including simple statistics. One 
utility allows you to load and convert Visicalc files 
to B/Graph format. There is even a function to 
"browse" your data when you are done, which 
prevents you from jumping out of the manipulation 
module and back to the graphing module only to 
find that your data was not properly prepared. This 
can prevent lots of frustrating mistakes. 

Statistics. 

Graphing and fancy images are only half the story 
with B/Graph. The other half is statistics. While 
many of the functions are mathematically complex, 
their usefulness to a researcher or statistician is 
outstanding. You can perform regression analysis 
(often used in forecasting), CHI square tests, T tests, 
F tests, and most of the standard functions found in a 
college statistics text book. It is important to note 
that you don't have to have much knowledge of 
statistics to make good use from these B/Graph 
modules, because the manual provides excellent 
descriptions of their practical uses. 

File structure. 

B/Graph uses an edited version of Atari DOS 
2.0; the authors call it ' 'Mini-DOS. ' ' In case you built 
forget to format a data disk before starting, you can 
do it from within B/Graph. You can also perform 
other DOS functions like locking, unlocking or 
deleting a file. For some users, the best news could be 
that the standard DOS file format means you can 
access B/Graph files with your own programs. 

There is one more remarkable feature of 
B/Graph that I must salute. Finally, somebody 
built in a logical method of getting a disk directory 
when you really need it. That is, of course, when you 
are about to load or save a file or image. If you don't 
know which file to load or what to name a file when 
saving, simply leave the title entry box blank and just 
hit return! You will immediately be presented with a 
screen with all the titles available on the disk in your 
drive. B/Graph even tells you how much room is 
left on the disk. At this point you can continue your 
disk load or save, or even hit escape to return to a 
main menu. How simple and logical! 

Inhome Software is providing support for 
B/Graph and has produced an excellent manual. It 
is written for the uninitiated user by an author that 
speaks English (as opposed to computerese), Ian 
Chadwick. It is an easy manual to understand. 
Inhome has even published a phone number for 
registered users who need help. 

With a call to Inhome, I discovered that they plan 
to release more software, and when extentions/im- 



PAGE 16 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



A C T Li A 1- S A •■- E S U IE ** '-> U "> 

B U S> G E T F O R E C ft S T 




u- 




ACTUAL 



5 A L. E -5. & Y R If* S> SJ C T 



w -:«■ F- a.... APND T> E 5 O L. fl> .X H «_ A S T 

6 MONTHS OF YEAR . 



J U H X T -3 



PERCENT 



h._. ».i *ri. **» B.jf Ii. il_. ■••■ 



ft ! FLUHHURL 2:3 - 24 

IS : FS-jaRMOB-E XX - 0"9 

C : ZEE3LE 13 . 34 

l> : MORES 30 . 13 

E : THR LISTER 13 . 49 

F S BYTES » » T'O 



B A S E «> (J M S A I E S 
!> A T A E O R E Y " Q 2 » 



F* R O D*1JC I 



Figure 1. 
Sample B/Graph printouts. 



provements become available for B/Graph, regis- 
tered owners will be notified and offered an upgrade 
for a nominal fee ($20). One of the first upgrades will 
include support for some of the new low-priced plot- 
ters about to hit the market. 

Will there be a B/ series? As of this writing, 
Inhome isn't talking, but I would not be surprised if 
they were encouraged to write a B/CALC, 
B/WORD, B/TERM or B/FILE. I can think of a 
dozen improvements I'd like to see with things like 
Visicalc, and a terminal or data base management 
program. I hope their software development 
direction will come in part from what their 
customers encourage them to try. 



Inhome Software's B/Graph is comparable to 
PFS:GRAPH and Visiplot, neither of which is 
available for the Atari. I've used Visiplot on my 
company's Apple II, but it is slow and awkward to 
use compared to B/Graph. While B/Graph is not 
quite as fancy or detailed as Chart/Draw on our 
multi-million dollar mainframe Hewlett Packard 
3000, it is more user-friendly by far! 

B/Graph is clearly the best package of Atari 
business software to appear since Visicalc. It's a 
little late in coming, but it represents an excellent 
value and sets a new standard of performance for 
products of this type. Now, excuse me while I start 
shopping for a color plotter. □ 



ATARI SOFTWARE FOR THE WHOLE FAMILY 



Here are four software 
packages designed for the 
different people in your 
family. 



A BASIC 
COMPILER 
FOR THE 
PRO- 



ABC (A BASIC 

Compiler) auto- 
matically trans- 
lates Atari BASIC 
programs into 
high-performance 
integer P-code that 
runs up to 12 times 
faster! 

Perfect for devel- 
oping system soft- 
ware and commer- 
cial games, ABC accepts 
most BASIC programs (unless 
floating point dependent) with little 
or no modification. Compiled P-code 
is a self-standing DOS object module 
that is unLISTabfe and runs without 
the BASIC cartridge. 

ABC aHows expressions in DIM, 
GOTO, GOSUB, and RESTORE state- 
ments, doesn't require you to re-order 
lines, and fully supports string and 
sub-string operations. 

Give your BASIC programs the 
look and "feel" of professional prod- 
ucts with ABC. 40K Disk $69.95. 
Manual alone $9.95 (credited toward 
compiler purchase). 

MAKEBOOT lets you create self- 
booting disk or cassette versions of 
your ABC compiled software. Re- 
duces overall prog/am load time and 
saves memory and disk space by 
eliminating DOS. 40K Disk $74.95. 




AN EDUCATIONAL TOY 
FOR PRE-SCHOOLERS 

Monarch is proud to present Sof Toy, 
an educational program smart 
enough to act simple. 

Bells ring, balls bounce, owls hoot 
as SofToy and its colorful interactive 
display gently introduce children (two 
years and older) to spatial relations, 
letters, numbers, even elementary 
programming! SofToy lets kids be- 
come familiar with computers, without 
arbitrary demands, competition, or 
intimidation. SofToy grows with chil- 
dren, too. At more difficult levels, the 
match game is a real challenge for 
the whole family. 24K Disk $29.95. 



TOOLS FOR THE 
SERIOUS USER 

Power Tools I combines 
four sophisticated text 
processing tools on one 
easy-to-use utility disk. 

DIFF shows you 
differences between 
two ATASCII text files: 
for example, changes 
you made in a pro- 
gram or document 
from one version to the 
next. 

Manually searching 
for a particular text file 
can take hours. But 
now, with SEARCH, 
you specify a search 
string and a list of files. 
SEARCH examines the 
files and points out which 
ones have that string. You'll 
never lose your Fudge 
Brownie recipe again! 
CHANGE is a powerful 
search and replace utility that 
operates on multiple files with 
one command. For example, you 
could change character names 
throughout your novel with a single 
command, even if each chapter is a 
separate file. 

The special pattern-matching and 
multiple disk capabilities of SEARCH 
and CHANGE are an added plus. 

TRANSLIT lets you swap one char- 
acter set for another (for example, 
upper case for lower case) throughout 
a file with one command. 

Power Tools I is ideal for professional 
business and software development 
text applications. 40K Disk $34.95. 

Look for these fine products at your nearest ATARI 
deafer, or order direct. Include $2.00 for shipping and 
handling in U.S./Canada. Checks or money or- 
ders accepted. MasterCardAfea add 3%. 
COD higher. MA residents add 5% tax. 
Dealer and distributor inquiries 
invited. ATARI is a trademark 
of Atari, Inc. ABC, Makeboot, 
Power Tools, and SofToy are 
trademarks of Monarch Data Systems, Inc. 




MONARCH DATA SYSTEMS 

MONARCH DATA SYSTEMS, INC., RQ Box 207, Cochituate, MA 01778 (617) 877-3457 Copyright © 1983 by Monarch Data Systems, Inc. 



PAGE 18 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



BASIC 

CASSETTE RECOVERY 
PROGRAM 



16K Cassette 



by Bob Fine 



So, you've just finished typing in your thousand 
line ULTIMATE PROGRAM, and decided to take a 
break. You save the program to cassette, and go. 
Later, in an attempt to impress your friends with the 
program, you are greeted with ERROR-148 or 
ERROR-133. Not only do you feel a bit foolish 
trying to explain where the program is, but angry that 
you have to type the whole thing over again. 

BASIC Recovery is a program that resides on 
page six, and will retrieve as much of your BASIC 
CSAVEd program as possible. Very often, the error 
occurs in the part of the program flagged as the final 
frame — which contains no data. This is the frame 
that tells the ATARI when to stop reading the tape. If 
there is an error in the final data frame, the entire 
program is erased and all of the BASIC pointers are 
reset. This program will help you recover most of 
your "lost" program as long as the first data frame is 
complete. 

There is an excellent discussion about the format 
of BASIC tokenized tape files in De Re Atari, so I will 
only briefly go into it. 

The most important information in a CSAVEd 
BASIC file is in the first data frame (a frame is the 
noisy part of the tape between the short silences). 
Each frame consists of two timing bytes, followed by 
one control byte, followed by 128 data bytes, and 
finally a checksum byte. The operating system takes 
care of the first three and the last byte. 

The first frame's first fourteen data bytes deal with 
seven BASIC pointers: LOMEM; VNTP, or Vari- 
able Name Table Pointer; VNTD, or Variable Name 
Table Dummy end pointer; VVTP, or Variable 
Value Table Pointer; STMTAB, the Statement Table; 
STMCUR, the Current Statement pointer; and 
lastly STARP, the String/ Array area Pointer. 

As you can gather from the names, these pointers 
are necessary for the running of a BASIC program. 



The BASIC Recovery Program opens the cas- 
sette, reads the above mentioned pointers, performs 
the necessary calculations and then proceeds to read 
as much of the file as it can, byte by byte. When it's 
done, it will tell you if the load was complete or in- 
complete, and wait for you to press a key. When you 
do, it jumps through the SYSTEM RESET vector, 
and you will have your program up to the error. It is 
just a matter of typing in the remainder of your pro- 
gram and resaving it. You can also load a CSAVEd 
program with no errors. 

In order to use the BASIC Recovery Program, 
type in the BASIC program provided, save it (since it 
removes itself from BASIC), and type 'A=USR 
(1536)'. Any time until you turn off the machine or 
modify page six, you can use this program. 

If you have any questions, please write to me at: 
Bob Fine, P. O. Box 76, Tomkins Cove, NY 10986. □ 



BASIC listing. 



i REM BASIC RECOVERY PROGRAM 

2 REM by BOB FINE May 5, 1983 

3 REM SAVE PRIOR TO USE 

4 REM CALL WITH t A=U5RC1536J 3 

5 REM Each line of data has 16 nunbers 
10 TRAP 10O-.RESTORE :I=0 

20 READ A:P0KE 1536+1, A : 1=1+1 : GOTO 20 

100 TRAP 40000 :HEW 

1000 DATA 104,165,128,133,0,165,129,13 

3,1,230,1,162,16,169,3,157 

1010 DATA 66,3,169,251,157,68,3,169,6, 

157,69,3,169,4,157,74 

102O DATA 3,169,128,157,75,3,32,86,228 

,48,75,160,0,140,255,6 

I030 DATA 32,207,6,48,65,72,32,207,6,4 

8,59,170,104,172,255,6 

1O40 DATA 24,101,128,153,128,0,200,138 

,101,129,153,128,8,200,192,14 

1O50 DATA 208,219,165,146,133,142,133, 

144,133,14,165,141,133,143,133,145 

1060 DATA 133,15,32,287,6,48,15,160,0, 

145,8,230,0,166,8,208 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 19 



1070 DATA 2,230,1,76,98,6,192,136,240, 

22,162,0,142,255,6,189 

1080 DATA 218,6,32,164,246,174,255,6,2 

32,224,11,208,239,76,163,6 

1090 DATA 162,0,142,255,6,189,229,6,32 

,164,246,174,255,6,232,224 

110O DATA 10,208,239,162,16,169,12,157 

,66,3,32,86,228,162,0,142 

1110 DATA 255,6,189,238,6,32,164,246,1 

74,255,6,232,224,14,208,239 

1120 DATA 174,252,2,224,255,240,249,16 

9,255,141,252,2,76,116,228,162 

1130 DATA 16,169,7,157,66,3,32,86,228, 

96,73,78,67,79,77,80 

1140 DATA 76,69,84,69,155,67,79,77,88, 

76,69,84,69,155,80,82 

1150 DATA 69,83,83,32,82,69,84,85,82,7 

8,155,67,58,155,0,0 



CHECKSUM DATA 

(see p. 70) 

1 DATA 409,435,115,334,512,276,813,663 

,824,245,366,301,91,472,32,5888 

1070 DATA 351,857,909,624,719,25,262,1 

75,101,4023 



ELect 




ELECTRONIC WRITE PROTECT OPTION 

for vour ATARI 810 disk drive 



• Eliminate CUTTING NOTCHES to use the reverse side of disks 

• Eliminate nuisance tabs forTEHPORARY WRITE PROTECT 

• Eliminate peeling GUMMY TABS to write on protected disks 

ALL at the flip of your ELECTRO NOTCH switch ! ! ! 

$31.95 ppd usa 

NORMAL OPERATION, WRITE PROTECT, or WRITE PROTECT OVERRIDE 

Front panel switch with LED indicators 

Plug-in installation; no soldering necessary 

Comes fully assembled with complete installation instructions 



St reet_ 
City 



Allow two weeks for personal cheat 
Atari is a trademark of Atari, Int. 



MASTERCARD H _ 

VISA I 

Exp . Date 

Signature 



f"^OMPU 

MA/, R£ 



1704 Princess St. 
Wilmington, NC 



Put a Monkey Wrench 
into your ATARI 800 

Cut your programming time trom hours to seconds, and 
have 18 direct mode commands. All at your fingertips 
and all made easy by the MONKEY WRENCH II. 
The MONKEY WRENCH II plugs easily into the right slot of 
your ATARI and works with the ATARI BASIC cartridge. 

Order your MONKEY WRENCH II today and enjoy the 
conveniences of these 18 modes: 

• Copy lines 

• Special line formats and 
page numbering 



• Line numbering 

• Renumbering basic line 
numbers 

• Deletion of line numbers 

• Variable and current 
value display 

• Up and down scrolling of 
basic programs 

• Location of every string 
occurrence 

• String exchange 

• Move lines 



• Disk directory display 

• Margins change 

• Memory test 

• Cursor exchange 

• Uppercase lock 

• Decimal conversion 

• Machine language 
monitor 

• Hex conversion 



The MONKEY WRENCH II also contains a machine 

language monitor with 1 6 commands that can be used 

to interact with the powerful features of the 6502 microprocessor 




PAGE 20 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



S^aA 




<^70#/As 



by Sally Forth 



My original plan for this month was to talk about 
the concept of modular programming, and what it 
means to you, the Atari FORTH programmer. But 
Joel Gluck's column Our Game (page 40) is coin- 
cidentally devoted to the same subject; and I've got 
lots of reader mail piling up in my hopper. So let's 
violate the "age before beauty" maxim just this once, 
and allow Joel to extoll the wonders of modular 
programming. Rest assured that everything he says 
applies in principle to FORTH as well as BASIC. 
Where's my letter opener? 

Please review different implementations of FORTH 
for the Atari. This would enable new FORTH users to 
select their version, and would let present users know what 
features are available in other variations (I have 
PNS-FORTH). 

Howard Brazee 
Lakewood, CO 

That's a tall order, Mr. Brazee. It turns out that 
there are no less than six commercial implementa- 
tions of FORTH available for the Atari, plus a 
number of "underground" systems available through 
various grapevines and user groups. The cruel editors 
won't give me enough space to review all of them in 
depth, so you'll have to contact the publishers at the 
addresses provided if you need more information. 




Extended fig-FORTH Rev. 2 

by Patrick Mullarky 

ATARI PROGRAM EXCHANGE 

P.O. Box 3705 

Santa Clara, California 95055 

16K Cassette/24K Disk $39.95 

Extension Packages Additional 

This is an unspectacular but usable version of 
standard 6502 fig-FORTH, modified for the Atari. It 
comes complete with a Ragsdale-type assembler, fig's 
clumsy Editor, a handful of debugging tools and a 
nice little set of operating system and floating point 
definitions. The graphics words provided with APX 
FORTH give you about as much picture-drawing 
power as Atari BASIC. Thankfully, APX also offers a 
couple of extension packages (fun-FORTH by Joel 
Gluck for $24.95; FORTH Turtle Graphics Plus 
by William Volk for $17.95) which make the basic 
system a lot more attractive as far as graphics are 
concerned. Another accessory package, FDOS by 
George Schwenk, allows APX FORTH users to 
access standard Atari DOS files ($39.95 from 
Superware, 2028 Kingshouse Road, Silver Spring, 
MD 20904). APX FORTH's 50-page reference 
manual assumes prior familiarity with FORTH; a 
copy of fig's Handy Reference Guide with printouts of 
all extension screens are thoughtfully included. 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 21 



QS FORTH 
by James Albanese 
QUALITY SOFTWARE 
6660 Reseda Blvd., Suite 105 
Reseda, California 91335 
24K Disk $79.95 

QS FORTH was the first FORTH system offered 
commercially for the Atari. Like APX FORTH, it 
offers limited graphics support and very few bells 
and whistles. An assembler and LOCATEing screen 
editor are included, but there are no provisions for 
floating-point math and minimal debugging facilities. 
The documentation for QS FORTH is better than 
average. It's a 160-page notebook, professionally 
printed and arranged like a mini-tutorial on FORTH, 
with many useful examples and a good description of 
the internal workings of the system. Too bad the only 
printed source listing is for the assembler. 

PNSfig-FORTH1.4 
by Robert Gonsalves 
PINK NOISE STUDIOS 
P.O. Box 785 

Crockett, California 94525 
32K Disk $90.00 

This FORTH (marketed chiefly by Mountain 
View Press) is crammed full of goodies for the Atari 
stacker, including a sophisticated player/missile 
graphics system that uses vertical blank interrupts 
(VBIs) to simulate multi-tasking. Ragsdale's assem- 
bler, a very usable screen editor (second only to val- 
FORTH's), a system glossary, complete source list- 
ings and a strange but serviceable string-handling 
vocabulary are also included. Surprisingly, there is 
no floating-point support. The photocopied refer- 
ence manual is impressively thick and comprehen- 
sive but very poorly packaged; where did they find a 
stapler mighty enough to handle one solid inch of 
paper? 

ECS/MVP-FORTH 

by Phil Koopman Jr. 

MOUNTAIN VIEW PRESS 

P.O. Box 4656 

Mountain View, California 94040 

32K Disk $100.00 

Extended Version $175.00 

Unlike most Atari FORTHs, which are based on 
the familiar fig-FORTH subset, Mountain View 
Press's official FORTH system implements the full 
FORTH-79 standard. It's also the only Atari- 
compatible FORTH that offers any potential for 
transportability: the MVP dialect is available on just 
about every micro you can name. The basic $ 100.00 
ECS/MVP system is competent and includes a reas- 
onable screen editor, but it lacks the special audio- 
visual features that make Atari folks sit up and take 
notice. $75.00 more will get you a package of inter- 



esting graphics and animation extensions, a "multi- 
tasking" sound vocabulary and an unlimited run- 
time license. Neither system supports floating-point. 
The scant reference manual assumes that you have 
access to the Haydon book All About FORTH (avail- 
able, like most important FORTH literature, from 
MVP). If Mountain View and ECS Software decide 
to support Atari MVP-FORTH as well as the IBM- 
PC and Apple II versions (with source listings, target 
compilers and other professional delights), MVP 
could become the FORTH of choice for serious 
Atari software authors. 

Extended FORTH 
ELCOMP PUBLISHING, Inc. 
53 Redrock Lane 
Pomona, California 91766 
32K Disk $39.95 

Aside from the usual editor and I/O access fea- 
tures, this fig-based system includes limited player/ 
missile graphics support, a couple of sound defini- 
tions and a few handy debugging words. If you need 
floating point math, purchase the optional Floating 
Point Package ($29.95). Elcomp also offers a be- 
ginner's mini-system called Learn-FORTH on ei- 
ther disk or cassette; its $19.95 price tag makes it one 
of the least expensive introductions to FORTH pro- 
gramming on the Atari. 

valFORTH 1.1 

by Steven Maguire and Evan Rosen 

VALPAR INTERNATIONAL 

3801 East 34th Street 

Tucson, Arizona 85713 

32K Disk $59.95 

Extension Packages Additional 

I've saved the best for last. valFORTH is the most 
complete FORTH implementation available for the 
Atari. It's a language system in the truest sense of the 
word: everything you need to develop, debug and 
sell finished FORTH applications is included. Val- 
par's basic $59.95 introductory package includes a 
choice of two screen editors (fig's and a slightly 
better custom version), a souped-up 6502 assembler, 
a good floating-point package plus operating system 
I/O and memory allocation words. Documentation 
and packaging are superb; they even supply dividers 
for the notebook and little labels for the dividers! 

Valpar's extension packages really make 
valFORTH sing. Must-haves include the Editor /U- 
tilities package ($49.95, containing Valpar's magnif- 
icent 1.1 Video Editor and a nifty string-handling 
system) and the Player /Missile Graphics package 
($49.95 ). Other interesting but less essential options 
include the Display Formatter (a custom display list 
generator, $39,95); valGraphics (high-speed turtles, 
$54.95); Text Compression/Formatting (an adventure- 
writing toolkit, $39.95); and valDOS ($59.95). 



PAGE 22 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



HERE COMES THE FUN! 
PLAY 

BEAT 

THE 

BEAJLES 



on 



Interactive^^Software 



48K Disk or Cassette $24.95 

Available Now. Order Direct From: 

Interactive Software 

P.O. Box 991 

Bala-Cynwyd, PA 19004 

For All ATARI Brand Computers 

© 1 983 Interactive Software. (2 1 5) 725-9756 

NOT AFFILIATED WITH ATARI. INC. 



COMSTAR AIR* SHIPPING WITHIN 2 DAYS 



AATARI 

MONARCH ABC COMPILER (D) 40K 57 

EASTERN HOUSE MAE ASSEMBLER (D) 85 

MONKEY WRENCH II (C) 52 

VALFORTH (D) 24K 45 

MICROBITS MODEM (MPP-1000C) (C) 129 

MICROBITS PRINTER INTERFACE [1 150) 83 

ASTRA 1620 DISK DRIVE call 

BANANA PRINTER (80 COLUMN) 199 

ALIEN GROUP VOICE BOX II (D) 40K 119 

48K RAM (INTEC) FOR 400 89 

64K RAM (INTEC) FOR 400 109 

TECHNICAL REFERENCE NOTES 25 

NEWPORT PR0STICK 23 

KOALA PAD 79 

STARB0WL FOOTBALL (D,T) 24K 21 

STAR LEAGUE BASEBALL (D,T) 32K 21 

DUST COVER (800. 400. 1010 OR 810) 7 

KID STUFF FANCY WRITER (D) 48K 29 

AL0G PAGEWRITER (D) 32K 34 

STRIP POKER (0) 40K 29 

BRIDGE 3.0 (D) 24K 20 

MINER 2049ER (C) 33 

CHOPUFTER (C) 32 



C = CARTRIDGE 



D - DISK 



T = CASSETTE 



' MOST ITEMS 



COM VAR |805 | g 6 4.4660 



5120 HOLUSTER AVE. 
SANTA BARBARA. CA 9311 



ORDERS ONLY: 800-558-8803 

or send check or money order. VISA. MC add 
3%. Shipping— $2 lor software (call for 
hardware). Calil add 6% tax. COD add $2.50. 



The power and accessibility of valFORTH have 
already established it as the de facto FORTH stand- 
ard of the Atari community. Until somthing better 
comes along, I'll continue to use it for all of the 
FORTH demos appearing in this column. 

The only underground FORTH system worth 
mentioning goes by a number of different names. 
"Free FORTH," "Sunnyvale FORTH" and "Team 
FORTH" all stand for the same public-domain 
package developed somewhere in the San Francisco 
Bay area by Steve Calfee, Harold Striepe, Peter Lip- 
son and Robin Ziegler (among others). The system 
consists of two disks: a system disk with bare-bones 
kernel and several utility screens, and a tutorial disk 
with all the utilities in compiled form. It's not the 
best documented or most advanced FORTH system 
in the world, but it's dandy for experimenting and 
the price is hard to beat. Where to find it? Your local 
user group library is the likeliest place. Failing that, 
check your local bulletin board system or computer 
store for leads. 

One of the main reasons I got an Atari was so that I 
could learn how to program games, and I don't doubt that 
this is true of many ANALOG readers. Although 
I've read that FORTH is good for writing game pro- 
grams, I have -jet to see any code in FORTH for an 
"arcade type" game. So here is a question for you: Where 
can 1 find an example of a FORTH game program, 
similar to those which appear in every issue of 
ANALOG in BASIC and machine language? 
How about treating ANALOG'S FORTH audience 
to a complete game, instead of just a few example screens 
and snatches of code? 

foe Rockey 
Highwood, IL 

Your hopes are shared by many of my readers, Joe. 
I certainly have no objection to publishing a game in 
FORTH, and neither do the editors of 
ANALOG as long as the source code is of 
reasonable length. If any of my readers would like to 
share their FORTH shoot-em-ups with the rest of us, 
send me the source screens (on disk, please) in care 
of ANALOG and I'll be happy to publish them 
with your name on the top. 

Old Sally's been working on a few game ideas of 
her own. Next month, I'll present a super-high-speed 
PLOT routine that will form the basis for a very am- 
bitious entertainment program. □ 



Sally welcomes your comments about the 
FORTH programming language, and will pub- 
lish her most interesting letters in future issues. 
Write to her c/o ANALOG Computing 
Magazine, P.O. Box 23, Worcester, MA 01603. 



IF YOU HAVE THE ATARI, 
WE HAVE THE PRINTERS 



$599. 

is the big feature of 



GP700AT 

Ful Color Printer 

COLOR 

our GP-700AT Atari direct-connect 
printer. It's fast, quiet and the bright 
colors will make any presentation 
come alive. We provide cable and 
screen dump programs to eliminate 
any installation problems. 850 inter- 
face is NOT required, even if you 
daisy-chain a disk drive or cassette 
recorder. You can print, plot and 
screen dump in 25 colors with 
Axiom's GP-700AT 

GP-550AT 

Dual Mode Printer - $399. 

QUALITY - is the keynote in our 
near letter quality mode with a 
density normally costing twice as 
much. You get friction, fully adjustable 
tractors, and even bottom feed for 
label printing. 850 interface is NOT 
required. We supply cable, manual 
and screen dump programs to get 
you off to a flying start. You can even 
daisy-chain a disk drive or cassette 



with the GP-100AT Atari direct- 
connect printer. 

GP-100AT 

Economical Printer - $299. 

COST — is small but features are 
many. You get graphics and adjust- 
able tractors. Uses full size standard 
fan-fold paper. Just take it home, plug 
it in and you'll be printing in minutes. 
The GP-I00AT Atari direct-connect 
printer comes with screen dump to 
provide spectacular graphics, and 
you can daisy-chain other periph- 
erals. Again, NO 850 interface is 
required. 

AT-WORDSTORE 
Printer Buffer - $299. 

EFFICIENCY - is what you get with 
our 32K printer buffer. Features in- 
clude pause and copy. WORDSTORE 
can be connected to Atari computers 
WITHOUT an 850 interface. Other 



peripherals can be daisy-chained. 
Accepts any Centronics-parallel 
input printer. Two year warranty. Best 
of all, WORDSTORE is priced well 
below other printer buffers. 

AT-846 

Expansion Interface — $99. 

SIMPLICITY - it's just like Atari's 850 
interface, but without the four funny 
serial ports. Great for interfacing any 
parallel printer to your Atari com- 
puter. Can daisy-chain other periph- 
erals, too. By the way, if you think up a 
name for this product, drop us a line. 
If we use it, we'll send you a color 
printer free. Contest ends 12-31-83. 

mm 



AXIOM CORPORATION 



1014 Griswold Avenue 
San Fernando, CA 91340 
) 365-9521 • TWX: 910-496-1746 



AT-846 
Expansion Interface 




GP-700AT 
Full Color Printer 




GP I00AT 
Economical Printer 




GP-550AT 
Dual Mode Printer 



ATWORDSTORE 
Printer Buffer 



^1 



.**3& 



GP-Series Printers 

Built for 

Lasting Quality 

by SEIKOSHA. 



PAGE 24 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



GRIFFIN'S 
LAIR 



EDUCATIONAL 

PROGRAMS 

REVIEW 



fr% 




,■,&:■ 




! 



by Braden E. Griffin, M.D. 

I must begin this issue's column with an apology. 
In the last issue, I implied that most of the educa- 
tional software available was being produced by peo- 
ple who were not primarily concerned with educa- 
tion, but had entered this arena solely for monetary 
reasons. Though this may be true for some, there is 
an abundance of excellent educational software for 
the Atari being produced by a variety of manu- 
acturers. 

The editors of ANALOG have provided me 
with such an enormous volume and assortment of 
programs that it has become a chore just deciding 
what to review. If I feel a product is not worthwhile, I 
will not waste your time or this space reviewing it. 
For some software companies, this may be a good 
news-bad news scenario. The bad news is "we think 
your product stinks." The good news is "we aren't 
going to tell everyone." If I do not review some 
current item, it is either because I do not think it is well 
done, or I have not had the time to get to it yet. Next 
issue, I hope to show you what some real heavy- 
hitters, like Random House and others, are doing in 
educational software. 

Before beginning the reviews, I would like to dis- 
cuss an area of concern to me. We have all noticed 
the recent barrage of advertisements pushing the 
educational aspects of home computers. Most of 
these carry the message that if your child is struggling 



in school you should buy him or her a computer. We 
are made to feel guilty about our child's failure. 
What better way to assuage our guilt than to spend 
money? 

Well, if a child is really having difficulty in school, 
the proper solution may be to spend more quality 
time with him or her. Many of the programs reviewed 
here may be of assistance to children, but they cer- 
tainly will not solve these problems alone, and we 
should not expect them to. The development of 
children through adolescence offers an example of 
how we must take care in responding to problems. 
Acceptance by the social group in which he or she 
lives is a very dominant and personal drive for the 
adolescent. When deprived of this acceptance, there 
is often withdrawal into a shell. 

A computer may act in a negative way, generating 
further isolation, a common, though mostly inaccu- 
rate, Hollywood characterization of teenage compu- 
ter enthusiasts. However, if a computer can enhance 
the adolescents's self image by promoting success, 
whether with educational programs or otherwise, it 
may result in a much less tramatic period both for 
parent and child. We are responsible for much of 
what our children learn and how they learn it. Educa- 
tional software is no exception. Now, off my soap- 
box and on to the reviews. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 25 



SAT PREPARATION SERIES 
KRELL SOFTWARE 
1320 Stony Brook Road 
Stony Brook, New York 11790 
48K Disk $299.95 

Every winter, thousands of students take the 
"College Boards" hoping to improve their chances 
of college acceptance. Because of varying standards 
of grading in secondary schools, and even different 
grading techniques among teachers within the same 
school, college admissions committees have begun 
to rely heavily on the SAT scores. With greater 
competition at the entry level to college, success on 
this test is very important. This set of forty-two 
programs on ten disks from Krell is available to assist 
in the preparation for this test. 

Of all the software I have reviewed, I feel the most 
comfortable in this arena. I have taken so many 
"Boards" (College, Medical entrance, National Medi- 
cal, Pediatric, Neonatal-Perinatal, and recertifica- 
tion) that studying for this particular kind of exam 
has become second nature to me. I must say at the 
start that this series takes much of the drudgery out 
of the process. 

The SAT is a test of general intellectual ability, not 
an achievement test. It is designed to measure verbal 
and mathematical abilities felt to be important for 
success in college. The scores in these two areas are 
used in the selection process by colleges. A measure 
of the ability to use standard written English is 
included in the test, but this is used for placement of 
students, not selection. There is also an additional 
part, either math or verbal, that is used for the writ- 
ing of future tests and is usually quite different. This 
series of programs encompasses all of the areas 
included in the SAT. 

Vocabulary. 

Eight programs with a thousand questions each 
provide more than ample practice here. The format 
is the same as in the real exam; e.g., one is asked 
which of the following words is most nearly opposite 
in meaning of inedible: A. educe; B. increase; C. 
prototype; D. hale; E. comestible. After typing in the 
response, the correct answer is given and one's score 
is recorded. Although I did not go through all eight 
thousand examples, those that I did were challenging 
and frequently required use of a dictionary, a proce- 
dure suggested by the authors to enhance the learn- 
ing process. 

Word relationships. 

Again, from one to one thousand questions in 
three programs test proficiency in this area. An 
example follows: 

1. Which pair of words most nearly bear the same 
relationship to each other as: 
fuel: gasoline 



A. treasomruler 

B. behavionpsychologist 

C. orthodoxy:heretic 

D. disease:smallpox 

E. insects:entomologist 

After entering one's answer, the correct one is 
displayed and the relationship is presented. In the 
above example, the answer is "D", and the relation- 
ship, set:subset. A wide variety of relationships from 
synonyms to different verb tenses are used. This is a 
very difficult type of question for many and practice 
here will be quite beneficial. 

Sentence completion. 

Here are two programs which seek to find the 
word or word pair best used in the sentence shown. 
Example: 

1 . Because it was the work was 

by the critics. 

A. vindictive — dismayed 

B. opulent — denounced 

C. implicit — decried 

D. enigmatic — rebuked 

E. reprehensible — bated 

Another difficult type for some people and, as in 
the previous section, this exercise lends itself well to 
computer assisted instruction. 

Reading comprehension. 

This set requires use of an accompanying booklet 
which contains fourteen reading selections. There 
are two programs, and the questions are presented in 
groups of fifteen each. Each question begins by refe- 
rencing the reading selection in the booklet. Then, 
one is asked to select one of five multiple choice 
answers to a question, such as: 

The author states or implies all of the following except: 

or, 
The author's views on this issue cannot be determined 
from the reading. 

In general, this type of question is not geared for 
the computer as the screen fills up quickly with the 
responses. It is a well done section, but skipping back 
and forth from booklet to screen is somewhat tire- 
some. 

Math. 

The mathematics portion of the SAT tests one's 
understanding of the following: 
Fractions 

Conversion of Units 
Ratio and Proportion 
Averages 

Interest and Percent 
Time and Work 
Rate, Time, and Distance 
Series 
Decimals 



PAGE 26 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



Algebra 

Geometry 

Graphs, Charts, and Tables 

No advanced knowledge in Algebra, Solid Geome- 
try, Trigonometry or Calculus is required. This 
group of fifteen programs provides sufficient mate- 
rial for review and practice. I was amazed at how 
much I had forgotten as I began to review this sec- 
tion. The format used was extremely helpful in re- 
acquiring atrophied skills. 

One thousand examples in each program encom- 
pass the mathematical concepts mentioned above. 
Use of paper and pencil to draw diagrams and per- 
form calculations, as with the actual test, is neces- 
sary. No extraneous materials are permitted while 
sitting for the SAT. This includes notes, slide rules 
(the sun dial of calculators) or calculators. This 
opportunity should be used to practice calculating 
without mechanical assistance. Time is a factor in the 
test and dependence on calulators must be elimi- 
nated. The questions are presented much in the same 
way as the others, with a notable exception. After 
being given the correct answer, one is given the 
option to see the solution. Unlike many other pre- 
paratory aids, where one must leaf through the back 
of the book for the answers and through another 
section for examples of solutions, the solution to the 
problem in question is presented immediately. The 
solutions are straightforward and clear. One is then 
given the opportunity to immediately select another 
problem of the same type. The same kind of problem 
can be repeated until its solution has been learned. 
After just a few examples in each area, I was back in 
stride with what used to be my best subject. I am 
quite sure that students will find this section of great 
assistance in reviewing and enhancing their mathem- 
atical abilities. 

Test of standard written English. 

As mentioned previously, this section is not 
included in the overall score, but is utilized for 
placement. A good performance here may avoid hav- 
ing to take "Bonehead English" or whatever it is 
called now. There are twelve programs offering the 
student the opportunity to practice the recognition 
of the following: 

Pronoun errors 

Verb tense or mood errors 

Diction errors 

Sentence fragments 

Dangling modifers 

Completeness and consistency errors 

Punctuation errors 

Parallelism errors 

The first six lessons each consist of fifteen senten- 
ces in which there are four underlined and lettered 
(A-D) parts. If there is an error of standard written 
English in any underlined part, the appropriate letter 



is entered. There is no more than one error per 
sentence, or the sentence may be entirely correct. 
After answering, the correct response is supplied 
with an explanation and the error cited. Using whom 
instead of who might elicit the following: 

The sentence should read " . . .who the man is." 

"Who" is a subjective complement and thus in the 
subjective case. 

***Pronoun Error*** 

In the second six programs, one is presented a long 
paragraph or series of paragraphs continuing the 
same story. One potential error at a time is presented 
and three words or phrases are offered as correct 
substitutes. The context of the story is quite impor- 
tant in these examples. Both parts of this section are 
well done and instructive. As may be obvious from 
my writing, I did well in math and not so well in 
standards of written English. This is a good review, 
whether you are taking the Boards or not. 



X, A MAN BUYS T DOZEN PENCILS FOR k 
DOLLARS PER DOZEN, AND SELLS THEM 
rOR Z CENTS EACH. 

ir HE SELLS A TOTAL OF R PENCILS, 

HHAT IS HIS TOTAL PROFIT, IN DOLLARS. 

A. RZ/-180-X 

B. RZ-KT 

C. J.2TZ/J.88 

D. TCZ-HJ/'lOO 

E. RZ/"100-KT 

FOR HO AN SHE R, PRESS 'F 1 
YOUR ANSWER?! 



Questions on Math. 



DOLLARS PER DOZEN, AND SELLS THEN 
FOR Z CENTS EACH. ntn 

IF HE SELLS A TOTAL OF R PENCILS, 

HHAT IS HIS TOTAL PROFIT, IN DOLLARS. 

PROFIT EQUALS REVENUE HINUS THE COSTS. 

REVENUE IN CENTS EQUALS R*Z . 

COST IN CENTS =1Q0*T*X . 

THEREFORE, PROFIT EQUALS RZ - 1O0TK 

lfEHT5 • 

12. P5I ftIN THE REQUIRED ANSHER IN 
DOLLARS, YOU HUST DIVIDE BY 100. 

THE CORRECT ANSHER IS S RZ/100-KT 

ANOTHER PROBLEM OF THIS TYPE?! 



Answers on Math. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 27 



Scoring. 

The questions are scored in similar fashion to the 
SAT. Four points are awarded for a correct answer, 
none for an unanswered question, and one point is 
deducted for an incorrect response. After each ques- 
tion, a display of the total score, correct answers, 
errors, and unanswered questions is shown. 

An additional feature may be used with the pro- 
grams in Math and Vocabulary. If this feature is 
selected, Learning Coefficients are generated based 
on previously demonstrated success and are saved to 
the disk. Subsequently, problems on which there has 
been difficulty will be repeated. Conversely, those 
areas where the student has demonstrated success 
will be encountered less frequently. 

Options. 

A number of options are said to be available for 
additional cost. It is not specified how to obtain 
these, what the cost, or if they are available for every 
computer. They include a Worksheet Generator, 
which may be used with a printer to create work- 
sheets, a Vocabulary Builder, and a Classroom 
Record Management System. Another seemingly 
useful option is the Diagnosis and Study Prescrip- 
tion which keeps track of the user's performance by 
skill types. 

Is it worth $300? 

This SAT preparation series is well done. The 
accompanying documentation includes sample work- 
sheets and the reading selections mentioned. It is 
easy to use, and requires no special instructions. I 
compared it to a number of the readily available 
workbooks filling the shelves of bookstores. Basi- 
cally, the same material is covered and, although the 
test format more closely resembles the books (it is on 
paper) it seems much easier to review using the 
computer. The quick response of the computer 
makes it much less tiresome and the immediate 
reward of a correct answer is encouraging. There is 
no doubt that much more material can be covered in 
a shorter period of time using this program than in 
any other way. Interestingly enough, a local TV sta- 
tion has just begun a series on preparation for the 
SAT. At the expense of missing a rerun of Gilligan's 
Island, I tuned in. Preparing for this test is more a 
matter of review than a new learning process, and an 
instructor slows the pace down. Attention spans 
shorten when an area is being covered that is known, 
and to suddenly kick it into gear when something 
new comes up is tough. The computer permits one to 
go at the pace desired. 

A Limited Warranty is provided which guarantees 
a gain in score of seventy points (combined verbal 
and math), or the purchase price will be refunded. 
Transcripts of previous tests, proof of purchase, a 
statement certifying that the materials were utilized 
for a minimum of six hours, residency in North 



America, and the return of all materials are among 
some of the conditions necessary to receive the 
refund. This is probably not too bold an offer, since 
studying any of the available aids would most likely 
achieve similar results. 

You may have noticed that I have been avoiding 
the question stated above. Is it worth the price? This 
is obviously an individual decision. This series of 
programs is of top quality and will certainly be of 
enormous assistance to anyone preparing for the 
SAT. It is easy to use and even makes the review 
process pleasurable. Spending this much money may 
ensure that the studying is done, just out of guilt. 
More importantly, if a high score is desired for 
admission to a particular school, or a higher score is 
sought after a mediocre performance, it may very 
well be worth the investment. Frequently, the stiffer 
the academic requirements, the higher the tuition. If 
one is willing to pay the higher tuition, the price of 
this package may be very reasonable. Krell Software 
has provided the Atari owner with a superb educa- 
tional tool. I hope other producers of educational 
software emulate these high standards. □ 




1984 
TAX PLANNER 

ATARI® 400/800/XL 

DON'T GUESS-TA-MATE! 

Now you can instantly know your exact tax situation 
and manipulate it throughout the year. 

The TAX PLANNER allows you to plan and update your 
tax position throughout the year. Do you want to know 
the exact tax impact of buying a home, selling stock, 
contributing to an IRA, buying rental property etc. . .? 
Can also be used to estimate quarterly tax payments. 

The TAX PLANNER includes these schedules and more 

Form 1040 



Schedule A - Itemized Deductions 
Schedule B - Interest & Dividends 
Schedule C - Business Income 
Schedule D • Capital Gains/Losses 
Schedule E - Supplemental Income 



Schedule Q - Income Averaging 
Schedule W - Married Deduction 
Form 2106 • Employee Expense 
Form 2119 ■ Sales of Residence 
Form 3906 ■ Moving Expense 
Form 4684 • Casualties & Thelts 



$39 



Sffi 



MICCA ENTERPRISES 

3611 Monument 
Round Rock, TX 78664 



Requires 48K and Disk Drive 

VjSA/MC/Check/Money Order 

Dealer Inquiries Welcome - Texas Residents add 5% Sales Tax 



PAGE 28 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



MAGIC STORYBOOK 
AMULET ENTERPRISES, Inc. 
P.O. Box 25612 
Garfield Heights, OH 44125 
16K Cassette $29.95 

by Tony Messina 



Programs which utilize the Atari computer along 
with the cassette drive to produce music and in- 
struction have been around for quite a while. Moon- 
base Io and the Atari language series are but a few 
examples. Magic Storybook, a new program from 
Amulet Enterprises, combines both recorded music 
and hi-res graphics to tell one of my favorite chil- 
dren's stories, "The Three Little Pigs." 

The program. 

Loading the program cassette was not a problem. 
The screen was soon filled with a Magic Storybook 
castle logo, and the program continued to load with 
music playing in the background. Finally, a voice 
announced the story and we were off. 

I admit that sitting through the computerized 
edition of this story seemed a bit strange, and I did 
get a few heads popping into my office with strange 
looks. I was impressed with it nonetheless. The 
scrolling screens, color, music and animation of the 
pigs and "Wasco the Wolf" were all done very 
nicely. I wasn't impressed to the point of sitting 
through another replay, however. 

It was at this point that I decided to call in the 
Newport Software Test Conglomerate. This includes 
my niece, her friends and the neighborhood kids. 
After they had sat through the program, they wanted 
to see it again. . .and still again. . .and again until I 
said "OK, I guess you really like this, huh?" A 
thundering "YES!!" was heard through the entire 
street. From the kids' point of view, the program was 
really great and, after all, Magic Storybook is aimed 
at the kids. Nevertheless, there were a couple of 
features that the kids themselves wished the program 
had. 

What the kids wanted. 

My niece wished that Wasco could be moved all 
around the screen. She wanted to play with Wasco to 
see if she could sneak him in the window, or around 
the back of the house. Her friends wanted to control 
the pigs to help them build their house. When asked 
if the story was too short, the majority of the kids 
said it was fine. 

What I wanted. 

The only major item that could be re-done would 
be to get a more enthusiastic narrator. Whoever 
narrated the soundtrack sounds like she was bored 
to death. As a matter of fact, the narrator got a D- 
from the kids when they answered the "How did you 
like the storyteller, A-F?" question. 



The verdict. 

Overall, this program rated very high with the 
kids, as evidenced by the fact that 1 couldn't drag 
them away from the computer. The program could 
use an upgrade in the narration department, but 
otherwise Magic Storybook is certainly worth- 
while and will keep your kids entertained until you 
can't stand it anymore! □ 



RALLY SPEEDWAY 
by John Anderson 
ADVENTURE INTERNATIONAL 
P.O. Box 3435 
Longwood, FL 32750 
16K Cartridge $49.95 



by Lee Pappas 



Rally Speedway is a one or two player, 16K 
cartridge where you have a birds-eye view of a small 
portion of a large scrolling screen. In the one player 
version, your race car remains in the center of the 
screen as you negotiate hairpin turns and scream 
down straightaways. Should you "miss" a turn you'll 
likely pile-up into a tree, building, or someone's 
swimming pool, with the poor driver frantically 
rolling on the ground to extinguish his flames. 

When the game first "boots up," you can select 
an option list allowing you to tailor the game to your 
own tastes and abilities. From here you select 
between a one or two player game, dry, wet, or icy 
roads, or speeds ranging from 40 to 100 MPH in 20 
MPH increments. The player can also choose slow, 




UUP Ml 



Rally Speedway. 

normal or fast acceleration, and real life or only in a 
computer jaunts. Only in a computer means your 



(continued on page 13 o) 




i UP oniooo top aatioo a up 



— jjp 



ATARI 400 



I 



m 



mt "J^ 4|g 



ATARI 800 



t * 





T 


j~ :'t Jf~ 


■<■ m JT 


\ 


■ * JT 








IARI 600XL 




TI99/4A 


Q03OEI 1UP 




, l)0 u 


.^^^^^^m. 


MB 


■*■ 









ATARI 2600 







COLECOVISION 



EVEKTONE 

HASTHEIROVVN SYSTEM FDR 

,FLAYE« POPEYE 

Atari.® Intellivision.® ColecoVisiori" T. I.™ Now you can play 
POPEYE, one of the most fun and challenging arcade games yet, 
) on any one of them. Run through three screens of non-stop action, 
f where you try to capture Olive Oyl's heart while avoiding untold 
dangers, including Brutus and the Sea Hag. 
Run down to your local store for Popeye today. 
And while you're there, check out TUTANKHAM,™ 
FR0GGER,'" Q*bert rM and SUPER COBRA,™ WMRKER 
also from Parker Brothers' Arcade Action Series. BROTHERS ^ 

ColecoVision isatrademark of Coleco Industries, Inc. ©1983 Parker Brothers, Beverly, MA01915. Intellivision isatrademark ofMattel, Inc. TexasInstruments99/4Aisa trademark ofTexas Instruments, Inc. Atari* Atari Video 
Computer System,™ Atari 400/800/600XL™ and Atari 5200™ Video Game System are trademarks of Atari, Inc. ©1983 King Features Syndicate, Inc. ©1983 Nintendo America, Inc. Popeye isa registered trademark of and is licensed by 
King Features Syndicate, Inc. 






PAGE 30 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



STAR TREK: STRATEGIC OPERATIONS 

SIMULATOR 

SEGA CONSUMER PRODUCTS 

5555 Melrose Avenue 

Los Angeles, California 90038 

16K Cartridge $39.95 

by Patrick J. Kelley 

It is the 23 rd Century. 

You are at the helm of the United Federation of 
Planets' Cruiser Enterprise, traveling through deep 
space. You have just received orders to dock with 
one of the Federation's starbases to be briefed on an 
upcoming mission. As you approach the station, it 
becomes obvious that something is very wrong. A 
score of Klingon Katinga-Class heavy cruisers has 
descended from warp space; the star base is under 
heavy bombardment. You must make a decision that 
could spell intergalactic war on one hand, or the 
death of hundreds of innocent persons aboard the 
station on the other. Grimly, you prepare yourself 
and your ship to do battle with the Klingon invaders. 

If this situation sounds like an outline for the next 
Star Trek film, you may be half right. Sega's new Star 
Trek: Strategic Operations Simulator takes 
many familiar elements from the Trek films and TV 
series and combines them into an arcade-style action 
game. 



save your beleaguered starbases. You also have 
the ability to use warp speed, a feature that allows 
you to outdistance your Klingon adversaries, or 
to speed to the defense of an overwhelmed 
starbase. 




Star Trek. 



The Operations Simulator puts you in the shoes 
of a cadet trainee at the Federation Academy's 
training school. You are in command of the 
Enterprise and all of its defensive weaponry. Using 
either the joystick or the keyboard, you must lead 
the Enterprise into the thick of battle, using photon 
torpedoes and phasers to combat the Klingons and 




Klingon ship. 

The display screen is divided into three parts. The 
lower third represents the Enterprise's bridge viewer. 
The upper right third is a bird's-eye scanner that 
shows your relationship with the Klingons, starbases 
and other nearby objects. The remaining third is a 
bar-graph display that indicates your remaining 
photon torpedoes, warp energy, and the power 
remaining in your deflector screens. This particular 
gauge is one to watch, because if your shields become 
depleted, a disruptor-torpedo from a Klingon 
cruiser will mash you and your ship to jelly. 

To be a seasoned Atari space-gamer, Star Trek may 
sound a lot like Star Raiders (a classic worth 
aspiring to). Purists will shake their heads and say 
"The first is always the best," and in this case I must 
agree with them. Although I am a big fan of Sega's 
Star Trek arcade game, this home version does not 
live up to the promise of its big brother. Game play is 
gratifyingly fast as you blast Klingons, dock with 
starbases, avoid asteroids and engage in a stellar 
dogfight with the killer space probe "Nomad." 
(Trek fans will recall that Nomad originally menaced 
menaced the Enterprise in "The Changeling" epi- 
sode.) But the home Simulator is much too easy to 
master. I was able to rack up well over 200,000 
points the second time I picked up my joystick. 
There is no multiplayer mode and only one skill 
level. 

This incarnation of Star Trek probably won't 
impress a hard-core Atari computer gamer. Its lack 
of challenge would soon relegate it to the "I'm Very 
Bored" pile of cartridges. As for myself, it will 
certainly be a long time before my next voyage on 
Sega's Starship Enterprise. □ 



ATARI 5200 



ATARI 400/800/600XL 





INTELLIVISION 



COMMODORE VIC 20 



ATARI 2600 



OOII1 





COMMODORE 64 



COLECOVISION 



HOW TO 

GET Q*BERT"OUT OF 
TORSYSTEM. 

If you've been wanting to play Q*bert, but haven't been able to find it available 
for your home system, your time has come. Because now you can keep Xi wnww 
things hopping with any of these popular home video and computer formats. 
Get going to your nearest video store and get Q*bert 
today. And while you're there, check out Parker 
Brothers' POPEYEf FROGGER,™ TUTANKHAM,™ 
and SUPER COBRA;" All the great Arcade Action WMRKER 
games, now in all the great home formats. BROTHERS 4 

ColecoVision is a trademark of Coleco Industries, Inc. © 1983 Parker Brothers, Beverly, MA 01915 . Intellivision is a trademark of Mattel, Inc. Commodore VIC 20 and Commodore 64 are trademarksot Commodore Business Machines 
Inc. Texas Instruments 99/4A is a trademark of Texas Instruments, Inc. Atari. • Atari Video Computer System, " Atari 40O,'80O/600XL" and Atari 5200™ Video Game System are trademarks of Alan, Inc. * 1983 Mylstar Electronics, Inc. 





PAGE 32 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



m m m m f In * * 



■ ■■m^^^^^^M^^ 




INSIDE THE ATARI 600XL 



by Brian Moriarty 

with Robin E. Nowell and Austin Franklin 



Autumn 1983 was a period the microcomputer 
industry would probably like to forget about. Os- 
borne went under. IBM's PCjr turned out to be the 
best computer of 1978. TI threw the market into a 
feeding frenzy by dumping thousands of obsolete 
99/4 As at $49 each. And Atari delighted the hostile 
press by reporting massive operating losses, selling 
400s and 800s at bargain-basement prices, putting 
the 1400, 1450 and 1600XL projects on "indefinite 
hold" and failing to keep up with Christmas orders 
for the 600 and 800XLs. 

As this article goes to press in late November, the 
800XL has yet to appear on the shelves of Massachu- 
setts retail outlets. The 600XL is available, but quan- 
tities are so limited that it's almost impossible to 
obtain. We did manage to snare a single unit at a 
nearby Toys-R-Us store. (Woe for the days when 
Ataris were sold at real computer stores, by people 
who knew what they were talking about.) We pulled 
the 600 out of its surprisingly small carton with a 
mixture of hope and fear. Would the new machine 
maintain the high engineering standards set by the 
400 and 800 systems? Or was it a rework of the 
ill-fated 1200XL, destined for a glass case in the 
Microcomputer Hall of Shame? The fate of Atari's 
home computer division (and yes, even of our maga- 
zine) could ultimately depend on the success of the 
new XL series. So we tore the beast to pieces and 
puzzled over its entrails. 



On the outside. 

The 600XL weighs about five pounds and mea- 
sures 6Vi x 15V2 x 2Vi inches, no bigger than an 800 
from the front edge to the back of the cartridge slots. 
It feels encouragingly substantial when you pick it 
up. The cosmetics are superb; beige and dark choco- 
late with brushed aluminum accents. The Commo- 
dore 64 and Tandy CoCo look like toys by compa- 



rison. 



The full-stroke keyboard consists of 57 plastic 
keys mounted on springs, which in turn depress a flat 
flexi-circuit membrane. The entire assembly is 
backed by a solid metal plate to make it feel solid as a 
rock. Atari wisely abandoned the clumsy layout of 
the 1200XL keyboard; users who are accustomed to 
a 400 or 800 will feel right at home on a 600XL. The 
height, positioning and overall "feel" of the 600XL 
keyboard are very, very good — almost comparable 
to the old 800 systems. Funny how Atari can sell a 
unit with such a nice keyboard for under $200 retail, 
while IBM's PCjr comes with rubber "chiclets" and 
costs over three times as much. 

The familiar RESET, OPTION, SELECT and 
START keys are located in a vertical column on the 
right edge of the console. There's also a HELP key 
which you can read by PEEKing location 732 
decimal ($2DC hex), and an LED power-on indica- 
tor. The RESET key is backed by an extra-hard 
spring to make it difficult to press by accident. If you 



':<:<: 



Of 




C»l t»l t»: 

MS* - 


51 +£ w 5C 


iriMC^ 


■* 


ATARI 5200 


TI99/4A 


ATARI 400/800/600XL 


1 I! M i H 1 M 1 !■ 

Mft> HBMM) BMNM) 41 


yj*A|4cfJB§*^j_^«^l^^^; P 


as 



■■■■■ 

1 J 


-*:*:■ 






HH^^^E^HHHHHHHilHil^^Hr 






'^^^^^^mmm^^^^^^^^^^mmmmm^ 


9C W 9f 1 


X mm ~* 


to « c* c* 


!J nnn m ^H 




^^^^^^^■^■^^■■■^^^■■■ft MMVM 








INTELLIVISION 


COMMODORE VIC 20 


ATARI 2600 








*)l i 
4» 19 



COMMODORE 64 




COLECOVISION 




TOU CAN PLAY FROGGER" 

ATTOURPAD. 




FROGGER is one of the all-time great award- winning home video 
tfCr f - games. And now Parker Brothers has programmed it into 

«9% all the most popular video and computer formats so you can | 
^■A /&r keep things hopping in your own home. 

' . ' ' Catch Frogger along with POPEYEf 

~>^ ^— C- Q*bert,™ TUTANKHAM™ and SUPER 
COBRA™ where you buy your video and com- MR4RKER 
puter games. You'll find it absolutely ribbitting. BROTHERS 

ColecoVision is a trademark of Coleco Industries, Inc. © 1983 Parker Brothers, Beverly, MA 01915. Intellivision is a trademark of Mattel, Inc. Commodore VIC 20 and Commodore 64 
are trademarks of Commodore Business Machines, Inc. Texas Instruments 99/4A is a trademark of Texas Instruments, Inc. Atari,® Atari Video Computer System,™ Atari 400/800/600XL™ 
and Atari 5200'" Video Game System are trademarks of Atari, Inc. *TM designates a trademark of Sega Enterprises, Inc. © 1983 Sega Enterprises, Inc. 





New 



"^r^ 








*c< 






i 





BOOKS for ATARI 400/600XL/800XL 

1200XL 

ATARI BASIC - Learning by Using 

An excellent book for the beginner. 
Many short programs and learning exer- 
cises. All important features of the 
ATARI computers are described (screen 
drawings, special sounds, keys, paddles, 
joysticks, specialized screen routines, 
graphics, sound applications, peeks, pokes, 
and special stuff). 

Order-No. 164 S7.95 

Games for the ATARI Computer 
This book describes advanced program- 
ming techniques like player-missile- 
graphics and use of the hardware-registers. 
Contains many ready to run programs in 
BASIC and one called GUNFIGHT in 
machine language. 
Order-No. 162 87.95 

How to program your ATARI in 6502 
Machine Language 

Introduction to machine language for the 

BASIC programmer. 

Order-No. 169 G9.95 

FORTH on the ATARI - Learning by 
Using 

Introduction, programs, applications, 

learning exercises. 

Order-No. 170 S7.95 

All programs from book No. 170 on disk. 
Order-No. 7319 822.00 only! 

A Look into the Future-ASTROLOGY 

on your ATARI 800. How to calculate 
your own horoscope. Including listing of 
the program. 
Order-No. 171 89.95 

HACKERBOOK for your Atari computer 

Tips+tricks-Very important subroutines 
in 6502 machine language. How to make 
bootable cassettes, disks, and EPROMs. 
Complete construction article and soft- 
ware on how to build an EPROM burner. 
Order-No. 172 $9.95 

SMALL BUSINESS SOFTWARE FOR 
ALL ATARI COMPUTERS 

SUPERMAIL (500 addresses on 1 disk) 

Completely written in FORTH. Comes on 

autoboot disk. No cartridge, no DOS, no 

FORTH language required. 

Order-No. 7312 S49.00 

SUPERINVENTORY (1000 items p.disk) 

Completely written in FORTH. Same as 

above. (Disk only) 

Order-No. 7320 S49.00 

BUSIPACK-1 (written in FORTH). Com- 
plete order entry, inventory, mailing and 
invoicing. (Disk only). 
Order-No. 7313 S98.00 

Microcomputer Hardware Handbook 
Order-No. 29 S 14.95 



A I AHI is a rag. trademark of ATARI Inc., VIC-20 + 



ATCASH 

Convert your ATARI 800 into a powerful 

cash register. (Disk only). 

Order-No. 7303 £49.95 

Invoicing program in BASIC 

Order-No. 7201 (C) S29.95 

Order-No. 7200 (D) S39.95 

Mailing List in BASIC 

Order-No. 7212 (C) S 19.95 

Order-No. 7213 (D) 824.95 

Inventory control in BASIC 

Order-No. 7214 (C) 819.95 

Order-No. 7215 (D) 824.95 

SOFTWARE IN MACHINE LANGUAGE 

FOR ATARI 

ATMONA-1 

Machine language monitor. 

Order-No. 7022 (C) 819.95 

ATMONA-2 

This is a tracer (debugger) that lets you 

explore the ATARI RAM/ROM area. 

You can stop at previously selected 

address, opcode, or operand. Also very 

valuable in understanding the micropro- 
cessor. At each stop, all registers of the 
CPU may be changed. Includes Atmona-1. 
Order-No. 7049 cassette 849.95 
Order-No. 7050 disk 854.00 

ATMAS 

Macro-Assembler for ATARI-800/48K. 
One of the most powerful editor 
assemblers on the market. Versatile editor 
with scrolling. Up to 17k of source-code. 
Very fast, translates 5k source-code in 
about 5 seconds. Source code can be 
saved on disk or cassette Unci. Atmona-1). 
Order-No. 7099 disk 889.00 

Order-No. 7999 cartridge 8129.00 
ATMS APPLICATION DISK 
All programs and machine language sub- 
routines from Book No. 169 on disk. 
Order-No. 7311 820 00 

ATAS 

Same as ATMAS but without macro- 
capability. (32K and 48K RAM) 
Order-No. 7098 849.95 

ATEXT-1 

This wordprocessor is an excellent buy 
for your money. It features screen oriented 
editing, scrolling, string search (even 
nested), left and right margin justification. 
Over 30 commands. Text can be saved on 
disk or cassette. 

Order-No. 7210 cassette 829.95 

Order-No. 7216 disk 834.95 

Order-No. 7217 cartridge 869.00 



FORTH for the ATARI 

FORTH from ELCOMP PUBLISHING, Inc. 
is an extended Fig-Forth-version, Editor 
and I/O package included. Utility package 
includes decompiler, sector copy. Hex- 
dump (ASCII), ATARI filehandling, total 
graphic and sound, joystick program and 
player missile. Extremely powerful! 
Order-No.7055(D) reg.S99.00sale 839.95 
Floating point package with trigonometric 
functions (0 -90"). 

Order-No. 7230 disk 829.95 

Learn FORTH 

A subset of Fig-Forth for the beginner. 
On disk (32k RAM) or cass. (16k RAM). 
Order-No.7053 reg. 79.00 sale £ 19.95 

HARDWARE-ADD-ONs for ATARI 
PRINTER INTERFACE 

This construction article comes with 
printed circuit board and software. You 
can use the EPSON printer without the 
ATARI printer interface. (Works with 
gameport 3 and 4). 

Order-No. 7211 819.95 

300 Baud serial interface (RS232+5V) 
Software with connector and construc- 
tion article. 

Order-No. 7291 819.95 

EPROM BURNER for ATARI 400/800 
KIT. Printed circuit board incl. software 
and extensive construction article. 
Order-No. 7292 S49.00 

EPROM BOARD (CARTRIDGE) 
Holds two 4k EPROMs (2532). EPROMs 
not included. 

Order-No. 7043 829.95 

EPROM BOARD KIT 
Same as above but bare board only with 
description. 

Order-No. 7224 814.95 

Astrology and Biorhythm for ATARI 
Order-Nol 7223 D/c 829.95 

Birth control with the AtarilKnaus Ogino) 
Order-No. 7222 disk only! 829.95 
The APPLE in your Hand, BRAND NEW! 
Book includes introduction to 6502 
Machine Language and FORTH. BASIC 
programs never published before! 
Order-No. 178 (200 pages) 812.95 
CP/M -MBASIC and the OSBORNE 
computer 

Business Applications, compl. listings of 
mailing list, datablock, inventory, in- 
voicing and more. 
Order-No. 177 89 95 




4=i: 



SUPERSOFTWARE f.the Commodore-64 
BLIZTEXT! — The best wordprocessor 
for the C-64 in the whole universe. In- 
cludes terminal software for electronic 
mail. 

Order-No. 4965(62 pages manual)S89.00 
MACROFIRE - Editor/Assembler for 
the C-64 

The best macroassembler you can buy! 
Order-No. 4963 889.00 

SUPERBOOKS for your C-64 
The Great Book of Games, Vol. I 
64 programs for the Commodore-64. 
Order-No. 182 89.95 

Programs from this book on disk 8 1 9.95 
MORE ON THE SIXTYFOUR 
Tips, tricks, hints, very important sub- 
routines. 

Order-No. 182 89.95 

Programs from this book on disk 8 1 9.95 
How to program in 6502 Machine 
Language on your C-64 
Order-No. 184 812.95 

Commodore-64 Tune-up, Vol. I 
How to expand your C-64. 
Order-No. 185 812.95 

Small Business Programs for the C-64 
Order-No. 186 812.95 

HARDWARE ADD-ONsfor your C-64 
Parallel printer interface, KIT 
Order-No. 4990 819.95 

Universal Experimenter Board 
Order-No. 4970 89.95 

Expansion Board (holds 4 exp. boards) 
Order-No. 4992 829.95 

BOOKS, SOFTWARE, ADD-ONs for 
VIC-20, APPLE II, OSBORNE, TIMEX 
+ OSI computers 
Tricks for VICs (Book) 
Order-No. 176 89.95 

Universal Experim.board for the VIC-20 
(Save money with this great board). This 
board plugs right into the expansion slot 
of the VIC-20. 

Order-No. 4844 reg. 819.95 sale 89.95 
Programming in BASIC and machine 
language on the ZX-81 (82) TIMEX1000 
Order-No. 174 (book) 89.95 

The Custom APPLE + Other Mysteries 

A complete guide to customizing the 
APPLE software and hardware. 
Order-No. 680 824.95 

We also stock the boards which are used 
in the book No. 680 (bareboards). 



PAYMENT: Check, money order, VISA, MASTER 

CARD, Eurocheck, ACCESS, Interbank 

Prepaid orders add S3. 50 for shipping (USA) 

oS .00 handling for C.O.D. 

All orders outside USA: add 15% shipping, California 

residents add 6.5 % sales tax. 



r^^ ^Tl i^^^T ^^ ^^ ^im^il^i^ ^m ^MtMilialli^H M residents add 6.5 sales 

Elcomp Publishing, inc. 53 Redrock Lane, Pomona CA 91766, Phone: (714)623-8314, Telex: 29 81 91 



Machines, APPLE is a reg. trademark of APPLE Comput 



ZgiJHBBBSB a 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 35 



do press RESET (accidentally or otherwise), a true 
hardware reset is performed instead of the pseudo- 
reset of the 400 and 800 systems. That means you 
should be able to get out of even the nastiest lock-up 
without having to shut off the console. 




Side 



view 



Like the venerable Atari 400, the 600XL has a 
single cartridge slot, now located under a hinged 
door on top of the console. It's electronically identi- 
cal to the 400 slot, and includes all of the signal lines 
necessary to use the new bank-select ROMs. Atari 
continues the questionable tradition of the 1200XL 
by supplying only two joystick ports, located on the 
right side of the console. So much for 4-way games of 
M.U.L.E. or Ali Baba. 



The back panel has the standard 13-pin serial I/O 
connector, an RF video output jack, TV channel 
selector (2/3), a 5-pin DIN-type power jack and the 
main on/off switch. No composite monitor hook-up 
is provided, and none is possible without adding a lot 
of extra components. The back panel also has a small 
plastic door which, when removed, reveals what may 
well be the 600XL's most promising feature: the 
parallel bus. It's a 50-pin connector that provides 
complete access to the 6502's 16-bit address and 
8-bit data busses, read/write, phase 2 clock and sta- 
tus lines. There's also an audio input and various 
other signal lines that allow you to control the sys- 
tem's memory configuration from off-board. 

The XL bus connector actually makes the 600 more 
expandable than a 400 or 800. It gives the new XL 
line the hardware flexibility it needs to make poten- 
tial Apple He and Commodore 64 customers take a 
serious look. Memory expanders, alternate video 
handlers, parallel disk I/O and real-time systems 
control are just a few of the fascinating possibilities. 
Let's hope Atari and the third-party suppliers don't 
wait too long to come out with peripherals that make 
use of this long-overdue option. 



4251 West Sahara Avenue, Suite E, Las Vegas, Nevada 89102 

(1-800-621-6131 order line only) 1 -702-367-221 5 
Buy • Sell • Trade • New • Used • Demo. "Computer Hot Line" 



ATARI 

1 200XL Reflects Rebate $ 259 

800 48k Reflects Rebate 289 

400 16K 99 

81 Disk Drive 379 

410 Recorder 72 

830 Modem 129 

850 Interface 199 



Atari Visicalc $159 

SPECIAL OF THE MONTH 



ATARI SOFTWARE 

Bookkeeper Kit $l 65 

Programmer Kit 52 

Atari Writer 55 

Data Perfect 75 

Letter Perfect 1 05 

Home Accountant 48 

Assembler Editor 42 

Atari Speed 

Atari Speed Reading 54 

Home File Manager 36 

Bookkeeper 102 

Pac-Man 30 

Centipede 30 

Qix 30 

Breakout 26 

Deluxe Space Invaders 26 

Asteroids 30 

Juggles House (D.C.) 22 

Juggles Rainbow 22 

Atari Conversational Languages • French • Italian • Spanish • German • $42 each 

Purchases can be made by check, money order, C.O.D., Carte Blanche and Diners Club. 



ATARI 

Preppiell $22 

Frogger 23 

Choplifter 23 

Apple Panic 20 

Zorkl 27 

Zorkll 27 

Deadline 34 

APPLE 

Home Accountant $48 

Multiplan 175 

Compiler 119 

HARDWARE 

C. Itoh Prowriter $379 

Nee. 8023A 439 

Banana Printer 209 

Hayes 1 200 Modem 489 

COMM. 64 DISK 

Temple Of Apshai $33 

Upper Reaches Apshai 18 

Jump Man 33 

Zorkl 33 

Zorkll 33 

Zorklll 33 

Frogger 30 

Jawbreaker 24 

Ft. Apocalyse 30 

Pharoh's Curse 30 

Type Attack 30 



Comm64 $219 

1 541 Disk Drive 249 

1525 Printer 229 

1 701 Color Mont 259 

HesMon 29 

Paper Clip w/p 115 

Calc Result 140 

Sysres-Utility 90 

Renaissance 30 

Vic-20 90 

Datasette 64 

1600 Modem 85 

Word Processor 95 

1311 Joystick 8 

1312 Paddles 16 

1210 3k Expander 34 

Apple Panic 34 

Serpentine 34 

Sargon Chess 29 

Gorf 29 

UMI-VIC 20 

Renaissance $30 

Meteor Run 30 

Outworld 30 

Super Amok 30 

Video Vermin 30 

Amok 15 

Subchase 15 



PAGE 36 



A.N.A.LO.G. COMPUTING 



ISSUE 15 





On the inside. 

All of the ICs, connectors and video circuitry are 
mounted on a single printed circuit board, which is 
enclosed in a vented metal chassis to reduce RF 
interference. To save space, Atari moved the AC line 
toroid out of the console and into the external power 
supply module, which is a little larger and heavier 
than its 400/800 counterpart. 

The 600XL comes factory-equipped with 16K of 
RAM, implemented by a pair of 4416 8K x 8-bit ICs 
and a handful of support chips. Noise-reducing resis- 
tors and precision delay lines in the timing network 
make the 600XL memory circuits quieter and more 
reliable than the 400/800 systems. All of the chips 
are mounted in sockets for fast, easy servicing. 

The keyboard is tied to the mother board with a 



flexible ribbon-type edge connector. The connection 
is relatively fragile; half of the contacts on our sample 
wore away after six plug/unplug cycles. This is the 
only significant wear point we could find on the unit. 
The 600XL's 16K operating system is contained in 
a single 28-pin mask-programmed ROM. Contrary 
to popular belief, the 600XL OS is not based on the 
old and comfortably compatible 400/800 OS. It is a 
direct descendant of the 1200XL OS, incorporating 
many of the silly, memory-wasting bells and whistles 
that helped send its creators to the unemployment 
lines. Chief among these is the Self-Test Mode, a 
series of three routines that let you "check the com- 
puter's memory, sound, colors and keyboard to 
ensure that they are working properly," to quote the 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 37 



Owner's Guide. It sounds great on paper, but in prac- 
tice the routines constitute little more than a sales 
gimmick. 

The Memory Test fails to inform you when it's 
done testing. It just keeps cycling. The simplistic 
Audio-Visual Test doesn't indicate which colors 
you're supposed to be seeing, and never turns on 
more than one sound channel at a time. Most annoy- 
ing (and revealing) is the Keyboard Test, which dis- 
plays a key pattern that does not match the layout on 
the 600XL console. Instead, it presents a totally 
different-looking keyboard that old-timers will im- 
mediately recognize as belonging to the 1200XL! 

The 600XL's OS is also saddled with the foreign 
character set found in the 1200 system. This feature 
(which is not supported by any currently available 
word processor, including Atari's own AtariWri- 
ter) provides the oh-so-exciting ability to display 
many of those strangely-accented characters you've 
been dying to include in your letters to Aunt Matilda. 
Just POKE location 756 with 204 and amaze your 
friends. 

We wouldn't gripe so much about the extra char- 
acter set and Self-Test Mode if they didn't eat up so 
much space in the ROM chip. The Self-Test takes up 
about 2K (2,048 bytes); the funny characters, 
another K (1,024 bytes). Why not use those three 
thousand bytes to implement a nice little machine- 
language monitor, similar to the one supplied in 
every Apple II system? Or how about plain English 
error messages instead of meaningless numbers? 

On the positive side, the 600XL OS eliminates the 
need for a separate BASIC cartridge by including the 
language right inside the console. It resides in an 8K 
ROM chip at location $A000, and is automatically 
activated whenever you turn on the computer unless 
you hold down the OPTION key while powering up. 

The 600XL marks the first appearance of the long- 
awaited "Revision B" version of the Atari BASIC. 
Most of the bugs present in the original cartridge 
have supposedly been eliminated, including the 
notorious editing lockup problem. It remains to be 
seen whether Atari's fixes will cause any new bugs to 
appear; we've heard rumors about suspicious behav- 
ior in the ENTER and LOAD commands, among 
others. Let us know about anything you discover. 
Unfortunately, the changes wrought in Rev. B make 
Bill Wilkinson's Atari BASIC Sourcebook totally 
obsolete as far as the source listing is concerned. 

Is the 600XL compatible with software written for 
the 400/800 OS? Our answer is a highly qualified 
yes. None of the "guaranteed" OS vectors have been 
changed in the new XL OS, so software using those 
vectors (and only those vectors) has a fair chance of 
working on the 600. Nevertheless, a lot of good stuff 
written for the 400/800 series makes use of undoc- 
umented ROM routines. Such programs will almost 
certainly crash on the new XL machines. Software 



publishers aren't likely to admit how their products 
misuse the OS; so the only foolproof way to find out 
if a particular piece of software is compatible is to try 
it out yourself. 

Accessories, options, opinions. 

The documentation provided with the 600XL 
computer is inadequate and frankly disappointing. 
The first third of the 20-page Owner's Guide tells you 
how to hook the thing up and turn it on; most of the 
remainder is devoted to thinly-disguised advertise- 
ments for all the wonderful Atari peripherals you 
didn't know you were going to need. Instead of the 
120-page Atari BASIC Reference Manual, you get a 
14-page pamphlet of BASIC keywords ("For Expe- 
rienced Programmers") which contains a list of 
books you should consult in the apparently unlikely 
event that you want to learn more about your $200 
investment. Another little pamphlet explains how 
you can buy a 1 -year service contract for just $34.95. 
Also hidden in the styrofoam are the power supply 
module, the TV switchbox and a warranty card. And 
that's all, folks. 

Atari has announced a Memory Expansion 
Module for the 600XL that will connect to the paral- 
lel bus connector on the back of the unit. This 
$ 100(?) device will expand the 600 to its full effective 
RAM capacity of 48K. An expanded 600XL should 
be functionally identical to an 800XL, except for the 
monitor output. None of our local stores is carrying 
the Expansion Module yet, and nobody knows when 
to expect it. Look for a report in the pages of 
ANALOG when and if it appears. 

Our first impression of the Atari 600XL system is 
mixed but mostly optimistic. The hardware is nicely 
engineered and solidly constructed. The operating 
system is flabby but serviceable; having a bug-free 
BASIC on board is a welcome relief. Whoever made 
the decisions about documentation ought to be 
ashamed of themselves. We'd rather see the cost of 
the unit go up by five or ten bucks if it will buy a 
reference manual that won't shortchange beginners 
or insult the experienced user. An XL Series hard- 
ware manual and OS listing would also be welcome 
options in the near future. 

The 600XL isn't as exciting or advanced as the 
400/800 series was when it first appeared in 1979. 
Let's face it, these new XL machines are nothing 
more than repackaged 800s. That does not change 
the fact that Atari home computers are still the 
most versatile graphics machines you can buy for less 
than five thousand dollars. Atari's Alan Alda ads 
fail to communicate the essential value these pro- 
ducts represent; it is up to us, the Atari community, 
whose word of mouth can do more to sell computers 
than a box of Hawkeyes, to educate our innocent 
neighbors and overcome Atari's sluggish marketing. 
Otherwise we'll all end up marching to the beat of a 
drummer whose initials are IBM. □ 




Tired of high prices, poor service and hidden charges 
you get from other mail order companies . . . 

Try RISING SUN SOFTWARE! 



ENTERTAINMENT 

ARTWORX 

Strip Poker (D) $25.00 

S.P. Data Disks 20.00 

ATARI (ROM only) 

Centipede $32.00 

Defender 32.00 

Dig Dug 32.00 

Donkey Kong 35.00 

Eastern Front 35.00 

Galaxian 32.00 

Joust 35.00 

Missle Command 27,00 

Ms. Pac-Man 35.00 

Pac-Man 32.00 

Pengo 32.00 

Qix 32.00 

Robotron 32.00 

Space Invaders 27.00 

Star Raiders 32.00 

BIG FIVE 

Miner 2049er (R) .... $35.00 

BRODERBUND 

A.E. (D) $25.00 

Arcade Machine (D)... 42.00 

Choplifter (D) 25.00 

Choplifter (R) 32.00 

Oper. Whirlwind (D) . . . 25.00 

Sea Fox (D) 21.00 

Sea Fox (R) 28.00 

Sky Blazer (D) 28.00 

BUDGECO 

Raster Blaster (D) .... $21.00 

OATAMOST 

Airstrike (D/C) $28.00 

Bilestoad (D) 28.00 

Mating Zone (D) 25.00 

DATAMOST 

Micropainter (D) $25.00 

Pooyan(D/C) 21.00 

Zaxxon (D/C) 28.00 

DON'T ASK 

Poker Sam (D/C) .... $20.00 
S.A.M. (D) 42.00 

EDU-WARE 

Prisoner 2 (D) $28.00 

Rendezvous (D) 28.00 



ELECTRONIC ARTS 

Archon(D) $28.00 

Hard Hat Mack (D).... 25.00 

M.U.L.E. (D) 28.00 

Murder on the 

Zunderneuf (D) 28.00 

Pinball Construction 

Set(D) 28.00 

Worms? (D) 25.00 

EPYX 

Jumpman (D) $28.00 

Jumpman Jr. (D) 28.00 

INFOCOM (disk only) 

Deadline $35.00 

Enchanter 35.00 

Planet Fall 35.00 

Starcross 28.00 

Suspended 35.00 

The Witness 35.00 

Zork I 28.00 

Zork II 28.00 

Zork III 28.00 

INTELLIGENT STATEMENTS 

Pro. Blackjack (D) ... $49.00 

LIGHTNING SOFTWARE 

Master Type (D) $28.00 

MUSE 

Castle Wolfenstein ...$21.00 

ODESTA 

Chess (D) $49.00 

Checkers (D) 35.00 

Odin (D) 35.00 

PARKER BROTHERS 

Astrochase (R) $35.00 

Chess (R) 42.00 

Frogger (R) 34.00 

Popeye (R) 35.00 

Q-Bert(R) 35.00 

Risk (R) 42.00 

Super Cobra (R) 35.00 

Tutankam (R) 35.00 



ROKLAN 

Deluxe Invaders (R) . . $28.00 

Gorf (D) 28.00 

Gorf (R) 32.00 

Wizard of Wor (R) 32.00 

Wizard of Wor (D) 28.00 

SIERRA ON-LINE 

Crossfire (R) $25.00 

Crossfire (D/C) 21.00 

Frogger (D/C) 25.00 

Mission Asteroid (D) . . 20.00 
Sammy Lightfoot (R) . . 27.00 

Ultima II (D) 42.00 

Ulysses (D) 28.00 

Wiz & Princess (D) . . . . 25.00 



HARDWARE 




DEALS 




MODEMS 




Apple Cat II . 


$299.00 


Micromodem 


1 265.00 


Micromodem w/term- 


inal prog. . . 


. 295.00 


212 Apple Cat 


. 580.00 


MONITORS 




Amdek 




Color 1 


$299.00 


Color II RGB . 


. 599.00 


Color III RGB 


. 399.00 


RGB Card ... 


. 149.00 


USI 




Pil 9" Green 


$119.00 


Pi2 12" Green 


. 149.00 


Pi 3 12" Ambe 


. 159.00 


Pi4 9" Amber 


. 129.00 


Color 1400 . . 


. 299.00 


PRINTERS 




C. Itoh 




GX-100 


$229.00 


Prowriter .... 


. 399.00 


Okidata 




Microline 80 . 


. 349.00 


Microline 82A 


. 449.00 


Microline 92 . 


. 549.00 



STRATEGIC SIMULATIONS 

Battle for 

Normandie (D/C) . . $28.00 
Battle of 

Shiloh (D/C) 28.00 

Combat Leader (D) . . . . 28.00 
Cosmic Balance (D/C) 28.00 
Cosmic Balance II 

(D/C) 28.00 

Cytron Masters (D) . . . . 28.00 
Galactic Gladiator (D) . 28.00 
Knights of the 

Desert (D/C0 28.00 

Shattered Alliance (D) . 28.00 
Tigers in the Snow 

(D/C) 28.00 

SYNAPSE 

Blue Max (D/C) $25.00 

Dimension X (D/C).... 25.00 
Ft. Apocalypse (D/C) . . 25.00 
Necromancer (D/C) . . . 25.00 
Pharoah's Curse (D/C) 25.00 
Shadow World (D/C) . . 25.00 

Shamus (D/C) 25.00 

Shamus (R) 32.00 

Shamus II (D/C) 25.00 

Survivor (D/C) 25.00 

Zepplin (D/C) 25.00 

THORN EMI 

Hockey (R) $28.00 

Jumbo Jet Pilot (R).... 35.00 

River Rescue (R) 28.00 

Soccer (R) 35.00 

Submarine Commander 
(R) 35.00 



RISING SUN SOFTWARE 

4200 PARK BLVD. 

OAKLAND, CALIFORNIA 94602 

(415) 482-3391 

Ordering Information: We'll accept any form of payment— cash, personal check, money order, VISA/ 
MasterCard, or C.O.D. Send cash at your own risk. Add $2.00 for UPS shipping; $3.00 for Blue Label Air. 
California residents add applicable sales tax. ALL orders shipped same day received. If we are out of stock 
on a particular item we will include a special bonus with your order when snipped. 



masler chargi 



CALL TOLL FREE 24 HOURS (ORDERS ONLY) 

(800) 227-1617, ext. 114 (Outside California) 
(800) 772-3545, ext. 114 (Inside California) 




UTILITIES & 
LANGUAGES 

ADVENTURE 
INTERNATIONAL 

Diskey (D) $35.00 

ATARI 

Assembler Editor (R) . $45.00 

Atari Basic (R) 42.00 

Macro Assembler (R) . . 68.00 
Microsoft Basic II (R). . 68.00 
PILOT (R) 60.00 

DATASOFT 

BASIC Compiler (D) . . $63.00 
Lisp Interpreter (D) ... 70.00 
Edit 6502 (R) 125.00 

OPTIMIZED SYSTEMS 

Basic A+ (D) $56.00 

Bug 65 (D) 25.00 

Mac/65 (D) 56.00 

EDUCATION 

ATARI 

Conversational Languages 

French (C) $42.00 

German (C) 42.00 

Italian (C) 42.00 

Spanish (C) 42.00 

Educator Kit 117.00 

Inv. to 

Programming 1 18.00 

Inv. to 

Programming 2 23.00 

Inv. to 

Programming 3 23.00 

Juggles House (D) .... 23.00 
Juggles House (C) .... 18.00 
Juggles Rainbow (D) .. 23.00 
Juggles Rainbow (C) . . 23.00 
My First Alphabet (D) . 27.00 

Programmer Kit 53.00 

Tough Typing (cass) . . 18.00 

EDU-WARE 

Compu-Read (D) $21.00 

Compu-Read (C) 15.00 

SPINNAKER 

Face Maker (D) $28.00 

Hey Diddle Diddle (D) . 21.00 

Kindercomp (D) 21.00 

Most Amazing Thing 

(D) 28.00 

Rhymes & Riddles (D) . 21.00 
Snooper Troops 1 (D) . 32.00 
Snooper Troops 2 (D) . 32.00 



A TOOL SO POWERFUL, SO CONVENIENT, YOU WILL FIND IT INDISPENSABLE! 

OMftpvcom 



ANTIC, July '83: "Every microcomputer should have this sort of 
hardware monitor." 

WHAT IS OMNIMON! 

OMNIMON! is a PC board which plugs into your 400/800 and 
gives you complete control of your computer. Even though it is 
always available (by pressing SELECT and SYSTEM RESET) it 
takes up no user memory! Use it to interrupt, examine and 
manipulate any program whether it be disk, cassette, or cartridge 
based. The flexible disk I/O allows you to write to or read from disk 
in either single or double density. One of the most powerful 
features is the ability to recover from system lockup, meaning that 
when your computer freezes, you don't have to worry about losing 
the program or text file in memory because you can always go into 
OMNIMON! and dump memory to disk! You can also do things like 
load a file without DOS and edit raw sector data. Many debug- 
ging tools are available: Display/Alter memory or registers, 
Disassemble memory, Search memory, Hex/Char modes, Single 
Step execution, JSR or GOTO address, Push/Pull stack, Printer 
dump, etc. After intrrupting a program with OMNIMON!, many times 
it is possible to return to the program as if you had never left it 
(eg, BASIC, DOS, etc.). Instructions are provided for the addiiton of 
a a simple toggle switch to make OMNIMON! invisible, thus making 
it compatible with all software. 



ANALOG, Aug '83: "A godsend for serious programmers. Our staff 
programmers swear by it." 

HOW TO ORDER 

Base price of OMNIMON! is $99.95. We accept checks, money 
orders, credit cards, or COD. Our toll free order desk is (800) 
227-3800 ext. 561. If you have questions please call us direct 
or write: 

CDY Consulting 

421 Hanbee 

Richardson, TX 75080 

(214) 235-2146 

OPTIONS: 

Advanced version ($15 extra): Same as standard version with the 
addition of Hex conversion, Verify memory, Happy drive 
upload/download, and lockup recovery. 

Ramdisk version ($25 extra): Same as advanced version but it 
allows you to use your AXLON 128K Ramdisk with any DOS 

which uses standard SIO calls (eg. ATARI, OSA+, MYDOS, etc.). 
Even reboot (coldstart) without disturbing the contents of Ram- 
disk! Single step is deleted. 

OMNIMON 2 (8K version) early 1984 standard version required. 
Dealer/Distributor inquiries solicited. 




nrfcmatt 



NOW YOU REALLY ARE THE BOSS! 

WORDMAN is WORD MANagement at its best! 

LETS YOU MANAGE EVERY WORD YOU EVER 

WANTED TO PROCESS. 

Word Processing used to be a puzzle, a pain, and a printer 
predicament, but now, with WORDMAN, here's what you can 
do. . . 

* CREATE YOUR OWN PRINTER COMPATIBILITY 

* PRINT FROM OR TO DISK FILE 

* CONTROL RIGHT MARGIN TO YOUR SPECIFICATION 

* SELECT FUNCTIONS FROM 3 MENUS 

* CREATE, ADD, EDIT, AND COPY 

* PROGRAM SINGLE KEY FOR AUTOMATIC TEXT REPETITION 

* AUTOMATICALLY CENTER TITLES AND FORMAT PAGES 
' USE MIXED DENSITY DISK DRIVES 

* MERGE MULTIPLE FILES FROM DISK FOR DOCUMENT 
CREATION 

* CREATE DOCUMENTS WITH EMBEDDED GRAPHICS 

* SEARCH FOR AND REPLACE WORDS OR PHRASES 

* DELETE, INSERT, OR COPY BLOCKS OF TEXT 

WORDMAN - THE NEW WORD MANAGEMENT PROGRAM 
WITH POWER, PREDICTABILITY, AND P-ZAZZ! 

ONLY $39.95 

JIM CHANEY & ASSOCIATES 

916 E. BERKELEY, RICHARDSON, TX 75081 

Add $2.00 PER ITEM For Shipping On Quantities Less Than 5 

DEALER INQUIRIES INVITED 

REQUIRES 40K RAM. BASIC CARTRIDGE, AND DISK DRIVE 



SALE SALE SALE 



FASTCHIP ■ ATARI 400/800* $41.95 This month $29.95 

A custom floating point RDM that can give you up to 3% times the speed of the original ROM. It can be 
installed in minutes. 

RAMROD MMOS - ATARI 800* $189.95 This month $149.95 

A new operating system board that teplaces the existing board Allows use of standard roms or EPROMS 
Comes with OSN O.S. Features FAST CURSOR GRAPHICS MODES 12-15, VARIABLE CASS BAUD RATE. 
CONTROL ON POWER UP Also addresses 4K block of memory that is not currently accessbiie in the system 
PLUS, every board comes with OMNIMON 1 , a resident machine language monitor with commands like display 
alter memory, disassembler, printer and disk I O. etc. 

4KRAM $15.95 2732 EPROM 350ns. $10.00 

OMNIMON! ■ ATARI 400/800* $99.95 

As described above, but comes on a piggyback board that plugs into the operating system 

socket. 

52K RAM BOARD - ATARI 400/800* SPECIAL $89.95 

REPLACES EXISTING RAM BOARDfs). FEATURES: 64K RAM. GOLD CONTACTS, 

SOCKETED IC's, 5 YR WARRANTY 

MYDOS 3.X DISK OPERATING SYSTEM $29.95 

USES LESS MEMORY than 2.0S, and supports 5% & 8 inch drives. A MUST. 



PRO BOWLING VERSION THREE (disk) 






$17.95 


SD/DD SECTOR COPIER (disk) 






$17.95 


ATARI SOFTWARE SPECIALS: 








STARRAIDERS CARTRIDGE 






$20.00 


MISSILE COMMAND CARTRIDGE 






$20.00 


STOCK ANALYSIS 






$11.00 


BOND ANALYSIS 






$11.00 


MORTGAGE 8 LOAN ANALYSIS 






$10.00 


MAILING LIST CASS. 






$10.00 


BUSINESS COMMUNICATIONS 






$12.00 


JAWBREAKER DISK 






$12,00 


COMPUMATH DECIMALS CASS. 






$12,00 


COMPUMATH FRACTIONS CASS. 






$1200 


JOYSTICKS (PAIR) 






$15.00 


Call 214-423-1781 to order COD. or send 


check 


or money 


order to NEWELL 


INDUSTRIES. 3340 Nottingham La, Piano, TX. 75074. Texas residents add 5% sales tax 


where applicable. Orders outside the U.S. add 3% 


($3 min) for shipping. COD orders add 


$1.65. Call or write for additional information. 









ATARI 400/800 are Trademarks of ATARI INC. 



PAGE 40 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



OURGAME 



by Joel Gluck 



This is Our Game, the column in which you and I 
collaborate in writing a video game. You mail in 
ideas, suggestions, criticisms and comments. I care- 
fully read each letter I receive, always watching for 
original ideas and viewpoints. Some of the mail 
actually ends up in Our Game. But all of it, even the 
letters scrawled in crayon, affect what our game is 
going to be like. 

Viewer mail. 

Reader response has not exactly been over- 
whelming, but Our Game has definitely been receiv- 
ing increasing amounts of mail. Here are some 
thought-provoking excerpts: 

Derek McClintock of Pueblo, Colorado writes: 
"I often wonder how my ship, person, frog, etc., can 
become so totally obliterated and yet, through the magic of 
VLSI, a showroom model will inevitably reappear 
without a scratch. Why not, instead, have a sequence so 
that when the ship is blown to bits, a new one appears next 
to the wreckage and a little blip floats from one to the 
other, like the escape pods NASA is developing for their 
spaceships." 

Derek is right — games in which a player has 
multiple lives usually leave the transition from one 
life to another unexplained; it would be interesting 
to see more elaborate or realistic rebirths. 

From Manchester, New Hampshire, Scott 
Mitchell has this to say: 

"A game I got to thinking about one day involves a day in 
the life of a bee. The main idea is to pollinate all the 
flowers and get back to the hive to start the next screen. 
Some flowers, would be more difficult to reach due to 
wandering enemies such as spiders, preying mantises and 
birds. Some flowers are poisonous — 50 don't touch the 
side or any part but the pollen. Some flowers clamp shut as 
well. There might be spider webs to become tangled in or 
flowers that open up only briefly and present a timing 
problem to pollinate." 



Now there's an original idea! Although it is 
somewhat violent, the violence is not of the standard 
arcade shoot'em-up style — the pollination is 
constructive, not destructive as are most video 
games. 

Dave Mundy of St. Ann, Missouri, has his mind 
made up about one aspect of our game: 

"I would like to see the game playable by two people at 
once, rather than two people alternately as is common in 
most every game on the market. 1 remember the old Pong 
game where two could play at once and both players were 
against each other, rather than against the machine. Half 
of the satisfaction in winning a game is making your 
opponent feel four inches tall. So let's make the opponent 
human, rather than the computer or some high score." 

I feel the same way, Dave. Computer games are 
much more fun if you can play head-to-head with 
another person, whether it be competitive or co- 
operative. 

George Price, of East Detroit, Michigan, proclaims 
himself to be a tried and true wargamer: 
"M31 computer to me is my constant adversary, a fellow 
gamer who is always willing and waiting to thwart my 
latest and sometimes not so brilliant strategy. 
Unfortunately, except for a few companies, there are very 
few programmers writing to satisfy my gaming needs. 
That is where you come in. Hopefully, with the tools you 
will provide, J will be able to write my own simulations, 
filling a 155mm void in my computing life." 

George, 1 like your attitude. Even if Our Game 
doesn't develop the sort of game you enjoy, you say 
that you can learn from this column and write games 
to your own liking. That is part of the aim of Our 
Game, not to create the ultimate video game but 
rather to write a game in such a way that the reader 
can really learn from the process. 

Chris Sicks of Orchard Park, New York, wants to 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 41 



see a game in which spirits — the servants of the 
"Supreme Being," as he puts it — travel down to 
earth to fight devils who are picking up and carrying 
off the populace (similar to "Landers" in 
Defender). The spirits' weapon? Writes Sicks: 
"The spirits summon down lightning bolts to destroy the 
devils. . ." 

Chris's game idea is a refreshing change — the 
themes of the game are derived from myths of the 
supernatural instead of the usual science-fiction. I'm 
getting tired of space ships, myself. 

Bob Mulholland writes from Jersey City, New 
Jersey: 

"Everyone has seen at least one movie with a big spectacu- 
lar stunt in it, and marveled at the way these stuntmen can 
coordinate such a stunt. So why not make a game that will 
include a wide range of stunts in which the player can 
participate. The stunts can range from a barroom brawl to 
a human fireball jumping out of a helicopter 20,000 feet 
in the air into a bucket of kerosene. 

Not bad, Bob. I like the idea of play-acting a role 
from real life, whether it be stuntman, surgeon, mail 
carrier, or politician. More computer games may 
take advantage of this role-playing fantasy in the 
future — such games can be educational as well as 
fun. 



You also brought up the possibility of a game 
comprised of several small games. One of the best of 
this genre was a game for the Apple called Olympic 
Decathlon. In the arcades, Tron has been the most 
popular "multi-game." The advantage of such a 
game is variety — players confront different 
challenges in different environments. We'll 
probably be seeing more of these games, too, as 
arcade machines and home computers are built with 
increasingly larger memories. 

This is how Larry Nocella, a Woodbury Heights, 
New Jersey resident, described the abilities of 
Herman, a user-controlled creature in his game idea, 
The Adventures of Herman: " . . .he can turn red 
with anger for ten seconds — this chases away the meanies 
— or he can turn blue and take 3 big steps." 

Arcade games would have us believe that we spend 
our time shooting and blowing up people we dislike. 
Turning red with anger, though comical, is a real- 
world touch. 

Claude Galinsky, of Watertown, Massachusetts, 
has this to say: 

"M;y girlfriend thinks video games are for nerds. I can see 
her point. They exclude other people and can give socially 
inept players an easy way to avoid relating to others. 
There is no reason why an absorbing game has to be 
single-player. 




A subscription to Games Datamag gives you 
more games, news & reviews for your money! 

Games Datamag gives 
you more software value 

Discover new ways to use your ATARI 
computer and get more for your money. 

Games Datamag is a new subscription 
on cassette featuring in each issue: 

1. 16K GAME that's ready to run 

2. DISKETTE version at no extra cost 

3. NEWS on the latest games & techniques 

4. Game reviews and contests 

The Fall issue game is a treasure hunt 
called Treasure Palace. This winter we 
feature Battle CruiserNebula. Don't 
miss a single issue! 

$24 a year, quarterly; or sample issue 
for $8 (overseas orders add $8) from 
USCS Dept. 81, 1737 Walnut Grove, 
Decatur IL 62526 



T« COMMAND 

NOW YOUR ATARI PUTS LINE-BY-LINE CONTROL 
OF TAX PREPARATION AT YOUR FINGER TIPS. 



r-tr-t^BP 

~--A— — i 




Calculations are automatic. All you do is 

enter your tax information. Tax Command 
does all mathematical calculations for you. 
Built-in tax tables eliminate guesswork. No 
more finding the right column down and 
right line across. Tax Command has the 
1040 tax tables built right in. So 
it zeros in on your refund (or tax 
payment)amount automatically. 
Tax Command is fast, easy! Just 



qp 



fill in the blanks. If you make a mistake, no 
problem. Just go back and retype your 
entries. Everything is re-calculated for you. 
You'll find the 1040. Schedule A. Capitol 
Gains & Losses. Income Averaging. And 
more. Anyone who can read can use Tax 
Command. And the best feature 
of all. . .just $24.95 plus $2.00 
for shipping and handling. 
Wisconsin residents add 5% tax. 



Practical Programs, Inc. 

P.O. Box 93104-Y • Milwaukee, Wl 53203 • (414) 278-0829 
Available at fine computer stores everywhere, or by ordering direct. 



PAGE 42 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



"Suppose we write a simulation of a road rally. Having 
driven a rally single-handed, I know it can be done, but 
you really need one person to drive and another to 
navigate. You have to cooperate and communicate; 
sometimes you even have to argue, but it's very absorbing 
and a whole lot of fun. Or how about a WWII bomber 
simulation where one player is the pilot, another is the 
navigator, and a third is the bombardier? Or a bank 
robbery game in which one player drives the getaway car 
while another shoots at the pursuers? Or a football game 
where one player passes while the other receives? 
"Another thought on video /computer games: girls don't 
play them! This is an extremely bad state of affairs, for the 
simple reason that computer games are the primary means 
by which kids start to become computer-literate. ~Now, I 
would never claim to understand any member of the 
opposite sex, but it seems to me that they are less attracted 
to games involving violence and mayhem than are boys. 
Their hand-eye coordination seems to be directed more to 
achieving precision rather than speed. They seem to be 
creative more in interpersonal ways (making up stories 
about other people, for instance) than in person-machine 
ways (e.g., building a bridge). Something, I don't know 
what, should be done to appeal to them in Our Game." 
The combination of player cooperation with the 
challenge of unique roles is intriguing. This is the 
kind of game that arcade manufacturers 



unfortunately have avoided (it simply doesn't seem 
to have the money-making potential) and that is 
perfect for home computers. It is an exciting 
possibility for Our Game. 

As for the benefits of our game being equally 
enjoyable for both males and females, I agree totally, 
so that an 8-year-old can play as easily as his 30-year- 
old mother. 

The Our Game mailbag is pretty empty at the 
moment, so don't hesitate to send in anything you 
think might be fun and different. 

The hard facts. 

This may come as a shock, but the computing 
power of your Atari is not infinite. As a matter of 
fact, the 400, 600, 800 and 1200 suffer from a severe 
case of limited resources. This may not seem obvious 
when playing a game written in machine language, 
the built in "language" of your machine's micro- 
processor. The balls and paddle in Super Breakout 
have no trouble moving at very high speed. But even 
machine language has its limitations — in Star 
Raiders, for example, things slow down quite a bit 
during explosions. 

Atari BASIC is written in machine language. Its 
major purpose is to take the BASIC commands you 
type in, interpret them (figure out what they mean), 



Superior Quality Peripherals from convoiogic 





The BYTEWRITER 

programs, reads, verifies EPROMS: 2516, 
2716, 2532, 2732, 2564, 2764, 68764, 
27128. No personality modules will read 
operating system ROMS. 

Operational software will support, in- 
spect and change, constant store, cas- 
sette and disk I/O. 

Source Code available for $35. 

BYTEREADER option interfaces car- 
tridges to BYTEWRITER. 



BYTEREADER $30.00 



$189 



The EXAMINER 

converts any 8K or 16K cartridge into a 
DOS or cassette file. Examine contents, 
customize software, and test with option- 
al WAM cartridge. Powerful cassette/disk 
IO capabilities. Source code available for 
$25.00. WAM Cartridge $59.00 



$89 



THE NEW 1850 

Expansion unit contains one 
parallel (Centronics compatible) 
printer port and one serial 
(RS-232) interface. 

Resides on SIO bus with disk 
and/or cassette. 

Selectable serial baud rates 

(19200, 9600, 4800, 2400, 1200, 

600, 300), and maskable hand- 
shake signals. 

No OS modifications or ROM 
swap necessary. 



Send for FREE Catalog - Dealer Inquiries Encouraged 

Each accessory is fully assembled with a 90 Day Limited Warranty. When ordering, specify 
Disk or Cassette. Mail Cashier's Check or Money Order (Personal Checks will add 3 weeks to 
the 4 to 6 week delivery), plus shipping and handling $4.00 domestic, $6.00 foreign, C.O.D. 
orders $3.00 extra, add 4% to Visa and MasterCard orders, $30.00 minimum order to: 

Fla. Residents Add 5% Tax 

ORDERS ONLY 1-800-227-3800 
Ext. 7024 

421 Bay Tree Lane • Longwood, FL 32779 • (305) 869-6630 



rarwaLQGiDNL-. 



$139 



OTHER PRODUCTS 

Cartridge boards, dual socketed 
for 2764's, to make 8K or 16K 
cartridges $ 10.00 

Shells for cartridges $ 10.00 

2764 EPROM S 7.50 

Okidata Micro 92 Printer $470.00 
Okidata Micro 93 Printer $770.00 
Okidata Micro 83A 
Printer $615.00 

Printers — Plus Freight 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 43 



and execute them (carry them out). BASIC is a 
middleman between you and the computer — you 
tell BASIC what you want, and BASIC tells the 
machine what you really want, in terms the machine 
understands. 

Middle-men increase the cost of things. In the case 
of BASIC, you pay the price in speed. Machine 
language, for most tasks, runs at least 100 times 
faster than BASIC. 

Our game, the game that we are going to write 
together, is going to be written in BASIC, not in 
machine language or some other language. There are 
several reasons for this: 

1) Almost everyone has BASIC; 

2) Almost everyone knows or is learning BASIC; 

3) Teaching machine language is such a big job it 
could be the subject of a whole other column. [It 
already is. See Boot Camp on page 124. — Ed.] 

BASIC is obviously the way to go, but we are up 
against the speed problem. Some would suggest that 
a BASIC compiler — software that turns a BASIC 
program into faster code — would be the answer. 
And often it is. But Our Game can't expect readers 
to go out and buy a BASIC compiler, and neither 
should we limit our program only to statements that 
a compiler can handle. 

The answer to this mess is to stick with plain old 
Atari BASIC, and to write efficient code that avoids 
using up the resources of the machine. 

This, however, gives us a new mess. With the 
limited resources available, we are very limited when 
it comes to moving objects — as a matter of fact, I'd 
say that three moving objects exceeds the limit for an 
ordinary BASIC game. For an object to move at a 
decent speed, we're limited to one, count'em, one 
object. 

When writing Attank!, a two-player action game 
in BASIC, I found that two tanks moving simul- 
taneously travel rather slowly. And when it came 
time to write the routine that fires a bullet, I had to 
stop movement of the tanks just to get a passable 
bullet speed. 

Limited resources also means limited 
computation time. The computer does not enjoy 
thinking a lot in the midst of an action-packed game. 
This means that any computer-controlled 
opponent(s) or objects must have a fairly simple 
algorithm to control them; more than a few IF- 
THEN statements from top to bottom in the 
decision-making tree makes your action-packed 
game start to crawl. 

Other elements of a program can bog your game 
down. For example, overly-complex sound effects 
can turn a silent, speeding space ship into a 
swooshing but soggily-slow space ship. Another 
slower-downer is to program a visible timer, or the 
like, to run constantly on the screen. Keeping time 
(and displaying it) takes time. 



Now don't get me wrong. There is nothing I enjoy 
more than sound effects and animation. But when 
writing our game, we're going to have to be careful 
when it comes to speed. 

Keep these limitations in mind when thinking up 
ideas for our game. Remember, the more feasible 
your idea, the greater chance it has of appearing in 
these pages. 

Fun 'n' games. 

There have been requests in the Our Game mail- 
bag that I print a small, sample game. After all, this is 
the fourth Our Game and not a single listing has 
appeared. 

Feast your eyes on Listing 1, a program called 
Bounce. 

Bounce is not strictly a game, even though it has 
graphics and sound-effects and is controlled with a 
joystick. Bounce does not give you a score, or allow 
you to achieve higher levels of difficulty. You do not 
play Bounce, you play with Bounce. 

When I first wrote the program, I couldn't get 
enough of it. I must have played with the thing for a 
solid week. There are nuances, strategies, and goals 
you can set for yourself. But I'm not going to tell you 
any of them. 

Play with it, learn from it, and enjoy it. 

One more thought on this subject: If you've 
written a program along the lines of Bounce — 
short, fun, and interactive — don't hesitate to send it 
in. If it's any good, I won't hesitate to print it. 

Programming with the top down. 

Last time we discussed the idea of prototype — 
which is kind of a "warm-up" for writing a major 
program. But there's more to programming than 
warming up. Are there right and wrong methods of 
programming? 

There is no clear answer. It all depends on your 
reasons for writing the program, and the conditions 
under which the program is going to be used. You 
may, for example, be writing a short program to add 
some numbers. In that case, whatever gets the job 
done most simply is the "right" method. 

But what about when you are writing a large 
program, like a game? There are a few important 
points that should be kept in mind: 

1 ) Efficiency of the program in terms of memory 

and speed; 

2) Debug-ability; 

3) Ease of repair and/or modification; 

4) Clarity; 

5 ) Future usability. 

Point one is pretty clear — if your program is 
efficient in terms of memory, you have more space to 
add features and make fixes. If it is speed-efficient, 
you have more processor time left over for extras. 
For a game, this could mean more elaborate special 
effects or game logic. 



PAGE 44 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



Point two refers to the relative ease in locating 
bugs in the program. How easy it is to repair those 
bugs and make other modifications is the purpose of 
point three. 

Point four asks the question, "How easy would it 
be for someone else to read and understand the 
program?" When you look at the program a 
year after you write it, you are, effectively, someone 
else — you probably don't remember how you wrote 
it. 

Finally, point five asks "How reusable are the 
individual parts of the program?" For example, 
would a certain routine from program A be easily 
transportable to program B? 

Points two through five are frequently ignored by 
programmers who are in a rush or don't care. In the 
long run, though, such careless programming can 
cost you time — in debugging and revising your soft- 
ware. There are, however, techniques to make care- 
ful programming easier. 

Top-down programming is one such technique. 
When you program in the top-down manner, you 
start with the whole problem and proceed to break it 
down into smaller and smaller pieces, until what you 
have is essentially the outline of a program. 

We do this all the time in everyday life — although 
we don't always think it through. For example, the 
simple task of giving Rover a bath can be broken 
down into sub-tasks: 

Giving Rover A Bath 

A) Prepare the bathtub. 

B) Catch Rover. 

C)Get Rover into the tub. 

D) Clean Rover. 

E) Dry Rover. 

F) Thank Rover and clean up. 

G) RETURN. 

RETURN simply means to return to whatever 
you were doing. If giving Rover a bath was part of a 
bigger list of things to do, you would continue with 
the next thing on the list. 

Each of these steps can, in turn, be broken down. 
Here's a possible breakdown for item "B": 

Catching Rover 

1 ) Walk around the house yelling "Yoo-hoo, Rover, 
time for your bath!" 

2) IF Rover isn't in sight, THEN GOTO 1. 

3) Say "There you are, you naughty boy!" 

4) Make a grab for Rover, avoiding the tusks. 

5) IF you got him, THEN RETURN. 

6) Lead Rover to the bath with a trail of peanuts. 
7) IF it worked, THEN RETURN. 

8) Give up. POP. RETURN. 

Notice that the list of sub-tasks begins to look like 
a program. There are IF-THENs, loops (the THEN 
GOTO 1 ), and of course RETURNs to allow you to 
continue back at step C (getting Rover into the tub). 



The POP command is a little strange. It means to 
pop out of the current level (or list of things to do) 
and continue the current list as if uie were on the next 
higher level list, which in this case is the list "Giving 
Rover a Bath." So, in order to "give up" in step 
eight, we have to first POP out to the main list and 
then RETURN to exit that list. If we had said 
RETURN without the POP, it wouldn't have meant 
giving up — it would have meant, incorrectly, that we 
had succeeded in catching Rover (because it would 
only exit us from the current "Catching Rover" list. ) 

When thinking in a top-down fashion, there are a 
few problems, like the POP mechanism, but in 
general it is a good, logical way to solve problems — 
and therefore a good way to program; for what is 
programming besides a systematic approach to 
problem solving? 

Of course, for us game writers, the top level 
problem is not "Giving Rover a Bath" but rather 
"Telling My Computer How To Execute My New 
Game Idea, Martian Big-Game Repairman," or the 
like. But breaking a game idea down into steps differs 
little from what we did above to the problem of 
cleaning Rover. If anything, top-down design of the 
game is easier. 

(continued on page 46) 



A 



OuinTech 



A 



TIRED OF REPETITIOUS COMPUTER GAMES? 

BORED WITH WAITING FOR YOUR SHOT 

AT THE ALIENS? 

Enter a magical garden of strategy — 
a new generation of game-playing with 

DOWN • draw a maze of paths 

THE • attempt the "antler dance" 

GARDEN • tailor all game attributes 

PATH • place and cast spells 

• each game a unique creation of the player(s) 
• simultaneous action against the computer 
or a friend 

• skill levels from apprentice to arch-wizard 

•MACHINE LANGUAGE 

•ATARI 800® 48K REQUIRED -DISK 34.95 



OUTSIDE ILLINOIS 
800-621-0660 



IN ILLINOIS 
800-572-0440 



Illinois residents add 6% sales tax. 

Allow 3 weeks for personal checks. 

$3.00 shipping and handling. 

QuinTech Systems, Inc. 

1271 Dundee Rd., Suite #44B, Buffalo Grove, IL 60090 

""Atari 800 is a registered trademark of Atari, Inc. 




i ! inniiiiiim»ii»mHinnfliini!ffii ,' ' i 

128K SOLID STATE 
DISK EMULATOR SYSTEM 

FOR 

ATARI 800" 

NOW 

$299°° 

IRAIKIP0WER128 I 

• DISPLAYS DATA IN 

MICROSECONDS 

• 20x FASTER THAN 

ATARI— 810 

• NO MOVING PARTS 

• SLOT COMPATIBLE 

• 160K POTENTIAL 

RAMPOWER 128 is actually eight - 16K 
banks of memory . . . lots of room for 
graphics, data, tables and program over- 
!ays."Omnimon" by CDY CONSULTING 
or the "Integrator" by ADS allows you to 
customize your own DOS, AUTO-BOOT, 
and some copy-protected programs. 
RAMPOWER 128 alsoenhances SYNAPSE 
Business Software with added memory 
and speed; "File Manager 800+", "Syn- 
F1LE", and "Syn-CALC." VALFORTH 
and OSS are also compatible. (Note: 
RAMPOWER 32K when modified for 
the first slot makes RAMPOWER 128 
compatible with 80 column boards. 



Z^^ ^ 



AXLON 

1287 N. Lawrence Station Road 
Sunnyvale, CA 94089 

(408)747-1900 




INTEC 

RAM BOARDS 

Lifetime Warranty 
ATARI 



32K 
48K 
64K 
16K 



400 / 800 
400 .... 
400 .... 
Vic 20 . . 



59.95 

84.95 

109.95 

69.95 



PRINTERS 

EPSON FX 80 529.95 

EPSON FX 100 729.95 

PROWRITER 8510 AP . . 369.95 
GEMINI 10 X 294.95 

INTERFACES 

Microbits MPP 1100 Atari . 

Grappler + Apple 

Cardco . . . VIC 20- '64' 



79.95 

124.95 

59.95 



MODEMS 



MPP 1000 Atari Direct-Connect W/Term. 

Software (No. 850 needed) 159.95 

Hayes Smart Modem 300 Baud 209.95 
Rana 1000 Drive 349.95 

Ordering Information: 

We accept M/C, VISA, Money Orders, and Cashier 
Checks. Sorry No C.O.D'.s. 
SHIPPING: Add 3% UPS ($3.00 Minimum). 
APO/FPO 5% ($5.00 Minimum). International 
Orders 10% ($10.00 Minimum). Credit Cards add 
3%. California Residents add 6% Sales Tax. 

MICRO 
MERCHANT 

898 Via Lata Suite 'H' 

RO Box 1516 A 

Colton, CA 92324 

ORDERS ONLY 

800-652-8391 

Customer Service 
714-824-5555 



A 

i ~/y n inJUtpemcible—' 
c ^Xoolf or hour 400/S0O 

Jncompa.rahU--' 
powerfr corwenierure I 

1-lere « wAaf tlie reviews sau • 

JlffflCTuU, S3: 

ITiwy wuxrocomputer should Hoa'P-^ 

this i,ort of hardware bated monitor. " 

MM0(j,3luj. S3- 

" ... agodynd for serious programmers . " 

"Our ttaf-f lyrcoranxHu'n fwsar bit it — ' " 

0j6ltlj60?{\ h not detectable by other 
Sofi'vare with the addition of a simple 
toggle svittch.Ybe-mangjeatummelude'- 
Complete system control-'Restdent: 
Uses no memory hut always available 1 . 
'Recover from Ldckup-Tlet-ible disk I/O 
fthaUor double dbuitu-Ciatl file wo 
'DOS-Tdit raw sector dara-Dufnpawu 
proaram to d4k- Supports TfitppV I 
Ma*uj debuggpna toolf-'wry userfrMdUj 

/ Prtce'm% ChsckorMD 

'Dealer/Distributor CfiYCoiWiltirM 

(Soomi$8ooatM QkharMorffX 

Orders only please! j^g^^^J^ 



VISA 



RATED X 



XBASIC by George Schwenk 

An extension of ATARI ' BASIC XBASIC provides 30 
new functions, including: All this power for only $29.95 



• Integer and String Arrays 

• Player Missile Graphics 

• Special Graphics Modes 

• Vertical Blank Sound 

• Requires less than 3 K RAM 

• Detailed Manual / 6 Examples 

XBASIC is ideal for tape users. 
Available as disc or cassette- Please specify 

FINE SCROLLING IN BASIC 

SCROLL IT by George Schwenk 

SCROLL IT is a relocatable machine language program 
which allows the BASIC programmer lo do variable 
speed horizontal, verticle and diagonal fine scrolling 
with a simple POKE. SCROLL IT supports all 6 ANTIC 
character modes and handles the intricate details of 
display list maintenance Available for ATARI* 
computers on tape or disk - 119.95 

Also available - FDOS - $39.95 

FDOS gives FORTH users named file handling (DATA 
FILE, FNT) and normal DOS functions Special features 
allow direct loading and/or conversion of DOS 2 OS 
files to FDOS Files, sector and screen copying 
Requires APX Fig - FORTH or compatible FORTH. 

ORDER SUPERware Dealer 

N0WI 2028 Kmgshouse Rd Inquiries 

Silver Spring. MD 20904 Invited 
(301)236-4459 

MC. VISA, AMX, Check, MO accepted 
Include $2.00 shipping, MD residents add 5% tax 



PAGE 46 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



One reason it's easier is that Atari BASIC gives 
you special commands to break things down into 
procedures. They are GOSUB, RETURN and POP 
(although we'll try to avoid POP). 

The RETURN gets you back from a procedure, 
like we saw above. GOSUB gets you into a procedure. 
Unfortunately, BASIC doesn't let you use names 
like "Catching Rover" for procedures. Instead, you 
have to use line numbers. But you can put a REMark 
on the line that calls the procedure (next to the 
GOSUB) and on the first line of the procedure itself. 

If "Giving Rover a Bath" were a BASIC computer 
program, here's what parts of it might look like: 



iBOQ 
1106 
1260 
1216 
1220 
1236 
1246 
1256 
1266 
2660 



REM - 

REM - 

GOSUB 

GOSUB 

GOSUB 

GOSUB 

GOSUB 

GOSUB 

END 

REM - 



Giving Rover a Bath 
Version 1.6 



2666 
3666 
4000 
5600 
6008 
7066 



REM - Prepare The Bathtub 

REM - Catch Rover 

REM - Get Rover Into Tub 

REM - Clean Rover 

REM - Dry Rover 

REM - Thank Rover/ciean Tub 



Prepare The Bathtub 



Instant fame. 

Do you crave fame? Have you always wanted to see 
your name in lights? Or, at least in A.N.A.L.O.G. 
Computing? 

If the answer is yes, then all you have to do is write 
to Our Game. If you send in a decent game idea, 
game suggestion or comment on the state of compu- 
ter/video games in general, it will almost definitely 
appear in these pages. And when it does, your name 
will appear with it, not to mention your home town 
(unless you are embarrassed about the whole thing, 
in which case we'll also print your social security 
number, shoe size, and favorite brand of toothpaste). 

Share those ideas with us! 

Send your mail to: 

Our Game 

c/o A.N.A.L.O.G. Magazine 

P.O. Box 23 

Worcester, Mass. 01603 

Don't miss the next Our Game — we may actu- 
ally start writing THE GAME itself. □ 



2288 RETURN 



Listing 1. 



3088 
3106 
3110 
3120 
3130 
3140 
3156 
3160 
3176 
3206 



etc, 



REM - Catch Rover 

GOSUB 3260 i REM - Walk And Yell "Yoohoo!" 

IF (Rover Not Found) THEN GOTO 3186 

GOSUB 3388 ! REM - Say "Naughty Boy!" 

GOSUB 3480 ! REM - Grab HiM 

IF (Rover Caught) THEN RETURN 

Lay Trail Of Peanuts 
THEN RETURN 
Give Up, End Progran 



GOSUB 3566 : REM 
IF (Rover Caught) 
POP : END : REM - 



REM - walk And Yell "Yoohoo!" 



Notice that in BASIC, END means RETURN on 
the highest level; it returns control to BASIC, exiting 
your program/procedure. 

Don't laugh, but the listing for our game is going to 
resemble the above fictional program quite a bit. 
Top-down programming is quite advantageous, 
making programs easier to read, understand, and 
debug, simply because it encourages a modular 
programming style. Not only that, these modules or 
procedures that you write are easier to transport to 
other programs; they are not tied to the rest of your 
program in the usual spaghetti of GOTOs. (Note 
that in truly modular programming, GOTOs are 
used only to perform loops that FOR-NEXT can't 
handle — never are they used to jump around.) 

Next time in this tutorial part of Our Game, we'll 
be discussing the arcane art of debugging — don't 
forget to bring along your favorite insecticide! 



180 REM - Bounce rev 2.2 

118 REM - by Joel Gluck / June'83 

128 GOSUB 168: REM - INIT 

138 GOSUB 288: REM - DRAM 

148 GOSUB 478: REM - BOUNCE 

158 GOTO 138 

168 REM - INITIALIZE 

178 DIM KD (15), YD (15) 

188 FOR Z=5 TO 15:READ A, 6 

198 XD(Z)=A:YD(Z)=B:NEXT Z 

288 DATA 1,1,1,-1,1,8,8,8 

218 DATA -1,1,-1,-1,-1,8,8,8 

228 DATA 8,1,8,-1,8,8 

238 GRAPHICS 5:P0KE 752,1 

248 SETCOLOR 8,8, 13 : SETCOLOR 1,9,2:SET 

COLOR 2,8,8 

258 X=48:V=24 

268 COLOR 3:PL0T 8,8:DRAUT0 79,8:DRAUT 

79,39:DRAKT0 8,39:DRAMT0 8,8 

278 RETURN 

288 REM - DRAW 

298 SETCOLOR 2,12,6 

388 ? :? ■■# use stick to draw walls," 

318 ? "* Hold trigger to erase," 

328 ? "* Hit ESC to clear screen," 

338 ? '■* Hit SPACE to bounce."; 

348 COLOR l:PLOT K,Y 

358 J=STICK(8) 

368 IF PEEK (764) =33 THEN POKE 764,255: 

RETURN 

378 IF PEEK(764)=28 THEN P8KE 764,255: 

GOSUB 236: GOTO 298 

388 IF J<>15 THEN 488 

398 LOCATE X,Y,G:C0L0R 3-G:PL0T X,Y:G0 

TO 358 

488 A=XD(J) :B=YD(J) 

418 IF X+A<1 OR X+A>78 OR Y+B<1 OR Y+B 

>38 THEN 358 

428 SOUND 8, (288-X-Y)*STRIG(8),8+2*STR 

IG(8),4 

438 COLOR 3*STRIG(8) :PLOT X,Y 

448 X=X+A!Y=Y+B 

458 COLOR l:PLOT X,Y 

468 SOUND 8,8,8,8:G0T0 358 

478 REM - BOUNCE 

488 ? :? :? "# Hit SPACE to draw.":? 

498 COLOR l:PLOT X, Y: A=l :B=1 :L=8 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 47 



588 IF PEEK«764J=33 THEN POKE 764,255: 
RETURN 

518 LOCATE X+A,Y+B,G:IF G<3 THEN COLOR 
2:PL0T H,Y:H=X+fl:Y=Y+B:COLOR l:PLOT X 
,Y:L=L+l:GOTO 588 

528 SOUND 8,L*4+28,18,8:L0C6TE X+A,Y,P 
A:LOCOTE H^Y+B.PBjSOUND 0,6,0, 8:L=0 
538 IF PA>2 THEN A=-A:GOTO 578 
548 IF PB>2 THEN B=-B:GOTO 598 
558 IF PEEKC537783>127 THEN B=-B:GOTO 
588 

568 A=-A:GOTO 588 
578 IF PB>2 THEN B=-B:GOTO 588 
588 COLOR 2: PLOT X, Y :Y=Y+B : COLOR l:PLO 
T X,Y:GOTO 588 

598 IF PA>2 THEN A=-fl:GOTO 588 
688 COLOR 2:PL0T X, Y :X=X+A : COLOR l:PLO 
T X,Y:GOTO 588 



CHECKSUM DATA 

(see p. 70) 

188 DATA 538,71,185,175,412,787,787,59 
8,256,624,974,244,446,437,453,6967 
258 DATA 982,576,604,886,743,256,63,38 
8, 794, 719, 928, 756, 796, 739, 751, 9893 
488 DATA 646,918,538,884,194,724,169,4 
86,305,145,742,399,231,981,913,8187 
558 DATA 925,144,895,257,898,229,3348 



STOP PLAYING GAMES 




Calculate odds on HORSE RACES with ANY CCMPU 
TER using BASIC. 

■ SCIENTIFICALLY DERIVED SYSTEM really works TV 
Station WLKY of Louisville Kentucky used this sytem 
to predict the odds ot the 1980 Kentucky Derby See 
the Wall Street Journal (June 6. 1980) article on 
Horse-Handicapping This system was written and 
used by computer experts and is now being made available to home computer owners This 
method is based on storing data from a large number of races on a nigh speed large scale 
computer 23 factors taken from the Daily Racing Form were then analyzed by the 
computer to see how they influenced race results From these 23 factors fen were found to 
be the most vital in determining winners NUMERICAL PROBABILITIES ol each ol these to 
factors were then computed and this forms the basis ol this REVOLUTIONARY NEW 
PROGRAM 

■ SIMPLE TO USE Obtain Daily Racing Form the day betore the races and answer the 10 
questions about each horse Run the program and your computer will pnnl out the odds lor 
an noises in each race COMPUTER POWER gives you Ihe advantage' 

■ YOU GET ii Cassette 

2) Listing ol BASIC program lor use with any computer 
3} Instructions on how 10 gel Ihe needed dala Irom the Daily Racing Form 
41 Tips on using the odds generated by ihe program 
Si Sample loroi lo simplify entering dala lor each race 
MAIL COUPON OR CALL TODAY — 

3G COMPANY, INC. DEPT. A G 

RT. 3, BOX 28A, GASTON, OR 97119 

Yes, I wanl lo use my computer lor FUN and PROFI I Please send me programs 

aiS24-95 each. Circle ihe cassette you need PET/CBM. VIC 20. Commodore 64, 

Sinclair Timex 1000. Alan TRS-80. Color Compuler. or 

Apple lApple Disk available— add S5 00) ^B" 

Enclosed is: Cj check or money order Li MasterCard LJ Visa 49 



Card No 
NAME 
ADDRESS _ 
CITY 



(503) 357-5607 







Exp dale 








STATE _ 


ZIP 





START USING YOUR COMPUTER FOR 

FUN and PROFIT! 




RADICAL SYSTEMS™ 

proudly presents 

16K Cartridge Maker™ eprom burner 

for the ATARI® 800 

with Cartridge Clone™ 

$129 

• Make your own cartridges for the ATARI®, on the atari®. 

• Backup 8K and 16K cartridges to cassette, disk or EPROM by 
merely plugging cartridge into Cartridge Clone™. 

• Cassette or disk backup copy is not executable. 

• Burn your own code. 
Programs single voltage 2K, 

4K, and 8K EPROMS - 2732, 
2732A, 2532, 2716 (2516), 
2564, 2764. 

Commands include Help 
menu, Blank check, Verify, 
Copy, Program, Display, Save 
to device, Exit to DOS, Exit 
to left cartridge, Load from 
device, Quickload into 
buffer. 

• Plugs into right Cartridge slot. No cabling required. Ready 
to run! 

• Stands alone or can be used with ASSEMBLER/EDITOR Car- 
tridge, DOS, or AMAC. Required memory 32K. Disk not 
needed but supported. 

• May be called from BASIC. 

• Manual, EPROM resident software, and all adapters in- 
cluded. 

Also available — 8K eprom cartridge boards 

which can be used in atari 400 or 800 in left or right 

Slot. Uses 2532, 2732. Without EPROMS $15 

16K EPROM cartridge boards 

which can be used in ATARI 400 or 800 in left slot. 

Uses 2764. without EPROM $25 

BETLJUZ " JAZZ MUSIC BOX $25 

Automatically generates over 50000 songs. 

In the "automatic" mode, synthesizes a melody, harmony, 
snare drum, and bass part for each of the 50000 songs. 

Capable of providing a computer arrangement of user 
melodies. In this "manual" mode, the user "plays" his melody 
on the keyboard, and the program provides a harmony, 
snare drum, and bass part to arrange the user melody. 

Program source code is documented and is an excellent 
tool for experimenting with music synthesis. Requires 32K 
810 disk drive, and BASIC cartridge. 

SKETCHPAD™ S25 

A drawing tool for creating designs on ATARI? 400, 800. 
Joystick controller positions cursor in drawing area of TV 
display. 25 commands for drawing, coloring, and merging 
designs. Draw points, lines, boxes, circles, lines radiating from 
a common point, and solid areas. Change the hue and inten- 
sity of four pen colors. 128 -color palette (16 hues and 8 lumi- 
nosities) are available. May display four colors at a time. 
Merge a screen design with one stored on cassette or disk- 
ette. Requires BASIC cartridge, joystick, disk drive, 24K. 

SKETCH PRINT™ S25 

Graphics printing program prints Sketchpad " files on 
EPSON printers with CRAFTRAX 12 different ways. 

IRON-ON produces a printout which may be transferred 
to a T-shirt. Requires BASIC cartridge, EPSON MX-80 or 
MX-100 With CRAFTRAX-80 Or CRAFTRAX-PLUS, 850 inter- 
face or equivalent, 24K, 810 disk. 

DISTRIBUTORS WELCOMED! 

RADICAL SYSTEMS ™ 

2002 COLICE ROAD, S.E., HUNTSVILLE, ALABAMA 35801 - (205) 5390521 

CHECK OR MONEY ORDER. MINIMUM SHIPPING CHARGE S3. COD ADD $2. 

ATARI is a registered trade mark of Warner Communications. 



PAGE 48 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



EAGLES 

Strategic Simulations, Inc. 

883 Stierlin Road 

Building A-200 

Mountain View, CA 94043-1983 

40K Disk $39.95 

by Edward Bever 

Have you ever dreamed of flying a World War I 
biplane, twisting and turning in desperate combat 
against an enemy ace? If so, then Eagles was intended 
for you. Once you boot this introductory level game 
into your system, you and up to nineteen friends can 
dogfight to your hearts' content, and the only thing 
that can get hurt is your pride. 

Before the game begins, the computer presents a 
wide variety of choices about the situation to be 
played: the number of pilots on each side, the period 
during the war the combat is to take place, the scale 
of the battle, the planes' initial positions, the weather 
conditions, and whether or not special aircraft like 
two-seaters and balloons are to be included. Each 
situation can be played as a discrete game, or they can 
be linked together as a "campaign" game. If you like, 
the computer will do enough of this decision-making 
itself that a beginner need not feel overwhelmed; at 
the same time, an experienced player can create just 
about any imaginable situation in the air during the 
Great War. 

Once initialized, the program displays a "bird's 
eye view" of the first player's plane and any friends 
and enemies in the vicinity. It also presents a list of all 
the possible moves: straight ahead, climbs and dives, 
turns, diagonal slips, skids and rolls. Movement is 
calculated in terms of hypothetical "squares," and 
the probability that a plane will execute a maneuver 
successfully is a function of its maneuverability and 
speed ratings. Most maneuvers involve movement of 
one square at a time, but one allows two forward 
moves, while some others span two turns and may 
not be interrupted in the middle. 

If a plane ends its movement heading at a nearby 
enemy, it may attempt to shoot it down. The 
computer displays the probability of a hit on all 
potential targets, and the player indicates which one 
his plane will attack and the length of the burst it will 
fire. The longer the burst, the greater the chances of 
damaging the target, but also the faster the machine 
guns use up their ammunition, and the greater the 
danger that they will jam. The computer then calcu- 
lates and reports on the result, which will be a miss, a 
hit that merely leaves a few holes in the canvas, a hit 
that causes some kind of serious damage, or a kill. 
The computer may also report that the guns have 
jammed. The pilot may be able to clear them in a sub- 
sequent turn, or he may have to pray and head for 
home. 



The computer can control all the planes on one 
side and/or wingmen for the players. Naturally, its 
moves are somewhat less elaborate since it does not 
have to interact with a person. Regardless of who 
controls it, though, each plane moves and fires in 
succession, first all the Allied aircraft, then all the 
Germans. 

The birds eye view display shows the horizontal 
relationships between the moving plane and its 
neighbors, but it cannot convey their verticle 
relationships, and it does not stretch far enough to 
indicate all planes that might intervene in its battle. 
Therefore, players can flip to another display that 
lists all the aircraft in a wider area, along with each 
one's relative altitude, horizontal position, heading, 
and attitude (e.g. whether it is banking or executing a 
loop). This display is accessed by a single keystroke, 
and the player can return to the main display by 
tapping the space bar. 

Some of Eagle's features are quite good: the 
variety of situations and aircraft, the simplicity of the 
game system, and the quality of the graphics on the 
main display. However, it suffers from a number of 
faults that seriously detract from its value as a simu- 
lation and as a game. 

First of all, the program loads too slowly. It takes 
approximately one minute before the program asks 
which graphics chip is in the machine, a second full 
minute before it begins requesting decisions about 
the situation, and a third full minute after this 
information is supplied before the game begins. 
While such sluggishness would not be so bad if the 
program only had to be loaded once per session, 
Eagles must re-load before each dogfight, going all 
the way back to determining which graphics chip is 
in the machine. Particularly when a player is first 
learning the game, it can seem that more time is spent 
waiting for the game to load than playing it. This 
seriously detracts from its value for beginning 
gamers, its target audience, (continued on next page) 



WANT 

TO 

SUBSCRIBE? 

CALL 

TOLL FREE 

1-800-345-8112 

In Penna. 1-800-662-2444 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 49 



Secondly, the game plays too slowly. The 
computer must re-draw the screen for each move of 
each plane, even when it and its target square are 
already on the screen. This procedure is especially 
tedious because the screen displays all the possible 
commands. While this feature was obviously added 
to aid the novice, I believe it does not justify the extra 
time it takes. Particularly during long chases, players 
will find themselves entering the same command 
over and over, and would gladly trade the useless list 
for some extra speed of execution. The summary of 
commands would be just as handy printed on a piece 
of laminated cardstock. 

Third, the use of two screens is time consuming 
and confusing, and worst of all, unnecessary. 
Flipping back and forth between them takes time, 
and it is hard to sort out and remember the infor- 
mation when there are a number of planes in the 
area. Such a cumbersome procedure is particularly 
unfortunate in a game designed for beginners. What 
is most frustrating, if the main screen did not include 
the list of commands, all the information on the 
screen could fit in its space. Or, better yet, a single 
display with smaller pictures could hold all the 
information by itself. 

Finally, the game is not realistic. While a great deal 
of care obviously went into the research and design, 
the historical commentary that comes in the docu- 



mentation itself mentions several maneuvers that 
were used to let a pursuing plane overshoot its target 
(and thereby become the pursued) that are not 
possible in the game. Furthermore, the commentary 
emphasizes the danger of overstressing the aircraft, 
but in Eagles the planes' maneuvers are rigidly 
bound by the limits of safety. Nevertheless, these 
problems are relatively minor, and would be unim- 
portant if the game gave the "feel" of the situation. 
As the commentary itself notes: "Once the dogfight 
was joined, ability to maneuver quickly and 
correctly became all important. Moves had to be 
made so fast that there was no time to consider — 
you merely had to sense the right action and, by 
using the stick and rudder-bar almost instinctively, 
to bring it off. Dogfighting seemed. . .a matter of 
elemental, nearly automatic reaction." Nothing 
could be further from the play of this game. 

Perhaps the author set himself an impossible task 
trying to design a computerized dogfighting game 
that moves at the speed of Atari BASIC. Eagles is 
authentic without being particularly realistic; it is 
simple without being especially playable. I find it 
mildly enjoyable as a sort of three-dimensional 
chess, but no one else whom I have asked to try it has 
reacted at all favorably to it. SSI has brought us many 
fine war games, but Eagles does not rank among 
them. □ 



Why spend $200 

for a spreadsheet when you can buy 

HOME-CALC for under $40 

Available for all Atari computers 

r See your dealer or order direct 



*Car Expenses 
*Budgets 
*Finances 
*lncome Tax 
"Investments 
*Sports Records 
*Payment Schedules 
*Stock Portfolios 
*Expense Accounts 

Cassette - S29.95 
Diskette - $39.95 

Home-Calc is a powerful, inexpensive spreadsheet for 
home and business calculations. You can enter 
numbers, labels, or fomulas in each cell. Home-Calc 
allows you to add, subtract, multiply, divide, use the 
exponential guide, sum, and recalculate. The diskette 
version also features a replicate command. Maximum 
spreadsheet size is 510 cells for the 48k diskette ver- 
sion. (Disk version requires 24k memory; cassette 
requires 16k memory.) 




Phone orders— (215) 825-4250 

HOME-CALC cassette— $29.95 
HOME-CALC diskette— $39.95 

Shipping and handling 

C.O.D. and credit card add SI. 50 

6% sales tax (PA, NJ residents only) 

TOTAL 

Name . 

Address 

City 

Phone 



S2.00 



.State. 



.Zip. 



DMC# 

□ V1SA# 

Exp. Date 

Atari 400/800/1200 arc trademarks 
of Atari, Inc. 

Dealer, Distributor, and 
Representative inquiries invited 



fresh ideas in Software . 




COMPUTER PRODUCTS INC. 
1100 E. HECTOR ST. 
WHITEMARSH, PA. 19428 



PAGE 50 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



BASIC 

TRAINING 



by Tom Hudson 



With this issue, ANALOG begins a new column: 
BASIC Training. This column will concentrate on 
one or more features of Atari BASIC, while present- 
ing a useful program or subroutine to illustrate the 
techniques discussed in the column. Readers are in- 
vited to send topic suggestions to BASIC Training, 
ANALOG Computing, P.O. Box 23, Worcester, 
MA 01603. 

Just a souped-up calculator? 

It has been said that computers are nothing more 
than glorified adding machines. True, computers 
can't do anything without explicit instructions, but 
they can do one thing most calculators can't: They 
can make decisions. 

The computer's ability to make decisions is what 
allows it to crank out hundreds of paychecks one 
minute and play a championship-level game of chess 
the next. This article will examine BASIC'S decision- 
making statement, "IF." 

Go with the flow. 

To illustrate some of the concepts presented in 
this column, I will be using a programming tool 
known as the FLOWCHART. Some readers may be 
familiar with flowcharts already, but for those not 
acquainted with this method, I will briefly 
summarize the technique. 

For our purposes, we will use only three flowchart 
symbols, shown below. 




The leftmost figure, a rectangle, is the general 
PROCESSING symbol. This symbol will be used to 
represent most operations performed by the 
computer. 

The center figure, a circle, is the CONNECTOR 
symbol. It is used, not surprisingly, to show a logic 
connection between parts of a program. 

The rightmost figure, a diamond, is the 
DECISION symbol. Decisions are what this article is 
all about. Whenever a decision must be made by the 
program, the DECISION symbol is used. 

In order to see how these flowcharting symbols are 
used, let's look at a situation we're all familiar with: 
Making a phone call. 

Figure 2 



Figure 1 



O 




Figure 2 shows a simple flowchart for making a 
phone call. If you look at the flowchart closely, you 
will see that it is not very practical. What if there is an 



A million laughs 



Or AHt utlANut You are the game-happy owner 
of the Spare Change Arcade. Two fun-loving, but overworked 
Zerks— the main characters in your most popular game — have bro- 
ken loose and are trying to retire from the business. You try madly to 
stop them. If you can get a coin into the juke box, the Zerks get so 
caught up in the music, they drop everything and start dancing. You 
also try popping popcorn and making a pay phone ring— which 
immediately makes the Zerks stop, answer and start a wild con- 
versation. If you "win" the game, 
there are rib tickling cartoons by 
the Zerks to reward your efforts. 
It's a game full of sight gags, 
surprises and comedy. From the 
best. Br0derbund! For the 
Apple" 11/11 + /He, Atari® 
Computers, and Commodore 
64™ in disk format. 




and an endless challenge 

_«^v ■ rkrtr* niiuurnTM 




Here's a game that will never stop challenging 



LODE RUNNER 

you. That's because Lode Runner is more than a spellbinding, fast- 
action game with its 150 different mind-boggling game screens. Lode 
Runner is also an easy-to-use Game Generator that lets you create your 
own games. Without any knowledge of programming, you can easily 
design unique Lode Runnner screens, then bring them to action-packed 

life. You will maneuver through scene 

after scene, running, jumping, drilling 
passages and outfoxing enemy 
guards in a secret underground hide- 
away as you pick up chests of gold 
stolen from citizens of the Bungeling 
Empire. There's no end to the thrills, 
chills and challenge. Of course, it's 
from Br0derbund! For the Apple® 
ll/ll + /lle; Atari® Computers; 
Commodore 64™ (disk 
and cartridge); VIC-20™ 
(cartridge); IBM® PC. 



Ask your Br0derbund dealer for sneak previews. 



WBroderbund Software 



Discover the Difference 



17 Paul Drive San Rafael, CA 94903 

Apple II, II + , lie are registered trademarks of Apple Computer. Inc. ATARI 400/800/1 200 , Commodore 64 and VIC-20 and IBM are 
trademarks of Atari, Inc., Commodore Electronics, Ltd., and International Business Machines Corporation, respectively. 



ATARI SINGS YOUR FAVORITE SONGS!!! 

THE Original VOICE BOX Speech Synthesizer by the ALIEN GROUP has received rave reviews: 

MICRO COMPUTING-"The VOICE BOX injects an endearing personality to your computer. The possibilities are enormous." 

COMPUTE-"The VOICE BOX offers more human-like tones and does not blank out the screen." 

CREATIVE COMPUTING-"English text and phonetic code may be 

freely intermixed rather than requiring separate modes as is the case 

without exception with every other speech system. A mode called 

talking face displays an animated face with impressive lip sync 

animation." 

ANTIC— "There is a great potential for teaching children to spell and 

an added dimension to games overall. I believe the VOICE BOX is 

well worth the price tag." 

ANALOG-"For ATARI owners who want to add speech to their 

programs, the Alien Group VOICE BOX is probably the best 

choice." 

POPULAR SCIENCE-"The speech quality is excellent. Besides 

creating speech, the software has a bit of fun with graphics." I 

and on the new VOICE BOX II V 

TIME MAGAZINE-"Machine of the Year" "The VOICE BOX by the 

Alien Group enables an ATARI to say aloud anything typed on its , NCO RPORATE THE SINGING HUMAN FACE 

b£° a ? x^ lang " age ' , lf °' S ° SmgS Ama f ng t GrQ , Ce , ° nd INTO YOUR PROGRAMS AND GAMES 

When I'm 64 or anything else that anyone wants to teach it. 






VOICE BOX II 
Speech & Singing Synthesizer 



To order by mail send a check or money order to the ALIEN GROUP 
for $169. 



THE ALIEN GROUP 
27 West 23rd Street 
New York, NY 10010 



(212)741-1770 



The New VOICE BOX II for ATARI plugs into the serial port of the ATARI 
400/800 with sound coming out of the TV/monitor. 48K DISK is re- 
quired. It has all of the features of the original VOICE BOX plus many 
exciting new hardware and software features: 

• The ability to sing with voice and 3 part music. 

• A library of 30 famous songs. 

• A comprehensive music system that allows the user to easily enter or 
modify new songs. 

• Software that can convert the bottom two rows of the ATARI keyboard 
into a piano with a range of 3'/2 octaves using the shift and control 
keys. 

• Programmable musical sound effects such as tremolo, vibrato, glis- 
sando and click track. 

• A singing human face with lip-sync animation designed by Jerry 
White. 

• A talking or singing AUEN face with software that allows the user to 
change the face and 8 mouth patterns as he sees fit. 

• The ability to speak with inflection and feeling. 

•Can speak in a foreign language with correct foreign spelling as 
input. 

• A talk and spell program by Ron Kramer. Users can program any 
vocabulary for this spelling game. In fact, this program can even 
speak in a foreign language like French, where the user must spell 
the correct word in English, or vice versa. 

• GREEN GOBLINS-A talking arcade game by John Wilson. 

• Random Sentence Generator-An amusing grammar game that 
helps teach school children to identify parts of speech and recognize 
a variety of sentence structures. 

• NUMBER SPEAK-A subroutine by Scott Matthews that converts up to 
a 9 digit number into normal English pronunciation. Ideal for build- 
ing your own math games. 

• STUD POKER-A talking poker game by Jerry White. 

• The screen never blanks out while talking or singing. 

• Singing or speaking subroutines can be incorporated into your 
programs, requiring as little as 100 bytes of RAM plus 5 bytes for 
each word. 

• Price $169.00 includes VOICE BOX II and all of the above software. 

• Inquire about our discounts for educational institutions. 



ALSO AVAILABLE AT LEADING COMPUTER STORES THROUGHOUT THE WORLD. 

Atari is a registered trademark of Warner Communications. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 53 



answer but the person you want to talk to is not 
home at the time? It soon becomes obvious that even 
a simple phone call requires many decisions. 

Figure 3 




Figure 3 shows a more detailed phone call 
flowchart which contains 8 decisions. Note that 
each decision is structured to have a YES or NO 
answer. For example, the decision "IS IT A PAY 
PHONE?" has only two possible answers. If the 
phone is a pay phone, we must have 10 cents to make 
it operate. If it is not a pay phone, we can go ahead 
and dial the desired number. 

Flowcharts are a valuable tool for outlining a 
program's vital functions. Unfortunately, most 
programmers are more excited about actually 
writing programs than sitting down and figuring 
them out. I hate to admit this, but I am as guilty as 
anyone of sitting down and writing programs at the 
keyboard, neglecting to plan the program out 
beforehand. The result is usually that a major 
restructuring of the program is necessary later to 
resolve unforseen problems. The moral: PLAN your 
programs — you'll be glad you did. 

Decisions, decisions. 

As pointed out earlier, even a simple phone call 
requires that several decisions be made by the caller 



in order to accomplish the task. It is not unrealistic 
to say that the normal person probably makes 
thousands of decisions every day. 

Your computer can make decisions, too, but quite 
a bit faster than any human. In fact, the ATARI 
computers, in machine language, can make hundreds 
of thousands of decisions every second! Of course, 
BASIC can't work this fast, but you can get the 
general idea — computers "think" circles around 
almost any human. 

To let you help your computer make decisions, 
BASIC provides a program statement called 
"IF/THEN." This statement is incredibly versatile, 
and has many possible uses, depending on how it is 
structured. The general format of the IF /THEN 
statement is: 

IF expression THEN (line number ) 

(statement [statement. . .]) 

The best way to learn how the IF/THEN 
statement is used is to actually try it. Let's start with 
the simple example shown in the flowchart in Figure 
4. 

Figure 4 




This program will accept a number from the 
keyboard. After accepting the number, three 
comparisons are made. The first checks the number 
to see if it equals one. If it does, a message is printed 
verifying the number and the program branches back 
to accept another number. If the number is not one, 
the computer checks to see if the number is a two. If 
so, an appropriate message is printed and another 
number accepted. If the number is neither one nor 
two, a comparison is made to see if the number is a 
three. If it is, a message is printed and the program 
branches back to get another number. If the number 
was not a one. two or three, a message is displayed 
and another number is accepted. Figure 5 shows a 



PAGE 54 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



BASIC program corresponding to the flowchart in 
Figure 4. 

Figure 5 

10 INPUT NUMBER 

28 IF NUNBER=1 THEN PRINT "0NE":G0T0 1 



38 IF NUNBER=2 THEN PRINT "TWO" : GOTO i 

8 

40 IF NUNBER=3 THEN PRINT "THREE" :G0T0 

18 
58 PRINT "NUMBER NOT 1, 2 OR 3 — TRY AG 
AIN":G0T0 10 

This program shows what is probably the simplest 
example of the IF /THEN statement. Lines 20, 30 
and 40 are the comparison lines. Look at line 20. 
This line checks to see if the number entered was a 
one. If the number is equal to one then the program 
prints the word "ONE" and goes to line 10 to get 
another number. This comparison code reads almost 
like English, making the program very easy to 
understand. 

What happens at line 20 if the number is not a 
one? Inside the computer, the results of comparisons 
are stored as either a one or zero, the binary number 
equivalent of TRUE or FALSE. In line 20, if the 
number is not a one, the computer's decision value 
will be a zero, or FALSE. Since the IF condition was 
not satisfied, the computer will continue processing 
with the next line in the program, line 30. Whenever 
the IF condition is not TRUE, the program will go to 
the next line. 

Multiple conditions. 

There are some cases where several decisions are 
made in order to perform a certain function. One 
such case is where the user must enter a number in a 
certain range. Figure 6 is a flowchart of such a case. In 
this illustration the input value can range from 100 
to 1999, and any other values are ignored. For 
simplicity we will assume that we are working with 
whole numbers. 

Figure 6 




We can handle this situation in several ways 
through BASIC. The first and most obvious is to 
have two separate IF /THEN statements, as shown in 
Figure 7. 

Figure 7 



18 PRINT "ENTER A NUMBER FROM 100 TO 1 

999" 

20 INPUT NUMBER 

30 IF NUMBER<100 THEN 10 

48 IF NUNBER>1999 THEN 18 

58 PRINT "THE NUMBER "; NUMBER;" IS IN 

RANGE" 

68 GOTO 10 



This program will work fine, but there is another 
way to accomplish the task with fewer lines. The 
technique is easy to use, and once again reads similar 
to English. The first alternate program is shown in 
Figure 8. 

Figure 8 



10 PRINT "ENTER A NUMBER FROM 100 TO 1 

999" 

20 INPUT NUMBER 

30 IF NUMBER <188 OR NUNBER>1999 THEN 1 



40 PRINT "THE NUMBER "; NUMBER;" IS IN 

RANGE" 

50 GOTO 10 



Figure 8 shows the use of the "OR" operator in 
line 30. This one line replaces lines 30 and 40 in 
Figure 7. 

How does "OR" work? Actually, it's very simple. 
Whenever two or more comparisons will result in 
the same action (such as GOTO 10), the 
comparisons can be consolidated into one. In the 
above example, the program will GOTO 10 if 
NUMBER is less than 100 OR NUMBER is greater 
than 1999. 

The "OR" operator will result in a TRUE result if 
any condition in the IF/THEN statement is TRUE. 

The comparison we made in the above example 
branched to line 10 if the number was out of the 
specified range. Another way to program the above 
test would be to see if the number is INSIDE the 
specified range. The flowchart for such a test is 
shown in Figure 9, and the BASIC code in Figure 10. 

Figure 9 




ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 55 



Figure 10 

18 PRINT "ENTER A NUMBER FROM 198 TO 1 

999" 

28 INPUT NUMBER 

38 IF NUMBER>=188 AND NUHBER<=1999 THE 

N PRINT "THE NUMBER ";NUMBER;" 15 IN R 

ANGE" 

48 GOTO 18 



Looking at Figure 10, you will notice the user of 
the "AND" operator in Line 30. Unlike the "OR" 
operator, ALL conditions in a multiple comparison 
MUST be TRUE.. For example, if the number en- 
tered is 5, it satisfies NUMBER<=1999 but does 
not satisfy NUMBER>=100. Since the AND oper- 
ator requires that both conditions be TRUE, the fi- 
nal result is that the IF statement is FALSE, and the 
program falls through to line 40. If the number en- 
tered is 540, it satisfies both NUMBER>= 100 AND 
NUMBER<=1999, so the "in range" message will 
be printed. After the message is printed, the program 
continues to line 40, where the GOTO sends the 
program to line 10. 

In this particular case, the AND operator saves us 
an additional line, with the program only using 4 
lines total. 

ON-ward and upward. 

Many programs give the user several choices as to 
what the computer is to do. The list of options is 
usually referred to as a MENU. "Menu-driven" 
programs provide ease of use for people who are not 
familiar with computers. 

Programming menu structures is very easy using 
the IF/THEN statement Figure 11 shows the 
flowchart for a simple three-choice menu. 

Figure 11 




Now that we have covered IF /THEN statements, 
writing this routine in BASIC should be easy. Figure 
12 shows one of the ways this flowchart can be 
handled in BASIC. 

Figure 12 

18 PRINT "WHAT 00 YOU WANT TO DO?" 

28 PRINT 

38 PRINT " 1. CALCULATE 2+2" 

48 PRINT " 2. SAY •HELLO 1 " 

58 PRINT " 3. DO NOTHING" 

68 PRINT 

78 PRINT "ENTER THE NUMBER YOU WANT" 

88 PRINT "AND PRESS RETURN." 

98 INPUT NUMBER 

188 IF NUMBER=1 THEN 1888 

118 IF NUMBER=2 THEN 2888 

128 IF NUMBER=3 THEN 3888 

138 PRINT "OOPS — TRY AGAIN!" 

148 PRINT 

158 GOTO 18 

1888 PRINT "2+2 = 4" 

1818 GOTO 18 

2888 PRINT "HELLO!" 

2818 GOTO 18 

3888 PRINT "O.K." 

3818 GOTO 18 



Three IF/THEN statements are all that are needed 
for this simple application, but let's consider what 
could happen with other circumstances. What if 
there were 20 choices instead of only three? Using 
the IF/THEN technique would require 20 lines of 
code for a simple menu! Surely there must be a better 
way, right? Luckily for us, ATARI BASIC contains 
two handy statements, ON/GOTO and 
ON/GOSUB. These statements are essentially a 
series of IF/THEN statements wrapped into a single 
statement. Let's take a close look at how they work. 

The format of the ON/GOTO and ON/GOSUB 
statements is as follows: 

ON expression (GOTO) lineno [Jineno. . .] 
(GOSUB) 

The interesting thing about the ON/ statements is 
that, depending on the value of the expression, they 
will automatically GOTO or GOSUB the 
corresponding line in the line number list. If the 
expression evaluates to 1, the program will 
GOTO/GOSUB the first line number. If the 
expression evaluates to 2, the program will pass 
control to the second line number in the list, and so 
on. If the expression evaluates to or is larger than 
the number of line numbers in the list, the program 
will fall through to the next statement in the program 
after the ON statement. 

The ON/GOTO statement is perfectly suited for 
menu applications, especially when many selections 
are available. Figure 13 shows the program from 
Figure 12 which has been modified to use the 
ON/GOTO statement. 

Figure 13 
18 PRINT "WHAT DO YOU WANT TO DO?" 



20 PRINT 

39 PRINT " 1. CALCULATE 2+2" 
48 PRINT " 2. SAY •HELLO'" 
50 PRINT " 3. DO NOTHING" 
60 PRINT 

70 PRINT "ENTER THE NUMBER YOU WANT- 
SO PRINT "AND PRESS RETURN." 
90 INPUT NUMBER 

100 ON NUMBER GOTO 1008,2000,3000 
110 PRINT "OOPS — TRY AGAIN!" 
120 PRINT 
130 GOTO 10 
1008 PRINT "2+2 = 4" 
1818 GOTO 18 
2888 PRINT "HELLO!" 
2010 GOTO 10 
3000 PRINT "O.K." 
3010 GOTO 10 



As you can see, lines 100, 110 and 120 in Figure 
12 have been replaced by line 100 in Figure 13. If 
NUMBER is 1, control passes to line 1000; if it is 2, 
control passes to line 2000; and if it is 3, control goes 
to line 3000. If NUMBER was not 1, 2 or 3, control 
passes to line 110, where the error message is 
printed. 

It is easy to imagine how much memory (and 
typing!) can be saved by using the ON/GOTO 
statement whenever possible. 

Next issue we'll look at non-relational and string 
comparisons and apply all we've learned with a 
program that gives Atari BASIC a PRINT USING 
capability. Until then, try to apply some of the 
concepts we've already covered in your own 
programs. □ 



ATARI' 



PAYROLL SOFTWARE 

^FOR 
HE ATARI 800" 



Miles Payroll System™ is an advanced and comprehensive payroll accounting system 
designed for businesses today. Cumulative totals are maintained (or each employee, as well as 
complete reporting, check writing, and W-2 reporting. Some features include: 

• Random access file organization for fast updating of individual records. 

• Allows weekly, biweekly, semimonthly or monthly pay periods. 

• Completely menu-driven and user-friendly. 

• Regular, Overtime, Double time. Sick, Holiday, Vacation, Bonus and Commission earning categories. 

• Payroll deductions include Federal W/H Tax, State W/H Tax. City W/H Tax, RCA, SDL Group 
Insurance and 3 user-defined deductions. 

• Tax sheltered annuity deduction capability for IRAs and other tax shelters. 

• State and Federal Unemployment Insurance maintained 

• Complete file viewing and editing capability. 

• Maintains up to 50 employees. 

• Up to 10 user-defined Worker's Compensation classifications. 

• Federal Tax tables may be changed in only 1 5 minutes each year by user when IRS changes tax 

• Table method used for State and City Tax, allowing compatibility with any state's or city's tax. 

• Produces 15 different reports, including W-2 Forms Report. 

• Checks calculated and printed automatically. 

• PROGRAM ENABLING MODULE™ protectsvaluablepayrollinfofrnatcnfrcimunauthorizedusers 

• 3 user-defined payroll deductions to accommodate customized needs such as savings, profit 
sharing tax shelters, pensions, etc 

• Pay period, monthly, quarterly and yearly cumulative totals maintained for each employee. 

• Automatic input error detection and recovery protects system from user- genera ted errors. 

• Easy-to-follow, detailed, and comprehensive user's manual and tutorial leads the user step 
by step allowing anyone with little computer experience to easily operate the packaga 
Includes index. 

• Color, sound, and graphics utilized for user ease. 

• Maintains employee pay history. 

• Allows for manual payroll check writing. 

• Packaged in a handsome 3-ring deluxe pocketed binder with 3 diskettes and manual. 

• Reasonable price. 

See your local store, or contact Miles Computing. 

ii MILES COMPUTING 

Am liUc 7136 Haskel1 Ave - * 204 

/ J» llieb Van Nuys,CA 91406 

' (213)994-6279 

Atari is a registered trademark of Atari, Inc. 

Miles Computing, MILES PAYROLL SYSTEM, PROGRAM ENABLING MODULE are trademarks 
ol Miles Computing, Van Nuys, California. Not affiliated with Atari, Inc. 
$1 79.95. Requires 32K and two Atari* 810" disk drivers Payment in U.S. funds required with 
order. California residents add 6.5% sales tax. C.O.D. or prepayment only. Dealer inquires 
welcome. 



A 



OuinTech 



A 



graphics 



dynamic computer art is here! 
express your artistic talent immediately with 

VISUAL SYNTHESIZER 34.95 DISK 

• menu driven • multi-window graphics • interactive function keys 

• save visual productions on disk 

• thousands of geometric variations possible 

■ machine language algorithm for enhanced speed 

ALSO AVAILABLE: 

VISUAL MOODS I, II, or III 19.95 EACH DISK 

five complete VISUAL SYNTHESIZER productions 
with interactive function keys on each disk. 

utilities : 



BASIC HACKER'S PACK 19.95 DISK 

a disk-full of Atari® Basic utilities 
for your programming ease and enjoyment 

• disk directory -disassembler • binary load 

• find or list variables • immediate DOS commands and 

• block line deletion hex/decimal conversion 



S. E. SORT 



24.95 DISK 



• sort strings and/or disk files • 140 10-byte records per second 

• Basic USR statement call • input/output user exits 
1 enhanced tree algorithm • machine language 

• up to 10 keys — each key ascending or descending • error handling 

• sort statistics -full documentation • sample programs 
LICENSING AVAILABLE 



OUTSIDE ILLINOIS 

800-621-0660 



IN ILLINOIS 

800-572-0440 



DEALER INQUIRIES INVITED CALL FOR OUR COMPLETE CATALOG 

Illinois residents add 6% sales tax. Allow 3 weeks for personal checks. 

$3.00 shipping and handling. 

QuinTech Systems, Inc. 

1271 Dundee Rd., Suite #44B, Buffalo Grove, IL 60090 

®Atari is a registered trademark of Atari, Inc. 



.Hi 



Se 



nous. 



SOFTWARE 
FOR ATARI 



runt 



Allow your computer to be both PRACTICAL 
and) ENTERTAINING at one AFFORDABLE price. 

Meres a truly valuable business level application program 
that's also fun to use for family and friends. 



DECISIONS. 



A TOOL FOR MAKING 



...DECISIONS LOGICAL CHOICES. 

Designed by a successful professional manager for his own use 
Now enhanced for everyone to use. Helps you organize and 
clarify your thoughts. Helps interpret confusing information. 



BUSINESS -Who to hire? The best product ? 

PERSONAL- Which college? Which job? 

FOR FUN -Try computer logic on some less 
serious choices -Where to vacation? Who to date ? 

What decision would YOU ask computer help with ? 



• Easy, prompted inpu t 

• Graphic output 

• Graphic help screens 

• Thorough manual 



• 80 col. printout opti on 

• NOT just a simple scorekeeper 

• Scientifically accepted algorithms 

• Powerful quick re-analysis feature 

DECISIONS... DECISIONS i"2ft. $37.50 

YOU MAY ORDER DIRECT. SEND CHECK OR MONEY ORDER TO - 



P.O. Box 605 
Stanton, CA 90680 

Calif. Residents add 
$2.25 Sales tax 





. 



Outsmart 
your computer. 



Show your computer who's boss. Earn its 
respect. With a Datamost book. 

No matter what age or ability level you're 
at, we have the right book that talks just to 
you. And your computer. Whether you own 
an Apple.* An Atari* Or just about any brand 

All our books are incredibly easy to 
understand. 

Which will make it incredibly easy to 
understand your computer. 

What If You're Scared Of Books About 
Computers? 

Don't be. 

Our books are written in friendly, famil- 
iar American English. Highlighted with 
cartoons. And illustrations. So they're fun 
to read. As well as educational. 

And there's over 30 books to choose from. 
Basic computer learning books to program- 
ming books to coloring books. 

You won't be bombarded with complicated 
programming routines until you're ready for 
complicated program 



ming routines. And no 

funny technical talk __ 

until you've reached ; fl© ITIOSt OUT Of OUf miMClS. Pretty smart, huh? 



the level where you don't think it's funny. 
We'll tell you what you need to know. 
And then, when that's understood, you can 
take the next step toward outsmarting 
your computer. 

Before You Spend Big Bucks On A Computer, 
Spend Little Bucks. 

Once you've decided, kind of, almost, 
nearly, what type of computer you think 
you'd like to buy, buy a Datamost book. 

It'll help you understand the Atari or the 
Commodore* or the Apple of your eye. 

Before you spend a lot of money. Before 
you take your computer home. 

You'll make a better purchase decision. 
Because you'll understand what you're 
doing. And what you and your computer can 
do together. 

So there won't be any misunderstandings 
to ruin your new relationship. 

How To Get The Most Out Of Your Computer. 
Get the most out of our minds. 

Datamost books for 
every computer. 
Everybody. Every level. 



DATAMOST 



Datamost, Inc.,8943FWlbright Ave., Chatsworth,CA 91311, (213) 709-1202 

"Atari is a trademark of Atari Computer.*AppIe is a trademark of Apple Compute 
'Commodore 64 is a trademark of Commodore Business Machines, Inc. 



,Coirtni3ut«£f* i 




- ^w 



fife 



*U*ii& 



r d3Bflagg>dZ?flg?flafl3ygii^ 



Your ATARI Discount Software Store 
That's As Close As Your Phone!! 



Wk ATARI 800 48K CALL 

ATARI TOUCH TABLET 69.95 

ATARI TRAK-BALL 49.95 

COMMUNICATOR II CALL 

REMOTE CONTROL JOYSTICK CALL 

ATARI 800XL 64K CALL 

ATARI 1050 DISK DRIVE CALL 

ATARI 850 INTERFACE CALL 

ATARI 1010 RECORDER 77.00 

HOME MANAGER KIT 64.95 

ATARI 1027 PRINTER 289.00 



MOSAIC 



64K Ram/400 149.00 

64K Ram + Cable Kit/400/800 169.00 

48K Ram Kit 94.00 

16/32 Expander 64.95 

32K Ram 77.95 

Mosaic Adaptor 49.95 

64K Ram Utility Software - 
Superdrive & Handyman Call!! 



KOALA TOUCH TABLET 69.95 




INTERFAST I 

Programmable Printer Interface 
w/4K Buffer 139.00 



PRINTERS 

PROWRITER 851 AP . . . CALL 
AXIOM AT-1 00 

w/Parallel Port 229.00 

GEMINI 10X CALL 

OKIDATA PRINTERS .... CALL 



t 

I 

I 



Every month, we select the Super Specials 

This month, YOU CAN PICK YOUR OWN 111 

USE THE CHART BELOW TO DETERMINE THIS MONTH'S SPECIAL PRICE!! 



D U3GIC^ fl ings 

> A 



epyx 



acBVSoh 



Hdatamost ;*:' _-^ 



IF THE RETAIL PRICE IS: 



SUPER SALE PRICE IS: 



\ 

The following companies do not >f 

qualify for the Super Sale: \\ 

ATARI 

APX 

PARKER BROTHERS 

ELECTRONICS ARTS 1( 

LJK 

And stIU no surcharge for credit cards 

Prices effective now through January 31, 1984 rL 



Mastercard/VISA j-^ onn ceo .nAAQ MM In Wise. Call 
; Order Toll Free Q3 OUU DDO UUUc> I— M 414/351-2007 



ORDERING INFORMATION: To order by mail, send money order, certified check, or personal check (allow 
14 days to clear) toCOMPUTABILITY. Include $2.50 shipping on all software orders. Include 3% shipping on all 
hardware orders, minimum $2.50. Mastercard and Visa please include card number and expiration date. Wl 



, COMPUTABILITY 

P t ° B °i, X ' ii»sMi7 residents please add 5% sales tax. Canadian, APO & FPO software orders include 5% shipping minimum $5.00 
'.■■■:.: j ie, Wl 53Z 1 7 A|| other foreign software, please add 15% shipping, minimum $7.00 (US Funds only). Prices subject to changf 
without notice. 



ORDER HOURS 
Mon-Fri 11-7 PM (CST)'j 
Sat 12-5 PM (CST)i 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 59 



TRANSPORTING 
ATARI COMPUTER PROGRAMS 

TO THE 

5200 



by Claus Buchholz 



When Atari designed the 5200 "Supersystem" as 
a successor to the aging 2600 VCS, they made use of 
the state-of-the-art hardware they put into their 
400/800 home computers. As a result, the systems 
are quite similar. The differences are great enough, 
however, that transporting programs from one 
system to the other requires some effort. 

The 5200 is a single-board machine with four 
controller jacks, a cartridge slot, an I/O expansion 
connector and a power/RF cable. It shares the same 
VLSI chips with the 400/800, except for the 6520 
PIA (joystick/parallel I/O ports). The other chips 
(ANTIC, GTIA, POKEY and the 6502 CPU) are in 
the 5200, although some of their registers are in 
different memory locations than those in the 
400/800. Also, some of the registers serve slightly 
different purposes. Figure 1 is a block diagram of 
the 5200. Let's look at each section of the hardware 
in turn. 

When a specific register is mentioned in the 
article, the name is taken from the Hardware Manual 
in the 400/800 Technical Reference Notes. With 
the exceptions listed in this article, the Hardware 
Manual applies also to the 5200. 

6502 CPU. 

Although it is a standard 6502 from the 
programmer's view, Atari has reworked this chip to 
save four support chips. Those four chips mediate 
access of the system bus by the 6502 B and ANTIC in 
the 400/800, but that function is built into the 
6502C in the 5200. Atari also uses the 6502C in the 
new XL series of computers. 



16K RAM. 

The 5200 contains 16K bytes of RAM addressed 
from $0000 to $3FFF, just as in an unexpanded 400. 
The memory circuit is nearly identical to that in the 
400, except it uses 4516s, a 5V-only version of the 
4116 16K-bit dynamic RAM. 

The 5200 monitor program reserves locations 
$0000 through $0018 and $0200 through $021Bfor 
shadows and RAM vectors. And, of course, page 
$01 is reserved for the 6502 stack. The rest of the 
RAM is available to the cartridge program. 

ANTIC. 

This is the same ANTIC chip used in the 
400/800. Since ANTIC shares the address bus with 
the CPU and has no chip select input, its registers 
reside in the same place in the 5200's memory as in 
the 400/800's, page $D4. 

The 5200 has no System Reset key, so bit 5 of 
NMIST is useless and the 5200's interrupt handler 
ignores it. 

GTIA. 

The GTIA and its registers perform the same 
functions in the 5200 and 400/800, except as noted 
below. The registers, however, appear at page $C0 in 
the 5200's memory, not at $D0 as in the 400/800. 

The trigger inputs, TRIGO through TRIG3, are 
wired to the controller ports, one to a port. The 
bottom button on either side of the leftmost con- 
troller zeroes the TRIGO register when pressed, and 
likewise for the other ports. 

The bits in CONSOL, the 400/800's console 
switch port (START, OPTION, SELECT and speaker), 
are used as outputs in the 5200, Bit 3, the 400/800's 



PAGE 60 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



speaker control, can still be toggled in the 5200 to 
produce sounds through the TV speaker. Bit 2 
controls the pots in the joystick controllers. It must 
be set high to enable the pots. 

Bits 1 and select which controller port is to be 
active at one time. 00 selects port#l (the leftmost), 
01 selects #2, 10 selects #3, and 11 selects #4. The 
trigger buttons and pots are independent of this 
selection; it applies only to the keypads and top side 
buttons on the controllers. 

POKEY. 

POKEY's registers are all addressed atpage$EBin 
the 5200 as opposed to $D2 in the 400/800. Its 
functions are unchanged, however, except for two. 

The eight pot inputs used for paddles in the 
400/800 are wired to the 5200's controller ports, 
two to a port. Each controller has an analog joystick, 
using one port to sense horizontal position and a 
second pot for vertical position. The even pots 
(POTO-POT6) give the horizontal positions of 
range from 1 to 228; the maximum readings are to 
the right for the horizontal pot and at the bottom for 
the vertical pot. Figure 2 shows the pinout for the 
5200 controllers. 




FIRST BORN IN 1978! 



the original & continuously updated 



CCA 
Data Management 

System 



7 



Now Available For Atari Computers $ 99.50 

For Apple Computers 1 50.00 

ForCPM Based Computers 225.00 

CCA Data Management System 
Uses Features And Capabilities 



Business 

Accounts Receivable 

Accounts Payable 

Inventories 

Billing 

Lists and Rosters 

Home Phone Lists 

Budgets, Hobbies 



• Long record lengths 

• Up to 24 fields per record 

• Not Copy Guarded 

• Alpha numeric items 

• Numeric only items 

• Add, update, scan, etc. files 

• 10-Level sort ascending, descending, 
allows alphabetizing data file. 

* Contact your local dealer for 
details or write us for our catalog 




^ 



DIVISION OF CUSTOM ELECTRONICS, INC 

SOFTWARE 

238 Exchange St., Chicopee. Massachusetts 01013 

(413) 5*2-4761 

Mastercard & VISA Accepted 

* Dealer And Distributor Inquiries Invited 

Cloled Monday* — Open Daily 'Til 5:30 — Fridays 'Til B 



The keyboard scanning lines in the 400/800 are 
used in the 5200 to read the keypad keys to the one 
controller that is selected by bits 1 and in 
CONSOL. Only four lines are used, though, so only 
bits 1 through 4 ofKBCODEare valid. Table 1 gives 
the keycode for each key on the controller. The top 
side buttons on the selected controller act like the 
400/800 shift keys and also cause a BREAK-key 
interrupt, if that's enabled. Bit of SKCTL, the 
debounce enable bit, need not be set in the 5200. 





Table 1. Keypad Codes. 


Key 


KBCODE bits 4-1 


Keypad code 


none 


0000 


$FF 


# 


0001 


$0B 





0010 


$00 


* 


0011 


$0A 


Reset 


0100 


$0E 


9 


0101 


$09 


8 


0110 


$08 


7 


0111 


$07 


Pause 


1000 


$0D 


6 


1001 


$06 


5 


1010 


$05 


4 


1011 


$04 


Start 


1100 


$0C 


3 


1101 


$03 


2 


1110 


$02 


1 


mi 


$01 



Jf 



POKEY's serial I/O lines are unused in the 5200, 
but they are wired to the I/O expansion connector, 
an edge connector hidden behind a small door in the 
rear of the 5200. This connector allows for more 
hardware registers addressed at page $EO, and for 
peripherals using the serial port. See Figure 3 for the 
pinout of this connector. Its existence demonstrates 
Atari's original plans to expand the 5200 system. 

ROM. 

The 5200 has a 2K ROM on board which holds 
the character set and monitor program. The charac- 
ter set, which is an exact copy of the 400/800's set, 
resides at pages $F8 through $FB, and the monitor 
sits at $FC through $FF. 

The cartridge ROM can be 32K bytes long and 
resides in memory from $4000 to $BFFF. Figure 4 
shows the pinout of the cartridge slot. The two inter- 
lock connectors are wired together on a cartridge 
board. The 5200 uses this as a switch for the car- 
tridge's power connections and as a Reset signal. 
Therefore, a cartridge may be safely removed or 
inserted while the 5200 is powered on. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 61 



The 5200 monitor program. 

The IK monitor program in ROM has three func- 
tions: (1) to initialize the system before running the 
cartridge program, (2) to service interrupts as they 
occur, and (3) to maintain shadows of some impor- 
tant hardware registers. Recall that the 400/800 
Operating System is 10K bytes long and performs 
the above functions. It also provides peripheral 
handlers, predefined graphics modes, a screen edi- 
tor, and floating-point math routines. Those utilities 
do not exist in the 5200. 

Table 2 shows the RAM locations used by the 
monitor for shadows and RAM vectors. 



Table 2. 5200 Monitor RAM Locations. 




Page Zero Locations 


$00 


Shadow for IRQEN 


$01 


Real time clock (high byte) 


$02 


Real time clock (low byte) 


$03 


Critical code flag (if non-zero, VBI 




routine is abbreviated) 


$04 


Attract mode timer /flag 


$05 


Shadow for DLISTL 


$06 


Shadow for DLISTH 


$07 


Shadow for DMACTL 


$08-$10 


Shadows for COLPMO through 




COLBK 


$11-$18 


Shadows for POTO through POT7 




Page Two Vectors 


$200 


Immediate IRQ, vector 


$202 


Immediate VBI vector 


$204 


Deferred VBI vector 


$206 


DLI vector 


$208 


Keyboard IRQ, vector 


$20A 


Keypad routine continuation vector 


$20C 


BREAK key IRQ, vector 


$20E 


BRK instruction IRQ vector 


$210 


Serial Input Data Ready IRQ vector 


$212 


Serial Output Data Needed IRQ 




vector 


$214 


Serial Output Finished IRQ, vector 


$216 


POKEY Timer 1 IRQ, vector 


$218 


POKEY Timer 2 IRQ vector 


$21A 


POKEY Timer 4 IRQ vector 



Upon Reset, the 6502 vectors through $FFFC to 
the initialization routine. This routine performs the 
following sequence: 

1 . Disable maskable interrupts, clear the 6502 
decimal flag, and set the stack pointer to $01FF. 

2. If the cartridge address $BFFD contains 
$FF, then jump immediately through the vector 
at $BFFE (diagnostic cartridge). 

3. Zero all hardware registers and page $00, 



set CHBASE to point to the character set at 
$F8, and initialize the first six RAM vectors 
starting at $0200. 

4. Set up the Atari logo rainbow display. The 
cartridge title (20 characters) and copyright 
year (2 characters) in ANTIC mode 7 display 
code are taken from cartridge addresses $BFE8 
through $BFFD. 

5. Enable VBI (Vertical Blank Interrupt) and 
DLI (Display List Interrupt), and enable key 
scan. 

6. Wait four seconds, then jump through the 
vector at $BFFE to the cartridge program. 

When the 6502 receives a non-maskable 
interrupt (NMI), it vectors through $FFFA to 
the NMI handler. The following steps take 
place: 

1. Check NMIST and strobe NMIRES to 
reset the interrupt status. 

2. If a DLI is pending, jump through the DLI 
vector (initialized to point to the rainbow effect 
routine). 

3. If a VBI is pending, jump through the 
immediate VBI vector (initialized to point to the 
VBI routine). 

4. Else, return from the interrupt (no System 
Reset). 

A cartridge program can change these vectors 
to point to its own DLI and VBI routines, if it 
must. The default VBI routine takes the follow- 
ing action: 

1 . Push A, X, and Y onto the stack, increment 
the real time clock, and update the attract mode 
timer. 

2. If the critical code flag byte is non-zero, 
then pop Y, X, and A from the stack and return 
from the interrupt. 

3. Update DLISTL, DLISTH, and DMACTL 
from their shadows. 

4. Maintain the attract mode flag and update 
the GTIA color registers from their shadows. 

5. Update the pot shadows from POTO 
through POT7, and strobe POTGO to start 
another pot scan. 

6. Jump through the deferred VBI vector 
(initialized to point to the end-of-interrupt rou- 
tine, which pops Y, X, and A, and returns from 
the interrupt). 

If maskable interrupts (IRQs) are enabled 
and one is received, the 6502 vectors through 
$FFFE to an instruction which jumps through 
the immediate IRQ,vector. That vector is initial- 
ized to point to the IRQ, routine, which per- 
forms the following tasks: 

1. Push A and check IRQST. 

2. For each of the 8 bits in IRQST, check for a 
pending interrupt. If found, then clear and sta- 
tus bit, update IRQEN from its shadow, and 



PAGE 62 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



jump through the appropriate IRQ vector. 

3. If no interrupt found, then push X and 
check for a BRK instruction interrupt. If found, 
then jump through the BRK instruction IRQ, 
vector. 

4. Else, pop X and A and return from the 
interrupt. 

The only IRQ vector that is initialized is the 
keyboard IRQ vector, which points to the key- 
pad read routine. That routine does the fol- 
lowing: 

1. Push X and Y. 

2. Read KBCODE and mask bits 1 through 4. 

3 . Convert to the keypad code given in Table 
1, leaving that code in A. 

4. Jump through the keypad routine conti- 
nuation vector (initialized to point to the end- 
of-interrupt routine). 

Comparing the 5200 monitor's vectors to the 
400/800's OS vectors, we see that Atari paid 
no attention to compatibility between the two. 
This further complicates the task of converting 
a program from one system to the other. 

Transportability. 

It would not be difficult, given the information in 
this article, to write a program in two versions, one 



for the 400/800 and another for the 5200. Nor 
would it be difficult, given the source code, to con- 
vert a finished program from the 5200 to the 
400/800. The reverse is more difficult if the pro- 
gram takes advantage of special features in the 
400/800 OS. Otherwise, the only task, aside from 
redefining some addresses, is to convert the key- 
board/joystick input routines from one system to 
the other. 

I acquired the information in this article by dis- 
secting a 5200 and disassembling its ROM. The 
400/800 schematics in the Hardware Manual were 
quite helpful. It is interesting to note the differences 
between the two machines and to guess Atari's 
motives for the design differences. But the similari- 
ties grossly outweigh the differences, so that a 5200 
program can be developed and almost entirely 
debugged before testing on a 5200. With the addi- 
tion of an EPROM burner, a 400/800 can be a 
powerful development system for 5200 programs. 
An adventuresome hacker can even bypass the 
EPROM by putting dual-port RAM on the cartridge 
board and downloading programs from the 400/800 
development system into the 5200 for testing. □ 

(See charts on next page.) 



r 2 4i 

'HOUR\ 

'SHIPPING 1 



BACKUP HARDWARE & SOFTWARE 



THE HAPPY™ 810 ENHANCEMENT KIT 
WITH WARP SPEED SOFTWARE 

BACK UP ANY ATARI™ DISK 



r 24^ 

'HOUR\ 

'SHIPPING 1 



RIGHT-WRITE 

This device will allow you 
to write to side 2 of any 
disk. Install this box to your 
Atari™ 810 disk drive in 5 
minutes. Just plug in one 
cable — no cutting or sol- 
dering required. 

Push the button and a red 
led will light, allowing you 
to write a disk without 
notching out a hole in the 
disc. 

Easy plug-in installation 
instructions included. 

Fully tested and assembled. 



ONLY 



$2495 



PHONE ORDERS: 

(516) 467-1866 

PRODUCT INFO: 

(516) 588-6019 



CALL FOR SPECIAL LOW PRICE 



THE FILE SENDER 

Modem Program. At last, a 
user friendly program that will 
send and receive basic and bi- 
nary files up to 200 sectors long 
and download them to your disk 
drive. 

The only Modem Program you 
will ever need or want 
Special features the others don't 
have: 
1)See disk directory in 
terminal mode 

2) Send and receive Binary files 

3) Save text files to disk 

4) Very user friendly 

This program comes on disk 
and will work with any Modem 
that uses the Atari'" 850 inter- 
face. 

Excellent documentation sup- 
plied. 



SPECIAL 



$3495 



FOR BACKING UP AND 
TRANSFERRING YOUR SOFTWARE 

THE TRANSFER PACK 

1)Disk file to tape 

2) Boot tape to disk file 

3) Tape to tape 

Very powerful and low priced. 



ALL 3 
FOR ONLY 



$2495 



THE PILL Wearethedis- 

tributors for this famous product. 

A cartridge that turns RAM into 

ROM. 

Call for information. 



ONLY 



$6995 



We are working on new products 

and software. 

For information call (516) 588- 

6019. 



We accept COD. orders. 



GARDNER COMPUTING COMPANY :™;;r. ereand8hlp * ,h - 



P.O. BOX 388, HOLBROOK, N.Y. 11741 



(Personal checks will have 
to clear before shipping.) 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 63 




Figure 1. 



1 2 3 4 5 6 7 8 



• •••••• 

9 10 11 12 13 14 15 



Pin 



Function 



1 Keypad - right column 

2 Keypad - middle column 

3 Keypad - left column 

4 Start, Pause, and Reset common 

5 Keypad - third row and Reset 

6 Keypad - second row and Pause 

7 Keypad - top row and Start 

8 Keypad - bottom row 

9 Pot common 

10 Horizontal pot (POT0,2,4,6) 

11 Vertical pot (POT1,3,5,7) 

12 5 volts DC 

13 Bottom side buttons (TRIGO.1,2,3) 

14 Top side buttons 

15 volts - ground 



Figure 2. 



Controller Port Pinout. 



.5 




Top 


VDC 


1 ■■ 


Not Connected 


2 ^m 


Ground 


OB 


R/W Early 


■• m 


Enable E0 - EF 


5 <HB 




r-D6 


6 •■ 


Data Bus 


D4 


7 4HI 




D2 


8 MB 




L DO 


9 m 


IRQ 


4H 


Ground 


11 4H 




"" Serial Data In 


12 <M 


Serial 


Serial In Clock 


13 ^H 


I/O - 


Serial Out Clock 


14 <Mi 


Bus 


.Serial Data Out 


15 4M 


Audio In 


16 MB 


Address Bus - A14 


17 •■ 


System Clock 01 


18 |H 




I 



|.36- »5V DC 

||35-Not Connected 

) 34 - Ground 

) 33 - Not Connected 

) 32 - D7 - 

| 31 - D5 

t 30 - D3 

| ! 29- D1 _ 

| 28 - Ground 

) 27 - A0 r 

I 26- AT 

II25-A2' 

||24- A3' 

||23-A4' 

||22- A5' 

I [21 - A6' 

H20-A7' 

|19 - AIT 

^3 



Figure 3. 
I/O Expansion Connector 

























"DO 


1 








36 


Interlock 






U1 


2 








35 


A11 








L)2 


3 








34 


A12 




Data Bus 




D3 
D4 


4 
5 








33 
32 


A10 

A13 








its 


H 








31 


A9 


























Db 


/ 








30 


Not Connected 






-llf 


- H 




























Enable 


80 - 8F 


9 








2S 


Not Connected 


Enable 


40- 7F 


10 








27 


A7j 


Not Connected 


11 








26 


t5VDC 




r 


12 








25 


"I 




Ground-j 


13 
14 








24 
23 


1 Ground 




rA6' 


1b 








22 


A4' 




Address 


Bus — A5 


16 








21 


A3' 


— Address Bus 




I.A2' 


17 








20 


Ar 






Inte 


ock 


18 








19 


A0' 





Figure 4. 



5200 Cartridge Slot 



PAGE 64 



A.N.A.LO.G. COMPUTING 



ISSUE 15 







~~ ■ - ■ ■' 

— — 


^^E 




SOFTWARE i v 


I PIRACY: 


^ w^e 




j^^^^ 


" 


_=^^^^^==- _ -z= 


=^^=^=:^^^^=^^ 




^^" A SURVEY ^ 



by Allen Harberg 



Is software piracy, like beauty, in the eye of the 
beholder? Is there a consensus in the Atari community 
as to what constitutes a violation of the copyright 
laws? 

I needed answers to these questions for a couple of 
reasons. As President of our local Atari Users' 
Group, I needed to know which programs we could 
properly include in our fledgling library. And as 
President of Data Plus, a new publisher of Atari 
software, I wanted to know how the Atari world felt 
about the whole issue of copy protection. 

To shed more light on the subject, I sent 100 
questionnaires to Atari User Group Presidents, fel- 
low publishers of Atari software, the editors of the 
magazines which feature Atari and, finally, to Atari, 
Inc. An amazing 78% of the people responded, and 
the results of the survey are fascinating. Here are the 
7 questions which I asked, along with an analysis of 
the responses: 

(1) If I type in a BASIC program from 
Compute!, save it on disk, and give the disk 
to a friend, have I violated the Copyright 
Law? 

Yes 9% 

No 62% 

Unclear . . . 29% 



On the one hand, I was amazed that almost 
two-thirds of the respondents felt that there was 
nothing wrong with giving a friend a program which 
you had typed in from a magazine. After all, Com- 
pute!, like most of the microcomputer magazines, 
is copyrighted. In addition, the majority of programs 
within these magazines have individual copyright 
notices. 

On the other hand, I realized that I shouldn't be 
surprised. You can find programs from the popular 
micro magazines on most bulletin boards and in 
Atari User Group libraries. 

(2) If I type in a BASIC program from 
Antic and add it to the Atari User Group's 
Disk Library for all of our members to use, 
have I violated the Copyright Law? 

Yes 15% 

No 54% 

Unclear 31% 

Interestingly, the number of people who detected 
a copyright violation doubled. And the only differ- 
ence was the number of people who had access to the 
program. Evidently, a number of people believe that 
small give-aways are okay, but you run into trouble 
when your volume increases. Almost one third of 
the respondents continue to be unclear about the 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 65 



legality of swapping programs which were typed in 
from magazines. 

(3) If I buy the Disk Version of Softside 
and give one of its BASIC programs to a 
friend, have I violated the Copyright Law? 

Yes 45% 

No 16% 

Unclear... 39% 

While a lot of people remained uncertain, a 
number of people "got religious" when they thought 
about the Disk Versions which some magazines pro- 
vide. Unfortunately, there are 2 differences between 
this question and question #2. First, the consumer 
didn't type in the program; they received it on disk. 
Second, Softside includes a program on their Disk 
Version whose listing does not appear in the maga- 
zine. Despite this complication, people seem to have 
more respect for the copyright status of programs 
which they receive on an electronic medium. 

(4) If I buy the Disk Version of 
ANALOG Computing and add it to 
the Atari Users Group's library for all of 
our members to use, have I violated the 
Copyright Law? 



Yes 55% 

No 31% 

Unclear. . . 14% 

The good news is that most people have a 'clear' 
answer to this question. The bad news is that there is 
no consensus as to what that answer should be! 

Almost one third of the respondents feel that it is 
okay to move ANALOG Computing's Disk 
Version directly into their club library . . . despite the 
copyright notice in the magazine and in a large por- 
tion of the individual programs contained on the 
disk. More than half of the people feel that it is 
improper to distribute these programs through the 
club. 

(5) If I buy a copy of Byte and lend the 
magazine to a friend, have I violated the 
Copyright Law? 

Yes 0% 

No 77% 

Unclear. . .23% 

While I was happy to see that nobody considered 
this to be a copyright violation, I was truly surprised 
to learn that nearly one quarter of the respondents 
weren't sure. I'll bet that Byte sends thousands of 



A LIFETIME OF DISCOVERY 
BEGINS WITH ATARI COMPUTERS 




RANA 1000 DISK DRIVE 

Single/DoubleDensityDrive.... $CALL Ijiltasj^** 2, 

Atari DOS SCALL llSiKWlli^^ iSjjg 

Double Density Software $CALL 

TRAK AT DISK DRIVE 

Single Density AT-D1 $CALL 

Double Density AT-D2 $CALL 

Atari DOS SCALL 

Double Density Soltware $CALL 

PRINTERS 

Gemini STX-80 (80 Column Thermal) $1 69.00 

Gemini 10X Printer (80 Column) 299.00 

Gemini 1 5 Printer (1 36 Column) 399.00 

Silver-Reed EXP 500 Daisy Wheel Printer (80 Column) 399.00 

Epson RX-80 (80 Column) Dot Matrix 359.00 

Epson FX-80 (80 Column) Dot Matrix 555.00 

Epson FX-1 00 (1 36 Column) Dot Matrix 749.00 

Prowriter 851 AP 375.00 

Gorilla/Banana Printer (80 Column) 1 99.00 

MPP-1 100ParallelPrinlerlnterfnce(EliminateneedlorAtari850) 79.00 

MONITORS 

Gorilla'" Hi Res 1 2" Non-Glare Green Screen $ 89.00 

Amdek Video 300 Green Screen 1 30.00 

Amdek Video 300A Amber Screen 1 44.00 

Amdek Color-I Screen 280.00 

Monitor Cable 1 5.00 

MODEMS 

MPP-1 000 Modem $1 69.00 

Signalman Mark II Modem 69.00 



A 

ATARI 



600 XL 
800 XL 
1400XL 
1450XL 



C 

CALL 

L 

L 



1050 
1025 
1020 
1027 
1010 



Drive 
Printer 
Color Printer 
Printer 
Recorder 



ATARI - 3rd Party Soltware 
ALL BRANDS - CALL 

GENERIC DISKS 

GENERIC 100% DEFECT-FREE/CiUARANTEED MINI-FLOPPY DISKS 
Diskettes (1 Box Min.) - 1 per box 



1 or 2 Boxes 
3 - 9 Boxes 
10+ Boxes 



10- 29 
30-99 
100+ 



SS/SD 

14.99/box 
13.99/box 
13.49/box 



SS/DD 

17.49/box 
15.99/box 
14.99/box 



DD/DD 
20.99 
19.99 
18.99 



Bulk Diskettes with Sleeves - Price Per Disk 



SS/SD 

1.39 
1.29 
1.25 



SS/DD 

1.59 
1.49 
1.45 



DD/DD 

1.99 
1.89 
1.79 



TO ORDER CALL TOLL FREE: 1-800-824-7506 

MC COMPUTER CREATIONS, Inc. 

VISA P.O. Box 292467 

Dayton, Ohio 45429 
For Information Call: (513) 294-2002 
(Or to order in Ohio) 

All Orders Add $3.00 Shipping and Handling. Ohio residents add 6% lor sales lax. 
ASK FOR OUR FREE CATALOG 



C.O.D. 

(Add $2.50) 



PAGE 66 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



subscriptions to university-, business-, and public- 
libraries for the sole purpose of allowing them to 
lend the magazine to their 'friends.' Most authorities 
are in agreement that there is no violation of the law 
here. 

(6) If I buy a copy of Micro and make a 
photocopy of an article for a friend, have I 
violated the Copyright Law? 

Yes 54% 

No 16% 

Unclear... 30% 

Photocopying of copyrighted magazine articles 
was a major problem in the early sixties, one which 
received as much attention as the 'software piracy' 
issue receives today. At that time, the question was 
asked, "How could the small-sized, small-circulation, 
high-priced journals survive if libraries had photo- 
copy machines?" Rarely will you find a photocopy 
machine in a public library which does not have a 
summary of the Copyright Law nearby. 

The Copyright Law states that you have the right 
to make a personal copy of a copyrighted article; you 
do not have the right to give that photocopy to a 
friend. 

(7) In their normal, day-to-day activities, 
do Atari User Groups violate the Copy- 
right Laws? 

All the time 0% 

Most groups do; some don't 38% 

Some groups do; most don't 46% 

Never knowingly 16% 

Statistically, you'd have to call it a tie. Most people 
believe that a lot of Atari User Groups spend a lot of 
their energy swapping copyrighted code. 

I hope they're wrong. User Groups who overtly 
exchange copyrighted programs are leaving them- 
selves extremely vulnerable to prosecution. And 
anyone who has followed the way in which Warner 
Communications, Atari's parent company, addressed 
the issue of pirated videotapes would realize that 
Warner has no sense of humor when it comes to 
people stealing their products. 

Some of the survey results don't pop out at you 
when you examine the raw data. For example, in 
analyzing the survey results, I found a strong correla- 
lation between: 

• People who felt that the situations described in 
questions 1-4 did not constitute violations of the 
copyright law, and 

• People who gave the Atari User Groups a clean 
bill of health 

Essentially, people who took the 'see no evil' 
approach to software piracy were consistent in their 
perceptions. 



I received a response from Atari, Inc. More specif- 
ically, I received a response from an employee from 
Atari, who pointed out in no uncertain terms that he 
was expressing his own feelings and not those of his 
employer. Understandably, his response reflected 
the conservative attitude which Atari takes in the 
field of software piracy. 

I continue to be amazed by the tenacity of the 
pirates. There are software publishers who market 
disks which contain 500 unformatted disk sectors. 
To make an illegal copy of such a disk, you would 
have to search a sea of unformatted sectors to find a 
single sector of binary zeroes. Yet I know that there 
are individuals who will spend untold hours listening 
to their drives make the most horrifying sound imag- 
inable while they search for an oasis in a desert of 
unformatted tracks. Eight hours and 1000 I/O 
errors later, they've created a back-up of a program 
which retails for a $29.95! I guess that using leisure 
time effectively, like beauty, is in the eye of the 
beholder. □ 




-J 



©1983 MACH-INA STRATEGY GAMES 




For Your Atari Computer 

TRS 80 Color, I, III, 4 or Apple Computer 




Dol lars 
earned 



Daily Newsboy Earnings 



Joe Dave Ed carl 



Hhat is the title of this graph? 



daily earnings 
of newsboys 



boys selling 
newspapers 



Over 1000 Programs with Full Time Audio Narration, Pictures & Text! 

Interactive Tutorial Programs 



All along you've heard there isn't much of a 
selection ot low cost microcomputer course- 
ware. Well, do you want to learn Physics. 
Psychology, or Philosophy? Accounting or 
Auto Mechanics? Sociology, Supervision or 
Statistics? Economics or Electronics? How 
about English as a Second Language? Would 
you like to teach your children Math or Read- 
ing? If you do, then we have the educational 
programs for you — and at affordable prices. 

It's true there aren't many companies that of- 
fer full-length courses in subjects other than 
reading and arithmetic, and what is offered 
seems to be drills, tests, games, or simula- 
tions. What you really want is a course that 
covers the subject with, say, 16 full-length 
lessons called tutorial programs, where you in- 
teract with an expert programmer backed by a 
staff of experts. That's exactly what we have. 

Is there something wrong with our software? 
Well, we don't ask you to enter your name so 
we can drop it into some later text. We don't 
ask you to type in your answer and refuse to 
accept it if it's not spelled just right. And, we 
don't branch around a lot when you make an 
error. Our programs simply let you know if 
you're wrong by proceeding only when you 
select the right multiple-choice answer. 

This proven learning-by-positive-reinforce- 
ment method lets you proceed quickly and 
smoothly through the programs, without a lot of 
cute tricks. But, if you're a devoted com- 
puterist or game freak you may be disap- 
pointed at the lack of motion in most of the pic- 
tures, or our special visual effects. We have 
some dandies, like the mushroom cloud that 
rises over Hiroshima in our History series, but 
your learning is not distracted by needless 
special effects. 

OVER 1000 PROGRAMS 

We have 64 courses of 16 half-hour pro- 
grams: 1024 programs! All are easy-reading, 
upper- and lower-case. All are in color. All are 
illustrated by frequent graphics composed of 
special and regular characters. And, best of 
all, every frame of every program is accom- 
panied by high-quality, full-time audio narration 
by professional voice talent. David Stanton, 
James Mathers. Pam Barrymore. Recorded 
and played back, not synthesized or digitized! 



- If your child is having trouble with Reading or 
Math, or if he or she is exceptional, and 
could benefit from professionally program- 
med lessons or courses, then you need our 
educational programs for your Atari, Apple, 
or TRS 80 to help your child. 

-If you want to build your math skills, we have 
programs on Numbers and their meanings, 
Addition. Subtraction, Multiplication. Divi- 
sion, Fractions. Decimals. Percents, Angles, 
Graphs, Word Problems. Algebra. Statistics. 
There are ten series in all, 160 math pro- 
grams Again, all with color, pictures, and a 
friendly tutor's voice — all the time. 

-If your verbal skills need polishing, try our 
Talk & Teach programs on the alphabet, 
spelling skills, and every level of vocabulary: 
Sight Words or Learn by Phonics: develop 
Reading Comprehension skills from stories 
and articles There's even a series on the 
Great Classics. 

-For self-development, try a 1 6-program 
course in Economics or Psychology Or 
Supervision, Sociology, Counseling (Per- 
sonal. School, or Employee). Writing, 
Business. Philosophy, Government, World 
History, US History, or Accounting. 



— For vocational skills, study our 1 6-program 
courses in Electronics, Fluid Power, Auto 
Mechanics, Shop, Carpentry, Construction, 
Meat Processing. Military Skills (64 pro- 
grams), and there are many more 
There are 832 programs for your Atari, Apple 
and TRS 80 Mod I III 4 and 160 for the Color 
Computer. Send for a free catalog 

Would you like to do something more than 
play games on your computer? Tired of 
squeaks and robotics and want to hear a 
human voice? Do you want to further your 
education or help your children along in theirs? 
Now you can. For just $8.80, we'll send you 
one cassette with 2 programs from the course 
of your choice, 100% guaranteed to work in 
your Atari. Apple, or TRS 80 computer, and 
you can try us out. Better yet, get one full 
course of 1 6 programs on 8 cassettes for only 
$59.90. Atari Master Cartridge, $9.95: Apple 
T/T Board, $99.00; and T/T Player, $79.00. 
That's less than books and tuition for most col- 
lege classes. And we offer a 1 day, 1 00% ex- 
change allowance. Does your alma mater? Send 
us your check, or call us at 1-800-654-3871 
with your Visa/Master Card number. We'll send 
your educational software pre-paid. Please 
allow 1 5 days delivery. Or see your computer 
dealer. He may have some of our courses in 
stock. You've got nothing to lose but your games! 



Course 


No 


of Programs 


Reading 




256 


Mathematics 




128 


Comprehension 




48 


History 




32 


Algebra 




16 


Spelling 




16 


Government 




16 



We're Your Educational Software Source. 

For your Atari 400/600/800/1200, you will 
need the Atari cassette recorder and the Dorsett 
4001 Educational Master Cartridge, $9.95. For 
your Apple II, you will need the Dorsett M402 
T/T plug-in board, $99.00, and the M401 stereo 
cassette player, $79.00. All programs listed are 
available for TRS 80, I, III, 4, which require the 
M203 speaker converter, $99.00, and 401 

16 Programs in each of the following: stereo cassette P la y er ' $79 00 
Carpentry-Electronics-Health Services 

Office Skills-Statistics-First Aid/Safety Send for a catalog of over 1000 programs 

Economics-Business-Accounting-Psychology for Atari, TRS 80, Apple 
And Many More! 

For more information, write or call: TOLL FREE 1-800-654-3871 

Dealer inquiries welcome | L — i-J | I^^^O^S^^^PTT 

Educational Systems, Inc. 




P.O. Box 1 226, Norman, OK 73070 




Craftsmen Need Precision Tools . . . 
Programmers! Demand Precision Software! 



BASIC XL has twice the speed and twice 
the power of Atari® BASIC. And yet, as 
befits a fine craftsman's tool, BASIC XL is 
even easier to use and more dependable, 
while including such outstanding major 
additions as structured programming, 
string arrays, programming aids, enhanced 
graphics, and business capabilities. 

Atari BASIC is a good starting point. We 
should know. We wrote it in 1978. Buy 
BASIC XL. Take advantage of five more 
years of experience! 

So, prepare yourself for some explor- 
ation into imaginative programming with 
BASIC XL! Cartridge, excellent tutorial, 
reference manual . . . $99- 



PRECISION SOFTWARE 



^k.A DIVISION OF O.S.S., INC. 

1173D S. Saratoga/Sunnyvale Road 
San Jose, CA 95129 • (408) 446-3099 



11 Functional, honest, and beautiful 
U describe the simple lines of a crafts- 
y\ man's tools. For the jeweler these 
g \ tools are an extension of the human 
t | hand to better execute complex 
\ / designs. For you, the programmer, 
Precision Software tools keep com- 
plications out of your programming while 
allowing you to produce intricate 
programs. 




See the complete collection of OSS 
Precision Software™ tools! 
MAC/65: The fastest 6502 macro 

assembler/editor package on 

cartridge . . . $99- 
BUG/65: A powerful debugger. On disk, 

with OS/A+ . . . $35. 
C/65: The first native mode "small c" 

compiler for Atari and Apple® 

computers. On disk . . . $80. 
ACTION!: The fastest, small computer 

language ever. A feature-packed 

cartridge at only . . . $99- 



ATARI and APPLE II, are trademarks of Atari, Inc. and Apple 
Computer, Inc., respectively. MAC/65, BUG/65, C/65, BASIC 
XL, OS/A+, and OSS PRECISION SOFTWARE™ are trademarks 
of O.S.S. INC. ACTION! is a trademark of Action Computer 
Products. 




CROSSWORD MAGIC™ 

AGAME DESIGNEDTO GET YOU DOWN 

(AND ACROSS) 



What's a five-letter word meaning 
report? The capital of a Baltic 
country, 6 letters, starts with W? 
If these questions get you thinking, 
you've obviously got the cross- 
word bug. There is no cure, but 
Crossword Magic, from Softsmith™ 
Corporation, is just the treatment 
the doctor ordered. It is a chal- 
lenging, intelligent game that will 
help you improve your vocabulary 
while you're having fun. 

With Crossword Magic, you create 
your own puzzles to challenge your 
friends. First you choose atopic; 
then you enter words using the 
keyboard. Crossword Magic auto- 
matically fits the common letters 
together to form a familiar cross- 
word grid. If there is no opening for 
the word you enter, the program 
saves it and fits it in later. 



Next comes the fun. After the 
puzzle is full, Crossword Magic 
prompts you for a clue to go with 
each word. Make your clues as 
obscure, humorous or serious as 
you want. You can save the puzzle 
and clues on disk for later play on 
the screen, or have them printed 
out to send to friends. 

Crossword Magic runs on the 
Apple®ll, II + and lie; Franklin 
Ace™ and Atari 800® computers 
with 48K RAM. A disk drive is re- 
quired; printer is optional. 

More than just a game, Crossword 
Magic is also an excellent educa- 
tional tool for helping children of 
all ages improve their spelling and 
vocabulary skills. It is one of the 
programs in the Softsmith library 
of quality software — the largest 
library of programs under one 
brand name. 



Softsmith has the most thoroughly 
tested, refined and clearly docu- 
mented brand of personal com- 
puter software you can buy. You 
can depend on Softsmith pro- 
grams for Education, Home Man- 
agement, Entertainment, Word 
Processing, Business, Com- 
munications and Programming. 
And we back them with our Toil- 
Free customer service number. 

Ask for Softsmith brand software 
wherever computers or software 
are sold. Or call usToll-Freeat 
(800) 341-4000 for the name and 
location of the dealer nearest you. 

Dealer inquiries are invited. 

Apple II, II + , and lie are registered trademarks 
of Apple Computers, Inc. Franklin Ace is a trade- 
mark of Franklin Computer Corp. Atari 800 is a 
registered trademark of Atari, Inc. 



SOFTSMITH 



TM 



SOFTWARE 



^ 



LIBRARY 



PAGE 74 



A.N.A.LO.G. COMPUTING 



ISSUE 15 




KNIGHT5 AND CHALICES 







Snights 



by 
Bruce Willard 




24K 
Cassette 

32K 
Disk 



Chalices 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 75 



Your King has been robbed by an evil Sorcerer of 
his Magic Chalice and, as a further insult, locked out 
of his own castle. 

You are selected as his favorite Lord (or Lady) to 
retrieve the Chalice and the key to open his castle 
gates. 

There are many obstacles in your path. Dragons, 
enemy archers, a troll, lakes and lava pools abound, 
not to mention the Evil Sorcerer himself. Of course 
there are also objects to aid your search, such as 
swords, a bow and arrow, and a magic necklace. 
However, you must have the right defense for the 
danger threatening you. 

In the One Player game, your objective is to obtain 
the Magic Chalice and castle key while being delayed 
as little as possible by the dangers awaiting you. Then 
you must return to the castle where you will receive a 
Coat of Arms appropriate to your efforts. 

In the Two Player game, you must find the Magic 
Chalice and key and return to your Castle before 
your opponent. If you should run into something 
nasty without the proper protection, you will lose a 
number of turns or be transported. An enemy archer 
will send you to the beginning of the screen you are 
on, and the Evil Sorcerer will send you to his abode at 
the corner of the screen. 

There are two methods of using the joystick. The 
first, advised for more accurate movement and when 
first playing the game, is to move your joystick in the 
direction you wish to travel. Your Knight will then 
appear, flashing in that position. If that is the position 
you wish, then push the button. Your move is then 
made, If not, then just move your joystick in another 
direction. 

The second method is to keep your button 
depressed while moving the joystick in the desired 
directions. Your Knight will then complete his move 
immediately. This will result in much faster play. 

This game uses strings to display the playfield, and 
also to manipulate the playfield to show different 
areas for each player at the same time. All objects on 
the screen are part of an altered character set. Motion 
of individual characters, dragonfire, sorcerer's wisp 
and running motions are performed by changing the 
bytes in the character set making up that character 
during the motion routine. 

One last note: when using a string as a screen 
display, make sure no part of the string crosses a 4K 
boundary or garbage may be displayed on the screen. 
If this problem is encountered, changing the order in 
which your strings are dimensioned may help. □ 



A$ - Machine language routine to move char- 
acter set. 

SCR$ - Full screen display. 

SC1$, SC2$ - Holds obstacles for players. 

SC1A$, SC1B$ - First and second screens 



for player one. 

SC2A$, SC2B$ - First and second screens 
for player two. 

TEMP$ - Holds reference characters for 
obstacles. 

PL1$, PL2$ - Player titles and names. 

SCREEN(N) - Which screen each player is 
on. 

Pl$, P2$ — Holds players' possessions. 

KN - Which Knight is moving. 

PLR - Number of players in game. 

POS1, PPS2 — Players' positions. 

POS - Player position during turn. 

PR — Which players' turn. 

MOVE - Which space to move to. 

LT1, LT2 - Lost turns. 

MR1, MR2 - Player sent to sorcerer's abode. 

CHAL1, CHAL2 - Player has Chalice. 

KEY1, KEY2 - Player has Key. 

S - Joystick position. 

P - Location of move in SCR$. 

TPOS - Flashing Knight on or off. 

SI, S2 - Offset of player playfield from SCR$. 

SC - Position of obstacle in SC1$ or SC2$. 

D - Position of dragonfire. 

Ml, M2 - Positions of sorcerer's abode. 

ADDR - Address of new character set. 

CHBAS - High byte address of new character 
set. 

RAMTOP — New top of RAM. 

PAGE - Number of pages Ramtop moved. 

DLL, DLH - Display list Low byte, High byte. 

SA, SL, SH - Address of SCR$, Low byte, 
High byte. 

A, B, C, D, I, L, X, Y, Z - Common variables. 



Line documentation. 

0-20 — Go to start. 

30-130 — Joystick and lost turn. 

140-150 — Disable break key. 

160-192 — Galloping knight. 

200-350 — Flash knight, check for obstacles 
and make move. 

360-800 — Check for invisible objects, win 
and bridge. 

810-917 — Dragon, check for right sword, 
breath fire. 

1000-1060 — Enemy archer, check for bow 
and arrow. 

1070-1080 — Lake or lava pool, lose turn. 

1090-1190 — Sorcerer. 

1200-1210 — Find sword. 

1220-1280 — Troll, check for necklace. 

1290-1300 — Find necklace. 

1310-1365 — Find chalice. 

1500-1530 — Position knight to beginning 
of screen. 



PAGE 76 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



1540-1570 — Display positions. 

1600-1630 — Position knight after non- 
movable obstacle. 

2000-2380 — Construct new character set. 

2400-2940 — Initialize, place obstacles. 

3000-3250 — Initialize, display winner. 

3400-3490 — If one player, score, coat of 
arms, high score. 



8 REM >>KNIGHT5 AND CHALICES<< 

1 REM >> by Bruce Millard « 

3 REM 

18 GOTO 3888 

38 KN=C2:PCS=P851:IF PR=C1 THEN PC5=P0 

52:KN=C1 

48 M6VE=P03 

58 5=5TICKtPRJ : IF 5=C15 THEN GOSUB 168 

:G0TD 58 

68 M0UE=P0S+C5<C83-C1*CS>C8 AND 5<12J+ 

CS=C5 OR S=C9 OR S=133*C28-C26*CS=C6 

R S=C16 OR 5=143 

65 GOSUB C288+88*PR 

78 GOTO 58 

88 IF NOT PR AND LT2 THEN PRrCl :LT2=L 

T2-C1:G0T0 188 

98 IF PR AND LT1 THEN PR=C8 :LT1=LT1-C1 

188 IF LT1 AND LT2 THEN 88 

118 IF PLROC1 THEN PR= NOT PR 

128 IF MR1 6R MR2 THEN GOSUB 2548 

138 POKE 77, C8: GOTO 38 

148 I=PEEKC163 :IF I>128 THEN I=I~128:P 

OKE 16,I:PBKE 53774,1 

158 RETURN 

168 RESTORE 19I+CHAL1*C NOT PR3+CHAL2* 

PR: IF KN=C3 THEN RESTORE 192 

178 B=ADDR+CKH3*C8+C7:FCR Y=C8 TO C4 S 

TEP -C2:READ C:POKE B,C:SOUND C8,125,C 

4*PR,Y 

188 FOR Z=C1 TO C4:NEXT Z: SOUND C8,C6, 

C8,C8:FBR Z=C1 TO C5*RND CC8J +C3 : NEXT Z 

I NEXT Y: RETURN 

191 DATA 34,68,136 

192 DATA 68,34,17 

288 P=S1-C1+M0VE:IF P<S1 OR P>S1+C139 

THEN 368 

218 IF (H0gE-C13/C28=INTClM0UE-ClJ/C28 

J AND P0S/C28=IHTCP8S/C28J THEN 368 

228 IF MCUE/C28=INT CM0UE/C28J AND CP8S 

-CU/C28rINTCCP0S-ClJ/C28J THEN 368 

238 T=ASCC5CRSCP3 3 :IF T AND T<>194 THE 

N 378 

248 TPOS= NOT TPOS :5CRS CP,P3 =CHRS C194* 

TPOSJ :S=STICKCC83 : IF S=C15 AND STRIGCC 

8) THEN GOSUB 168: GOTO 248 

258 IF NOT 5TRIGCC63 THEN GOSUB 588 :P 

OP :GOTQ 88 

268 SCRS CP , P J =C8S : MOUE=POS : RETURN 

288 P=S2-C1+M0UE:IF P<S2 OR P>S2+C139 

THEN 368 

298 IF CMOUE-C13/C26=INTCCMOUE-C13/C28 

) AND P8S/C28=INTCP0S/C283 THEN 368 

388 IF M0UE/C28=INTCM0UE/C283 AND CPOS 

-Cl)/C28=INTf CP0S-C1J/C28J THEN 368 

318 T=ASCCSCRSCP3 3 :IF T AND T<>129 THE 

N 378 

328 TPOS= NOT TPOS :SCRS CP, P) =CHRS C129* 

TP0S3 :S=STICKCC13 :IF S=C15 AND 5TRIGCC 

1) THEN GOSUB 168: GOTO 328 

338 IF NOT STRIGCC13 THEN GOSUB 788 :P 

OP :GOTO 88 

348 SCRS tP , P J = C8S : M8VE=P05 : RETURN 

368 FOR Y=C8 T8 C8 STEP -CI: SOUND Cl.C 

288,C8,Y:F8R Z=C8 TO C5:HEXT Z:NEXT Y: 

HOVE=POS: RETURN 

378 T=ASCCSCRSCP3 3 : IF CT<>22 OR P0S<>5 

8) AND T<>24 THEN 418 

388 SCREENCPRJ= NOT SCREEN CPR3 : GOSUB 1 

588+PR*C28+5CREEH CPR J *C16 

385 FOR X=C1 TO C18 : SOUND C8,C188,C8,C 

8: FOR Y=C1 TO C5:NEHT Y 



398 SOUND C8,C8,C8,C8:F8R Y=C1 TO C18: 
NEXT Y: SOUND C8,C288,C4,C8 :FOR Y=C1 TO 

C5:NEXT Y 
395 SOUND C8,C8,C8,C8:F0R Y=C1 TO C18: 
NEXT Y 

488 NEXT X:POP :GOTO 88 

418 T=ASCCSCRSCP3 3 : IF KEY1 AND CHAH A 
ND CT=285 8R T=2663 THEN 3366 
428 T=ASC(SCR$CP)3 :IF KEY2 AND CHAL2 A 
ND CT=141 8R T=1423 THEN 3368 
438 GOTO 368 

586 SC=M0UE+C148#SCREENCPR3 :IF ASCCSCl 
SCSC3 3 THEN 536 
518 IF SCREEN CPR3 THEN 528 
515 SClAStPOSl,POS13=C8S:5ClA$CMOOE,«C 
VE3 =CHRS f 1943 : P0S1=M0VE : SCRS CS1 , S1+C13 
93 =SC1AS: RETURN 

528 SC1BS CP0S1 , P0S13 =C6$ : SC1BS t MOVE , MO 
UE3 =CHRS C1943 : P0S1=M0VE : SCR$ f SI , S1+C13 
93 =SC1B$: RETURN 

538 IF ASCCSClSCSC33<>287 THEN 568 
548 KEY1=C1: GOSUB 1546: FOR X=C98 TC CI 
68:SCRSCP,P3=CHRSC2B73 :S8UND C8,C186,1 
4.C18 

558 F6R Y=C1 T8 C15:HEXT Y:S8UND C8,C2 
88 , C18 , C18-X/C18 : SCRS f P , P3 =C8S : NEXT X : 
GOTO 518 

568 IF A5CC5ClSCSC3 3<>268 THEN 588 
578 G8SUB 1548: FOR X=C98 TO C188:5CR$C 
P,P3=CHRSC2883 : SOUND CO, C156, 14, C18 : G8 
TO 558 

588 F8R X=C1 TC C28 : IF ASC CSClS CSC3 3=A 
5CCTEMPSCX3 3 THEN 688 

598 NEXT X:IF ASC CSClS(5C3 3=C8 THEN 13 
18 

686 8N X GOTO 818,818,818,818,1888,188 
8,1878,1878,1898,1896,1288,1288,1288,1 
288,1676,1878,1878,1876,1228,1298 
618 RETURN 

788 5C=MCUE+C148*SCREENCPR3 :IF ASCCSC2 
SC5C3 3 THEN 738 
718 IF SCREEN CPR3 THEN 728 
715 SC2AS CP0S2 , P0S23 =C8$ : SC2AS CNCVE , M8 
VE3 =CHR$ C1293 : P8S2=M0VE : SCRS CS2 , S2+C13 
93=SC2AS:RETURN 

728 SC2BS CP0S2 , P0S23 =C8S : 5C2BS CMOUE , MO 
VE3 =CHR$ (1293 : P0S2=M0VE : SCRS 152 , 52+C13 
93 =SC2B$: RETURN 

738 IF ASCC5C2SC5C3 3 0143 THEN 766 
746 KEY2=C1: GOSUB 1568: FOR X=C98 T8 CI 
86:5CRS(P,P3=CHRSC1433 : SOUND C8,215,14 
,C18 

758 FOR Y=C1 TO C15:NEXT Y:50UND C8,C1 
88, C18, C18-X/C18 : SCRS CP, P3 =C8S : NEXT X : 
G8T0 718 

768 IF A5CCSC2SCSC3 3 0144 THEN 788 
778 G85UB 1568:F0R X=C98 TO C188:SCRSC 
P,P3=CHRSC1443 :SOUND CO, 128, 14, C18 :GOT 
8 758 

788 F8R X=C1 TC C28.-IF ASC CSC2S CSC3 3 =A 
SCCTEMPSCX3 3 THEN 668 

798 NEXT X:IF ASC CSC2S CSC3 3=C9 THEN 13 
18 

888 RETURN 

818 D=P-Cl:IF D/C28=IHTCD/C283 THEN D= 
P+Cl 

828 SCRS CP , P3 =TEMPS CX3 : SCRS CD , D3 =CHRS C 
1533 :FOR Y=C8 TO C7:REST0RE 918+Y:F0R 
Z=C8 TO C7 

838 READ A : POKE ADDR+C8*25+Z, A : 58UND C 
8,C288,C6,Y*2:NEXT Z : NEXT Y 
835 F8R Y=C7 TO C8 STEP -CI: RESTORE 91 
8+Y:F0R Z=C8 T8 C7 

848 READ A: POKE ADDR+C8*25+Z, A : SOUND C 
6,C188,C8,Y+C2:NEXT Z:NEXT Y:FOR Z=C2 
TO C38 STEP C2 

858 IF NOT PR AND ASC CPlS CZ3 3 =A5C CTEM 
PSCX+C183 3 THEN 888 

868 IF PR AND ASC CP2S CZ3 3=ASC CTEMPS CX+ 
C183) THEN 888 

878 NEXT Z: GOSUB 1688+PR*C28+SCREEN CPR 
3*C18:LT1=LT1+X*C NOT PR3 :LT2=LT2+X*PR 
:G8T0 51B+PR*C268 
888 F8R Y=-C158 TO C158 STEP CIO : SOUND 

C8, ABS CY3 , C6 , C18-ABS CY3 /C15 : POKE 5376 
8,129:NEXT Y:P8KE 53768, C6 
898 IF PR THEN SC2S CSC, SC3 =C6S :P2SCZ,Z 
3=TEMPSCX3 : SCRS (458, 4793 =P2S:G8T0 718 



HIGH QUALITY 
PRODUCTS AT 
AFFORDABLE PRICES 



As Easy As Falling Off . . . 

fllOG COMPUTING 

Dealer and distributor inquiries invited. 



ADVANCED SOFTWARE 
DESIGNS FOR HOME 
COMPUTERS 



We at Alog Computing wish to thank you for the response you have given us 
on our first product the Alog Pagewriter. (See Comments) Now we have two 
other utility programs available for Atari Home Computer users. We have 
tried to make them simple and fun to use. We hope you enjoy them. 
Note: Although these programs were developed for the Atari 400/800 models, 
we have tested them on the 1200 and have no reason to believe they will not 
run on all Atari machines. 

THE ALOG PAGEWRITER 

Turns your ATARI computer and 80 column printer into a very easy to use electronic 
typewriter. Because the entire page layout is displayed while the user is typing and 
editing, the ALOG PAGEWRITER is ideal for simple word processing tasks such as 
letters, notes, memos, or the kid's book reports and term papers. The average 
learning time is about five minutes. 

KEY FEATURES 

• Uses standard Atari editing keys (e.g. INSERT, DELETE, TAB, etc.) • A HELP screen 
with command summary • Visible and fully adjustable margins • FILL command for 
right justification • Automatic return option (with word moving) • Line 'Split' and 
'Splice' commands • Store 10 pages with no disk swapping • Not copy protected 

REQUIRED EQUIPMENT 

• ATAR I 400 or 800 Computer • ATAR I 850 I nterface Box • At least 32K of R AM • One 
disk drive • 80 column printer 

THE ALOG DISPLAYMAKER 

A versatile color graphics program in Forth that you can use for making graphs, charts, 
displays or just have fun drawing pictures. 

KEY FEATURES 
Graphics Mode: • Circles, Ellipses, Rectangles • "Rubber Band" lines • Semi- 
automatic fill • Color pallette for easy variation • Zoom magnification 
Text Mode:* Three sizes of characters • Three colors • Regular ATARI character set 

• Special character set • "Built-in" character editor (gives unlimited number of 
characters) 

Disk Storage of 8 displays 
"Slide Show" display features 
Graphics dump to most dot graphics printers 
(2 sizes) — Epson*, Gemini 10, Prowriter and others. 

'requires Graphtrax option 

REQUIRED EQUIPMENT 

• ATARI 400 or 800 Computer • At least 48K of RAM • One disk drive • Optional (joy- 
stick and graphics printer) 

THE ALOG MAILLIST 

A simple, easy to use data base program specifically designed for making and keeping 
mailing lists and printing out mailing labels. 

KEY FEATURES 

• Multilevel fast search and sort • Complete disk utility package • Split & merge files 

• Supports 1 or 2 disk drives • Prints continuous form labels 1 to 2 inches high* Uses 
standard ATARI Editing Keys • Holds 130 records in memory and 500 records per 
disk • Make your own backup copies 

REQUIRED EQUIPMENT 

• ATARI 400/800 Computer* At least 32K RAM (48K recommended) • One disk drive 
(works fine with two) of any manufacture that works with ATARI DOS 2. OS • ATARI 
BASIC Cartridge • ATARI DOS 2.0S* An ATARI 850 Interface Module* A printer with 
adjustable tractor feed 



UNSOLICITED COMMENTS 

from users of the Alog Pagewriter (used 
with written permission) 

"Great product. I wrote two pages the first time 
I sat down with it. I wish I had it a couple of 
years ago. " 

James Tanaka, Monterey Park, CA 

"Refreshingly simple but adequate word 

processor at an affordable price — good work. " 

Jay Carccarese, San Jose, CA 

"Super, lama Va [forth programmer and 1 love 
it. " 

P.R.S., San Antonio, Texas 

"Good, simple text processor for letters — great 
to be able to back up master disk. " 

Larry Cox, Floyds Knobs, IN 

"Excellent, it makes letter writing a dream. " 
M.H., Oaktown, VA 

"Great price and easily learned. " 

Noel Brooks, Great Falls, MT 

"As I have used PAGEWRITER I have grown 
to love it. After using WORDSTAR and 
LETTER PERFECT a truly user kind word 
processor is a wonderful experience. " 

"One feature which I feel sets it apart from all 
others is the capability to visualize the page. 
This feature is indispensable when designing 
tables for a report. " 

"Thanks again for an excellent piece of 
software. " 

John C. Goodman, Marblehead, PA 

"Excellent for one or two pages of text. It's 
simple. " 

Richard E. Lane, Vandenberg AFB, CA 

"Very Easy to use. It's very useful for letters" 
Florian C. Pulver, Riverside, California 

"/ have found your product to be quite easy to 
operate and understand, both in the written 
instructions and manual operation. I have the 
ATAR1WRITER and BANK STREET 
WRITER and I find myself using your product 
more than either one of these two products. " 

"I have also found that for the price of your 
product versus that of the other companies that 
your product has paid for itself twice over. " 
Edward Locke, Mentor, OH 

" Very easy to use and perfect for my needs. " 
J.B. Karluk, Throop, PA 



All programs are only $39.95 each. To order direct send check or money order to Alog Computing, 
1040 Veronica Springs Road, Santa Barbara, CA 93105. We pay shipping. For information, credit 
card orders or COD., call our distributor: COMSTAR (805) 964-4660, outside Calif. (800)558-8803. 



(ATARI Is a trademark of Atari, Inc.) 



PAGE 78 



A.N.A. LOG. COMPUTING 



ISSUE 15 



900 5ClSCSC,5C3::Ce$:PlSCZ,Z3=TEMPSCX3 ; 
5CRSCC10,393=PiS:GOTO 510 

910 DATA 0,0,0,0,0,0,8,0 

911 DATA 0,0,0,2,2,0,0,0 

912 DATA 0,0,4,6,6,0,0,0 

913 DATA 0,0,12,14,6,8,0,0 

914 DATA 0,16,12,30,6,24,0,0 

915 DATA 0,48,12,62,6,24,32,0 

916 DATA 64,48,12,126,6,88,32,64 

917 DATA 192,48,12,254,6,88,168,64 
1800 SCRSCP,P3=TEMPSCX3 :KN=C3:F0R I=C1 

TO C6:G05UB 160:NEXT I:KN=C1+C HOT PR 
) 

1O10 FOR 1=110 TO 88 STEP -C1:S0UND C8 
,I,C4, <110-I)/C2:POKE 53768, 65 '.NEXT I 
1815 FOR I=C0 TO 14:S0UND CO, 125, C6, 14 
-I -.NEXT I 

1020 FOR Z=C2 TO C30 STEP C2 : IF CPR AN 
D A5CCP2SCZ3 3=1443 OR ( NOT PR AND ASC 
CPlSCZ3 3=2083 THEN 1850 

1030 NEXT Z:LT1=LT1+CPR=C83 :LT2=LT2+PR 
'.GOSUB 1660+C20*PR+C1O*SCREENCPR3 :MOVE 
=5CREENCPR3*43+C NOT SCREEN CPRJ )*81 
1840 GOTO 510+C2O0«PR 

1850 IF PR THEN P2$ CZ, Z) =TEMPS CX3 :SCRS 
C450 , 4793 =P2S : SC2S CSC , SC3 =COS : GOTO 710 
1068 PlSCZ,Z3=TEMPSCX3 : SCRS CC18, 393 =P1 
$:SClSCSC,SC3=C0S:G0T0 510 
1070 SCRSCP,P3=TEMP$CX3 :FOR Z=C50 TO C 
150: SOUND CO,Z+C15,12,C15-Z/C10 : SOUND 
C1,Z,C1O,C15-Z/C10:NEXT Z 
1888 LT1=LT1+C3*C NOT PR3 :LT2=LT2+C3*P 
R: GOSUB 1600+C20#PR+C10#5CREEN CPR3 :RET 
URN 

1090 SCRSCP,P3=CHRSCC103 :FOR Z=C1 TO C 
20:REST0RE 1190 

1095 FOR I=C0 TO C2:READ A: POKE ADDR+C 
8*C10+I,A:SOUND C0,C50,14,C6 :NEXT I 
11O0 FOR I=C0 TO C2:READ A: POKE ADDR+8 
8+I,A:S0UND C0,C10,14,C8:HEXT I:NEXT Z 
1118 FOR Z=C50 TO C150:S0UND C0,Z,14,C 
8 -.NEXT Z:FOR Z=C10 TO CO STEP -C1:50UN 
D C0,C2OO,C0,Z:NEXT Z 

1120 IF PR AND NOT SCREEN CPR3 THEN SC 
2ASCP0S2,P0523=C0S 

1130 IF PR AND SCREEN (PR3 THEN SC2BSCP 
0S2,P0S23=C0S 

1140 IF NOT PR AND NOT SCREEN CPR3 TH 
EN 5C1ASCPO51,PO513=C0S 

1150 IF NOT PR AND 5CREEHCPR3 THEN SC 
IBS CP0S1 , P0S13 =C0S 

1168 P=P0S+CPR*S23+CC NOT PR3#S13-C1:S 
CRS CP, P3 =COS : GOSUB 16O0+C20*PR+C1O*5CR 
EENCPR3 

1170 P=SCREENCPR3*H2+C NOT SCREEN CPR3 3 
*Ml:IF PR THEN P0S2=P :P=S2+P-C1 :SCR$CP 
,P3=CHRSC1293 : MR2=C1 : RETURN 
1188 P0S1=P : P=5i+P-Cl : SCRS CP , P3 =CHRS CI 
943 :MR1=C1:RETURH 
1198 DATA 168,78,178,64,174,74 
1288 FOR Z=C1 TO C20: SOUND C0,C10O,C10 
,Z/C2 : SCRS CP, P3 =TEMPS CX3 : FOR I=C1 TO C 
10:NEXT I:SOUND CO, C50, CIO, C10-Z/C2 
1210 5CR$CP,P3=C0S:FOR I=C1 TO C10:NEX 
T I:NEXT Z:GOSUB 1540+C20*PR:G0T0 510+ 
C2O0*PR 

1220 FOR Z=C1 TO C6 : SCRS CP,P3="3 M : FOR 
I=C200 TO C150 STEP -CI : SOUND C0,I,C8, 
C8:NEXT I:SCRSCP,P3="t" 

1230 FOR I=C10O TO C150:S0UND C0,I,C8, 
C6:NEXT I: NEXT Z : FOR Z=C2 TO C30 STEP 
C2 

1240 IF CPR AND ASC CP2S CZ3 3 =C303 OR C 
NOT PR AND ASCCPlSCZ3 3=C303 THEN 1260 
1250 NEXT Z:5CRSCP,P3=C0S:LT1=LT1+C2*C 

NOT PR3 :LT2=LT2+C2*PR: RETURN 
1260 FOR I=C1 TO C4:F0R A=C50 TO C20 S 
TEP -C1:S0UND C0,A,14,C8:NEXT A:NEXT I 
:SOUND CO, CO, CO, CO 

1270 IF PR THEN 5C2S CSC, SC3 =C0S :P2S CZ, 
Z3 =TENPS CX3 : SCRS C450 , 4793 =P2S : GOTO 710 
1280 5C1S CSC , SC3 =COS : PIS CZ , Z3 =TEMPS CX3 
: SCRS CC10, 393 =P1S: GOTO 510 
1290 FOR Z=C1 TO C15:F0R I=C10 TO C0 S 
TEP -C2: SOUND CO, I*C10, 14, I :NEXT I : SCR 
SCP,P3=CHRSCC303 
1295 FOR I=C10 TO CO STEP -CI 



1300 SOUND C0,I*C20,C10,I:SCRSCP,P3=CO 
S:NEXT I: NEXT Z: GOSUB 1540+C20*PR:G0T0 

510+C2O0*PR 
1310 SCRSCP,P3=CHRSC253 : FOR X=~C5 TO C 
5:Y=AB5CX3 :A=C0 

1320 RESTORE 1360+Y:F0R Z=-120 TO 160 
STEP C40:I=ABSCZ3 : SOUND CO, I, 14, Y*C2:5 
OUHD CI,I+1,14,C2*Y 

1330 READ D : POKE ADDR+C8*25+A, D : A=A+CI 
:NEXT Z:NEXT X:SOUND C0,C0,C0,CO:SOUND 

C1,C0,CO,C0:IF PR THEN CHAL2=C1 
1340 RESTORE 2380: FOR I=C8 TO C7:READ 
A: POKE ADDR+C8*CC1+CPR=C03 3+I,A:NEXT I 
1345 GOSUB 1540+C2O*PR:IF NOT PR THEN 

CHALlrCl 
1350 GOTO 510+C200*PR 

1360 DATA 129,0,0,0,0,0,0,129 

1361 DATA 129,66,0,0,0,0,66,129 

1362 DATA 0,66,38,8,8,38,66,8 

1363 DATA 8,0,38,24,24,38,8,0 

1364 DATA 8,0,0,24,24,0,0,0 

1365 DATA 0,0,0,0,0,0,0,0 

1500 P0S1=58 : SC1AS CPC51 , P0S13 =CHRS C194 

3 : SC1BS CPOS, P0S3 =C0$ : SCRS CS1 , S1+C1393 = 

SC1AS: RETURN 

1510 P0S1=43:5CIBSCP0S1,P0S13=CHRSC194 

3 : SC1AS CPOS , P053 =COS : SCRS CS1 , S1+C1393 = 

SC1BS: RETURN 

1520 P0S2=58 : SC2AS CPCS2, P8S23 =CHRS C129 

3 : SC2BS CPOS , P053 =C0S : SCRS CS2 , 52+C1393 = 

SC2AS: RETURN 

1530 P0S2=43 ! SC2BS CP0S2 , P0S23 =CHRS C129 

3 : SC2AS CPOS , P0S3 =C0S : SCRS CS2 , S2+C1393 - 

SC2BS: RETURN 

1540 FOR Z=C2 TO C30 STEP C2:IF ASC CP1 

SCZ3 3 THEN NEXT Z: RETURN 

1550 PlSCZ,Z3=SClSCSC3 : SCRS CC10, 393 =P1 

S : SC1S CSC, SC3 =C0S : RETURN 

1560 FOR Z=C2 TO C30 STEP C2 : IF ASC CP2 

SCZ33 THEN NEXT Z:RETURN 

1570 P2SCZ,Z3=5C2SCSC3 :SCRS C450,4793=P 

2S:SC2S CSC, 5C3=C0S: RETURN 

1680 SC1AS CMOUE, MOUE3=TEMP$CX3 :MOUE=PO 

SI: RETURN 

1610 SC1BS CMOUE , M0UE3 =TENPS CX3 : MOUE=P0 

Si: RETURN 

1620 SC2AS CMOUE, M0UE3 =TEMPS CX3 :HOVE=PO 

S2: RETURN 

52: RETURN 

1630 SC2BS CMOUE, M0UE3 =TEMPS CX3 :MOUE=PO 

S2:RETURH 

2O0O GRAPHICS 17+ CPL R=C13 : GOSUB 1 40 : PO 

SITIOH C3,C5:? ttC6 : " QIiTJHaM3]C5E " 

2010 SETCOLOR CO, CO, CIO :SETCOLOR CI, 13 

,C6:SETC0L0R C2,C4, C4 : SETCOLOR C3,C8,C 

4: GOTO 2030 

2020 DIM ASCC403 :RAMT0P=PEEKC1063-C8:P 

OKE 106 , RAMTOP : CHBAS=RAMTOP : ADDR=CHBAS 

*C256:PAGE=C4 

2025 RESTORE 2055:F0R X=C1 TO C40:READ 

A : AS CX3 =CHRS CA3 : NEXT X 
2030 A=USRCADRCAS3,ADDR,PAGE3 
2040 RESTORE 2188; FOR X=C1 TO C30 : IF X 
=17 THEN X=19 

2O50 FOR Y=CO TO C7:READ A: POKE ADDR+X 
*C8+Y,A:NEXT Y:NEXT X 

2055 DATA 104,104,133,207,104,133,206, 
104,104,133,212,169,0,133,204,169,224, 
133,205,162 

2057 DATA 1,168,0,177,204,145,206,200, 
288,249,230,205,230,207,232,228,212,20 
8,240,96 

2060 POKE C756.CHBAS 

207O DLL=PEEK C5603 +C256*PEEK C5613 +C4 : D 
LH=DLL+C1 

2080 IF NOT PLR THEN RETURN 
2090 REM ALT CHAR SET 

2100 DATA 0,18,28,155,125,125,124,136 
2118 DATA 8,18,28,155,125,125,124,136 
2128 DATA 44,68,140,252,76,44,18,99 
2138 DATA 0,60,126,235,175,219,118,60 
2140 DATA 122,205,206,15,23,5,1,62 
2150 DATA 56,126,251,95,238,126,24,24 
2160 DATA 60,126,247,255,106,60,24,24 
2170 DATA 0,255,60,126,60,24,24,60 
2180 DATA 127,85,127,62,28,8,8,62 
2190 DATA 64,174,74,0,126,14,62,127 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 79 



2290 DATA 146,243,243,97,97,115,127,12 

2210 DATA 73,287,287,134,134,286,254,2 

2220 DATA 127,126,124,116,116,84,84,12 

2230 DATA 254,126,62,46,46,42,42,254 
2240 DATA 0,96,191,149,208,96,0,0 
2250 DATA 32,16,146,127,146,16,16,32 
2260 DATA 0,64,32,255,32,64,0,0 
2270 DATA 0,24,102,177,48,32,8,0 
2280 DATA 0,0,32,48,177,102,24,0 
2290 DATA 0,3,7,13,25,255,5,1 
23O0 DATA 0,255,66,66,66,255,66,66 
2310 DATA 0,192,224,176,152,255,160,12 

2320 DATA 0,0,0,0,0,0,0,0 

2330 DATA 60,126,255,255,255,255,126,6 

2340 DATA 195,153,126,60,24,24,36,66 
2350 DATA 146,40,68,136,68,40,146,0 
2360 DATA 24,60,126,153,219,36,66,129 
2370 DATA 129,66,36,24,24,36,36,24 
2380 DATA 0,72,40,217,190,190,62,17 
2400 POSITION C1,C8:? ttC6; "PREPARE FOR 

BATTLE" 
2410 5CRS=C0S : SCRS (488) =C0S : SCRS IC2) =5 
CRf : SC1A$=SCRS : SC2AS=5CRS : SC1BS=5CRS : 5 
C2B$=5CR$ : 51=61 : 52-C261 

2420 SCRS (221)="+.) ■ (43" : SCRS (229) ="! . 
S" : SCRS (233) ="tt ( ! , )HX3" ; SCRS C41 J ="TUTU 
TUTUTUTUTUTUTUTU" : SCRS (201) =SCRS (41) 
2430 SCRS (241) ="UTUTUTUTUTUTUTUTUTUT" : 
SCRS {4613 = SCR$ t24Li y%CRi£"lSIB^IE" : SCRS 
(8) ="B" : SCRS (441 J ^'amE" 
2435 SCRS (448) =CHRS (146) 
2440 FOR X=C1 TO CIO 

2450 Y=IHT (C140*RND (CO) +C1) : Z = IHT (C2*R 
NDCC03+7O) :IF ASC(SC1AS(Y)) THEN 2450 
2460 SC1AS(Y,Y)=CHRS(Z) 

2470 Y=INT(C140*RND(C0)+C1) :Z=INT(C2*R 
MD(CO3+70) :IF ASC(5C1B$(Y)) THEN 2478 
2480 SC1BS(Y,Y)=CHRS(Z) 

2490 Y=INT(C140*RND(CO)+C1) :Z=INT(C2*R 
MD(C0)+70) :IF ASC(SC2AS(Y)) THEN 2490 
250O SC2AS(Y,Y)=CHRS(Z) 

2510 Y=INT(C140*RND(CO)+C1) :Z=IHT(C2*R 
ND(C0)+70) :IF ASC (SC2BS (Y) ) THEN 2510 
2520 SC2BS(Y,Y)=CHR$(Z) :NEKT X:SC1AS(2 
1) ="(ai" : 5C1AS (41) ="W : SC2AS (21) =CHRS ( 
139) :SC2AS(22)=CHRS(140) 
2525 SC2AS (41) =CHRS (141) : SC2AS (42) -CHR 
S (142) : SC1AS (59) =CHRS (22) : SC1AS (68) =CH 
R$(23) 

2530 5CIBS(41)=CHRS(23) : SC1BS (42)=CHRS 
(24) : SC1BS (43) =C0S : SC2AS (59, 60) =SC1AS ( 
59) :SC2BS(41,43)=SC1BS(41) 
2540 M1=C140 : M2=C20 : SC1AS (Ml , Ml) =CHRS ( 
28) : SC2 AS (Ml , Ml) =CHRS (28) : SC1BS (M2 , M2) 
=CHRS(28) :5C1BS(M1)=C0S 

2545 5C2BS(N2,M2)=CHRS(28) :IF MR1 OR M 
R2 THEN RETURN 

2550 SClS(i.C140)=SCIAS:5CiS(C141,C288 
) =SC1BS : SC2S (1 , C148) =SC2A$ : SC2S (C141 , C 
288) =SC2BS : P0S1=81 : P0S2=81 
2560 SCIAS(P0S1,P0S1)=CHRS(194) :SC2AS( 
P0S2,P0S2)=CHRS(194) :SClS (P0S1, P0S1) =C 
0S:SC2S(POS2,POS2)=C0S 

2570 SCRS (51 , S1+C139) =SC1AS : SCRS (S2 , S2 
+C139)=SC2AS 

2580 SC1S (58 , 58) ="1 " : SC2S (58 , 58) ="1 " : S 
ClAS(58,58)=C0S:SC2AS(58,58)=CeS 
2590 RESTORE 2850: FOR X=C1 TO 18: READ 
Y : TEMPS (X) =CHRS (Y) : NEXT X:F8R X=C1 TO 
18: IF X=C5 THEN A=C0 

26O0 Y=INT(C139*RND(C0)+C1) :IF Y=P0SI 
OR ASC(SC1S(Y)) THEN 2600 
2616 SClS(Y,Y)=TEMPS(X) 

2620 Y=INT(C139*RND(C0)+C141) : IF Y=C26 
1 OR ASC(SC1S(Y)) THEN 2620 
2630 SClS(Y,Y)=TEMPS(X) :IF NOT A THEN 

A=Cl:GOTO 2600 
2640 IF X=C5 THEN X=C6:A=C0 
2650 Y=IHT(C139*RND(C0)+C1) :IF Y=P052 
OR ASC(SC2$(Y)) THEN 2650 
2660 SC2S(Y,Y)=TEMPS(X) 

2670 Y=INT(C139*RND(C0)+C141) :IF Y=C26 
1 OR ASC(SC2S(Y)) THEN 2670 



Z S 8 5 C2S(Y,Y)=TEMPS(X) :IF HOT A THEN 

A=C1:G0T0 2650 
2690 NEXT X 

2700 Y=IHT(C279*RND(C0)+C1) :IF Y=P0S1 
8R X = £2 6 J,S R ASC(5C1S(Y)) THEN 27O0 
2710 SC1S(Y,Y)=CHRS(207) 
2720 Y=INT(C279#RND(C0)+C1) : IF Y=P0S2 
OR Y=C261 OR ASC(5C2S(Y)) THEN 2720 
2730 SC2S(Y,Y)=CHRS(143) 
2740 FOR X=CI TO C4 

2750 Y=INT(C279*RND(C0)+C1) :IF Y=P0S1 
OR Y=C261 OR ASC(SC1S(YJ) THEN 2750 
2760 5ClS(V,Y)=CHRS(208) 
2770 Y=INT(C279*RND(C0)+C1) :IF Y=P0S2 
OR Y=C261 OR A5C(SC2S(YJ) THEN 2778 
2788 SC2S(Y,Y)=CHRS(144):NEXT X 
2790 Y=INT(C139*RND(C8)+Ci) :IF Y=P051 
OR ASC(SC1S(Y)) THEN 2790 
2888 SClS(Y,Y)=CHR$(C30) 
2810 Y=IHT(C139*RND(C0)+C1) :IF Y=P0S2 
OR ASC(SC2S(Y)) THEN 2810 
2820 SC2$(Y,Y)=CHRS(C30) 

vnunsimus 1 - C28 - ci j =" 1 - •- f emps < cz 

Z8 S 8 £ATA133,197,69,5,131,195,132,132 
-18^10,147,211,83,19,218,218,218,218 
2868 X=INT (CI41*RND (CO) +C140) : IF ASC (S 
C1S(X)) THEN 2868 

2?Z2 . 5C1S CX ' HJ ~ CHR ? f C8} : Y=IWT tC4«RHD (C 
0>+Cl):X=XCl:IF X>C148 THEN IF NOT A 
SC (5C1S (X) ) THEN SClS (X, X) =TEMPS (Y) 
?!S *^ K+21:IF «<C281 THEN IF NOT ASC 
(SC1S(X)) THEN SC1$(X,X)=TEMPS(Y) 

iiKxi?ii& i nn m tcej +ci4ij : if * sc cs 

2?±°. , SC2 , S £ X A K} ^ CHR f f " J : V = IHT «C4*RND (C 

0)+Cl) :X=X~C1:IF X>C140 THEN IF NOT A 

5C (SC2S (X) ) THEN SC2$ (X , X) =TEMPS (Y) 

2920 X=X+21:IF X<C281 THEN IF NOT ASC 

(SC2S(X)) THEN 5C2S(X,X)=TEMPS(Y) 

2930 X=X-C40:IF X>159 THEN IF NOT ASC 

(SC2S(X)) THEN SC2S(X,X)=TEMPS(Y) 

2940 GOTO 30 

3O0O CLR :C0=0:C1=1:C2=2:C3=3:C4=4:C5= 

5:C6=6:C7=7:C8=8:C9=9:C18=10:C20=2O:C3 

0=30 : C40=40 : C140=14O 

3002 C2OO=200 : C255=255 : C256=256 : C141=l 
41:C286=280:C261=261 

3003 C15=15:C50=5O:C150=150:C756=756:C 
139=139 : C279=279 : C281=281 : C656=656 : C65 
7=657 : C764=764 : C98=98 : C10O=100 

3085 GRAPHICS C2:G0SUB 140 

3O10 POKE 71O,C0:POKE 708,148:P0KE 752 

,C1:P0KE C656,C0:POKE C657,14:? "INITI 

ALIZING":GOSUB 2020:PR=CO:KH=C1 

3820 DIM FlS(l) :F1A=ADR(F1S) :F2L=(l-(( 

FlA/4096)-INT(FlA/4096)))#4O96:IF F2L< 

1880 THEN DIM F2S(F2L+2) 

5 82 I« D J?, SCRS f 4883 1 5 C2S « C288) , 5C1S (C28 
8) , SC1AS (C148) , 5C2AS (C140) , 5C1BS (C148) 
, SC2BS (C140) , TEMPS ( C20) . COS (CD 

? 02 5„5 CR5 = '' ftiBEiSEE ":SCRS(C10)=CHRS(C 
1) :C0S=CHR$(CO) 

3830 DIM PIS (C30),P2S(C3O), SCREEN (CD: 
SCREEN (CO) =C0 : SCREEN (CI) =C0 : PlS=COS : PI 
S (C30) =C0S : PIS (C2) =PlS : P2S=PlS : * "*" 
3O40 DIM PL1S(C20),PL2S(C20) :FOR X=C10 
TO CI 5TEP -Cl:POSITION C0,C3:? t»C6;S 
CRS(X,C10) :GOSUB 160:NEXT X 
305O FOR X=C9 TO 18 : POSITION X,C3:? «C 
6; SCRS (C9, CIO) :GOSUB 160:NEXT X:POSITI 
ON 19, C3:? ttC6j" " 
3O60 5CRS=" and ":SCRS(12)=CHRS( 

3070 FOR X=12 TO CI STEP -CI: POSITION 
C0,C5:? »C6;SCRS(X,12) JGOSUB 160:NEXT 

3O80 FOR X=ll TO 18: POSITION X,C5:? ttC 

6;SCRS(11,12) :GOSUB 160:NEXT X:POSITIO 

N 19, C5:? «C6;" " 

3090 SCRS=" CHALICES ": SCRS (19 

)=CHRS(C1) 




COMPUTER 
PALACE 



Koala Pad 



From 
Koala 
Tech. 




The future 
is here. 
Input your 
commands with the 
touch ot a finger on 
your Koala Pad. 
Retail $100.00 

$87.00 *- 



• Super Graphics 
& Drawing 
Program 
Included with 
Pad. 




Over 1000 Items Jvl 
For Your Atari! atari 



We Know ATARI 

Computers... Call 

Us For The Latest 

Info: (503)683-5361 



DUST 
COVER! 

Made from durable brown vinyl & 
custom fitted for: 

• ATARI 400. 800. 600XL, 1200XL Computers 

• ATARI 410 Recorder. 810 Disk Drive 

• EPSON MX-80 or FX-80 Printers 

v|>0.y J EACH Please specify which model 



FREE 
Catalog 

With any order, or 
send $1 (refundable 
with purchase). Send lis 
your name & address for- 
FREE QUARTERLY 
FLYERS with SPECIALS! 

Over 1000 items 
for your Atari. . . 

• Mosaic • Petcom 

• Broderbund • APX 

• Roklan • Dalasoll 

• Synapse • A I 

• On-Lme •Alan 

• Hayes • Epson 

• Visicalc • Mote 1 



"Astra 
1620 





Use Your 
Credit Cards! 

We honor VISA. 
American Express. 
& MasterCard. 

24 & 48 Hour 
Shipping Is 
Available... CALL! 



$89.50 



Modem & Printer Interface 




PINBALL ^ m -*-' pm * 



CONSTRUCTION SET 




• A Fantastic Program! 

• Design the Pinball Game of 
your dreams... or play one of five 
games included on the disk! 

New from 48K 

Electronic Arts Disk 



$35.10 



ALL-TIME FAVORITES 

Star Raiders© 38.20 

Eastern Front (D,T) 29.95 

Pacman (C) 39.50 

Temple of Apshi (D,T) 35.10 

Zorkl, II, or III (D) each 35.10 

Centipede (C) 39.50 

Missle Command (C) 29.70 

Shamus (D,T) 31.50 

Ghost Hunter (D) 34.95 

Ghost Hunter (T) 29.95 




This is one of the Most Versatile data-base 
programs available for business or home use! 



From ROYAL SOFTWARE 
UK Disk only 




PLUS 




$54.00 



The 



Monkey 
Wrench II 



Much More Than A Mailing List! 



Maintain Your Book Library 
Organize Your Record Collection 
Keep Track Of Your Recipies 
Are You A Stamp Collector? 

Let Super Mailer Plus keep track of 

all these and more! 



Dealer Inquiries Invited 

Our Price 

$49.95 



You can accomplish this and more because ot the 
"User Redefineable fields"! The program has many 
other features Multiple Search-Special Code Field- 
Stngle /or /Double Density Operation-Create Sub-files— 
Auto-delete— Print Labels 1/2/or 3 up— Print File 
Copy-Meree/Search/Sort-Built -in Official Post Office 
Stale Abbreviations-More . 



A cartridge for the right-hand 
Slot of your Atari 800! 

This is a BASIC & Machine-language 
Programmers Aid for the 800 It plugs into !he 
right slot, and works with Alan BASIC lo add 16 
new direct-mode commandsdncl Aulo line 
numbering. Delete lines. Renumber BASIC, Hex- 
Dec conv Find siring. Move lines. Exchange 
string. Disk directory trom BASIC, Mem lest. 
More ) Also includes a monilor wilh 1 5 
commands to mieraci wtlh the 6502 This has 
been proven to be a very helpful Idol when wrilino 
your own programs 1 



TOP-TEN PROGRAMS 

Pole Position (C) 

Donkey Kong (C) 

Blue Max (D.T) 

Baseball (D.T) 

Pinball Construction Set (48K. Disk). 

Football (D.T) 28.90 

Monkey Wrench II (nol a tame) (C) 54.00 

Ultima II (D) 52.50 

Archon (D) 35.10 

Dig Dug (C) 44.90 



, 44.90 
. 44.90' 
. 31.50 
. 28.90 
. 35.10 




HARDWARE 

Astra Disk Drive 488.00 

Micromainframe Disk Drive 499.00 

Atari 1020 Printer 199.00 

Atari 1010 Recorder 86.00 

Super-5 Printer 329.00 

Panasonic Monitor (GmScm.w/sound). 199.00 

Dust Covers (400/800/410/810). . . . each8.95 

Trak A2-D2 Disk Drive 398.00 

SOFTWARE 

Archon (D,T) 35.10 

Pinball Construction (D) 35.10 

Microsoft Basic II (C) 79.10 

Diskey Utility (D) 44.90 

Quasimodo (D.T) 31.50 

Murder on the Zinderneuf (D) 35.10 

Blue Max (D.T) 31.50 

Odessa Chess (D) 59.50 

Frogger (T) 23.95 

Pharoah's Pyramid (D) 31.50 

Rally Speedway (C) 44.90 

Ultima II (D) 52.50 



a 



COMPUTER 
PALACE 







OPEN Monday -Saturday, 9 to 6 

2160W. 11th Avenue Eugene, Oregon 974021 



USE YOUR CREDIT CARD & CALL 

Toll Free 1-800-452-8013 

(Orders Only, Please) 

For Information Call (503)683-5361 



Shipping Note: UPS & Parcel Post-$2.00— UPS Air-$3.90 
Shipping on hardware & paper supplis extra-Call for $. 
24 & 48 hour shipping available... Call (503)683-5361 

We specialize in A TARI Compatible Products 

So we know what works bestl! ! 

Call for the latest info. . . (503)683-5361 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 81 



3180 FOR K=19 TO CI STEP -CI : POSITIOH 

C0.C7:? ttC6j5CRS(X,193 :G05UB 16B.NEXT 

X 

3110 GOSUB 160: POSITION 19, C5:? »C6;" 

3120 SCR$=" BY BRUCE MILLARD 

":SCR$t29J=CHR$C34J :KN=C2 
3130 FOR K=29 TO CI STEP -C2:P0KE C656 
,CO:POKE C657,C0:? SCRS CX, 291 : GOSUB 16 
GlHEHT X 

3140 POKE C656,C1:P0KE C657,C18:? "PRE 
SS 1 FOR 1 PLAYER": POKE C656,C2:P0KE C 
657,11:? "OR 2 FOR 2 PLAYERS" 
3150 OPEH ftCl,C4,C6,"K:" 
3160 GET ttCl,PLR:IF PLR<49 OR PLR>C58 
THEN POKE C764,C255:G0T0 3160 
3170 PLR=PLR-48: CLOSE ttCl 
3180 ? "«":POKE C656,C6:P0KE C657,C18: 
? "PLAYER 1":P0KE C656,C1 
3185 POKE C657,C18:? "LORD OR LADY":PO 
KE C656,C2 

3190 POKE C657,C10: INPUT PLlS:? "«":P0 
KE C656,C0 

3195 POKE C657,C18:? "AND YOUR NAME":P 
OKE C656,Cl:P0KE C657,C10 
3280 INPUT TEMPS: PLlS CC6J=TEMP$: FOR 1= 
CI TO LENCPLlSj :PL1SCI,I3-CHRSCASCCPL1 
5 tI)J +160J : NEXT I:PLlSCC5,C5J=" " 
3210 IF PLR=C1 THEN 325© 
3220 ? "*":POKE C656,C0:P0KE C657,C18: 
? "PLAYER 2": POKE C656,C1 
3225 POKE C657,C18:? "LORD OR LADY":PO 
KE C656,C2 

3230 POKE C657,C10:INPUT PL2S:? "H'^PO 
KE C656,C0 

3235 POKE C657,C10:? "AND YOUR NAME":P 
OKE C656,Cl:P0KE C657,C10 
3240 INPUT TEMPS :PL2SCC6J=TENPS: FOR 1= 
1 TO LENCPL2S) : PL2S CI, I) =CHRS CASC CPL2S 
CIJJ+128J :NEXT I 

3250 PL2$CC5,C5)=CHR$C128J :GOTO 2000 
3380 POKE 106, RAMT0P+C8: GRAPHICS 17: GO 
SUB 140 

3310 SETCOLOR C0,C8,C18 : SETCOLOR CI, 13 
,C6:SETC0L0R C2,C4, C4 :5ETC0L0R C3,C8,C 
4:P0KE C756,224:P0SITI0N C2,C5 
3320 ? ttC6:"C0NGRATULATI0NS":IF PR THE 
N PLlS=PL2$ 

3330 A=19-LEHCPL1$J :A=INTCA/C2J :POSITI 
ON A,C7:? I»C6;PL1$:IF PLR-C1 THEN GOSU 
B 3460: GOTO 3360 

3340 POSITION C4,C10:? »C6;"you bested 
": POSITION C4,ll:? t*C6;"your opponent" 
: POSITION C4,14:? ttC6j"the realm" 
3350 POSITION C4,C15:? ttC6; "salutes yo 
u" 

3360 POSITION C1,C20:? ttC6, '"ANOTHER CH 
ALLENGE?": POSITION C7,22:? ltC6; " CY/NJ " 
:POKE C764,C255 

3370 A=PEEKtC764J :IF A=C255 THEN 3370 
3388 POKE C764,C255:IF A=35 THEN END 
3396 CLR : RUN 

3480 A=C100-LTl:B=PEEKC1536J : POSITION 
C4,C15:? ttC6;"HIGH SCORE:" 
3410 IF A>B THEN POKE 1536, A: FOR X=C1 
TO LEN(PL1$] :POKE 1537+X . ASC CPLlS tXJ J : 
NEXT X:POKE 1537,LENCPL1SJ 

3420 POSITION C2,C10:? «C6;"thy score 
was ";A:POSITIOH C2,12:? ttC6;"thy coat 

of ari»s": POSITION C2,13 
3430 ? ttC6;"is a "; :IF LTKC26 THEN ? 
ttC6;"l ion": GOTO 3480 

3440 IF LTKC38 THEN ? »C6; "kangaroo" : 
GOTO 3488 
3458 IF LTKC48 THEN ? ttC6; "goat" :GOTO 

3488 
3460 IF LTKC58 THEN ? «C6; "dUCk" :GOTO 

3488 
3478 ? t*C6;"snail" 

3480 B=PEEKtl536) : C=PEEK 115371 :FOR X=C 
1 TO C:PLlSfX,X3=CHRSCPEEKtl537+XJJ:NE 
XT X 

3490 L=17-C:L=INTtL/C2J : POSITION L,17: 
? ttC6jPLl$fCl,C);" ";B:RETURN 



CHECKSUM DATA 

(see p. 70) 



DATA 168,747,991,640,576,720,142,28, 

785,617,8,969,327,82,148,6868 

138 DATA 55,278,596,516,599,932,283,87 

,927,1,153,591,188,593,789,6580 

280 DATA 958,25,149,598,187,596,785,61 

, 187 , 262 , 884 , 848 , 669 , 239 , 539 , 6899 

428 DATA 536,728,671,386,825,832,196,6 

3,472,289,58,3,384,409,594,6198 

768 DATA 688,312,846,853,282,782,477,2 

15,844,8,318,595,258,774,488,7636 

835 DATA 359,447,981,531,13,616,338,63 

5,727,734,759,861,299,155,594,8849 

917 DATA 981,783,185,666,672,378,618,4 

55,886,563,214,478,246,638,556,8223 

1128 DATA 52,428,797,79,16,232,129,386 

,689,323,272,744,871,748,869,6547 

1278 DATA 232,866,262,654,188,618,564, 

286 , 782 , 839 , 628 , 98 , 583 , 168 , 95 , 6687 

1364 DATA 998,939,262,258,279,275,84,7 

07,89,877,674,676,681,683,714,8188 

2810 DATA 110,537,83,681,526,687,938,6 

87,684,743,754,938,196,197,817,8498 

2138 DATA 191,863,212,192,865,689,719, 

287,517,279,5,696,938,609,402,7464 

2288 DATA 489,164,934,264,927,279,959, 

740,222,888,757,183,120,371,312,7381 

2435 DATA 882,428,835,773,844,776,854, 

773,828,195,448,226,321,372,744,9299 

2560 DATA 768,89,975,269,569,870,532,5 

36,525,592,878,558,554,558,96,8361 

2716 DATA 945,104,945,609,106,953,114, 

163,610,949,586,954,373,234,632,8277 

2860 DATA 773,746,761,778,771,751,762, 

779,650,166,621,193,282,88,622,8735 

3822 DATA 292,502,158,959,727,520,435, 

508, 381, 478, 799, 573, 185, 657, 78*, 7878 

3166 DATA 642,475,456,46,956,812,148,2 

7,455,43,955,889,186,284,966,7246 

3310 DATA 624,472,403,788,72,478,782,7 

43,855,182,599,187,621,267,789,7782 

3460 DATA 767,658,831,318,2566 



Educational Programs for — 

ATARI • VIC 20 

Tl 99/4A • TRS-80 CoCo 

COMMODORE 64 • MC-10 

only $*7 00 



per 
cassette 



SAT Preparation, 
Alphabet, Algebra, Physics 
,** I and many others! 

Programs on Disk (Tl 99/4A & Com. 64) 



(noses 

Engineering 



Request FREE Catalog: 

P.O. Box 11038 
Huntsville, AL 35805 



(205) 837-3356 



HAPPY WINS THE RACE WITH WARP DRIVE SPEED! 




HAPPY 81 ENHANCEMENT 

• The only change needed to run all WARP DRIVE software 

• Plug in P.C. board requires no permanent modifications , 

• Proven reliable in thousands of installations, reduces disk drive wear i 

• Comes completely assembled and tested, just plug in and use 

• Full one year parts and labor guarantee, compatible with existing software 

• High quality printed circuit board with gold connectors 

NO ONE ELSE HAS THIS PERFORMANCE \V J \v, 

Unenhanced whole disk (ATARI rev B format) read time: 1 1 2 seconds ^—^ "*~ 

Unenhanced whole disk (ATARI rev C fast format) read time: 89 seconds 

ENHANCED 810 whole disk (any format) read time with standard software: 68 seconds 
ENHANCED 81 whole disk (any format) read time with WARP DRIVE software: 43 seconds 
Standard software whole disk write and verify time: 238 seconds 
WARP DRIVE software whole disk write and verify time: 62 seconds J 

NEW HAPPY WARP DRIVE SOFTWARE 

6 

WARP SPEED HAPPY BACKUP PROGRAM 

• Completely automatic: nothing to figure out, insert disks and press return 

• Only program on the market guaranteed to backup any disk 

• Can write to a blank disk: format write and verify in one operation .- > 

• Automatic program tracing: copies only the tracks that are used 

• Efficient memory utilization: reduces the number of disk insertions 

• Requires only one ENHANCED disk drive, backups will work on a standard drive 
WARP SPEED MULTI DRIVE HAPPY BACKUP PROGRAM 

• Same features as above plus support of multiple ENHANCED drives 

• Can be used with up to 4 ENHANCED drives 

• Source and all destination drives read and write in parallel 

• Format write and verify 3 complete disks in less than 3 minutes 
WARP SPEED HAPPY COMPACTOR PROGRAM 

• Reduces the number of disks required to backup your library 

• Combines up to 8 self booting disks into 1 disk with a menu 

• Compacted disks run only on an ENHANCED drive 

• Pays for itself by saving on disks 

• Single or dual ENHANCED drive operation 

« HAPPY WARP DRIVE DOS 

• Improves ATARI DOS 2.0S to use warp speed reading and write with verify 

• Use all features of BASIC, PILOT, FMS, and DUP at top warp speed 

• Warp speed I/O software module available separate from DOS 
HAPPY WARP DRIVE SECTOR COPY PROGRAM 

• Standard format whole disk read, write and verify in 105 seconds 

• Use with sngle or dual drives, mix ENHANCED and NON-ENHANCED drives 
HAPPY CUSTOM IZER PROGRAM (sold separately $99.95) 

• Creates custom format disks of any specification 

• Any type bad sector, duplicate sector numbers, or interleave 

• Easy to use but requires an advanced level user to interpret the results 

REVIEWED IN POPULAR MAGAZINES 

A.N.A.L.O.G. COMPUTING— July/August 1 983 "...The installation instructions for the Happy 810 Enhancement are among the best I have ever seen. ... The Happy 

810 Enhancement is one of the most powerful hardware modifications available to ATARI computer owners." 

ANTIC— July 1 983 "The difference between a normal ATARI 8 10 disk drive and one equipped with Happy is like the contrast between mass transit and the 

automobile. A car costs you more initially, but improves the quality of your life. Similarly, if you use your disk drive a lot, installing Happy will markedly enhance your 

programming life." 

SPECIAL SUGGESTED RETAIL PRICE BEFORE FEBRUARY 28, 1984: Get the HAPPY 810 ENHANCEMENT with the single and multi drive HAPPY BACKUP 

PROGRAM, plus the HAPPY COMPACTOR PROGRAM, plus the HAPPY DRIVE DOS, plus the HAPPY SECTOR COPY, all with WARP DRIVE speed, including our 

diagnostic for $249.95. Existing registered ENHANCEMENT owners may upgrade to WARP DRIVE speed for $15.00 with no hardware changes.! 

Price includes shipping by air mail to U.S.A. and Canada. Foreign orders add $1 0.00 and send an international money order payable through a U.S.A. bank. California 

orders add $1 6.25 state sales tax. Cashiers check or money order for immediate shipment from stock. Personal checks require 2-3 weeks to clear. Cash COD 

available by phone order and charges will be added. No credit card orders accepted. ENHANCEMENTS for other ATARI compatible drives coming soon, call for 

information. Please specify -H model for all drives purchased new after February 1982, call for help in ENHANCEMENT model selection. Dealers now throughout 

the world, call for the number of the dealer closest to you. ATARI 810 is a registered trademark ol Atari. Inc. 

HAPPY COMPUTERS, INC. • P. 0. Box 1268 • Morgan Hill, California 95037 • (408)779-3830 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 83 




ttL 



A 



f^^ 






±L 




3? 



m 



16K Cassette 24K Disk 

Requires Music Composer cartridge 

by Ken Collier 

In the two years I've owned my 400 computer, I 
have enjoyed experimenting with Atari's Music 
Composer cartridge. Unfortunately, it only makes 
an organ-like tone that can't be changed. Think how 
much nicer it would be if you could control the 
actual sound of the notes as well as their pitch! 

I wrote Music Synthesizer for this very purpose. 
Used in conjunction with the Music Composer, I 
can orchestrate my own four-piece band that doesn't 
take breaks. Sound changes are just a keystroke 
away. Anything from piano to organ to bongos to 
science fiction "weird" can be created, from a 
melodic ditty to a noisy dirge. 

Atari's Music Composer cartridge must be used 
to compose the music. After a music file has been 
saved on disk or cassette, it can be entered into the 
Synthesizer. Files containing up to approximately 
5000 notes are accepted. All ten phrases are inde- 
pendently controllable, so each phrase can sound 
different if desired. All voices and all "arrange 
music" commands are supported during playback. 
Also available are adjustable tempo and the ability to 
repeat a song up to 255 times automatically. 

Music Synthesizer works by altering four sound 
parameters: attack, decay, volume drop and vibrato. 
"Attack" is the time required for a note to rise from 
no volume to maximum volume. "Decay" is the time 
required for the note to drop to a steady (sustain) 
volume. In Music Synthesizer, a note remains at 
sustain volume until its duration is over. Then it 
drops instantly to zero volume. Sustain and release 
(zero-drop) times cannot be varied; the difference in 
sound is small. 

"Volume drop" determines how far a note drops 
from maximum volume before sustaining, from no 
drop to a complete drop. "Vibrato" is a repeated 
shift to a new pitch, followed by a return to the 



original pitch. Both the vibrato range and speed are 
variable. The range determines how far from the 
original pitch the note travels before returning. The 
same range will create an apparently larger sound 
difference for high-pitched notes than it will for 
lower notes. The reason can be deduced from the 
chart of notes on page 58 of the Atari BASIC Refer- 
ence Manual: the values for the lower pitches are 
farther apart. If the range you specify is large enough, 
the pitch will "wrap around" the scale. The result can 
sound rather like a crazed marimba player. Vibrato 
speed determines how fast this pitch exchange takes 
place. 

Typing the program. 

The Atari BASIC program in Listing 1 is the main 
data and data checking routine. This listing is used to 
create both disk and cassette versions of Music Syn- 
thesizer. The DATA statements are listed in hexa- 
decimal (base 16) to make the program fit in a 16K 
cassette-based system. It makes typing the program a 
little more difficult, but it's a necessary evil. 

Listing 2 must be added to Listing 1 if you're 
using a 410 or 1010 cassette recorder. 

Listing 3 must be added to Listing 1 if you're 
using a disk drive. 

Listing 4 is the assembly-language source code 
for Music Synthesizer, written with the Atari 
Assembler/Editor cartridge. You do not have to type 
in Listing 4 to use the Synthesizer! It's provided 
for those readers who are interested in seeing how 
the program works. 

Cassette instructions. 

1. Type Listing 1 into your computer and 
verify your typing with C:CHECK (see page 
70). 

2. With Listing 1 correctly entered, type in 
Listing 2. The program lines will automatically 



JUMPMAN'S A GREAT GAME. 
BUT YOU'VE GOT TO WATCH YOUR STEP. 





Meet the Alienators. A fiend- 
ish bunch who've planted bombs 
throughout your Jupiter Command 
Headquarters. 

Your job? Use your lightning 
speed to scale ladders, scurry 
across girders, climb ropes and race 
through 30 levels to defuse the bombs before they go off. 

That's the kind of hot, non-stop action we've 
packed into the award -winning* best-selling JumpmanT 
and into Jumpman Jr.'," our new cartridge version with 
12 all-new, different and exciting screens. 

Both games force you to make tough choices. 
Should you avoid that Alienator, climb to the top 

*1983 C.K.S. award winner. 



and try to work your way down, or try to hurdle 
him and defuse the bombs closest to you 
before they go off? 

If you move fast you'll earn extra lives. 
But if you're not careful, it's a long way down. 

So jump to it. And find out why Jumpman 
and Jumpman Jr. are on a level all their own. 

One to four players; 8 speeds; joystick 
control. Jumpman has 30 screens. Jumpman Jr. 
has 12 screens. 




STRATEGY GAMES FOR THE ACTION-GAME PIAYER. 




ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 85 



merge with Listing 1. Make sure these new 
lines were typed correctly! It's a good idea to 
CSAVE the entire program at this point. 

3. Type RUN and press RETURN. The pro- 
gram will begin checking the DATA lines, print- 
ing each line number in turn. You will be alerted 
if there are any problems. Fix incorrect lines and 
re-RUN the program as necessary until all 
errors are eliminated. 

4. When all DATA is correct, you will be 
prompted to "Ready cassette and press RE- 
TURN." Put a blank cassette into your recorder, 
press the RECORD and PLAY keys simultane- 
ously and hit RETURN. The message "Writing 
file" will appear and the program will create a 
boot- tape version of Music Synthesizer, dis- 
playing each line number as it goes. When the 
READY prompt reappears, the Synthesizer is 
ready to use. Be sure you have CSAVEd the 
BASIC program on a separate tape. 

5. Whenever you want to use Music Syn- 
thesizer, do the following: Rewind the tape 
created by the BASIC program to the beginning. 
Turn your computer OFF and remove all car- 
tridges. Press the PLAY key on your recorder 
and turn your computer back ON while holding 
down the START key. The computer will 
"beep" once. Press RETURN and the Synthes- 
izer will load and run automatically. 

Disk instructions. 

1. Type Listing 1 into your computer and 
verify your typing with D:CHECK2 (see page 
70). 

2. With Listing 1 correctly entered, type in 
Listing 3. The program lines will automatically 
merge with Listing 1. Make sure these new 
lines were typed correctly! It's a good idea to 
SAVE the entire program at this point. 

3. Type RUN and press RETURN. The pro- 
gram will begin checking the DATA lines, print- 
ing each line number in turn. You will be alerted 
if there are any problems. Fix incorrect lines and 
re-RUN the program as necessary until all 
errors are eliminated. 

4. When all DATA is correct, you will be 
prompted to "Insert disk with DOS, press RE- 
TURN." Put a disk containing DOS 2. OS in 
drive #1 and hit RETURN. The message "Writ- 
ing file" will appear and the program will create 
an AUTORUN.SYS version of Music Syn- 
thesizer, displaying each line number as it goes. 
When the READY prompt reappears, the Syn- 
thesizer is ready to use. Be sure you have 
SAVEd the BASIC program. 

5. Whenever you want to use Music Syn- 
thesizer, do the following: Turn your computer 
OFF and remove all cartridges. Insert the disk 
containing the AUTORUN.SYS file into drive 



#1 and turn the computer back ON. Music 

Synthesizer will load and run automatically. 
Using the Synthesizer. 

If everything worked, Music Synthesizer's main 
menu will be displayed. Type the letter of your 
choice. The options are: 

Listen. Listen to a song. Push SELECT to stop a 
song before it ends. If no Music Composer files 
have been entered, the Synthesizer will print "No 
Data." 

Retrieve. Enter a Music Composer file from 
disk or cassette. When prompted for a device name, 
type "C" for cassette or "D(number):filename" for 
disk. 

Number. Number of times to play a song. The 
program counts down to zero; the default value is 
one. Pushing SELECT during playback resets Num- 
ber to one. 

Phrase Number. Which phrase to change (0-9). 
Hitting RETURN here will bring you back to the top 
of the main menu. If the selected phrase wasn't used 
in your file, the program will display a "No Data" 
message. Otherwise, it will prompt you for sound 
parameters: 

Attack Rate. 1 is the fastest, 255 the slowest. 
Decay Rate. Same as Attack. 
Volume Drop. is no drop, 7 is a complete 
drop (like a drum). 

Vibrato Range. is no vibrato, 1 is the 
smallest range, 255 the largest. 

Vibrato Speed. 1 is the quickest, 255 the 
slowest. 

Tempo. Speed to play the song. 1 is the 
quickest (useful for hyperkinetics), 255 is the 
slowest (for water torture). 

Hitting RETURN over any parameter value will 
leave that value the same. Hitting SYSTEM RESET 
restores all default values. 

The rest is up to you. Enjoy all the variations 
possible, but have some sympathy for your friends 
and neighbors, too. "99 Bottles of Beer on the Wall" 
might drive them crazy, no matter how nice it 
sounds. □ 



Listing 1. 



1 REM **K MUSIC SYNTHESIZER *** 

18 DATA 8,1,2,3,4,5,6,7,8,9,8,0,8,8,8, 

8,8,18,11,12,13,14,15 

28 DIM DAT$C91J,HEXt22J : FOR X=8 TO 22: 

READ N:HEXCX1=H:NEXT X : LIHE=598 : RE5T0R 

E 1888: TRAP 68:? "CHECKING DATA" 

25 LIHE=LINE+18:? "LINE :"; LINE :READ DA 

T$:IF LEHCDAT$]<>98 THEN 118 

28 DATLIN=PEEKC1833+PEEKU84J*256:IF D 

ATLINOLINE THEN ? "LINE ";LINEj" MISS 

ING«":END 

38 FOR X=l TO 89 STEP 2 :D1=ASCCDAT$ CX, 

X) ) -48 : D2-ASC (DAT$ CX+1 , X+l) J -48 : BVTE=H 

EXCD13*16+HEXCD2) 

35 IF PASS=2 THEN PUT «1,BVTE:NEXT X:R 

EAD CHKSUM:G0T0 25 



PAGE 86 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



48 TOTAL=TOTAL+BYTE:IF T0TAL>999 THEM 

TOTAL=TOTAL-1000 

45 NEXT X:READ CHK5UM:IF TOTAL^CHKSUM 

THEN 25 

58 GOTO 118 

66 IF PEEKC195J06 THEN 118 

188 ? "WRITING FILE":PASS=2:LINE=990:R 

ESTORE iO00:TRAP 68: GOTO 25 

118 ? "BAD DATA: LINE ";LINE :END 

1888 DATA D820E22O20A32120A3264C3C25A2 

30A97F9D4403A9289D450328B2263828A9879D 

4203A9089D4483A92B9O4583,888 , -- , M _ jlM 

1818 DATA A9089D48B3A92A9D49832O56E4C0 

88D008A90C9D42834C56E484D4208C26A2BAAO 

27209624A230203E2O68684C,359 

1820 DATA C521A90885A9A82B84A1A8B1A8C9 

AAD035C8DO82E6A1B1A0300AAA9488A5A19581 

4C8D28A90385A0BlA88A8A8A.il ^^ ii „, Jl „_ 

1838 DATA 85C1A98085A0C8D002E6A1B1ABC9 

FFF808C8D0F2E6A14C8D28C8D002E6A1B1AOC9 

FFD0BAA206BDDA2085A6A92A,36 

1840 DATA 85A7A9FFA0O191A688B59485A8B5 

9585A1F88EB1A891A6C8B1A891A6C8C9FFD0F2 

CACA10D460802A482A802AC0.708 „„,^„ 

1050 DATA 2AA21BA980958OCA10FB68A203A9 

0685A8B5B9F031C902D0834C3123282F21C987 

B01FA8B9152185A6B91C2185,432 

1868 DATA A7202F216CA688F245549D8EF297 

28212121212021A90895B9CA8A8A85A810C468 

FE1C86BD412185A8A92A85A1, 136 

1878 DATA BC1C86B1A868004088C038E9818A 

DE2006FOA49D1C064CF220A8B934869D8886B9 

3E869D8C06B948869D1886B9, 317 

1088 DATA 52869D1486B95C069D18O6988AA8 

A98195B99D2C86B9880095B8B9810895B4F082 

F6B94CF2288A89A09D28064C,861 

1890 DATA F2289D28864CF2209D24064CF220 

A9FD8D3882A926803182A9628DC88268284925 

28E22820D325208D202O5C20, 892 

1180 DATA 4C242220C626482O482468C94CF0 

16C952F8DEC94EF831C950F06BC954F049208C 

264CC52IA59505970599859B,4 

1118 DATA D8834C5324A265A82728712628CD 

2428EC2828B1242038254C8A25A28FA8272871 

262066251886209D264C8A22,348 

1128 DATA D806AAF0F5CA86B82848244CC521 

A5C1289824A212A827282B231O06209D264C2A 

22DBE4AAF0F585CI4C2422A2,368 

1130 DATA 1FA027202B23D0D3C90A9806209D 

264C4822AAFOF785A88AA8B98180D0834C5324 

204824A6A8BD3486289B24A2,848 

1140 DATA 2CA027202B231886288C264C6A22 

D888AAF8F5A6A89D3486284824A6A8BD3E0620 

9824A23AA027202B231O0620,595 

1150 DATA 8C264C8E22D088AAF8F5A6A89D3E 

06204824A6A8A9AE38FD48864A209024A280A0 

272O2B233OO6D017C9089O06, 188 

1168 DATA 288C264CB2228A85AFA9AE38E5AF 

A6A89D4806284824A6A8BD5286209O24A247AO 

27202B231006208C264CE322 J 45O 

1170 DATA D805A6A89D5206204824A6A8BD5C 

06289024A256A027202B231O06208C264C8423 

D888AAF0F5A6A89D5C864C24, 691 

1180 DATA 222071264C6625A4A8BD2C06D812 

DE3006F0034C2721B59CD00699O0D29901D2F6 

B0DO02F6B4B59CDO11A90195,804 

1198 DATA C6BD88069D0006A9A29981D295A9 

A908A885AE95BD9D2C86BD18869D8486B5B085 

A0B5B485A1B1A0C955D08B98,255 

1280 DATA 95C6A4A89981D24C1A24C956D685 

A9244C0F24C97FDO09F6B0D0ABF6B44C4A23C9 

FFD010A98O95C6A4A89981D2,117 

1210 DATA A98195B94CF2204A26AE4A26AEAO 

08C9879086E987C84CC02348B9812485AD68A8 

B9082465ADA4AE?9052485AD,985 

1228 DATA BD2486C981B00B65ADC9259O24E9 

244CE723297F85AFA5ADE5AFC925901369234C 

F823000C182480FF01000204,488 

1230 DATA 058709OBA8B9D82695C2A4A89980 

D2F6B8D002F6B4B5B085A0B5B485A1A800949C 

B1A00A369C4AA8B93B249D38,276 

1240 DATA 064C27210486088C181820384868 

80C8A227A9009D5728CA18FA60204824A278A8 

272071264CC521A203A006DE J 941 

1250 DATA 0406D021B5BDFO0AB5C29908D2D6 

BD4C8424B5C2F80F38FD140699O0D2F6BDBD18 

069D84068888CA10D56085D4,490 



1260 DATA A2ABA02720682685D520AAD920E6 

D8D8A0FFC8B1F3291F996628B1F310F468A5C1 

85AFA98485A6A03888D0FD20, 888 

1278 DATA 1826C6A6D0F42O6024C6AFD8E960 

2029258D08D22065E4A283A806A980959C95B0 

95B495C69D24869D28669DIC,975 

1280 DATA 06A9819D2C8695B9A9AA9D2886A9 

A895A9B99500D00295B9CA888810D168A5B985 

BA05BB85BCD012A5B8F005C6, 498 

1298 DATA B84CE7212848242829254CC5214C 

FE21A286A9889D81D29D08D2CACA10F668A511 

D029C6112O292585B8204824, 988 

1380 DATA 4CC521A209A9489D3E069D5C86A9 

013D3406A908905286A9A29D4806CA10E660A9 

0085AFCE7A2820C626C99BFO, 796 

1310 DATA 39C97ED013A5AFF0F1C6AFA6AFA9 

FF9D7A28FE7B284C6D25A6AFE883FODCC9309O 

D8C93AB8D4A6AF9D6686E91F, 478 

1320 DATA 9D7A28A9FF9D7B28E6AF4C6D25A6 

AFDO83E6AF60A96685F3A90685F4A9809D6606 

85F22000D820D2D9D8A5D4A6,695 

1330 DATA D5F082A28060A29EA02720682685 

AFCE6B2828C626A6AFC97ED0108AF0F4C6AFA9 

FF9D6A28FE6B284CDF259D7F,793 

1340 DATA 28C99BF01538E92O9D6B28A9FF9D 

6C28E6AFE8E011D8CE4CE825FE6B2860A2O3AO 

06B5C6F042DEO006DO3DC901, 653 

1350 DATA F0O7C902FO2O4C6226F6A9B5A999 

81D2DD2886F006BDG8064C4726F6C6BD0C069D 

O0064C6226B5A9DD10O6F88C, 488 

1368 DATA 90OAD6A9B5A999O1D24C4426F6C6 

8888CA10B568A95785A4A9284C7726A96B85A4 

A92885A586A284A3A0O0B1A2.297 

1370 DATA F01938E92O91A4C84C7F26A82OA2 

7F8E1FDO8EOAD4CA10F78810F260208C264C48 

24A2282O3E20A9C49D44O3A9.290 

1380 DATA 269D4503A9039D4283A9049D4A03 

A90O9D4B834C56E44B9BA220A90O9D48839D49 

03A9079D42O34C56E4F3E6D9,696 

1390 DATA CCC1B6ADA29990888079726C6660 

5B55514C4844403C3935322F2D2A282523211F 

1D7O7O7047CA2787787O0707 J 701 

1400 DATA 07O7O7787O07O741FD2654454D50 

4F20312D3235353A005O48524153452823312D 

393A8O41545441434B20312D , 338 

1410 DATA 3235353A00444543415920312D32 

35353A00562E52414E47452O3O2D3235353A00 

562E535045454420312D3235,816 

1420 DATA 353A005O5553482O425245414B2O 

544F2053544F50OO4E4F2O4441544100564F4C 

2E2O44524F5O203O2D373A0O.526 

1430 DATA 5245504541545320312D3235353A 

0O4445564943452O4E414D453FOO4355525245 

4E542056414C55453AO0492F, 352 

1440 DATA 4F204552524F5220434F44453AOO 

00006D757369638873796E74686573697A6572 

800Oee086279OOeO6B656E08 J 536 

1450 DATA 636F6C6C696572O0008O88O02C69 

7374656E0e0e00eeeoeo00000000O0eo00OO32 

657472696576658000008000,679 

1460 DATA 00000O000O000O2E756D62657200 

00008000000000800000000000306872617365 

006368616E6765888O0OOOOO J 457 

1470 DATA 000034656D7e6F000e0e00O00OO0 

00000000000000000000808888880000000000 

000000000000008880000800,942 



CHECKSUM DATA 

(see p. 70) 

1 DATA 353,955,686,427,745,192,617,545 

,276,445,496,549,158,536,728,7692 

1020 DATA 29,320,981,723,784,675,689,6 

23,563,432,681,654,517,704,729,9024 

1170 DATA 745,704,992,56,935,883,984,4 

41,866,967,735,932,625,970,467,11142 

1320 DATA 153,284,95,914,846,793,848,5 

19,158,167,295,289,287,938,802,7220 

1470 DATA 471,471 



ISSUE 15 



A. N. A. L.O.G. COMPUTING 



PAGE 87 



2 REM #*# CASSETTE VERSION *** 

65 IF PflSS=2 THEM FOR X=l TO 109: PUT U 

I,0 -.NEXT X: CLOSE ttl : END 

70 ? "READY CASSETTE AND PRESS RETURN" 

;:OPEN ltl,8,128,"C:":REST0RE 200:F0R X 

=1 TO 35:READ N:PUT *tl,N:NEXT X 

200 DATA 0,18,221,31,255,31,169,60,141 

,2,211,169,0,141,231,2,133,14,169,56,1 

41,232,2 

210 DATA 133,15,169,0,133,10,169,32,13 

3,11,24,96 



2 REM *** DISK VERSION *** 

S^ IF „ PftS5 = 2 THEN P"T HI, 224: PUT ttl, 2: 

PUT Jtl,225:PUT ttl,2:PUT *tl,0:PUT lti f 32 

:CLOSE ttl: END 

70 ? "INSERT DISK WITH DOS, PRESS RETU 

RN";:DIM IN$C1):INPUT INS:OPEN ttl,8,0, 

"DlSYN.OBJ" 

«? ™ T J?i' 255:PUT «1- 255: PUT ttl, O: PUT 
ttl,32:PUT ttl,lll:PUT ttl, 40 



I MUSIC SYNTHESIZER 
I by Kan Collier 



Input MUSIC COMPOSER filee. 



viriiblHi. 



SYNCNT 


» « 


•+4 


VIBCNT 


Kb 


• + 4 


ATTACK 


la 


1 + 4 


DECAY 


ll 


» + 4 


DROP 


H m 


» + 4 


VRflNGE 


*a 


« + 4 


VBPEED 


la 


n-4 


VCOUNT 


He 


* + 4 


LINECNT 


M - 


* + 4 


TRANSPOS 


»a 


» + 4 


HIBHVOL 


He 


«+4 


GETNOTE 


*a 


» + 4 


DURCNT 


M» 


« + 4 


PATTACK 


»■ 


»+i» 


PDECAY 


|a 


»+i0 


PDROP 


la 


a+10 


PVRANG 


la 


•+10 


PVSPEED 


h 


»+ia 


NMBUF 


»« 


•+4 


1 Page Z 


er o 


vari abla 




*- 


tee 


TABLE 


.a 


• + 28 


TIED 


|a 


» + 4 


PTR 


la 


. + 2 


PINDX 


la 


« + 2 


P2NDX 


la 


» + 2 


TMP2 


*a 


« + 2 


XSTORE 


«a 


l+l 


VOLNOW 


Ma 


• + 4 


NOTE 


|a 


• +1 


ACCID 


*e 


• +| 


TMP 


la 


»+l 


PTRL 


la 


« + 4 


PTRH 


|a 


» + 4 


REPEAT 


.a 


l+l 


STATUS 


la 


• + 4 


VSTAT 


la 


» + 4 


TEMPO 


la 


• + l 


VNOTE 


la 


*+4 


SYNSTAT 


*- 


• + 4 


FR0 


. 


*D4 


CIX 


a 


»F2 


INBUFF 


- 


»F3 


1 Mi seal 1 inioui laba 


CIOV 


_ 


• E436 


SIOINV 


a 


• E46S 


AFP 


a 


*DBSB 


FABC 


a 


• D8E6 


IFP 


a 


• D9AA 


FPI 


a 


• D9D2 


ICCOM 


a 


119342 


ICBAL 


a 


10344 


ICBAH 


a 


10343 


ICBLL 


a 


• 0348 


ICBLH 


a 


• 0349 


ICAX1 


a 


• 034A 


ICAX2 


a 


• 034B 


OPEN 


a 


• 03 


CLOSE 


a 


• 0C 


READ 


a 


• 07 


EOF 


a 


136 


I0CB2 


a 


• 20 


I0CB3 


a 


• 30 


WSPACE 


a 


• 2A00 


BUFS 


a 


• 2A00 


AUDF1 


a 


• D200 


AUDC1 


a 


• D201 


SDLBTL 


a 


• 0230 


COLBK 


a 


• 02C8 


BRKKEY 


a 


• 11 


CONSOL 


a 


• D01F 


SKCTL 


a 


• D20F 


AUDCTL 


a 


• D208 


WSYNC 


a 


• D40A 


RETURN 


a 


• 9B 


BACKS 


a 


• 7E 


VLEN 


" 


• 40 




la 


• 2000 


1 Setup the program. 


START 


CLD 






JSR 


CLRTBL 




JSR 


SETDL 




JSR 


OPENKBD 




JMP 


8T0PIT 



cou 
r att- 
ack 

*y 

l mum 
rat o 

rito 
c* c 

• CO 

nspo 
i mum 
d ne 
At i o 



nt«r 
counttr 

count er 

ounttr 
vol ume 
rangi 

• p«»d 
ounttr 
untir 

• v * 1 u« 
vol uma 

not* 
coun t 
attack 
dlCfly 
mi n vol 



phra 
-.uma 



voi cii/ohrai 


* 


tie 


d noU fl 


• 


t em 


p indax 




pri 


n t i ndtK 




pri 

tarn 


nt indan 


2 


porary 2 




voi ca i ndtK 




currant volum 


not 


a valua 




ace 


i dantal 




ts« 


por ar y 




phr 


aee addr 


li 


phraaa addr 


h 


rap 


aat nun c 




vol 


ca atatue 




vib 


r a to a t at 


Ul 


nui 


i c iptid 




vib 


rato aoun 


d 


■ yn 


atatus 




F.P 


rag i ata 

. indtx 




F.P 




r .P 


. buffer 





C10 vector 
SID init vactor 
ASCII to F.P. 
F.P. to ASCI I 
INTEGER to F.P. 
F.P. to INTEGER 
command b yta 
buffer addr lo 
buffer addr hi 
buf far 1 en 1 o 
buffer len hi 
aux i nf o 1 
tux i nf a 2 
open command 
cloae command 
get charactera 
end file flag 
IOCB #2 offaat 
IQCB M3 offaat 
Horkiptct addr 
buffer aiza 
audi o frtq 1 
audio vol una 1 
di apl ay 1 iat 
backgnd color 
break key flag 
coniolt apeaker 
aerial 1/0 ctrl 
audio control 
wai t f or tync 
return key 
backiptct key 
voice buff 1 en 

1 oada here ! 



clear dec i mal 
c 1 m*r t abl aa 
•at dilplty 
open keyboard 
cont i nu* 



LDX #IQCB3 

LDA #NAME&»FF 

BTA ICBAL, X 

LDA HNAME/25& 

STA ICBAH, X 

JSR OPENIT 

BHI ERROR 

LDA ttREAD 

STA ICCOM. X 

LDA #BUFF&*FF 

BTA ICBAL, X 

LDA MBUFF/2S6 

STA ICBAH, X 

LDA »BUFSl*FF 

STA ICBLL, X 

LDA eBUFS/256 

STA ICBLH, X 

JSR CIOV 

CPY #E0F 

BNE ERROR 

LDA ttCLOSE 

STA ICCOM, X 

JMP CIOV 



lo 



uae IOCB «3 
f i 1 en tfflt 1 o 
buffer addr 
f i 1 anama h i 
buf f er addr h i 
open file 
error? 

get characters 
command byte 
read buffer 1 a 
buffer addr 1 o 
read buffer hi 
buffer addr hi 
read len lo 
buffer 1 en 1 o 
read len hi 
buffer len hi 
read muaic data 
and of file? 
yea. 

cloae end 
command byte 
cloae file 



riput /output error handler. 



I 



STY FR0 

JSR BELL 

LDX #ETX8.«FF 

LDY #ETX/25& 

JSR CURNT2 

LDX WI0CB3 

JSR CLOSEIT 

PLA 

PLA 

JMP CHOICE 



•ave error code 
ring bal 1 
I /0 err mag 1 o 
I/O mrr mag hi 
print mag+code 
uae IOCB 3 
claa* file 
pull two byte 
return addreaa 
chooae option 



I Read through data and find 

I PHRASE data, VOICE data, and 

I MISCELLANEOUS data and store 

1 location in table. 



POINTERS 


i LDA 


*0 


gat zero 
index lo 




STA 


PTR 




LDY 


•BUFF/254 


buff addr hi 




STY 


PTR+1 


index hi 




TAY 




aat Y to zero 


SET1 


LDA 


(PTR) , Y 


get byte 
header byte? 




CMP 


*170 




BNE 


SET2 


no. 




INY 




increment index 




BNE 


WH1CH1 


overf 1 ow? 




INC 


PTR+1 


yea, inc high 
get byte 


WHICH1 


LDA 


<PTR) , Y 




BMI 


MI8C 


misc. record? 




TAX 




uae a. index 




STY 


TABLE, X 


eave addreaa 




LDA 


PTR+1 


of record in 




BTA 


TABLE+1 , X 


table 




JMP 


ENDMARK 


cont i nua 


nisc 


LDA 


#3 


offaat by 3 
byte, in indax 




STA 


PTR 




LDA 


(PTR) , Y 


get tempo 
tlmea 2 




ASL 


A 




ABL 


A 


t i mea 4 




ABL 


A 


time. 8 




STA 


TEMPD 


aave tempo 
get zero to 




LDA 


10 




STA 


PTR 


reaet index 


ENDMARK 


INY 




inc index 




BNE 


END1 


overf 1 ow? 




INC 


PTR+1 


yea. inc hi 

get byte 

end of record? 


END1 


LDA 


(PTR) , Y 




CMP 


1253 




BEQ 


SET2 


inc index 




INY 






BNE 


ENDMARK 


overf 1 ow? 




INC 


PTR+1 


yea. inc hi 




JMP 


ENDMARK 


cont 1 nue 


SET2 


INY 




inc index 




BNE 


SET3 


overf low? 




INC 


PTR+1 


yee. inc hi 

get byte 

end of file? 


8ET3 


LDA 


(PTR) ,Y 




CMP 


#255 




BNE 


SET1 


no. 


1 Tranaf 


er the VOICE record. 


1 to .to 


r age 


JtrmMm aet 


aai de . 




LDX 


• 6 


aet counter 


TR1 


LDA 


TRVTBL, X 


voi c. addr 1 o 




BTA 


TMP2 


index 1 o 




LDA 


IVC1/25& 


voi ce addr hi 




STA 


TMP2+1 


index hi 




LDA 


1255 


end of rec flag 




LDY 


• 1 


record of feet 




BTA 


(TMP2) ,Y 


init record 




DEY 




zero Y regiater 




LDA 


TABLE+20.X 


voice rec lo 




BTA 


PTR 


index lo 



LDA TABLE+21, 

STA PTR+1 

BEO TRN 

LDA (PTR).Y 

STA (THP2J „ Y 

INY 

LDA (PTR).Y 

STA CTMP2J , Y 

INY 

CMP #235 

BNE TR2 

DEX 

DEX 

BPL TR1 

RTS 



voice nc hi 

index hi 

empty voice rec 

put voice byte 

i n voi ce but 

i nc i ndex 

put 2nd byte 

in voice buf 

inc index 

end o-f voi ce? 

no. 

Tee. dec count 
ndex by 2 
all voices? 
yes. continue 



TRVTBL 


.WORD VC1.VC2 
-WORD VC3.VC4 


voice addr 
table 


1 

1 Era*. 


old table before Input. 


CLRTBL 
CTl 


LDX "27 

LDA *e 

STA TABLE, X 

DEX 

BPL CTl 

RTS 


init indax 

get zero 

.tore table 

dec index 

done? 

yee. continue 


1 

I Check 
J needs 


to see if a VOICE 

a new record. 


NEEDREC 
NEXTREC 


LDX »3 

LDA (to 
STA XSTORE 
LDA STATUS, X 
BED INCX 
CMP »2 
BNE GETREC 
JMP PLAYIT 


init index 

init voice index 

eave voice index 

acti ve? 

no. 

need voice rec? 

yee . 

play note 



new VOICE record 



and process the 



JSR FINDREC 

CMP »7 

BCS STATUS! 

TAY 

LDA JMPTBL.Y 

STA TMP2 

LDA JMPTBH.Y 

STA TMP2+1 

JSR FINDREC 

JMP 1TMP2) 



record byte 
valid commands 
no. end voice 
make inda 



J™P 



addr 1 o 



jMp pointer lo 
imp addr hi 
J mp poi ntar hi 
operand byte 
go to it 



.BYTE NEXTRECS.SFF GQTOl&tFF 

.BYTE PLAYlt.FF, TRANSlfcSFF 

.BYTE VOLUMEU.tFF.NEXTRECS.tFF 

.BYTE COUNT li*FF 

.BYTE NEXTREC/25&, GOT01/256 

.BYTE PLAYl/25o,TRANSl/256 

.BYTE V0LUM£l/256,NEXTREC/256 

.BYTE COUNT l/23o 

status. 



STATUS1 


LDA 


"Z 




get 


z er o 




STA 


STATUS, 


X 


stop 


voi ce 


1 

J I n c r a 


lent to next 


VOICE. 




INCX 


DEX 






dec 


i ndex 




TXA 






put 


in Ace 




ASL 


A 




time. 2 




STA 


XSTORE 




voi ce i ndex 




BPL 


NEXTREC 




done 


yet? 




RTS 






yea. 


cont l n 



Lookup next VOICE command 
in VOICE storage area. 



INC VCOUNT.X 

LDA FTBL, X 

STA PTR 

LDA »VCl/256 

STA PTR+1 

LDY VCOUNT.X 

LDA <PTR),Y 
RTS 

.BYTE VC1S.SFF 

.BYTE VC2fc*FF 

.BYTE VC3St»FF 

.BYTE VC4!>»FF 



voice cnt 

voice addr lo 

i ndex 1 o 

voice addr hi 

index hi 

voice count 

get byte 
cont i nue 

voice table 



I 

I I* VOICE record 

1 then process the 



is a GOTO 



SEC 

5BC *1 

ASL A 

DEC LINECNT, 

BED NEXTREC 

STA VCOUNT X 

JMP NEXTREC 



set carry 

subtract 1 

multiply by 2 

dac 1 i necount 

dona 

poi 

get next record 



1 Set sound parameters for 

t PHRASE number and set index to 

I PHRASE'S location in memory. 



TAY 

LDA PATTACK, Y 
STA ATTACK,! 
LDA PDECAY, Y 
STA DECAY,* 
LDA PDROP. Y 
STA DROP, X 
LDA PVRANS.Y 
STA VRANGE.X 
LDA PVSPEED.Y 
STA VSPEED, X 
TYA 
ASL A 
TAY 

LDA #1 

STA STATUS. X 
STA GETNOTE.X 
LDA TABLE, Y 
STA PTRL 1 X 
LDA TABLE+1 Y 
STA PTRH, X 
BEO PLAY2 
INC STATUS, X 
JMP NEXTREC 



use as index 
attack shadow 
attack count 
decay shadow 
decay count 
min vol shadow 
min vol value 
ige shadow 
rq. rang 



freeq 



spaed shadow 
vibrato speed 
indax to Ace 
mul tiply by 2 
to index again 
get one 

get rec status 
need a note 
phrase addr lo 
phrase tbl lo 
phrase addr hi 
phrase tbl hi 
data in table? 
yee. play it 
net next rec 



I Set volt 



V0LUME1 


ASL A 


times 2 




ORA »»A0 


pure tone 




STA HIGHVOL, X 


save i t 




JMP NEXTREC 


get next rec 


1 

1 Store 


the PHRASE count. 


COUNT1 


STA LINECNT, X 


save count 




JMP NEXTREC 


get next rec 


; Do transposition. 




TRANS1 


STA TRANBPOS.X 


transpose 




JMP NEXTREC 


get next rec 


J 

1 I ini ti 


al i z e screen ■ 




SETDL 


LDA »DLIST8x*FF 


di spl ay 1 o 




STA SDLSTL 


DL pointer lo 




LDA #DLIST/25A 


display hi 




STA SDLSTL+1 


DL pointer hi 
dark blue 




LDA *«62 




STA COLBK 


background 




RTS 


cont i nue 


1 

i Get new rile. 




RETRIEVE 


JSR DEFAULT 


do defaults 




JSR CLRTBL 


clear table 




JSR NAMEIT 


get filename 




JSR DATAIN 


read data 




JSR POINTERS 


set pointers 




JMP NMBR1 


back to menu 


1 

1 Bet us 


er input from k 


ayboar d . 


CHOICE 


JSR GETKEY 


get character 




PHA 


push value 




JSR ERASE 


erase wi ndow 




PLA 


pull value 




CMP te'L 


play the music? 




BEO LISTEN 


yes . 

load file? 




CMP *'R 




BEO RETRIEVE 


yes. 




CMP »'N 


repeat count? 




BEO NUMBER 


yes. 




CMP H'P 


phrase change? 




BEO CPHRASE 


yes. 

tempo change? 




CMP e'T 




BEQ CTEMPO 


yes. 




JSR BELL 


ring bell 




JMP CHOICE 


try again 


i LISTEN 


to the nue i c . 




LISTEN 


LDA TABLE+21 


OR together 
high bytes of 




ORA TABLE+23 




□RA TABLE+25 


voice pointer! 




ORA TABLE+27 


to see if any 




BNE LIS1 


*r9 active? 




JMP NODATA 


no. 


L1S1 


LDX H0TX8.SFF 


play msg 1 o 




LDY #0TX/25o 


play msg h i 




JSR PRINTD 


print msg 




JSR PDEFAULT 


set defaults 


PLAYING 


JSR NEEDREC 


voice rec 




JSR DELAY 


Synthesi zer 




JSR BRKCHK 


break key? 
all done? 




JMP FINISHED 



NMBRE 
NMBR0 



NMBR1 



LDX 
LDY 
JSR 
JSR 
BPL 
JSR 
JMP 
BNE 
TAX 
BEO 
DEX 
STX 
JSR 
JMP 



• NMTXJ.SFF 

»NMTX/256 

PRINTD 

GETNUM 

NMBR0 

RINGER 

NUMBER 

NMBRI 

NMBRE 

REPEAT 

ERASE 

CHOICE 



| Change TEMPO of playback. 
CTEMPO 



number mag lo 
number msg hi 
print msg 
gat number 
range error? 
yes. ring bell 
try again 
return? 
no. put in X 
value zero? 
no. 1-253 
store 0-254 
erase window 
goto menu 



TEME 
TEM1 



C1E 
C1C 



LDA 
JSR 
LDX 
LDY 
JSR 
BPL 
JSR 
JMP 
BNE 
TAX 
BEQ 
STA 
JMP 



TEMPO 

CURRENT 

•TTXfcsFF 

etTTX/254 

TXNUM 

TEM1 

RINGER 

CTEMPO 

NMBRI 

TEME 

TEMPO 

NMBRI 



I parameters of 
for one phrase. 



C3E 
C3A 



C3E 
C5B 



CoE 
CBC 



nne? yes. 
oint to line 



H times to repeat music. 



LDX 
LDY 
JSR 
BNE 
CMP 
BCC 
JSR 
JMP 
TAX 
BEO 
STA 
ASL 
TAY 
LDA 
BNE 
JMP 
JSR 
LDX 
LDA 
JSR 
LDX 
LDY 
JSR 
BPL 
JSR 
JMP 
BNE 
TAX 
BEQ 
LDX 
STA 
JSR 
LDX 
LDA 
JSR 
LDX 
LDY 
JSR 
BPL 
JSR 
JMP 
BNE 
TAX 
BEO 
LDX 
STA 
JSR 
LDX 
LDA 
SEC 
SBC 
LSR 
JSR 
LDX 
LDY 
JSR 
BM1 
BNE 
CMP 
BCC 
JSR 
JMP 
ASL 
STA 
LDA 
SEC 
SBC 
LDX 
STA 



#PTX5.*FF 

#PTX/256 

TXNUM 

NMBRI 

.10 

C1C 

RINGER 

CPHRASE 

C1E 
XSTORE 



TABLE+1, Y 

C3 

NODATA 

ERASE 

XSTORE 

PATTACK, X 

CURRENT 

•ATXtsFF 

•ATX/256 

TXNUM 

C3A 

BELL 

C3 

C5A 

C3E 

XSTORE 

PATTACK, X 

ERASE 

XSTORE 

PDECAY. X 

CURRENT 

•DTX&sFF 

#DTX/254 

TXNUM 

C5B 

BELL 

C5A 

C6A 

C5E 

XSTORE 

PDECAY, X 

ERASE 

XSTORE 

»*AE 

PDROP, X 

A 

CURRENT 

• VTXStlFF 
#VTX/25o 
TXNUM 
CoE 

CSA 

• S 
CBC 
BELL 
C6A 
A 

TMP 
(tsAE 

TMP 

XSTORE 
PDROP, X 



t 

? 

nun 

yes 

try 

ret 



tempo 
nt it 
po msg 1 o 
po msg hi 
sg / get nun 
er i c error 7 
ring bel 1 

again 
urn? 

-o value? 
. 1-253 
iti nue 



phrase msg lo 

phrase msg hi 

print/get num 

return? 

no. >9? 

no. 

ring bel 1 

try again 

test zero flag 

num a zero? 

no. save number 

times 2 

use as index 

phrase addr hi 

active phrase? 

no. 

erase window 

get phraSR # 

attack value 

print it 

attack msg lo 

attack msg hi 

print/get num 

numeric error? 

no. ring bell 

try again 

return? 

no. test zero 

zero value? 

no. get index 

save attack 

erase window 

get index 

decay value 

print it 

decay msg lo 

decay msg hi 

print/get num 

numeric error? 

yea. ring bel 1 

try again 

return? 

no. test zero 

zero? 

no. get index 

new decay 

erase window 

get index 

maximum volume 

set carry flag 

sub min volume 

0. .14 -> 0. .7 

print it 

v . drop msg 1 o 

v . drop msg h i 

print/get num 

numeric error? 

no. return? 

no. >7? 

no. cant i nue 

yes. ring bel 1 

try again 

mul tiply by 2 

use later 

maximum volume 

set carry 

subtract drop 

get index 

minimum volume 











F 



■H 




/UF*> 




OS. 




f 



You'll never make 
Grand Prix champion just 
driving in circles. 

You've got to stop 
sometime. The question is 
when. Right now you're 
in the lead. But the faster 
you go, the more gas you consume. And the 
quicker your tires wear down. 

If you do pull into the pits, though, you lose 
precious seconds. So it's up to you to make sure the 
pit crew is quick with those tires. And careful with 
that gas. Otherwise, poof! you're out of the race. 

See your retailer for available computer formats. 



IS 



So what'll it be, Mario? Think your tires 
will hold up for another lap? Or should you 
play it safe and go get some new ones? 

Think it over. Because Pitstop" is the 
one and only road race game where winning 
is more than just driving. It's the pits. 

Goggles not included. 

One or two players; 6 racecourses, 

joystick control. 





STRATEGY GAMES FOR THE ACTION-GAME PLAYER. 




I'tlE FINAL DAYS 





Crashing through t. Faense 
i, you hear the distant fire of 
mp guards. You've escaped, 
>ave a long way to go before 
1 Saigon — if you ever do. 



ope of 



SAIGON: THE FINAL DAYS 

By Jyym Pearson, Robyn Pearson & Norman Sailer 
Gritty realism and historic fact blend to form a unique adventuring experience 
that plunges you into a controversial chapter of recent history. 
Visit your local dealer today, or call us for your copy! /CTy* m * 

800-327-7172 IKMAdventute. 

Available for your 16K TRS-80 Model 1 or 3, in either tape or disk format, for \^0^ I NT ER NATRONA L 

Ttolterffape version (needs 16K) is $24.95. BOX 3435 • LONGWOOD, FL 32750 

The Apple version has great full-color hi-res graphics for $34.95. (305) 862-6917 

Photo by Paul Grupp 





CBB 

cias 



C1UE 

C10B 



CI 1A 
I 

TXNUM 



I 

I PI. 



JSR 
LDX 
LDA 
JSR 
LDX 
LDY 
JSR 
BPL 
JSR 
JMP 
BNE 
LDX 
STA 
JSR 
LDX 
LDA 
JSR 
LDX 
LDY 
JSR 
bPL 
JSR 
JMP 
BNE 
TAX 
BEQ 
LDX 
STA 
JMP 



ERASE 




XSTORE 


get index 


PVRANG, X 
CURRENT 


v i br * to r 


print it 


HRTXfcSFF 


v.r»ngi m 


4RTX/256 


v. range m 
pr i nt /get 


TXNUM 


CBB 


numir i c e 


BELL 


yes. ring 

try igiin 

r tturn? 


CBA 


C10A 


XSTORE 


no. get i 


PVRANB, X 


vi br * to r 


ERASE 


• r «•* Mi n 


XSTORE 


get Indix 


PVSPEED. X 


vibrato s 


CURRENT 


print it 


#STX!«*.FF 


v.sptad m 


#STX/256 


v . speed m 


TXNUM 


pr i nt /get 


C10B 


nunier i c e 


BELL 


y«s . ring 
*f~y again 
return? 


C10A 


CI 1 A 



dow 

ange 

«q lo 
• g hi 

num 
rror? 



ndtK 
ingc 
dow 



rror 7 
bel 1 



CI»E 
XSTORE 
PVSPEED, 
NMBR1 



JSR PR1NTD 
JMP 8ETNUM 



the 



NEWNO 
NW2 



PLAYIT LDY 
LDA 
BNE 
DEC 
BEQ 
JMP 

NOTEDDNE LDA 
BNE 
STA 
STA 
INC 
BNE 
INC 
LDA 
BNE 
LDA 
STA 
LDA 
STA 
LDA 
STA 
STA 
LDA 
TAY 
STA 
STA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
CMP 
BNE 
TYA 
STA 
LDY 
STA 
JMP 
CMP 
BNE 
LDA 
JMP 
CMP 
BNE 
INC 
BNE 
INC 
JMP 
CMP 
BNE 
LDA 
STA 
LDY 
STA 
LDA 
51 A 
JMP 
LSR 
KOL 
LSR 
ROL 
LDY 
CMP 
BCC 



XSTORE 
BETNOTE, X 
NEWNOTE 
DURCNT, X 
NOTEDONE 
INCX 
TIED.X 
NEWNOTE 
AUDF1 , Y 
AUDCI , Y 
PTRL, X 
NWS 

PTRH, X 
TIED, X 
NW3A 
*1 

SYNSTAT, X 
ATTACK, i 
SYNCNT, X 

AUDCI, Y 
VOLNOW, X 



ACCID 
VSTAT, X 
BETNOTE, X 
VSPEED, X 
VIBCNT, X 
PTRL, X 
PTR 

PTRH, X 
PTR+1 
(PTR) , Y 
#B5 
NW3 

SYNSTAT, X 

XSTORE 

AUDCI , Y 

BE! DURA 

»B6 

NW4 

•36 

NW40 

#127 

NWS 

PTRL, X 

NEWNOTE 

PTRH X 

NEWNOTE 

#255 

NW6 

#0 

SVNSTAT, X 

XSTORE 

AUDCI , Y 

»1 

STATUS, X 

NEXTREC 

A 

ACCID 

A 

AUC1D 

#0 

#7 

NWS 



9 'i 
vibr a 

con t i 

print 
get ni 



error 

ndex 

to ip 

nug 

• tr 

mbe 



i ng 



get 



dec 
not 
ano 
not 
y.s 
pok 
zer 
not 
ovi 
not 
not 
yes 
itt 



sta 

P 

sav 
get 
set 
i ni 
v i b 
not 
v i b 






g.t 



no 
not 
ov 
not 

• nd 
no. 
g.t 
syn 
get 



div 
car 



i ndtK 

d note? 

get a note 
ote I eng th 

e done? yes. 

t her voi ce 

• tied'' 
kip 

e ul tr ason i c 

o volume 

?ntr 1 o 
ow? no. 
pn tr h i 
tied"? 
skip 
ck token 
status 
ck count 
count 
rti ng vol urn 
e hardware 
vol ume 
z ero 

Y to zero 
t ace i dental 
rata status 

any more 
r at o speed 
wd count 
asv p t r 1 o 
e poi n ter I o 
ase ptr hi 
e poi n ter hi 

note 
t? 
. skip 
r - 

1 thesi z er of f 
t index 
" o vol ume 
t duration 
h7 

skip 
i ndex 
t i r equency 
iiuriY 
■ skip 
e poi n ter 1 o 
r,loH? no. 
pointer hi 
a new note 
o-f phrase? 
skip 
a zero 
thesi zer o-f f 
i ndex 

volume 
voi ce token 
si atus 
t voice rec 
id. by 2 
ry into ACCID 
vide by 4 
- r y Into ACCID 

it octave tt 
wpare 0. • 7 
nngt' yes. 





SBC 


• 7 


•ubtr.ct 7 




INY 




i nc octivt . 




JMP 


NW7 


try agai n 


NWB 


PHA 




»av. not. It 




LDA 


OCTBL, Y 


octtvi off«.t 




9TA 


NOTE 


save octave 




PLA 




g.t not. • 




TAY 




u.e a. index 




LDA 


NOTBL, Y 


not. off .at 




ADC 


NOTE 


add oct.v. 




LDY 


ACCID 


acci d.nt.l 




ADC 


ACTBL, Y 


iccid off. at 




STA 


NOTE 


»«v* not. 




LDA 


TRANSPOS, X 


t ran.po*. 




CMP 


• 129 


up/down point 




BCS 


TRANSDN 


down? 




ADC 


NOTE 


add not. 


NW36 


CMP 


• 37 


in rang.? 
no. .kip 
make in r .ng. 




BCC 


NU40 




SBC 


• 36 




JMP 


NW36 


try «g.i n 


TRANSDN 


AND 


tl»7F 


t ran.po*. 
««v. it 




STA 


TMP 




LDA 


NOTE 


g.t not. 
tran.po.. it 




SBC 


TMP 


NW37 


CMP 


• 37 


in r.ng.? 
y.» ■ .kip 




BCC 


NW40 




ADC 


#36-1 


m.k. in r.ng. 




JMP 


NW37 


try again 


OCTBL 


.BYTE 0, 12,24, 
.BYTE 0,»FF,1 


36 act.v. table 


ACTBL 


accidental t.bl 


NOTBL 


-BYTE 0,2,4,8 
.BYTE 7,9, ll 


not. t.bl. 


NW40 


TAY 




u»» .. ind.x 




LDA 


NOTES, Y 


g.t. actual not. 




STA 


VNOTE, X 


..v. it 




LDY 


XSTORE 


g.t ind.x 




STA 


AUDF1, Y 


pok. hardware 


I Comput 


. not. duration 




BETDURA 


INC 


PTRL.X 
GDURl 


point. r tbl lo 




BNE 


over -f 1 dm? 




INC 


PTRH, X 


ye. .pointer hi 
poi n t er- tbl 1 o 


EDUR1 


LDA 


PTRL, X 




STA 


PTR 


poi nt.r la 




LDA 


PTRH, X 
PTR+1 


pointer tbl hi 




STA 


poi nt.r h i 




LDY 


*0 


g.t zero 




STY 


TIED, X 


z.ro t i .d f 1 ag 




LDA 


(PTRi , Y 


duration byt. 




ASL 


A 


minu. ■> carry 




ROL 


TIED, X 


carry -> l«ti.d 

rotat. back 




LSR 


A 




TAY 




u*. a. i ndex 




LDA 


BDTBL-1 , Y 
DURCNT, X 


actual duration 




STA 


*av. it 




JMP 


INCX 


nex t voi c. 



.BYTE 4,6, B duration t.bl. 
-BYTE 12,16,24 
.BYTE 32,48,64 
. BYTE 96, 128, 192 



1 Era.. 


t.xt 


at .cr.en 


bottom. 


ERASE 


LDX 


»39 


40 byt.. 0. .39 
display bl ank 
.tor. in windo 




LDA 


•0 


ERSC 


STA 


TXl , X 




DEX 




dacr.fn.nt ind. 




BPL 


ERSC 


don. 7 




RTS 




y.a. continu. 


1 If no 


d.ta 


in memory 




NODATA 


JSR 


ERASE 


era., window 




LDX 


#NTXi»FF 


no d.ta mag lo 




LDY 


•NTX/236 


no data m.g hi 
print it 




JSR 


PRINTD 




JMP 


CHOICE 


goto m.nu 



1 Add V 


BRATO. 




VIBRATO 


LDX 


•3 


init indax 




LDY 


#6 


h.rdwar. ind.x 


VBRT 


DEC 


VIBCNT, X 


v.ap.ad count 




BNE 


VNXTX 


done? yes. 




LDA 


VSTAT, X 


vibrato atatu. 




BED 


RAISE 


0»r ai «. pitch 




LDA 


VNOTE, X 


g.t fraqu.ncy 
pok. hardware 




STA 


AUDF1, Y 




DEC 


VSTAT, X 
PUTVIB 


v.tat-0 




JMP 


cont i nu. 


RAISE 


LDA 


VNOTE, X 


gat fraquancy 
0«no aound 




BEO 


VNXTX 




SEC 




.at carry 
tub vib rang, 
poka hardware 




SBC 


VRANGE, X 
AUDF1, V 




STA 




INC 


VSTAT, X 


v.tat-1 


PUTVIB 


LDA 


VSPEED, X 


vibrato apa.d 




STA 


VIBCNT, X 


v.«p..d count 



DEY 

DEY 

DEX 

BPL VBRT 

RTS 



h.rdwar. ind.x 
do it twice 

d.c indax 
dona? no, 
cont i nua 



I Print 

I 

CURRENT 



currant aound value. 



STA 
LDX 
LDY 
JSR 
STA 
JSR 
JSR 
CLD 
LDY 
INY 
LDA 
AND 
STA 
LDA 
BPL 
RTS 



FR0 

#CTXS.»FF 

•CTX/236 

PRINTU 

FR0+1 

IFP 

FASC 

#»FF 

(INBUFFI , 

»»IF 

TX1+1S.Y 

< INBUFF) , 
PNUM 



currant m.g lo 
curr.nt *.g hi 
print in top 
zero in F.P. hi 
INTESER to F.P. 
F.P. to ASCII 
clear decimal 
init i nd.x 
inc ind.x 
g.t ASCII 
to display cod. 
put rosq window 
g.t ASCII 
.nd of .trlng 
ye. . cont i nu. 



I Add 
I 

DELAY 



DELI 
DEL2 



d.lay to cr.at. TEMPO. 



I Plug i 
PDEFAULT 



LDA TEMPO 

STA TMP 

LDA #4 

STA TMP2 

LDY #48 
DEY 

BNE DEL2 

JSR SYN 

DEC TMP2 

BNE DELI 

JSR VIBRATO 

DEC TMP 

BNE DEL 
RTS 

n default valuaa. 



muaic tempo 
nvc it 

do SYN 4 time. 
livl count 
dalay loop cnt 
d.c count 
dona? no. 
ayntheai zar 
dac 4 timaa cnt 
dona? no. 
vibrato effect 
dac tempo value 
dona? no. 
continu. 



JSR 
STA 
JSR 
LDX 
LDY 
LDA 
STA 
STA 
STA 
STA 
STA 
STA 
STA 
LDA 
STA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
BNE 
STA 
DEX 
DEY 
DEY 
BPL 
RTS 



SHUTOFF 
AUDCTL 
SIOINV 
#3 

• 6 

• 

TIED.X 
PTRL, X 
PTRH.X 
SYNSTAT, X 
TRANSPOS, X 
LINECNT, X 
VCOUNT.X 

• 1 

BETNOTE, X 
STATUS, X 
««AA 

HIGHVOL, X 
#*A0 

VOLNOW, X 
TABLE+4l,Y 
DEF2 
STATUS, X 



:ero 

: ero 

init 

init 

.nit 

l«t 

: ero 

ihr 

,hr 

iyn 

:ran 

/oic 

,oic 

'"^ 

ieed 

i.ed 
l.f i 



■ ou 
aud 
har 
ind 
tbl 
z aro 
a 
t 
t 

• tat 

ipoi 

li 

r P 

one 



nd. 

i o ctrl 

dware 



bl lo 
bl hi 



oi c 
cti 

hut 
ec 
ec 
o i 



high 

rant 
vol n 
a tb 
va? 

off 
i nda 
tabl 
t tN 
? no 
i nua 



at cnt 

note 
record 
igh vol 
vol 

vol ume 

ow 

1 hi 

aa . 

voi ca 
x 
a index 



I Check 

I 

FINISHED 



if .11 VOICE, are dona. 



LDA STATUS 
ORA BTATUS+1 
ORA STATUS+2 
ORA STATUS+3 
BNE ALLP 
LDA REPEAT 
BEQ ALL3 
DEC REPEAT 
JMP LISTEN 
JSR ERASE 
JSR SHUTOFF 
JMP CHOICE 



ALLP 


JMP PLAYINB 


1 

1 Stop 


all aound. 


SHUTOFF 
SHUT 


LDX #6 

LDA #0 

STA AUDCI, X 

STA AUDFllX 

DEX 

DEX 

BPL SHUT 

RTB 


I Check 
1 ha. b 


if tha BREAK key 

aan pushed. 



OR status 
o-f al 1 voices 
together, i -f 
result <> 0. 
keep pi ay i ng 
play again? 
no. end i t 
dec repeat val 
play i t agai n 
erase window 
stop all sound 
goto menu 
cont pi ay i ng 



init index 
zero found val 
zero volume 
zero -frequency 
dec index 
do it again 
done? no. 
cont i nue 



BRKCHK 
STOPIT 



LDA BRKKEY 

BNE BRKX 

DEC BRKKEY 

JSR SHUTOFF 

STA REPEAT 

JSR ERASE 

JHP CHOICE 



Set break key 
■y hit? no. 
reset break 
turn off mound 
rmt reptct 
eraee window 
goto iinu 



Set Bound viiuti to default. 



DEFAULT 
SYND 



BRKX 

I 

I Input 

SETNUH 



LDX »9 

LDA »64 

STA PDECAY.X 

STA PVSPEED,X 

LDA #1 

STA PATTACK.X 

LDA #0 

STA PVRANB.X 

LDA »»A2 

STA PDROP.X 

DEX 

BPL SYND 

RTS 



do ten phrases 
default 
decay 

vibrato spaed 
default 
attack 
d.fiult 
vibrato rang* 
da-Fault 

minimum voluaa 
dec index 
dona? no. 
continua 



and print a number. 



SN5 

t 

I Nana 

! 

NAME IT 



NMT2 



LDA 
STA 
DEC 
JSR 
CMP 
BEQ 
CMP 
BNE 
LDA 
BEE 
DEC 
LDX 
LDA 
STA 
INC 
JHP 
LOX 
CPX 
BEO 
CMP 
BCC 
CMP 
BCS 
LDX 
STA 
SBC 
STA 
LDA 
STA 
INC 
JMP 
LDX 
BNE 
INC 
RTS 
LDA 
STA 
LDA 
STA 
LDA 
STA 
STA 
JSR 
JSR 
CLD 
LDA 
LDX 
BEQ 
LDX 
RTS 



• 
TMP 

TX2+15 
GETKEY 
•RETURN 
SN3 

•BACKS 
SN2 
TMP 

SN1 

TMP 

TMP 

»»FF 

TX2+15.X 

TX2+14.X 

SN1 

TMP 

•3 

SN1 

• •0 
BN1 
»'9 + l 
8N1 
TMP 
NMBUF.X 

• 32-1 
TX2+15.X 
»«FF 

TX2+14.X 
TMP 

SN1 
TMP 
SN4 
TMP 

• NMBUFUFF 
INBUFF 
•NMBUF/254 
INBUFF+1 

tie 

NMBUF.X 
CIX 
AFP 
FPI 

FR0 
FR0+1 
SN5 
••80 



gat zaro 

sava aa pointer 

cursor »FF 

?at a lattar 
a it a raturn 
yarn, goto axit 
backspace? 
no. goto GN2 

fat pointar 
aft margin-0? 
dac pointar 
uaa aa indax 
curaor char 
put curaor 
make apaca 
gat a char 

?et pointar 
hraa digits? 



.LT. 
yaa. 
.ST. 



try again 
ASCII 0? 
try again 
ASCII 9? 
try again 
gat indax 
put in buffar 
d i spl ay coda 
put in window 
curaor char 

?ut cursor 
nc position 
gat a char 
gat pointar 
any characters? 
no. sat Oitro 
cont i nua 
buffer adr lo 
inbuff pntr lo 
buffer adr hi 
inbuff pntr hi 
non nuaaric 
number +1 
FP offset 
ASCII to F.P. 
F.p. to INTEGER 
clear decimal 

?et value 
eat >2S5 
no. ok. 

sat ainus flag 
continue 



the INPUT device. 



LDX 
LDY 
JSR 
STA 

oec 

JSR 
LOX 
CMP 
BNE 
TXA 
BEQ 
DEC 
LDA 
STA 
INC 
JMP 
STA 
CMP 
BEQ 
SEC 
SBC 
STA 
LDA 
STA 



• ITXS.SFF 
•ITX/2S4 
PRINTU 
TMP 

TX2 

BETKEY 

TMP 

•8ACKB 

NHT2 

NMT1 
TMP 

• *FF 
TX2-1.X 
TX2.X 
NMTl 
NAME, X 
•RETURN 
NHT5 

• 32 
TX2.X 

• »FF 
TX2+1.X 



device 
devi ce 
print i 
init in 
inlt cu 
get cha 

Set ind 
ackspa 
no. on 

res. ta 
aft aa 
posi t io 
gat cur 

?ut scr 
urn of 
try aga 
aacii 
raturn 



displ ay 
put scr 
get cur 
put scr 



msg 1 o 
msg hi 

dex 

rsor »FF 

racter 

ex 

ce? 

screen 

st indax 

rgin-0? 

n left 

■or 

aan 

f curaor 

in 

aaa buf 

key? 

to NMTS 

V . 

cade 
tin 
■ or 
tin 



I 
I 

I 
I 

I 

8YN 



INC TMP 
INX 

CPX »17 
BNE NMTl 
JMP NMTD 
T5 INC TX2.X 
RTS 

Control* operation of 
the SYNTHESIZER aactlc 
attack and decay. 

LDX 03 
LDY *4 

LDA SYNSTAT.X 
BEQ NXTX 
DEC SYNCNT, X 
BNE NXTX 
CMP »1 
BEQ ATTCK 
CMP *2 
BEQ DECY 
JHP NXTX 
INC VOLNOW.X 
LDA VOLNOW.X 
STA AUDC1.Y 
CMP HIBHVOL.X 
BEQ GODECAY 
LDA ATTACK, X 
JMP DEC3 
INC SYNSTAT.X 
LDA DECAY. X 
STA SYNCNT, X 
JMP NXTX 
LDA VOLNOW.X 
CMP DROP.X 
BEQ BOSUSTN 
BCC GOSUSTN 
DEC VOLNOW.X 
LDA VOLNOW.X 
STA AUDCl.V 
JMP DEC2 
INC SYNSTAT.X 
DEY 



inc index sav 
inc index 
IS char yet? 
no. get aora 
delete 1 aat 
delete cursor 
cant i nuo 



ODDECAY 

DEC2 

DEC3 



BOSUSTN 
NXTX 



DEY 
DEX 
BPL SYN2 



Print text to screen. 

ilNTU LDA »TXl«c»FF 

STA P2NDX 

LDA »TXl/254 

JMP PR0 

UNTO LDA »TX2«.»FF 

STA P2NDX 

LDA •TX2/2S4 

10 STA P2NDX+1 

BTX PINDX 

STY PINDX+1 

LDY «8 

(PINDX) , Y 



init index 
hardware index 
voice active? 
no. do another 
ayn dur count 
count dona? no. 
do attack? 
yaa. 

da decay? 
yea. 

next voice 
inc volume 
currant volume 
poke hardware 
at maximum? 
yes. now dacay 
attack duration 
cont i nua 
make dacay 
dacay duration 
ayn dur count 
next voice 
currant volume 
compare low vol 
"low volume? 
<low volume? 
dac volume 
currant voluaa 
poke hardware 
continua 
atop voice 
hardware index 
do it twica 
i ndax 

all done? no. 
conti nue 



LDA 

BEQ PRX 

SEC 

SBC *32 

STA (P2NDX), 

INY 

JMP PR1 

I 

I Ring bell (CTRL/2). 



BELL 

BELLI 
BELL2 



PRX 

I 

I Ring 



LDY 
LDX 
STX 
STX 
DEX 
BPL 
DEY 
BPL 
RTS 



»»20 
• »7F 
CONSOL 
WSYNC 

BELL2 



.Ef 

1 OH 
? t 
1 OH 
? t 
X-t 

Y-t 

ini 

8 *S 
end 

no. 

dim 

?ut 
nc 
aga 



1 

o po 
ex t 

ext 
t i 

aac 

of 

aat 

pl 
scr 
ind 

in 



line lo 
sinter lo 
Line hi 

Una la 
inter lo 
ine hi 
inter hi 
addr lo 
addr hi 
dex 

ii char 
stri ng? 

carry 

code 
een 



duration count 
innar loop 
poke speaker 
wait for aync 
dec innar lo 
done? no. 
dac duration 
done? no. 
conti nue 



L oop 



ball and erase text. 



JSR 
JMP 



BELL 

ERASE 



ring ball 
erase text 



I Opan keyboard for INPUT. 



OPENKBD 



LDX 
JSR 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
JMP 



•I0CB2 
CLOSEIT 
•KBDVtFF 
ICBAL, X 
•KBD/234 
ICBAH, X 

• OPEN 
ICCOM.X 

• 4 
ICAX1.X 

• 

ICAX2.X 
CIOV 



use I0CB »2 
close «2 
file name 1 o 
buffer addr lo 
file name hi 
buffer addr hi 
opan command 
command byte 
input option 
auxl byte 
zero 

aux2 byte 
opan file 



(Keyboard file name. 

KBD .BYTE »K",Rf 

I Get character from 

OETKEY LDX •I0CB2 
LDA *0 
STA ICBLL.X 
STA ICBLH.X 
LDA »READ 
STA ICCOM.X 
JMP CIOV 



keyboard ■ 

use IOCB »2 
buffer length 
buf length lo 
buf length hi 
gat character 
command byte 
get a character 



2 

Q 
m 

CD 
l\3 



I 



Values for NOTE pitches 
from low to high. 

TES .BYTE 243,230,217,204 
.BYTE 193,182,173,142 
.BYTE 153,144,134,128 
.BYTE 121,114,108,102 
.BYTE 94,91,88,81 
.BYTE 74,72,48,44 
.BYTE 40,57:53,50 
.BYTE 47,45,42,40 
.BYTE 37,35,33,31 
.BYTE 29 

Display list. 

.1ST .BYTE *70,«70,»70,»47 

.WORD SCREEN 

.BYTE 7,»70,»70,7 

.BYTE 7.7,7.7 

.BYTE »70,»70,7,7 

.BYTE *41 

.WORD DLIST 



I Words at screen bottom. 

TTX .BYTE "TEMPO 1-255: " , 
.BYTE "PHRASE *l-9: ".0 
-BYTE "ATTACK 1-255:* 
.BYTE "DECAY 1-255: "0 
.BYTE "V. RANGE 0-255!", 
.BYTE "V. SPEED 1-255: " 
.BYTE "PUSH BREAK TO STOP" , 
.BYTE "NO DATA" 

"VOL. DROP 0-7:", 
"REPEATS 1-255: ",0 
'DEVICE NAME?" " 



PTX 
ATX 
DTX 
RTX 
STX 
QTX 
NTX 
VTX 
NMTX 

ITX 
CTX 
ETX 

I 

; Data for screen 

I 



BYTE 
.BYTE 
.BYTE 



»» rci WKVXWb Hint I , ". 

BYTE "CURRENT VALUES" 
BYTE "I/O ERROR CODE: 



,0 



SCREEN 



0,0, "music" , 
■synthesi z er" .0 
0,0,0, "by", 0,0 
"ken" " 



t 

TX1 

TX2 

NAME 

I 



VC1 

VC2 

VC3 

VC4 

I 

BUFF 



.BYTE 

.BYTE 

.BYTE 

.BYTE 

.BYTE 

.BYTE 010 

.BYTE 0,0 

.BYTE 0,0 

.BYTE 0,0 

.BYTE 0,0,- 

.BYTE 0,0,0, 'P-32, "hraae",0 

.BYTE "change", 0,0, 0,0 

.BYTE 0,0,0, 'T-32 ,'eapo 

.BYTE 0," 

.BYTE 0, 

.BYTE 



, 'colli!.. 
L-32, "isten" 
,0,0,0,0,0,0,0 
R-32, "etr leva" 
,0,0,0,0.0 
N-32, "umber" 
0,0, 0,0,0, " 



o 
p 

o 

o 

TJ 

c 



o 



i, 0,0 



* + 20 
» + 20 
a + 20 



•- a+VLEN 

*- »+VLEN 

•- »+VLEN 

»- a-fVLEN 

a- *+BUFS 



1 RUN address 

1 

*- S02E0 
.WORD START 

I 

.END 



next line offset 

text window 1 
text window 2 
file naae buf 



voice space 1 

voice space 2 

voice apace 3 

voice apaca 4 

file apaca 



file run addr 
addr to goto 



CO 
CO 

c 
m 

Ol 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 93 



EASTCOAST SOFTWARE 



€CS. . . inflation-fighting prices. 
No hidden charges! No credit card fees! 



ATARI 



SOFTWARE list sale 

747 Landing Simul C/D $22.95 $18.25 

AE D 34.95 24.15 

Ali Baba/40 Thieves D 32.95 23.25 

Alien Ambush D 29.95 20.70 

Alien Swarm C 29.95 21.20 

Alpha Shield R 39.95 28.30 

Anti-Sub Patrol C 19.95 13.75 

Anti-Sub Patrol D 29.95 20.70 

Apple Cider Spider R 39.95 28.30 

Apple Panic C/D 29.95 20.70 

Assembler Editor R 59.95 46,40 

Atari Basic R 59.95 46.40 

Atari Writer R 99.95 77.50 

Attack at EP-CYG-4 C 29.95 21.20 

Attack at EP-CYG-4 D 32.95 23.35 

Avalanche C/D 22.95 18.25 

Bandits D 34.95 24.75 

Bank Street Writer D 69.95 48.35 

Baseball R 44.95 31,85 

Basic A + With OS/A + 80.00 56.65 

Basic Compiler D 79.95 55.25 

Battle For Normandy C/D 39.95 28.90 

Battle of Shiloh C/D 39.95 28.90 

Battling Bugs/Concent C 29.95 22.60 

Blue Max C/D 34.95 24.75 

Bookkeeper D 149.95 116.25 

Canyon Climber C/D 24.95 17.25 

Castle Wolfenstein D 29.95 20.95 

Chess D 69.95 48.35 

Choplifter R 44.95 31.05 

Claim Jumper C/D 34.95 24.75 

Clowns & Balloons C/D 24.95 17.25 

Compu-Math/Decimals C 29.95 20.70 

Compu-Malh/Fractions C 29.95 20.70 

Compu-Read C 19.95 14.15 

Controller D 30.00 20.70 

Conversational French C 59.95 46.40 

Cosmic Balance D 39.95 28.90 

Crossfire C/D 29.95 20.70 

Crush Crumble Chomp C/D 29.95 20.70 

Dark Crystal D 39.95 27.60 

Data Perfect D 129.95 99.70 

David's Midnight Magic D 34.95 24.15 

Deadline D 49.95 34.50 

Defender R 44.95 34.75 

Delta Drawing D 59.95 43.05 

Deluxe Invaders R 39.95 27.60 

Dig Dug R 44.95 34.75 

Dimension X C/D 34.95 24.75 

DiskeyD 49.95 35.35 

Dneiper River Line D 30.00 21.25 

Dog Daze C/D 22.95 18.25 

Donkey Kong R 49.95 38.75 

DrelbsC/D 34.95 24.20 

Eastern Front C/D 29.95 23.85 

Edit 6502 R 179.95 138.00 

Empire of Overmind C 30.00 21.25 

ET Phone Home R 49.95 38.75 

Pacemaker D 34.95 24.75 

Family Finance D 49.95 38.75 

Fantastic Voyage R 34.95 25.70 

Figure Fun C 29.95 23.00 

File It 2 System D 49.95 35.35 

File Manager 800 + 99.95 69.00 

Flip Out D 29.95 21.20 

Floyd of the Jungle C/D 29.95 23.05 

Fort Apocalypse C/D 34.95 24.75 

Fort Apocalypse R 34.95 26.35 

Frogger C/D 34.95 24.10 

Galaxian R 44.95 34.75 

GFS Sorceress D 35.00 24.20 

Gorf D 39.95 27.60 

Gorf R 44.95 31.05 



EASTCOAST SOFTWARE 

40 Hockersville Rd. 

Hershey, PA 17033 

MAIL YOUR ORDER OR CALL 

(717) 533-8125 or 533-8480 



We Ship UPS - Shipping 1% ($2.50 lulu.) 
C.O.D. Add an Additional S2.50 

Hardware (Printers/Monitors) 

Shipping is $2.50 +6% (U.P.S.) 

For Air Mail. Canadian, APO/FPO, or Overseas Orders, 

Shipping $2.50 + 9% of Total Order (US Funds) 



No Minimum Order 
Visa-Mastercard-C.O.D. -Check 

Prices Subject To Change 



Hellcat Ace C/D 29.95 

Hey Diddle Diddle D 29.95 

Home Accountant D 74.95 

Home Filing Mgr D 49,95 

Home Financial MGMT C 29.95 

Home Inventory D 19.95 

Home Manager Kit D 79.95 

Household Finance D 34.95 

In Search of/ Amazing D 39.95 

Insta Edit C/D 19.95 

Invitat. -Programming 1 C 24.95 

Invitat. -Programming 2 C 29.95 

Invitat. -Programming 3 C 29.95 

Il-ls-Balloon C/D 34.95 

J. White Music Lessons C/D 29.95 

Jawbreaker C/D 29.95 

Jumbo Jet Pilot R 49.95 

K-DOS D 89.95 

K-razy Antiks R 39.95 

K-razy Kritters R 39.95 

K-razy Shootout R 39.95 

K-Star Patrol R 39.95 

Kindercomp D 29.95 

Knights of the Desert C/D 39.95 

Letter Perfect D 149.95 

Letter Perfect-80 COL R 199.95 

Letlerman C/D 22.95 

Lunar Leeper D 29.95 

MAC/65 D 80.00 

Macro Assemb/Text Edit D 89.95 

Master Type D 39.95 

Microsolt Basic II D 89.95 

Miner 2049er R 49.95 

My First Alphabet D 34.85 

Nato Commander C/D 34.95 

Number Blast C/D 15.95 

Outlaw/ Howitzer C/D 22.95 

Pilot (Home Pkg) R 79.95 

Pinball C/D 29.95 

Poker Sam C/D 24.95 

Pool 1.5 D 34.95 

Pooyam D 29.95 

Prepare for Sat D 119.95 

Preppie C/D 29.95 

Preppie II C/D 34.95 

Preschool IQ Builder 1 C 18.95 

Preschool IQ Builder 2 C 18.95 

Preschool Library C 59.95 

Programmer Kit R 59.95 

Protector 2D 34.95 

Protector 2 R 44.95 

Qix R 44.95 

QS Reversi D 29 95 

Rhymes & Riddles D 29.95 

Sea Fox D 29.95 

Sea Fox R 39.95 

Serpentine C/D 34.95 

Shadow World C/D 34.95 

Shamus Case 2 C/D 34.95 

Snake Byte D 29.95 

Snooper Troops ID 44.95 

Snooper Troops 2D 44.95 

Software Automouth D 59.95 

Space Invaders R 34.95 

Spelling Bee Games D 39.95 

Squish 'Em R 39.95 

Slar Raiders R 44.95 

Starcross D 39.95 

Story Machine D 34.95 

Strip Poker D 34.95 

Submarine Commander R 49.95 

Superman III R 49.95 

Svn Assembler D 49.95 

Teletalk D 49.95 

Teletari D 39.95 

Temple of Apshi C/D 39.95 

Text Wizard D 49.95 

Tigers in the Snow C/D 39.95 

Tricky Tutorials «l-«6 C/D 119.95 

Ultima II D 59.95 

Ulvsses & Gold Fleece D 39.95 

Upper Reaches Apshai C/D 19 95 

Visicalc (Special) D 199.95 

Way Out D 39.95 

Wingman C/D 34.95 

Wizard of Wor D 39.95 

Wizard of Wor R 44.95 

Zaxxon C/D 39.95 

Zorkl. II. or III D 39.95 



800-233-3237 



VISA' 





23.05 
20.70 
48.05 
38.75 
23.00 
15.05 
62.00 
26.35 
27.60 
14.15 
19.25 
23.15 
23.15 
24.75 
21.20 
20.70 
38.30 
62.75 
28.30 
28.30 
28.30 
28.30 
20.70 
28.30 
103.60 
153.30 
18.25 
20.70 
56.65 
70.00 
27.60 
70.00 
34.50 
27.15 
26.90 
12.70 
18.25 
61.85 
21.20 
17.65 
24.15 
20.70 
84.90 
20.70 
24.15 
13.45 
13.45 
42.45 
51.35 
24.20 
31.15 
34.75 
22.55 
20.70 
20.70 
27.60 
24.15 
25.30 
24.75 
21.20 
32.50 
32.50 
41.45 
28.45 
28.30 
28.30 
34.75 
27.60 
25.45 
26.90 
38.30 
38.75 
35.35 
34.50 
28.30 
27.60 
34.50 
28.90 
84.90 
41.40 
27.60 
14.15 
162.50 
28.30 
26,90 
27.60 
31.05 
27.60 
27.60 



This ad prepared August, 1983. 



HARDWARE list 

Amdek300A 12 In. Amber Mon $199.00 

Amdek 300G 12 In Green 179.00 

Amdek Color 1 Monitor 399.00 

Atari Joystick (Single) 9.95 

Atari Paddles 14.95 

Banana Printer 249.95 

Gorilla 12-in Green Scrn 99.00 

Intec Ram Card-16K 60 00 

Intec Ram Card-32K 90.00 

Intec Ram Card-48K 115.00 

Intec Ram Card-64K 150.00 

Koala Graphic Tablet-Atari 99.95 

Kraft Joystick-Atari 16.95 

Microbits Printer Interface 99.95 

Microtek Ram Board- 16K 89,00 

Microtek Ram Board-32K 1 19.00 

Mosaic 64K RAM (400/800) 199 00 

MPC 32K Memory Board 139.50 

NEC 1201 Green Monitor 285.00 

NEC 1212 Color Monitor 399 00 

NEC 1260 Green Monitor 149 95 

NEC PC8023 Printer 599.00 

NEC PC8025 Printer 975.00 

Parallel Printer Cable 34 50 

Percom ATA88-S! 1st Drive 488.00 

PI-2 12 in Green Monitor 210.00 

PI 3 12 in Amber Monitor 249.00 

PI-4 9 in Amber Monitor 199.00 

Rampower 128K Memory Board 379,95 

Rana 1000 Disk Drive 449.00 

Sanyo 81 12 12 in Green Mon 260,00 

Serial Modem Cable 39.50 

Serial Printer Cable 34.50 

Signalman Modem MK 11 99.00 

Smartmodem - Stack 289 00 

Starwriter F10-40PU Print 1.895.00 

Taxan 12 in Amber Monitor 189.00 

Taxan 12 in Green Monitor 179.00 

Taxan Color Mntr W/Audio 399.00 

TG Joystick - Atari 34.95 

TG Track Ball 64 95 

Wlco 12-ft Joystick Ext 7.95 

Wico Joystick 29.95 

Wico Red Ball Joystick 34.95 

Wico Trackball 49.95 

Wico's "The Boss" Joystick 19.95 

BOOKS LIST SALE 

Atari Assembler Book $12.95 $9 95 

Atari Basic Book 10.95 8.40 

Atari Basic Reference Man 10.95 8.50 

Atari Games & Recreation 14.95 1 1 50 

Atari Pilot For Beginners 14.95 1 1 50 

Atari Sound & Graphics 10.95 8.40 

Atari Tech Reference Notes 29.95 23.75 

Book of Atari Software '83 19.95 12.80 

Kids and the Atari 19.95 14.45 

Your Atari Computer Book 16.95 13.00 

SUPPLIES LIST SALE 

Dust Cover - Atari 800 10.98 8.50 

Elephant Disks SS/DD (10) 37.00 24.35 

Elephant Disks SS/SD (10) 34.00 21.15 

Epson MX-80 Ribbon 2-Pac 28.00 12.55 

l-lip-N-File (Atari Cart) 29.95 18.85 

Flip-N-File (Disks) 29.95 18.85 

Head Cleaning Kit 29.95 17.70 

Maxell MD1 Disks (10 Pack) 51.90 29.40 

NEC 8023 Ribbon 2-Pac 19.95 17.10 

Starwriter Film Ribbon 5.50 4.50 

Starwriter Nylon Ribbon 5.75 4.65 

Trunk Floppy Storage 29.95 21.50 

Verbatim MD 525 Softpack 34.00 26.95 

Verbatim MD 525 Hard Pack 35.00 27.60 

800-233-3237 

For Orders Only 
Atari- is a registered trademark aj ATARI COMPUTER INC. 



SALE 

$161.50 

143.40 

320.60 

6.45 

11.50 

221.55 

91,50 

43.40 

62.70 

83.15 

108.50 

75.35 

13.00 

88.15 

50.30 

62,85 

152,60 

107,00 

166.15 

310.00 

113.50 

441.85 

825.00 

24.45 

461.80 

154.55 

162.00 

144.50 

319.15 

318.50 

204.60 

28.50 

28.50 

81.40 

215.00 

1.562.50 

138,65 

131.60 

305.50 

25.75 

46.00 

6.00 

20.55 

21.80 

38.40 

14.10 



CHECK ONE: □ VISA □ MASTERCARD 

Card" Exp. 



Telephone . 
Name 



Address 

City 

State 



- Zip . 



Please enter my order for:_ 



Please specify machine:. 
I Please send free catalog 



PAGE 94 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



DISK USERS: 

DON'T LET THIS HAPPEN TO YOU ! 



by Jerry White 



While working on a BASIC program very late one 
night, I had saved quite a few versions of my program 
using filenames such as "D:TEST1" and "D:TEST- 
2." Shortly before sunrise, I decided to call it a day. I 
saved the most current version of my still unfinished 
program as "D:TEST8." I then realized that I had 
previously saved a version called "D:TEST9," and 
that I had better clean up my work disk before shut- 
ting my bloodshot eyes. 

I called DOS and took a quick look at the 
directory file. With my fingers running much faster 
than my brain, I renamed TEST8, TEST9. After 
pressing RETURN, I realized that I now had two 
programs with the filename TEST9. Since I wasn't 
sure which of the two TEST9 programs was the most 
current, I decided to rename one of them as 
"TEMP." Much to my surprise, DOS renamed both 
"TEST9" programs as "TEMP." Now what? 

I went back to BASIC and loaded "TEMP." 
Knowing that the program in RAM was the first 
version of the "TEMP" found in the directory file, I 
listed it onto the screen to see if it was the most 
current version. No such luck. It was the second ver- 
sion of "TEMP" that I needed. Bat's breath! 

I then tried to solve my problem by going back to 
DOS and deleting the first "TEMP." This was just 
not my night. DOS deleted both my "TEMP" files 
before I could do anything about it. 

Having just received Adventure International's 
Diskey utility program, I used it to remove the 
DELETE flag from the second "TEMP" in the direc- 
tory file. I had solved my problem but I was more 
than a bit cranky. It just seemed to be absurd that 
DOS should rename more than one filename at a 
time. Before getting to sleep that morning, I vowed to 
correct the situation so that it couldn't happen again. 

After a quick look at COMPUTE's Inside ATARI 
DOS, I found that I could correct this problem by 
simply eliminating one BCC instruction. This can be 
done using two NOPs. If you'd like to change 
DOS.SYS version 2.0S so that RENAME effects 
only one file, just follow these instructions: 

With your ATARI BASIC cartridge in place, boot 
up using a disk that contains DOS 20S. At the 



BASIC ready prompt, in immediate mode, enter the 
following commands then press RETURN. 



POKE 
) 



3117 , 234 : POKE 3118 , 234 : X=U5R f 830<» 



Note that the DOS utilities did not have to reload 
from disk. Since no deferred mode lines of BASIC 
were entered and no program was loaded, DUP.SYS 
was unaltered and still in RAM. We simply jumped 
back into DUP.SYS with that immediate mode USR 
command. 

In order to make our patch to DOS permanent, 
use the "H" function to write DOS files. □ 



EPSON*, NEC*, PROWRITER*, GEMINI*, OKIDATA 92* 




The only self-booting grafix handler for dumps in horizontal format 

— all mach. lang. — Lister incl, — all modes — mixed modes — 
change aspect ratios, etc. while running other programs — assem ed 

— basic or no cartridge — demos, utilities, fonts, included — dump, 
create forms, stationery, calendars, requires interface. $ 26.95 

B diskwiz-ll n 

Now for single/double density. Repair, explore, alter, duplicate, 
map, speedcheck, bad sector (810), block move, trace, special print 
capabilities, disassembler, new speed, new ease, new functions, 
special printing functions, excellent repair tool w/instr. — even better 
than before! The best repair/editor/duplicator at any price — still at 

the lowest price. (Updates avail, for a small lee.) $ 28.95 

1st Class Postage Paid 

California Residents add 6%, Foreign Orders add $2.50 

C.O.D. add $2.00 — No credit cards 

Prices subject to change 

(213) 376-4105 

AUeN P.O. Box 2205 

IvIACROWARE Redondo Beach, CA 90278 

* Indicates Trademark ol non-related company 



A ATARI 'm Printers/Etc. 

^ ■ ^ f 1 I #11% I GEMINI 10X .. $279 PROWRITER . ! 



600XL . 
1200XL 



1050 DRIVE $335 

1025 PRINTER $399 

1020 COLOR PTR . . $219 

1027 PRINTER $279 

1010 RECORDER $72 

MICRO PERIF. MODEM/INFC 

DRIVES 

ASTRA 1620 $469 

RANA 1000 $295 

PERCOM 88-S1 $298 

PERCOM 40-S1 $418 

PERCOM 40-S2 $718 

PERCOM 44-S1 $510 

PERCOM 44-S2 $929 



CALL 

CALL* 

'Reflects $100 Atari Rebate 
MICROBITS INFC .... $78 
80 COLUMN BD .... $249 
TECHNICAL NOTES... $25 

REAL TIME CLK $38 

AXIOM PRINTER INFC $80 

$129 

MEMORIES 
48K RAM (INTEC) .... $95 
64K RAM (INTEC) ... $119 
48K RAM (MOSAIC).. $109 
64K RAM (MOSAIC) . . $145 
128K RAM DISK .... $299 
32K RAM (MOSAIC) ... $68 



GEMIN1 1 0X .. $279 
GORILLA .... $199 

CITOH 

Prowriter $345 

Prowriter II $629 

Starwriter $1149 

Printmaster $1448 

NEC 

8023 A-C $409 

3510 $1375 

3530 $1579 

3550 $1779 

7710/7730 $1998 



PROWRITER . $345 
SMITH TPI ... $488 

SILVER REED P .... $669 
QUME 11/40 + ....$1299 
OKI-DATA 

Microllne82A 

Microllne83A _i 

Mlorollne84P ^ 

Microline92 u 

Microline93 

DIABLO 

620R $939 

630R $1719 



ATARI SOFTWARE 



ADVENTURE INT'L 

Adv. 1-12 each (C) $18 

Preppie(C/D) $20 

Preppiell(C/D) $23 

Oiskey(D) $33 

Sea Dragon (C/D) .... $23 

Bug Off! (C/D) $20 

Tutti-Frutti (C/D) $17 

Saga 1-3 (ea.)(D) $27 

Lunar Lndr . (C)$11(D)$15 
Galactic Empire (C) ..$14 
Galactic Trader (C) ... $14 

Stratos (C/D) $23 

RearGuard (C)$14(D)$17 

APX 

Eastern Front (C/D) . . $23 

747 Land Sim. (C/D) . . $17 

Fig-Forth (C) $30 

Family Cash Flow (D) . $17 

Downhill (C/D) $17 

Avalanche (C/D) $17 

Outlaw/Howitzer (C/D) $17 

Salmon Run(C/D) $17 

Data Management (D) $17 
Galahad/Holy Grail (D) $21 
Adv. Music System (D) $21 
ATARI INC. 

Microsoft Basic II (R) . $62 
Mickey in Great 

Outdoors (C/D) $36 

Paint (D) $30 

Speed Reading (C) ... $54 

Qix (R) $30 

Dig Dug (R) $30 

Atari Writer (R) $68 

Time Wise (D) $23 

Visicalc(D) $139 

Juggles House (C/D) . $22 
Juggles Rnbw (C/D) ..$22 

Pilot (Home) (R) $55 

Galaxian (R) $30 

Defender (R) $30 

ET $34 

Microsoft Basic (D) ..$62 
Macro Ass. & Edit (D) .$62 
Assembler Editor (R) .$42 
Basic Cartridge (R) ... $45 

Pac Man (R) $30 

Centipede (R) $30 

Caverns of Mars (D) . . $28 

Star Raiders (R) $30 

Conv. Lang. Ea. (C) ... $42 
Music Composer (R) . . $31 
Super Breakout (R) . . . $26 
My First Alphabet (D) . $26 
Prog.2&E(ea.)(C) .... $21 
Word Processor (D) .$102 

Pilot (Educ.)(R) $92 

Touch Typing (C) $19 

Home File Mngr(D) ..$36 

Bookkeeper (D) $102 

Family Finance (D) . . . $35 

Prog. 1(C) $18 

Scram (C) $18 

Asteroids (R) $27 

Space Invaders (R) . . . $27 
Missile Command (R) . $27 

Telelink(R) $21 

Superman III (R) $34 

Basketball (R) $24 

Donkey Kong (R) $34 

AVALON HILL 

VC(D) $17 

B-1 Nuc. Bomber (C) . . $12 

Legionnaire (C) $23 

Empire of Overmind 

(D) $23 (C) $20 

Tanktics . . . (D)$20(C)$17 
Comptr Stock & Bonds . . . 

(D)$17(C)$14 

Dnieper River Line (D) $20 

Voyager(D) $17 

Controller (D) $20 

GFS Sorceress 

(D)$23(C)$20 

Telegard . . (D)$19(C)$16 

Vorrak(D) $18 

Lord of Karma (C) $14 



AVALON HILL(Cont'd) 

Moon Patrol (C) $17 

Planet Miners (C) $12 

Conflict 2500(C) $12 

Space Station Zulu 

(D)$17(C)$14 

Flying Ace . (D)$21(C)$18 

Gypsy (D)$18(C)$15 

Galaxy .... (D)$17JC)$14 
Guns of FortDef. (C) . $14 

Nuke War (C) $12 

Andromeda Conquest ... 

(D)$16(C)$13 

Close Asslt (D)$23JC)$20 
BRODERBUND 

Sky Blazer (D) $22 

Bank St. Writer (D) ... $46 

A.E. (D) $23 

Arcade Machine (D) . . $39 
Choplifter . (D)$23(R)$29 

Labyrinth (C/D) $20 

Serpentine . (D)$23(R)$27 
Steller Shuttle (C/D) . . $17 

Apple Panic (C/D) $20 

Genetic Drift (C/D) ... $20 
David's Midnight (D) . . $23 

Sea Fox (D) $20 

Track Attack (D) $20 

OperatnWhrlwnd(D) . $23 
Match Boxes (C/D) . . , $20 
CDY CONSULTING 

Pogoman(C/D) $27 

Mad-Netter(C/D) $23 

lt-ls-Balloon(C/D) $23 

CBS 

Mountain King (R) ...$27 

Boulders & Bombs (R) $27 

Krazy (each) (R) $27 

CONTINENTAL SOFT. 
Home Accountant (D) $48 
Tax Advantage (D) . . . $39 
DATA MOST 

Pig Pen (D) $20 

Mating Zone (D) $20 

Roundabout (D) $20 

Bllestoad(D) $20 

Night Raiders (D) .... $20 
Monster Smash (D) . . . $20 
DATASOFT 

Text Wizard (D) $65 

Graphic Master (D) ... $27 

Micro Painter (D) $23 

Lisp Interpreter (D) . . . $79 

Graphics Gen.(D) $17 

Basic Compiler (D) . . . $65 

Zaxxon (CID) $27 

Teletalk(D) $34 

Pac. Coast Hwy (C/D) . $20 
Clowns/Balloons (C/D) $20 

Spell Wizard (D) $53 

Canyon Climber (C/D) $20 
Sands of Egypt (D) ... $27 
O'Riley's Mine (C/D) .. $23 
Rosen's Brigade (C/D) $23 

Moon Shuttle (D) $27 

DON'T ASK 

Sam (D) $39 

P.M. Animator (D) $23 

Teletari (D) $27 

Poker Sam (D) $17 

Word Race . (D)$17(C)$14 
EDU-WARE 

Prisoner II (D) $27 

Spelling Bee (D) $27 

Rendevous (D) $27 

Compu/Read 

(D)$21(C)$15 

Compu/Math-FR 

(D)$27(C)$21 

Compu/Math-Dec 

(D)$27(C)$21 

EDUCATIONAL SOFT. 
Tricky Tutorial 

1,2,3or4(C/D) $15 

Tricky Tutorial 

5,6 or 7 (C/D) $22 



MONITORS 



AMDEK 

Color I $289 

V300 $139 

V300A $149 

Color II $449 



NEC 

GRN(JB1260) $115 

GRNIJB1201) $155 

Color Composite ...$298 
RGB Color $598 



MODEMS 



HAYES 

Smartmodem $209 

Smart modem 1200 . . $498 
Micromodem II $259 



V ft 



NOVATION 

J-Cat $99 

Apple Cat II $259 

D-Cat $149 

ANCHOR AUTOMATION 
Mark I or II Modem . . . $78 




SPECIALS 

Gemini 15X Printer $399 

Axiom AT-100 Printer (with interface $229 

Astra Double Density Dual Drive $469 

Rana 1000 Drive $319 

Bit-3 80 Column Board $245 

Mannesmann Talley 160L Printer $589 

Atari 400 Keyboard (In Home) $35 

Programmer Kit ..$48 Entertainer Kit ...$64 
Wico Joystick . . . $23 Wico Trackball . . . $49 

COSMIC 
COMPUTERS 

UNLIMITED 

727 BREA CANYON RD., SUITE 16 
WALNUT, CA 91789 

ORDER LINES OPEN M0N-SAT 8 am - 8 pm 

(800) 626-7642 

PLEASE FOR ORDERS ONLY 
SORRY, NO COLTS 

(714) 594-5204 

FOR TECHNICAL INFO, ORDER INQUIRIES, 

OR FOR CALIFORNIA ORDERS 

Add $250 shipping per software order in continental U.S. Add $5.00 
shipping per software order lor AK. HI. FP0-AP0. Add $10.00 or 15% 
(whichever is greater) per software order lor non-U. S. Call lor cost of 
hardware shipping. Calif, residents add 6'/2% sales tax. Cashiers 
checks or money orders filled within 24 hours for items in stock. 
Personal checks require 4 weeks to clear. MasterCard and Visa OK for 
software only within continental U S. , add 3% surcharge. Include card 
no., expiration date and signature. Due to our low prices, all sales are 
final. All defective returns must have a return authorization number. 
Please call to obtain one before returning goods for replacement or 
repair. Prices & availability subject to change. 



MKTRfl 1620 

DISK DRIVE SYSTEM 

MORE FOR YOUR MONEY 

DOUBLE OR SINGLE DENSITY 

TWO DRIVES 

SPECIAL $469 




EPYX-AUTO. SIMULATION 

Rescue at Rigel (C/D) . $20 
Datestones/Ryn (C/D) $14 
Upr Rchs Apshai (C/D) $14 

Ricochet (C/D) $14 

Keys/Acheron (C/D) . . $14 

Curse of Ra (C/D) $14 

Danger/Drindisti (C/D) $14 

Jumpman(C/D) $27 

EscpVulcanslsle(D) .$20 
Crypt of Undead (D) . . $20 

Nightmare (D) $20 

Armor Assault (D) .... $27 
Monster Maze (R) ....$27 

Alien Garden (R) $27 

Plattermarna (R) $27 

Morloc's Tower (C) ... $14 

King Arthur's Heir 

(D)$20(C)$14 

Hellfire Warrior (C/D) . $27 
Invasion Orion (C/D) .. $17 
Temple of Aps. (C/D) .$27 

Star Warrior (C/D) $27 

Dragon's Eye (D) $20 

Crush Crumble (C/D) .$20 
QEBELLI 

Firebird (R) $27 

Embargo (R) $30 

Candy Factory (D) $20 

Match Racers (C/D) . . $20 

Dr. Goodcode(D) $20 

HAYDEN 

Go (D) $23 (C) $20 

Sargonll . . (D)$23(C)$20 
Bulldog Pinball(C) ... $20 
HES 

Coco (C/D) $34 

Coco II (C/D) $27 

INFOCOM 

Suspended (D) $34 

Zorkl, II or III (D) $27 

Starcross (D) $27 

Deadline (D) $34 

Witness (D) $34 

INHOME 

Baseball . . (R) $23 (D) $23 

Crypts of Terror 

(D) $23 (C) $20 

INNOVATIVE DESIGN 

Pool 1.5(D) $23 

Juggler (D) $20 

Speedway Blast 

(D) $20 (R) $27 

Pool 400 (R) . .... $27 

JV SOFTWARE 

Jrny to Pints (C/D) $20 

Action Quest (C/D) ... $20 

Ghost Encount. (C/D) . $20 

LJK 

Letter Perfect (D) ... $104 

Data Perfect (D) $74 

Letter Perfect (R) . . . $137 

Edit6502(R) $137 

MONARCH DATA SYS. 

ABC Compiler (D) $48 

ODESTA 

Chess (D) $45 

Checkers (D) $34 

Odin(D) $34 

OPTIMIZED SYSTEMS 

C-65 (D) $58 

Bug-65 (D) $23 

Max-65 (D) $58 

Basic A + (D) $58 

Action (D) $65 

Speed Read Plus (D) . . $40 

PHOENIX 

Birth of Phoenix (D) . . $16 

Adv. In Time (D) $20 

QUALITY 

Fastgammon (C) $14 

Name That Song 

(D)$13(C)$11 

Starbase Hyperion 

(D)$17(C)$14 

Ali Baba740 Thvs (D) .. $20 
Jeeper Creepers (D) . . $20 
ROKLAN 

Gorf (D) $27 (R) $30 

Wizard/Wor . (D)$27(R)$30 
Dlx Invaders JD)$23 (R)$27 
AntiSubPtrt (D)$20(C)$14 

Telecom (D) $49 

Space Journey (R) . . . $30 
SENTIENT 

Gold Rush (D) $23 

Cyborg (D) $23 

SIERRA ON-LINE 



Mission Asteroids (D) $17 
Ulys.&Gldn Fleece (D) $27 
Crossfire . . (D)$20(R)$23 



Mouseattack (D) $23 

Jawbreaker (D) $20 (R) $23 

Threshold (D) $27 

Softporn (D) $20 

Ultima II (D) $39 



SIERRA ON-LINE 

Marauder (D) $23 

Lunar Leeper(D) $20 

Wiz& Princess (D) ... $22 

Frogger(C/D) $23 

SIRIUS 

Alpha Shield (R) $27 

Wavy Navy (D) $23 

Bandits (D) $23 

Space Eggs (D) $20 

Sneakers (D) $20 

Way Out (D) $27 

Type Attack (D) $27 

Repton (D) $27 

Critical Mass (D) $27 

Fast Eddy (R) $23 

WormWar(R) $23 

SPINNAKER 

Snooper Troop 1.2(D) . $30 

Kindercomp (D) $20 

Rhymes & Riddles (D) $20 
Hey Diddle Diddle (D) . $20 
Srch Amzng Thngs (D) $27 
Story Machine (D) .... $23 

Face Maker (D) $23 

STRATEGIC SIM. 
Cosmic Balance JD) ..$27 
Cosmic Balance II (D) $27 
Tigers In Snow (C/D) . . $27 
Battle of Shiloh (C/D) . $27 
Battle of Norm. (C/D) . $27 
Cytron Masters (D) . . . $27 
Knights/Desert (C/D) . $27 
Combat Leader (C/D) .$27 
SUBLOGIC 

Pinball(C/D) $20 

SWIFTY 

J. White Music Lessons 

(C/D) $20 

Space Shuttle (D) $20 

SYNAPSE SOFTWARE 

File Mngr 800+ $65 

Protector II (D)$23(R)$29 
Shamus ... (D)$23(R)$29 
Fort Apocalypse (C/D) $23 

Shamus II (C/D) $23 

Necromancer (C/D) . . . $23 
Pharoh's Curse (C/D) .$23 

Slime (C/D) $23 

Page 6(D) $23 

Reptilian (C/D) $23 

Picnic Paranoia (C/D) . $23 
Claim Jumper (C/D) . . $23 

Drelbs (C/D) $23 

Shadow World (C/D) . . $23 

Survivor (C/D) $23 

T.N.T. (C/D) $23 

N.Y.C. (C/D) $23 

Slamball(C/D) $23 

Blue Max (C/D) $23 

Nautilus (C/D) $23 

Chicken (R/D) $23 

Quasimodo (C/D) $23 

River Quest (C/D) $23 

SYNERGISTIC 
ProgramrWkshp(D) . . $23 
Graph Workshop (D) . . $27 
Disk Workshop (D) ... $23 
Worlock's Revenge (D) $23 
THORN EMI 

Soccer (R) $34 

Jumbo Jet (R) $34 

Submarine Comm.(R) $34 

Kick Back (R) $34 

Pool (C) $22 

Humpty Dumpty(C) ..$22 
Hckry Dckry Dck (C) . . $22 

Darts(P) $22 

USA 

Atari World (D) $39 

3-DSprgrphcs(C/D) . . $27 

Survival Adv. (C/D) ... $17 

VERSA 

Mind Bgglrsl(D)$14(C)$12 

Globe Master (D) $20 

MISCELLANEOUS 
Financial Wizard (D) . . $41 
Castle Wolfenstein (D) $20 

Master Type (D) $27 

Astro Chase (D) $22 

Mlner2049er(R) $34 

Cypher Bowel (C) $33 

Bug Attack (C/D) $20 

Raster Blaster (6) $20 

Air Strike (C/D) $27 

Prism (D) $18 

Megalegs(C) $23 

Cap'n Cosmo (D) $19 

Spy's Demise (D) $14 

Galac. Chase (D)$20 (C)$18 

Kid Grid (C/D) $20 

Battle Trek (D) $20 

Snapper (D) $19 

T&F-PMP Property 

Management (D) .. $149 
Millionaire (D) $39 



PAGE 96 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



AN 
ALTERNATIVE KEYBOARD 

HANDLER 



16K Cassette or Disk 



by Stephen Howard 



Almost every type of software requires some form 
of keyboard input from the user to control how the 
program functions. BASIC, and to a lesser extent 
machine language (via the Central Input/Output 
routines) make this relatively easy to setup and 
process. However, there are two major problems 
with how the operating system handles input that 
can wreak havoc with the display. 

First of all, the input routine is so general, that it 
will accept anything. If the user presses 
SHIFT/CLEAR in response to an input request, the 
entire screen will be cleared. Similar problems can 
arise with the use of the SHIFT/INSERT and 
SHIFT/DELETE keys. There is no simple way to 
discriminate against all such destructive key presses, 
and still retain the powerful features of the screen 
editor. 

Secondly, there is the problem with display list 
interrupts. Whenever a key is pressed in response to 
an active request for input, the operating system's 
keyboard handler generates a click on the console 
speaker. The routine used to generate this click 
(located at $FCD8) uses a series of STA WSYNC 
instructions for accurate timing of the click 
frequency. This throws off the careful timing of a 
display list interrupt. The result: the scan line on 
which the display list interrupt is supposed to occur, 
jiggles back and forth. Unfortunatelyt, there is no 
memory location you can POKE or any other easy 
way to disable the click. 

The alternative. 

The only effective way to overcome both of these 
problems is to use a different keyboard handler. The 
one presented here incorporates the following 
features: 

1) A maximum of one physical line of input, 
starting from the cursor location at the time this 
routine is called, up to screen column 38 or the right 
margin setting, whichever is less. 



2) All input is treated as string data. All keys 
pressed with CTRL, except Cursor Left, Cursor 
Right, CTRL-INSERT and CTRL-DELETE are 
disabled. The CAPS, TAB, ESC, and INVERSE 
VIDEO keys are also disabled. Shift lock is in effect. 

3) The SHIFT/CLEAR and SHIFT/DELETE 
keys will clear the input line, but only up to the 
original starting column. Any text preceeding the 
input line will not be erased. 

4) The keyboard click routine does not employ 
any STA WSYNC instructions, and therefore does 
not interfere with display list interrupts. The routine 
may be omitted if no click is desired. 

5) The handler routine is written in relocatable 
machine language, and may be easily called from 
BASIC using the USR function. 

6) This handler does not replace the operating 
system's keyboard handler, and no entries are made 
in the Handler Address Table (HATABS), so the 
normal keyboard handler is always available if 
desired. 

Using the handler from machine language. 
Type in Listing 1 and assemble it with your main- 
line program. Subroutines to disable and re-enable 
the BREAK key are included at the end of the 
program, and should only be typed in if needed. If 
the keyboard click is not desired, simply omit lines 
1500-1580. If you want the original operating 
system's click, replace lines 1500 to 1580 with JSR 
$FCD8. To call the handler for input, do the 
following: 

1. Ensure that ROWCRS ($54) and COLCRS 
($55) are set to the appropriate row and column you 
want the input to start from. If you used the Central 
Input/Output (CIO) utility to print to the screen, 
these will already be set. 

2. Ensure that RMARGN ($53) is set to the 
desired right margin value. 

3. Do a JSR to the keyboard handler's starting 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 97 



address. The routine will return with the results of 
the input, followed by an End-of-Line ($9B), stored 
in LBUFF (starting at $580). The accumulator, X 
and Y registers will be altered by the handler during 
this process. 

Using the handler from BASIC. 

The handler used for BASIC is a modified version 
of the one used in machine language. The only 
difference is, the BASIC version returns the input 
result to a string variable. The Assembly language 
listing of this version appears in Listing 2. 

To use the handler from BASIC, type in Listing 3, 
lines 100 to 390. This sets up the handler for use via 
the USR function call. The rest of Listing 3 contains 
a test program and demonstrates how to use the 
handler, with its own click, no click, and the 
operating system's click routine by replacing a small 
portion of KEYBD$. Extra measures must be taken 
to use the handler in split screen modes, and an 
example of this is also included in the test program 
(see Precautions). 

DISBRK$ is a short machine language routine that 
disables the BREAK key. This is necessary because if 
the user presses the BREAK key during the input 
request, strange things start happening. ENBRK$ re- 
enables the BREAK key. 

To call the handler for a string input, the format is: 

X=USR (ADR CKEYBDSJ , ADR (S Y ar ) ) 
where svar is any legal string variable name which 
will contian the results of the input. Be sure that svar 
is dimensioned before calling the handler. Control 
will be returned to the program after an input has 
been received. To disable the BREAK key, use: 

X=U5R(ADR(DISBRK$)) 
This statement should appear betore the first call to 
the keyboard handler and is only necessary once, 
unless a new GRAPHICS statement is executed. See 
Precautions for more detail. To re-enable the 
BREAK key, use: 

X=USR(ADRCENBRKS>) 
Try running the full test program, which contains a 
simple display list interrupt. Note how the border 
between colors in the center of the screen flutters 
when the operating system's click routine is used. 

How it works. 

In discussing how any keyboard handler operates, 
it is necessary to be familiar with the three different 
types of code used to represent characters: 

Keycode — Used to represent which key has been 
pressed. In this code, if Bit 7 = 1, then the CTRL key 
is being pressed simultaneously with the key 
identified by the lower order bits. Similarly, if Bit 6 = 
1, then the SHIFT key is being pressed. 

Internal — Used to display a character on the 
screen. This is also the sequential number of the 
character in its character set. 

ATASCII — The ATARI version of the ASCII 
standard code representation for characters. 



The Alternative Keyboard Handler routine starts 
with some initial setup and then branches to a Get 
Character subroutine, where it waits for a key press 
by monitoring the Keyboard Code Operating 
System shadow — CH ($2FC). This register will 
contain the value 255 ($FF) if no key has been 
pressed. Once a key press is detected, a click is 
generated, and the key press is checked to see if the 
CTRL key is also being pressed. If this is the case, 
then it is checked to see if it is one of the allowed 
control character exceptions — CURSOR RIGHT, 
CURSOR LEFT, CTRL-INSERT, or CTRL- 
DELETE. If it is not an exception, no character is 
printed and the system goes back and waits for 
another key press. 

Next, the key press is checked against a table of 
undesirable key presses — CAPS, ESC, TAB, etc. If 
it is not one of these, it is converted to ATASCII, 
using a ROM-based table — ATASCI (located at 
$FEFE). If the key is an undesirable key press, then 
again, no character is printed and the system goes 
back and waits for another. The ATASCII letter is 
now checked to see if it is a letter between A and Z 
and, if so, it is changed to upper case. Before finally 
being printed, the character is tested one last time to 

(continued on page gg) 



DYNAMIC INNOVATIONS 



PRESENTS 



RAM JAMMER 



Now, you can develop and debug your own cartridge software safely. 
quickly and permanently with the DYNAMIC DUO! 

DYNAMIC DUPLICATOR —The DYNAMIC DUPLICATOR is a 
machine language program that permits you to examine and save any 
8K/16k, right or left hand cartridge to disk or cassette. 

RAM JAMMER — THE RAM JAMMER is a sophisticated elec- 
tronic circuit that is easily installed into your I6K./48K RAM module. 
In application, the RAM JAMMER allows you to develop and debug 
(by the DYNAMIC DUPLICATOR) internally-protected cartridges 
by converting RAM into switchable, volatile ROM. 

For proper execution, the RAM JAMMER and the DYNAMIC 
DUPLICATOR should be used together. Plus, your system must have 
48K. 

Go for it! Send S54.95 plus $2 shipping and handling. Money orders/bank 
checks accepted - VISA and Mastercard add 4%. Specify memory size, type, 
disk or cassette. We sell RAM board with pre-installed RAM JAMMER units. 
For disk back-up and custom formatting, call us for the best price on the 
"chip". 

Sound interesting? For more information and a complete price list, contact: 



W4 7t. 7>(«* 
Vtfit, %p 

TO*du«<}t**, 94 61571 
(309) 444-9557 



ULTIMATE MENU 

FOR BINARY LOADS 

• Speeds Binary Loads 

• Doesn't Need DOS 

• Saves 75 Sectors 

• Will Load Saved Cartridges 




Potential into practical reality. This is the 
core of DISKEY — a remarkable utility program 
that gives ATARI disk drive owners the flexibility 
to accomplish tasks that other utilities either 
ignored or only hinted at. With DISKEY, the user 
will be able to actually examine a disk and its 
directory, and repair some files that might 
otherwise have been lost. DISKEY also per- 
forms a multitude of other practical functions, 
including the following: 

• Automatically lists any unreadable or 
destroyed sectors 

• Sends contents of disk to printer selectively 

• Up to four separate drives may be addressed 

• Can be used to backup some of those "un- 
backupable" disks 

• Allows direct examination of any file 

• Over 50 separate key functions available 

As an ATARI 400 or 800 owner, you have ex- 
traordinary power and versatility at your 
disposal. Tap into those resources effectively 
with DISKEY — new from Adventure Interna- 
tional. 

ATARI 400/800 32K DISK 

052-0158 $49.95 

(Note: Some features will require 40K) 



SOME OF DISKEY KEY FUNCTIONS 

Clear screen and filename 

Byte compare, D1 to D2, OS to DS 

Copy sectors, OD to DD, OS to DS 

Toggle destination drive 

Erase disk (format) 

Select file sub-menu 

Set automatic function lower limit (OS) 

Modify Sector Map 

New destination sector 

Toggle originate drive 

Print screen to printer 

Query (search for hex key, drive OD, sector OS 

toDS) 

Read new OS, set DS to match 

Search for ASCII key, drive OD, sector OS to DS 

Tape to disk 

Upper case conversion of printer lower case 

Toggle write verify 

Write memory buffer to sector DS, drive DD 

Select EOR Sector Map screen print mask 

Zero memory buffer 

Read upward, next sector on disk 

Read downward 

Directory information 

Select directory sub-menu 

Byte compare, D1 to D2, whole disk 
cC Copy D1 to D2, whole disk 
cD Decimal to hex, ASCII conversion 
cE Erase disk (without new format) 
cF Modify sector forward sector chain reference 
cH Hex to decimal, ASCII conversion 
cL Locate bad sector on drive OD 
cN Modify sector file number reference 
cO Select one-drive functions sub-program 
cP Print current Disk Map 
cR RPM test drive OD 
cS Special file copy, no directory reference from 

source 
cV VTOC update and repair, drive OD 
cY Toggle Sure Response prompt enable 
FA File binary load address headers to printer 
FD Delete file 

FF Select filename for all file functions 
FL Lock file 

FM Show memory address load position in file 
FQ Relative Query 
FR Rename file 
FS Relative Search 



cB 



BASIC 

ROUTINES ' 4 
FOR THE ATARI 

Finally, a self-help system that cuts 
through the stuffy technical jargon and 
allows the user to learn effective 
programming techniques fast! BASIC 
ROUTINES FOR THE ATARI has been 
written especially for ATARI 400 or 800 
users who wish to write programs in 
BASIC. This package comes complete 
with an extensive manual and your 
choice of a tape or disk which contains 
all of the routines from the manual — 
which means you'll be able to actually 
see each of them in action on your 
ATARI. Some of the BASIC routines 
include joystick, sound, player missile 
strings and much more — and presented 
in a way that you'll quickly be able to 
learn and apply to your own programs. 

If your programming ability lies 
somewhere between beginning and 
advanced, then look no further — BASIC 
ROUTINES FOR THE ATARI is the 
system for you. 
BASIC ROUTINES book with 16K TAPE 

051-0154 $24.95 
BASIC ROUTINES book with 24K DISK 

052-0154 $24.95 



Published 
by 



© COPYRIGHT 1982 



(p]\K^Adventure 

N »_£ i^^^J^ INTERNATIONAL 



^^^J^ IN 

a subsidiary of Scott Adams, Inc. 
BOX 3435 • LONGWOOD, FL 32750 • (305) 830-8194 



To order, see your local dealer. If he does not have the 

program, then call 
1 (800) 327-7172 (orders only please) or write for our free 

catalog. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 99 



see if it is a special case — SHIFT/DELETE, 
SHIFT/CLEAR, CTRL-INSERT, CURSOR 
RIGHT, or RETURN. If the character is one of 
these, the handler executes a specialized routine. If 
not, it passes the character to CIO, which converts it 
to internal code and displays it in the proper place on 
the screen. Unless the key press was a RETURN, the 
routine goes back and waits for another key press. 
When RETURN is pressed, the contents of the 
screen input are copied to the input buffer and 
execution returns to where the handler was called 
from. The BASIC version returns the input to a 
string variable and updates the length of that string 
variable before returning. 

Precautions. 

Care should be taken not to use memory locations 
$74-$77 in either non-maskable interrupt (NMI) 
routines (display list interrupts and vertical blank 
interrupts) or interrupt requests (IRQ), or else 
unusual events may occur. The handler routine saves 
the contents of these memory locations before using 
them, and restores them after it's done, so they can 
be used at any other time. However, since NMIs and 
IRQs will interrupt the handler during its execution, 
those routines should not use these memory 
locations. 

On occasion, when a key is pressed and display list 
interrupts are being used, the screen may flash 
momentarily. This will happen when a keyboard 
IRQ, is still being processed at the time a vertical 
blank interrupt ( VBI) occurs. The 1st stage VBI does 
not include copying the playfield color shadow 
registers to their respective hardware registers. If an 
IRQ was in progress (as indicated by the I bit of the 
Processor Status register being set), the VBI will 
assume it interrupted "time critical" code, and will 
only execute stage 1 before returning. Thus, when 
the next screen is drawn, the colors before the DLI 
occurs will be wrong, and the screen will appear to 
flash. To correct this, write an immediate VBI 
routine to copy the appropriate shadow registers. 
Since an immediate VBI is executed before stage 1 of 
the operating system's VBI, this will eliminate any 
screen flashing problems. 

If CTRL-1 is pressed, subsequent key presses will 
not appear until CTRL-1 is pressed again. This will 
not disrupt the display or input in any other way and 
it is relatively unlikely that this key press would ever 
be entered anyway. 

More precautions. 

The following notes refer to the BASIC version of 
the handler only. 

SAVE the program before running it. One typo- 
graphical error in the machine language portions can 
result in a system crash and complete loss of 
everything you typed in. 

Memory locations $6EF-$6F2 (1775-1778) are 
used for temporary storage and may be used when 



the handler is not being used. The values stored 
there, however, are not saved and restored when the 
handler is called. Memory locations $6F3-$6FF 
(1779-1791) contain the tables of allowed control 
characters and undesirable key presses, and must not 
be tampered with at any time. 

Ensure that all string variables used for input with 
the handler are dimensioned as early in the program 
as possible. The handler routine will only search the 
Variable Value Table for the first 32 variables (string 
or numerical) defined in a program before giving up 
and assuming no match will be found. This will 
result in not updating the length of the string. 

Disabling the BREAK key is required every time a 
new GRAPHICS statement is executed. 

Using the alternative keyboard handler in split 
screen modes poses a particular problem, because 
the operating system uses a different set of memory 
locations for cursor and margin control. Lines 760 
to 980 of Listing 3 demonstrate a solution to this 
problem. A subroutine is used to swap the two sets 
of values. The memory location used by the 
operating system to determine if split screen is in 
effect (BOTSCR — $2BF) is then changed to 
fool the system into thinking that split screen mode 
is not being used. A value of 24 in this register means 
24 lines per screen (a full screen), and a value of 4 
means 4 lines per screen, or split screen mode. □ 



Listing 1. 

*XCfiRBXft56*Si?i8RRB # fi)SRBtlR": 



SITS 

f 120 

0130 

• 140 
0130 
0160 
0170 
0180 
0190 

• 200 

• 210 
•220 

• 230 
•240 
02S0 
0260 

• 270 

• 280 
0290 
0300 
0310 
0320 
0330 
0340 
0330 
0340 
0370 
0380 
0390 
0400 
041* 

• 42* 
0430 
044* 
0430 
046* 
0470 
0480 
•490 
0300 
0310 
•S20 
•330 
0340 
•330 
•360 
0370 
0380 
0390 
06*0 
0610 
•620 
•630 
•640 
•630 
0660 
0670 
0680 
0690 
0700 
0710 
0720 
0730 
0740 



LMARBN - *32 
RMARBN m 033 
COLCR8 - »33 
OLDCHR - »30 
OLDADR - »3E 
MEM3T - »74 
HAXLEN - »76 
CLKCTR - »77 
CR8INH - S02F0 



CH - 
PUTCH - 
ICCOM ■ 
ICBLL - 
ICBLH ■ 
CIOV » 
LBUFF « 
C0N80L 
INTATA 
ATA8CI 

I 



•02FC 

•0B 
*0342 

• 0348 
»0349 
0E436 
•0380 

■ »D01F 

■ »FEFA 

■ »FEFE 

• 3000 



I Text caluii) left ««rgln 

I Tint column right margin valua 

I Caluan position of cunor 

I Character undar cursor raatora 

I Memory addran of cursor 

t Maaory addraaa Mhin Input itirte 

I Maximum line length 

I Click routine counter 

I Cursor display inhibit 

I Keyboard character code 

I CIO command for PUT CHARACTERS 

I CIO coaaand byte 

I CIO buffer length lion) 

I CIO buffer length (high) 

I CIO entry point 

I Input result buffer 

I Console switch port 

I Internal code to ATA8CII table 

I Keycoda to ATASCIt table 



KEYED LDX 03 

KYB0 LDA MEHBT.X 
PHA 
DEX 

BPL KYB0 
LDA RMARBN 
PHA 

CMP t«27 
BEO NOINC 
INC RMARBN 



I Save »74 - »77 

I Save RMARBN 

I If RMAR8N - 39, don't Increment It 

I Add 1 to RMARBN so cursor can 



NOINC LDA LMARBN 
PHA 

LDA CR8INH 
PHA 

LDA COLCRS I 

8TA LMARBN I 

LDA RMARBN 
CLC | 

SBC LMARBN I 

8TA MAXLEN I 

LDA OLDADR+1 

8TA MEM8T-H I 

LDA OLDADR 

8TA MEM3T 

LDA 00 

8TA CRBINH 

8TA ICBLL 

STA ICBLH 

LDA 0PUTCH 

8TA ICCOM 

BPL BTCHXF 

KYB1 CMP **9C 

BEO CLRLIN 

CMP »«7D 

BEB CLRLIN 

CMP 0»FF 

BEQ CTLIN8 

CMP »»1F 

BEB CR3RT 

CMP t*9B 



temporarily no there 
I Save LMARBN 

I Save CR8INH 

I Bet LMARBN to current 
I cursor location 

• Bubtract (LMARBN+l) to 
I compute and save maximum line 
I length for use aa an Index 
I Save starting memory 
address of input 



I Ensure cursor on 



Bat up CIO to PUT CHARACTERS 
using single byte paased 
through the accumulator mode 

Bet an ATASCII character Input 

Shi-f t/delete? 

Shift/clear? 
Insert character? 
Curaor right? 
If EBL, exit 



PAGE 100 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



•73 a 

•76* 
•77* 
•78* 

• 79* 

08*0 
0B10 
082* 
0830 
0840 

•as* 

0860 
•87« 
•88* 
089* 
0900 
091* 
•92* 

• 73* 
■ 94* 
•93* 
•96* 
•970 

• 98* 
•99« 

1000 
1010 

1*2* 

1*30 
104* 

laa* 

106* 
1(70 
108* 
109« 

lit* 

ii2a 

1130 
114* 
113* 
116* 
117* 
118* 
119* 
1200 
121* 
122* 
123* 
1240 
1230 
126* 
127* 
128( 
129* 
13C0 
131* 
132* 
1330 
1340 
13S0 
1360 
1370 
1380 
139* 
140* 
141* 
142* 
143* 
144* 
1430 
146* 
147* 
1480 
1490 
1300 
1310 
1320 
1330 
1340 
139* 
136* 
137* 
1380 
1390 
1600 
161* 
162* 
163* 
164* 
163* 
1660 
1670 
1680 
1690 
1700 
1710 
1720 
1730 
1740 
1730 
1760 
177* 
178* 
179* 
18** 
1810 
1820 
183* 
184* 
IBS* 
186* 
1B70 
1880 
1890 
19*0 
1910 
1920 
1930 
1940 
1930 
1960 
1970 
1980 
1990 
2000 
2*1* 
2*2* 
2*3* 
2*4* 
2030 
2060 
2*7* 
2*8* 
2*9* 
210* 
2110 



BEO EXIT 
KYB2 LDX •• 

JSR CIOV 

LDA RHARBN 

CMP C0LCR8 

BNE BETCH 

LDA a* IE 

BPL KYB2 
CLRLIN LDY MAXLEN 

LDA •• 
CL1 8TA (MEMBT1.Y | Clear Una on icriin 



I 1QCB lndax - • (Scrim adltor) 

f Put character on acraen 

I If cursor position is bayond right 

I aargln, aova cursor laft 

I Otherwise, get anothar character 

I ATA8CII cursor laft 



Listing 2. 



■ 

I JHP KYB2 



DEY 
BPL CL1 
STA OLDCHR 
LDA RHARBN 
8TA C0LCR8 
LDA »»1F 
BPL KYB2 



I Claar OLDCHR, or CIO Hill raatora 



it whan cursor is aovad 
Raaat cursor to beginning by 
setting curaor at right edge. 



itg c 
trng 



rfg 



_ curaor right 
CTLIN8 LDY MAXLEN I la there a character 
LDA (HEH8T),Y I at the right aargln? 
BNE BETCH i Yes, than don't do this 



LDA 0SFF 
BHI KYB2 
CR8RT LDX •• 
J8R CIOV 
LDA COLCRB 
CMP RHARBN 
BNE BETCH 
LDA #»1F 
BPL CRBRT 



No, do CTRL-INSERT 
I Do cursor right 



I Did curaor and up 

I past right aargln? 

I No, so get anothar character 

I Yes, then rasat cursor by doing 

I an additional cursor riant 

8TCHXF BPL 8ETCH 1 JHP 8ETCH (transfer) 

EXIT LDY HAXLEN i Bet characters froa scraan 
EX1 LDA (HEHBT),Y 

I Save it teaporarlly 

I Convert froa internal to ATABCII 



PHA 
ROL A 
ROL A 
ROL A 
ROL A 
AND #3 
TAX 
PLA 

AND »»9F 
ORA INTATA.X 
AND #»7F 
8TA LBUFF.Y 
DEY 
BPL EX1 
LDY HAXLEN 
EX2 LDA LBUFF.Y 
CHP *S2* 
8EQ EX3 
LDA *»9B | 
8TA LBUFF-M.Y 
BHI RETURN I 



I Hask off bit 7 in casa cursor h«i 
I on top and store in buffer 



I Put carriage 

I after first non-blank 



character encountered froa 
the right 



. JHP RETURN 
KYB1XF BCB KYBl I JHP KYBl (transfer) 
EX3 DEY 



BPL EX2 
RETURN PLA 

STA CR8INH 

PLA 

STA LHARSN 

PLA 

STA RHARBN 

LDX •• 
RT1 PLA 

STA HEHST.X 

INX 

CPX »4 

BNE RT1 

RT8 
BETCH LDA CH 

CHP **PF 

BEO 6ETCH 

LDX »*FF 

8TX CH 
CLICK LDY 0S7F 

8TY CLKCTR 
CK1 LDY CLKCTR 

STY C0N80L 

LDX ta 
DELAY DEX 

BPL DELAY 

DEC CLKCTR 

BPL CK1 

CHP (t»B0 

BCC 82 

LDX *3 



I Restore CR8INH 
f Restore LHARBN 



I Restore RMARGN 



I Restore *74 



I All done, return 



I Ke 
I No 



y pressed? 
Keep trying 



I No, keep tryl 
I Yei, clear CH 

I Keyboard click routine 



I Turn apaaker on/off 

I This nuaber directly controla 

I the click frequency 

I Halt a while 

I Then do it again 

I Only do it 12s tlaes 

I CTRL preaaad? 

I No, then branch 

Check for exceptions to 'No 



LDX #3 | Check for exceptlo 
81 CHP TABLE, X l control characters 



BEG 82 

DEX 

BPL Bl 

BHI BETCH 

LDX »8 

CHP TABLE1,X I that ara not allotted 



I Branch if allowed exception 

. Not allowed, ao gat another 
I Check for other characters 



BEQ BETCH 

DEX 

BPL B3 

TAX I 

LDA AT ABC I, X 

CHP 0*61 

BCC 84 

CHP »*7B 

BC8 84 

SEC 

SBC »»2* 

SEC 

BCB KYB1XF 



No good, go get another 

Allowed, ao get ATASCII equivalent 

I If lta a lower case letter 
I sake it an upper case 



I All done, return 

IControl character exceptions: cursor LEFT, 
■CURSOR RIGHT, CTRL-INSERT, CTRL-DELETE 
TABLE .BYTE »66, »B7 , SB4 , »B7 

iNon-control character undesirables: 

I TAB , 8HF/TAB, ESC, 8HF/E8C, ATARI , 8HF/ATARI 

I 8HF7 INS, CAPS, BHF/CAPS 

TABLE1 .BYTE *2C, S6C, SIC, *3C, *27, S67, 077, *3C, *7C 

I D18ABLE BREAK KEY Subroutine 
I 



P0KH8K - Si* 
IRBEN - SD2*E 
DISBRK SEI 

LDA P0KH8K 

AND »S7F 

STA P0KH8K 

STA IRBEN 

CLI 

RTB 

I ENABLE BREAK KEY Subroutine 

I 

ENBRK SEI 

LDA POKHSK 

ORA »»B* 

STA POKHSK 

STA IRBEN 

CLI 

RTB 



I Pokey Haak (IRBEN shadow) 

I IRB Enable 

I Disable IROs while aeesing with IRBEN 

I Haak off BREAK key IRB bit 

I Stare back in shadow 

I Btora in hardware register 

I Re-enable IRBa 



01*0 
011* 

• 12* 

• 13* 
014* 

• 13* 
016* 

• 17* 
018* 
0190 
02*0 
•21* 
022* 
023* 
•24* 

• 23* 
026* 
•27* 
028* 
029* 

• 3*0 
0310 
•32* 
•33* 
•34* 
•33* 
•36* 
•37* 
•38* 
0390 
0400 
*41* 
•42* 
•43* 
•44* 
•49* 
046* 
•47* 
•48* 
0490 
0300 

• 310 
•32* 
•S3* 
•34* 
•39* 
•96* 
•37* 
0380 
•39* 
0600 
•61* 
•62* 
•63* 
■64* 
•63* 
•66* 
•67* 
068* 
•69* 
0700 
0710 
0720 
0730 
0740 
0730 
0760 
0770 
0780 
0790 
0800 
081* 
•82* 
•830 
0840 
0830 
0860 

• 87* 
•88* 
•89* 
0900 
•91* 
092* 
•93* 
•94* 

• 99* 
096* 
•97* 
•98* 
•99* 
100* 
101* 
1*2* 
1*3* 
1040 
1*9* 
1060 
1070 
1080 
1*9* 
11** 
111* 
112* 
113* 
114* 
119* 
116* 
117* 
118* 
119* 
1200 
121* 
122* 
123* 
124* 
129* 
126* 
127* 
128* 
129* 
13** 
131* 
132* 
133* 
134* 
139* 
136* 
137* 
1380 
1390 
14*0 
141* 
142* 



I • ALTERNATIVE KEYBOARD HANDLER a 
I • (Basic Version) a 

I ••••••#a»»»aa»»#aa »•»•»• »e»«»eee*e 



OFFST - S06EF 
TEHP - »»6F1 
TABLE " S06F3 
TABLE1 - S06F7 
LMAR8N - *92 
RHARBN - »93 
COLCRB - 099 
OLDCHR - (3D 
OLDADR - *SE 
HEMBT - »74 
STBVAR - HEHST 
HAXLEN - S76 
CLKCTR » »77 
VVTP - »86 
STARP • »8C 
CR8INH - »«2F* 



CH - »«2FC 
LBUFF - *«sa« 
PUTCH - »«B 
ICCOH - *«342 
ICBLL - S0348 
ICBLH - **349 
CIOV - SE436 
CONSOL - »D*1F 
INTATA « SFEFA 
ATASCI - SFEFE 

•- S3*** 

PLA 

PLA 

STA TEHP+1 

PLA 

8TA TEHP 

SEC 

SBC STARP 

STA 0FF8T 

LDA TEHP+l 

SBC STARP+1 

STA OFFST+1 
KEYBD LDX #3 
KYB« LDA HEHST.X I Save 074 

PHA 

DEX 

BPL KYB* 

LDA RHARBN 

PHA 

CHP »39 

BEQ HOINC 

INC RHARBN 



utfset froa string/ 
Teaporary storageCzJ 
Table of allowed CTR 



String/Array araaC21 
-C23 
CTRL characters!^: 
Table of Ignored key preaaaeCB] 
Text coluan left aargln 
Text coluan right aargln value 
Coluan position of cursor 
Character under curaor restore 
Haaory addraas of cursorC23 
Haaory address where input startaC23 
String variable addraaaT.23 
Maxlaua Una length 
Click routine counter 
Variable Value Table Pointer 
String/Array area Pointer 
Curaor display inhibit flag 
Keyboard char coda 
Input return buffer 
CIO coaaand for PUT CHARACTERS 
CIO coaaand byte 
CIO buffer length (low) 
CIO buffer length (high) 
CIO entry point 
Console switch port 
internal code to ATASCII table 
Kaycode to ATASCII table 

Discard 

String variable addraas (high byta) 

Save ft 



String variable address (low byte) 
Save ft 

Coapute address's offset 
froa the string/array pointer 
and aava it for later 



I Save RHARBN 

I If RHARBN - 39, 



don't Increaent it 



NOINC LDA LHARBN I Bava LHARBN 
PHA 

I Save CRSINH 



Add 1 to RHAR8N so cursor can 
teaporarlly go thara 



Sat LHARBN to currant 
curaor location 



I Subtract (LHARBN+1) to 

I 

I 



I Ensure curaor on 

I Sat up CIO to PUT CHARACTERS 

I ualng single byte paaaed 

I through the accuaulator aoda 

1 

i 



Bat an ATASCII character Input 
Shift/delete? 



I Shift/clear? 

I Inaart character? 

I Curaor right? 

I If EOL, exit 

I IOCB lndax - • (Scraan editor) 

I Put character on acraen 

I If curaor position is bayond right 

I aargln, aova curaor laft 

I Otherwise, get another character 

I ATA8CII curaor left 

I JHP KYB2 



LDA CR8INH 

PHA 

LDA COLCRB 

STA LHARBN 

LDA RHARBN 

CLC 

SBC LHARBN | coaputa and aava aaxiaua line 

STA HAXLEN I length for uaa aa an lndax 

LDA OLDADR+1 l Bava starting aaaory 

STA HEHST+1 I address of input 

LDA OLDADR 

STA HEHST 

LDA •• 

STA CRSINH 

STA ICBLL 

STA ICBLH 

LDA SPUTCH 

BTA ICCOH 

BNE 8TCHXF 
KYBl CHP **9C 

BEQ CLRLIN 

CHP 007D 

BEB CLRLIN 

CHP OFF 

BEB CTLIN8 

CHP 0S1F 

BEB CRSRT 

CHP 009B 

BEB EXIT 
KYB2 LDX 00 

JSR CIOV 

LDA RHARBN 

CHP COLCRB 

BNE BTCHXF 

LDA 0S1E 

BPL KYB2 
CLRLIN LDY HAXLEN 

LDA •• 
CLI STA (HEHST), Y i Claar line on acraen 

DsTY 

BPL CLI 

STA OLDCHR 

LDA RHARBN 

8TA COLCRS 

LDA #»1F 

BPL KYB2 
CTLINS LDY HAXLEN 

LDA (HEH8T>,Y 

BNE BTCHXF 

LDA 0SFF 

BHI KYB2 
CRBRT LDX •• 

JSR CIOV 

LDA COLCRS 

CHP RHARSN 

BHE BTCHXF 

LDA tSIF 

BPL CRBRT 
EXIT LDY HAXLEN I 
EX1 LDA (HEHST) 

PHA 

ROL A 

ROL A 

ROL A 

ROL A 

AND *3 

TAX 

PLA 

AND 0S9F 

ORA INTATA.X 

AND **7F l Haak off bit 7 In casa curaor waa 

STA LBUFF.Y I on top and atora in buffer 

BPL EX1 

BHI COPY 
KYB1T1 BC8 KYBl I JHP KYBl 
BTCHXF BNE BETCH I JHP BETCH 
COPY LDA TEHP I Hove string variable address 



Claar OLDCHR, or CIO will raatora 
it whan curaor la aovad 



I Rasat cursor to beginning by 



setting cursor at right edge, then 
executing a cursor right 
I Is there a character 
I at the right aargln? 



I Y 
I No 



than don't do this 
do CTRL-INSERT 



I Do curaor right 

I Did curaor and up 
I past right aargln? 
f No, ao get anothar character 
I Yea, than raaat curaor by doing 
I an additional curaor right 
I Bat characters froa screen 
,Y 
I Save it teaporarlly 
I Convert froa internal to ATASCII 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 101 



143* 
144* 
1430 
146* 
1470 
1480 
1490 
1300 
1310 
132* 
133* 
1340 
133* 
ISA* 
137* 

isac 

1390 
1600 
1610 
1620 
1630 
1640 
1630 
1660 
1670 
1680 
1690 
1700 
1710 
1720 
1730 
1740 
1730 
1760 
1770 
1780 
1790 
1800 
1810 
1820 
1830 
1840 
1830 
I860 
1870 
1880 
1890 
1900 
1910 
1920 
1930 
1940 
1930 
1960 
1970 
1980 
1990 
2000 
2010 
2020 
2030 
2040 
2030 
2060 
2070 
2080 
2090 
2100 
2110 
2120 
2130 
2140 
2130 
2160 
2170 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2230 
2260 
2270 
2280 
2290 
2300 
2310 
2320 
2330 
2340 
2330 
2360 
2370 
2380 
2390 
2400 
2410 
2420 
2430 



8TA BT8VAR 
LDA TEHP*1 
8TA STBVAR+l 
LDY MAXLEN 



I f ram tMporary ftarigc 
I to page zfra for copy 



EX2 LDA LBUFF.Y I Copy LBUFF to string varlibli 

8TA <8T8vAr>,Y 

DEY 

BPL EX2 

LDY MAXLEN 
EX3 LDA LBUFF.Y 

CMP t*20 

BNE EX4 

DEY 

BPL EX3 
EX4 INY 

TYA 

PHA 

LDX 00 

LDY 00 I track of this string's current langth 
EX3 LDA CVVTP>,Y I Table antry 1 - »8I7 



I Bet length of string Input 



■ Save It 

I Find location Mhars BA81C keeps 



BPL EX6 

INY 

INY 

LDA (VVTP>, 

CMP 0FF8T 

BNE EX6 

INY 



■ No, branch - not a string variable 



Y I Tabls antry 3 - low byts of 
I string's addr«ss(by 3TARP offsat>7 
I No. branch - this Isn't It 
I Yas, this Is probably It, but check 

LDA (VVTPI.Y l high byts to be sura 

CMP OFFST-fl 

BNE EX6 I No aatch, lucky wa chackad - branch 

INY I A aatch! Just as mi suspactad 

PLA | Ratrlava string Input langth 

BTA (VVTPI.Y I and stora it v 

BPL RETURN I Contlnua with axlt routlna 

I Bat up to chock naxt varlabla 
I in Varlabla Valua Tabla 

ASL A 

A8L A 

A8L A 

TAY 

BNE EXS 

PLA 
I val u 
RETURN PLA 

8TA CR8INH 

PLA 

8TA LMARBN 

PLA 

8TA RMARBN 

LDX •* 
RT1 PLA 

BTA MEH8T.X 

INX 

CPX 04 

BNE RT1 

RT8 | All dona, 

KYB1T2 BC8 KYB1T1 I JHP KYB1 
8ETCH LDA CH 



EX6 INX 
TXA 



I Multiply varlabla nuabar by 8 

I to gat Index <8 antrlas par varlabla) 

.;. av 
I Sat up as index and try again 
I Unconditional (essentially) 
I Navar found a aatch, ao discard langth 
and axlt - this should nmvmr happen 
I Rastoro CR8INH 

I Rastora LMARBN 

I Rastora RMARBN 



I Rastora *74 - S77 



All dona, raturn 



CMP »»FF 

BED 8ETCH 

LDX »«FF 

STX CH 
CLICK LDY *»7F 

STY CLKCTR 
CK1 LDY CLKCTR 

BTY CONSOL 

LDX 18 
DELAY DEX 

BPL DELAY 

DEC CLKCTR 

BPL CK1 

CMP a»80 

BCC 82 

LDX 03 

CMP TABLE. 

BED 82 

DEX 

BPL 81 

BMI 8ETCH 

LDX 08 



Kay pra 
No, kee 



! 
! Y 



ressad? 
aap tryln 
claar CH 



ai 



I Kayboard click routlna 

I Turn speaker on/off 

I This nuabar directly controls 

I tha click frequency 

I Wait a while 

I Than do It again 

I Only do it 128 tlaas 

I CTRL pressed? 

t No, then branch 

I Check far exceptions to 'No 

I control characters' 

1 Branch If allowed exception 



I Not allowed, so gat another 
I Check for other characters 

CMP TABLE1,X I that are not allowed 

BEQ 8ETCH I No good, go got another 

DEX 

BPL 83 

TAX I Allowed, so gat ATASCII equivalent 

LDA ATASCI.X 

If its a lower case letter 



CMP t»61 

BCC 84 

CMP 0«7B 

BC8 84 

SEC 

SBC 0*20 

SEC 

BCS KYB1T2 



I 

f sake i t an upper case 



t All done, return 



1 

iControl character except 

ICUR80R RI8HT, CTRL-INSERT, CTRL-DELETE 

i 

INon-control character undesirables: 

I T AB, 3HF /T AB , ESC, SHF /ESC , ATARI , BHF/ ATARI 

I8HF/IN8,CAPS,3HF/CAPS 



Listing 3. 

100 OTM KEVBD$<367) ,DTSBRK$fl3) ,ENBRK$ 

(13) , A$f35) 

lie FOB T=0 TO 12: READ BVTF: POKE 1779 + 

I,BVTE:NEXT T 

120 FOR 1=1 TO 13: READ BVTF ; 0ISBRK5 (T) 

=CHR$(BYTE) :NFXT T 

130 FOR T=l TO 13: READ BVTF : ENBRKS CD = 

CHRSfBVTFJ ;NEXT I 

140 FOR 1=1 TO 367:REA0 BVTF : KEYBDS (I) 

=CHR$(BYTE) :NEXT T 

150 REM # I egal control characters 

168 DATA 134,135,180,183 

170 REM * Illegal keycodes 

180 DATA 44,108,28,92,39,103,119,68,1? 

4 

190 REM * DISBRKS DATA 



200 DATA 104,120,165,16,41,127,133,16, 

141,14,210,88,96 

210 REM * ENBRKS DATA 

220 DATA 104,120,165,16,9,128,133,16,1 

41,14,210,88,96 

230 REM # KEYBDS DATA 

248 !> fl IS I 84 ' l 84 '"!' 242 ' 6,104,141, 241 

,6,56,229,140,141,239,6,173,242,6,229, 

141,141,240,6,162 

? 5 So D SI fl 3 » 181, 116,72,282,16, 250,165, 8 

3,72,201,39,240,2,230,83,165,82,72,173 

,240,2,72,165 

268 DATA 85,133,82,165,83,24,229,82,13 

3,118,165,95,133,117,165,94,133,116,16 

9,0,141,240,2,141 

270 DATA 72,3,141,73,3,169,11,141,66,3 

,208,109,201,156,240,31,201,125,240,27 

,201,255,240,42 

???, S ft I5 201,31,240, 48, 281, 155, 240, 59, 

162,0,32,86,228,165,83,197,85,288,78,1 

69, 38, 16,241, 164 

??? Z% J< }A l %i. lB *t. % ' 145 ' 116,136,16,251, 
133,93,165,83,133,85,169,31,16,222,164 
,118,177,116,208,49 

388 Data 169,255,48,212,162,0,32,86,22 

8 J 165 ' 85 'i 97 , 83, 208, 34, 169, 31, 16, 241,1 

64,118,177,116,72 

li 8 5 0Tft 42 ' 42 - 42.42, 41, 3, 170, 104, 41,1 

59,29,250,254,41,127,153,128,5,136,16, 

232, 48, 4, 176 

32 ,2 5°I° 1*7,288,98,173,241,6,133,116, 

l 7 ^! 4 ?*!?'^ 3 *!! 7 .! 64 ' 1 ! 8 '! 85 I 28 5 '1 4 
5,116,136,16,248,164 

330 DATA 118,185,128,5,281,32,208,3,13 

S'J£ ' 246 , 200, 152, 72, 162, 0,160, 8, 177, 13 

4,16,23,208,200 

340 DATA 177,134,205,239,6,208,14,200, 

177,134,205,240,6,208,6,200,104,145,13 

4,16,9,232,138,10 

350 Data 10,10,168,208,221,104,104,141 

'I 48 '?! 184 ,133, 82, 184, 133, 83, 162, 6, 104 
,149, 116, 232, 224, 4 

?S? S£J fl 28 8,248,96,I76,154,173,252,2, 

281' 2 55, 240, 249, 162, 255, 142, 252 2,160 

127,132,119,164,119,140 

370 DATA 31,208,162,8,202,16,253,198,1 

If'"' 242, 201, 128, 144, 12, 162, 3, 221, 243 

,6,240,5,202,16 

2 8 2„S A I5 248,48,218,162,8,221,247,6,24 

0,203,202,16,248,170,189,254,254,201,9 

7,144,7,281,123,176 

390 DATA 3,56,233,32,56,176,188 

400 REM 

410 REM * START OF DEMO PROGRAM 

420 REM 

430 GRAPHICS 0:SETC0L0R 1 , 12, : SETC01 

R 2,12,10:SETC0!.0R 4,7,4 

440 DLIST=PEEK f 560} +256*PEEK (561) 

i^S SE!?- Find The display List 

460 POKE DLIST+16,130 

470 REM Set Display List interrupt bit 

on »ode line halfway down the screen 
488 FOR 1=0 TO 10: READ BVTE:P0KE 1536+ 
I,BYTE:NEXT I 

490 REM Poke in DLI routine 
500 DATA 72,169,244,141,10,212,141,24, 
208,184,64 

510 REM Ossettbly Language equivalent: 
528 REM PHA ; Saue 
530 REM LDA tt$F4 ; Brown 
540 REM STA W5YHC j Wait for synch 
550 REM STA C0LPF2 ; Then store it 
560 REM PLA ; Restore 
578 REM RTI ; Return 
580 POKE 512,0:P0KE 513,6 
590 REM Display List Interrupt routine 

starts at S600 
600 POKE 54286,192 
610 REM Enable DLI 
620 PRIMT "+4TEST INPUT? "; 
630 X=USR (ADR (DISBRKS)) 
640 REM Disable BREAK key before first 

handler call 
658 X=USR (ADR (KEYBDS), ADR (AS)) 
660 PRINT :PRINT "VOU TYPED : *';AS 
670 PRINT "4NOW, no C 1 ick « " :PRINT "TES 
T INPUT? "} 



PAGE 102 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



688 KEYBDS 1386, 323) ="| 

B" 

698 X=U3RCADRCKEYBD$),ADRCA$)) 
788 PRINT .'PRINT "YOU TYPED : ";A$ 
718 PRINT "*Now with the Operating Sys 
ten click:": PRINT "TEST INPUT? "{ 
728 KEYBDS C386, 323 J -' 

738 X=U3R CADR CKE YBDSi , ADR I AS) ) 

7*8 PRINT : PRINT "YOU TYPED : ";AS 

758 FOR 1=1 TO 588: NEXT I 

768 DIN TC12) 

778 R0MCRS=84 : TXTR0H=656 : B0TSCR=783 

788 GRAPHICS 8: COLOR l:PLOT 38,188:DRA 

MTO 388,38 

798 PRINT "TEST INPUT? ";:60SUB 878 

888 X=U3RCADRCDISBRKS)) 

818 rem Disable BREAK key after every 

GRAPHICS statewent 

828 X=USR f ADR CKEYBDS) , ADR CAS) ) 

838 GOSUB 948 

848 PRINT .'PRINT "YOU TYPED :";AS 

858 X=USR(ADRCENBRK$)):END 

868 REM Re-enable BREAK key before end 

ing 

878 F8R 1=8 TO 11 

888 TCI+l)=PEEKIROHCRS+I) :POKE R0HCR3+ 

I,PEEKCTXTROH+I) '.NEXT I 

898 REM Copy split screen values to co 

rresponding full screen value location 

s 

988 POKE B0TSCR,24 

918 REM This fools the Operating Syste 
h into thinking this is a normal 



928 REM Graphics 8 display vice split 

screen display 

938 RETURN 

948 FOR 1=8 TO 11 

958 REM Restore things back to normal 

968 POKE ROHCRS+I.TCI+1) :NEXT I: POKE B 

0T5CR,4 

978 RETURN 

988 END 



CHECKSUM DATA 

(see p. 70) 

188 DATA 937,617,176,415,244,275,839,5 

16,338,75,778,761,588,767,611,7921 

258 DATA 111,713,525,436,888,677,258,9 

77,583,683,798,245,515,777,782,8632 

488 DATA 88,515,86,934,217,957,897,834 

,622,585,167,985,648,257,588,8124 

558 DATA 351,338,125,314,477,331,988,6 

68,148,974,989,782,984,238,921,8364 

788 DATA 686,415,774,985,698,529,819,9 

38,217,564,135,328,984,4,514,8422 

858 DATA 667,921,146,645,521,588,115,7 

17,686,139,962,245,618,66,6888 



(see chart on opposite page.) 



ATTENTION 

ATARI 400™/800™ OWNERS 


If you know what you want 


WHY PAY MORE? 




SOFTWARE LIST 


SALE 


BLUE MAX (D/T) $35 


$22.50 


BUG ATTACK (D/T) 30 


22.50 


CANYON CLIMBER (D7T) 25 


16.95 


CHOPLIFTER (D) 35 


22.50 


CRUSH, CRUMBLE, CHOMP (D/T) 30 


19.75 


CYBORG (D) 35 


22.50 


DARK CRYSTAL (D) 40 


25.25 


DEFENDER (CART) 45 


31.95 


DIG DUG (CART) 45 


31.95 


DISKEY (D) 50 


34.00 


EDIT 6502 (CART) 179 


140.50 


FROGGER (CART) 50 


34.50 


FROGGER (D/T) 35 


22.50 


LETTER PERFECT (D) 149 


94.95 


MINER 2049er (CART) 50 


31.75 


POOYAN (D/T) 30 


20.50 


SAGA ADV. #1. 2, or 3 40 


25.25 ea. 


SEA DRAGON (D/T) 35 


22.50 


SEAFOX (CART) 40 


25.50 


SNOOPER TROOPS #1 or 2 (T) 45 


29.95 ea. 


40 COL LETTER PERFECT (CART) 199 


149.00 


80 COL LETTER PERFECT (CART) 199 


149.00 


ZAXXON (D/T) 40 


25.50 


ZORK I, II, or III (D) 40 


25.50 ea. 


PRINTERS 




GEMINI 10X (120cp») 399 


310.00 


GEMINI 15 599 


46a 00 


OXIDATA ML-S2A 549 


385.00 


OXIDATA ML-92 699 


4BO00 


PROWRITER 2-1550 P 995 


650.00 


GORLILLA BANANA 249 


199.00 


Call/Send For FREE Catalog - Over 600 Items 


MULTI VIDEO SERVICES 




PO BOX 246 




E. AMHERST, N.Y. 14051 




Phone: (716) 688-0469 (open eve. til 9 pm 




CHECK/M.O./or specify COD (add $2.00) 
Add $2.50 shipping (3% on hardware) 
NY res. add 7% sales tax 









f XI C S1AK1 LENGTH 



1IREIM/IIE; 


7 








JUMPER 


N 


B63 


H4;>4 


P04B 


it NUMBER 


R 


SI4A 


1 8492 


D23E 


DELETE 


[) 


El 7 2 


0714 


ciciFjn 


HEX TO [)FC 


r: 


ei/e: 


EI7A5 


noEis: 


)FC TCI mx 


X 


eiei;' 


F1EI19 


0073 


MOVE EL 11 CK 


M 


o?:' 


: oofs 


00ED 


DISC DIR. 


A 


SI77 


, EI95E 


110 7? 


NEXT ADE1RS S 


n = F!9[>FI 


BYTfiS LEF1 


= 141 



INTRODUCING THE 

A prom® 

A NEW DATA STORAGE SYSTEM 
• 1 6K Rytes for the 48K 800 • 

• General purpose Eprom Programmer that 
runs stored programs at ROM speed 

• Boots own OS to work with the Basic or 
Assembler Cartridge 

• Aprom/OS commands include Directory, 
Store, Execute and Block Switch 

• Executes any stored routine with two key 
command 

• Aprom can be transparent or active entirely 
under program control 

Send money order or check to: 




* £l>rom 



u,. ***** bv 



m ^^mmsm» 




Programs either 2764 or 27128 at 8K Bytes 

per minute 

Aprom with operating software disc or 

cassette (specify), instruction book and 

Textool ZIF socket $99.50 

. Full 48K Byte Utility Cartridge $44.95 

organized as 6-8K Blocks switchable by a 

single software instruction 
■ Utility Cartridge for one 2764 $24.95 

expandable to Full Utility with 

Expansion Kit and Instruction Book . . $19.95 
i 2764 Eprom (8K Bytes) $10.00 



Plus $2.50 shipping & handling 
Arizona residents add 6% tax 



Makers of ApfOm. 



7755 E. Evans . Ste. 400 . Scottsdale, AZ 85260 A New Data Storage System 

(602) 998-7550 Eprom & Utility Programs shown are for illustration only and are not included 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 103 



ALTERNATIVE KEYBOARD HANDLER 

Table 1 





KEYCODE 


INTERNAL 


ATASCII 




KEYCODE 


INTERNAL 


ATASCII 


LETTER 


HEX 


DEC 


HEX 


DEC 


HEX 


DEC 


LETTER 


HEX 


DEC 


HEX 


DEC 


HEX 


DEC 


SPACE 


21 


33 


00 





20 


32 


P 


4A 


74 


30 


48 


50 


80 


! 


5F 


95 


01 


1 


21 


33 


Q 


6F 


111 


31 


49 


51 


81 


tl 


5E 


94 


02 


2 


22 


34 


R 


68 


104 


32 


50 


52 


82 


# 


5A 


90 


03 


3 


23 


35 


S 


7E 


126 


33 


51 


53 


83 


$. 


58 


88 


04 


4 


24 


36 


T 


6D 


109 


34 


52 


54 


84 


% 


5D 


93 


05 


5 


25 


37 


U 


4B 


75 


35 


53 


55 


85 


& 


5B 


91 


06 


6 


26 


38 


V 


50 


80 


36 


54 


56 


86 


i 


73 


115 


07 


7 


27 


39 


w 


6E 


110 


37 


55 


57 


87 


( 


70 


112 


08 


8 


28 


40 


X 


56 


86 


38 


56 


58 


88 


) 


72 


114 


09 


9 


29 


41 


Y 


6B 


107 


39 


57 


59 


89 


* 


07 


7 


0A 


10 


2A 


42 


z 


57 


87 


3A 


58 


5A 


90 


+ 


06 


6 


OB 


11 


2B 


43 


[ 


60 


96 


3B 


59 


5B 


91 


t 


20 


32 


OC 


12 


2C 


44 


/ 


46 


70 


3C 


60 


5C 


92 


- 


0E 


14 


OD 


13 


2D 


45 


] 


62 


98 


3D 


61 


5D 


93 




22 


34 


OE 


14 


2E 


46 


> 


47 


71 


3E 


62 


5E 


94 


1 


26 


38 


OF 


15 


2F 


47 




4E 


78 


3F 


63 


5F 


95 





32 


50 


10 


16 


30 


48 


a 


3F 


63 


61 


97 


61 


97 


1 


1F 


31 


11 


17 


31 


49 


b 


15 


21 


62 


98 


62 


98 


2 


1E 


30 


12 


18 


32 


50 


c 


12 


18 


63 


99 


63 


99 


3 


1A 


26 


13 


19 


33 


51 


d 


3A 


58 


64 


100 


64 


100 


4 


18 


24 


14 


20 


34 


52 


e 


2A 


42 


65 


101 


65 


101 


5 


1D 


29 


15 


21 


35 


53 


f 


38 


56 


66 


102 


66 


102 


6 


1B 


27 


16 


22 


36 


54 


g 


3D 


61 


67 


103 


67 


103 


7 


33 


51 


17 


23 


37 


55 


h 


39 


57 


68 


104 


68 


104 


8 


35 


53 


18 


24 


38 


56 


i 


OD 


13 


69 


105 


69 


105 


9 


30 


48 


19 


25 


39 


57 


J 


01 


1 


6A 


106 


6A 


106 




42 


66 


1A 


26 


3A 


58 


k 


05 


5 


6B 


107 


6B 


107 


; 


02 


2 


1B 


27 


3B 


59 


I 


00 





6C 


108 


6C 


108 


< 


36 


54 


1C 


28 


3C 


60 


m 


25 


37 


6D 


109 


6D 


109 


= 


OF 


15 


1D 


29 


3D 


61 


n 


23 


35 


6E 


110 


6E 


110 


> 


37 


55 


1E 


30 


3E 


62 





08 


8 


6F 


111 


6F 


111 


? 


66 


102 


1F 


31 


3F 


63 


P 


OA 


10 


70 


112 


70 


112 


@ 


75 


117 


20 


32 


40 


64 


q 


2F 


47 


71 


113 


71 


113 


A 


7F 


127 


21 


33 


41 


65 


r 


28 


40 


72 


114 


72 


114 


B 


55 


85 


22 


34 


42 


66 


s 


3E 


62 


73 


115 


73 


115 


C 


52 


82 


23 


35 


43 


67 


t 


2D 


45 


74 


116 


74 


116 


D 


7A 


122 


24 


36 


44 


68 


u 


OB 


11 


75 


117 


75 


117 


E 


6A 


106 


25 


37 


45 


69 


V 


10 


16 


76 


118 


76 


118 


F 


78 


120 


26 


38 


46 


70 


w 


2E 


46 


77 


119 


77 


119 


G 


7D 


125 


27 


39 


47 


71 


X 


16 


22 


78 


120 


78 


120 


H 


79 


121 


28 


40 


48 


72 


y 


2B 


43 


79 


121 


79 


121 


I 


4D 


77 


29 


41 


49 


73 


z 


17 


23 


7A 


122 


7A 


122 


J 


41 


65 


2A 


42 


4A 


74 


RET 


OC 


12 


— 


— 


9B 


155 


K 


45 


69 


2B 


43 


4B 


75 


CAPS 


3C 


60 


— 


— 


. — 





L 


40 


64 


2C 


44 


4C 


76 


BACKSP 


34 


52 


7E 


126 


7E 


126 


M 


65 


101 


2D 


45 


4D 


77 


ESC 


1C 


28 


5B 


91 


1B 


27 


N 


63 


99 


2E 


46 


4E 


78 


TAB 


2C 


44 


7F 


127 


7F 


127 





48 


72 


2F 


47 


4F 


79 


ATARI 


27 


39 


— 


— 


_ _ 






PAGE 104 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



FINE SCROLLING 
PART III 



16K Cassette or Disk 



by Kyle Peacock 



Hello, and welcome to the third of a four-part 
series on fine scrolling. Hopefully you've been keep- 
ing up with my previous installments and are well on 
your way to mastering the art of horizontal fine 
scrolling. Now we'll turn the tables slightly, and 
focus our attention on vertical scrolling. 

Last issue, we arranged our screen RAM to look 
something like this: 



Screen arrangement. 

The dotted lines represent pages of screen memory. 
The box represents the television screen. Each dot- 
ted line is being displayed through the use of a Load 
Memory Scan (LMS) instruction. By incrementing 
or decrementing the horizontal scroll register 
HSCROL (location: 54276, $D404 hex) and incre- 
menting or decrementing the address operands on 
the LMS instructions, we got horizontal scrolling. 
Partial examination of a display list incorporating 
horizontal scrolling reveals the following: 

Explanation 

Blank 8 Scan Lines 
Blank 8 Scan Lines 
Blank 8 Scan Lines 
LMS Gr.O w/horizontal scroll 
Lo-byte of Screen RAM 
Hi-byte of Screen RAM 
LMS Gr.O w/horizontal scroll 
Lo-byte of Screen RAM 
Hi-byte of Screen RAM 
LMS Gr.O w/horizontal scroll 
Lo-byte of screen RAM 
Hi-byte of screen RAM 

list follows) 



ANTIC Instruction 


Decimal 


Hex 


112 


$70 


112 


$70 


112 


$70 


82 


$52 


Lo-Ptr 1 


$Lo-Ptr 1 


Hi-Ptr 1 


$Hi-Ptr 1 


82 


$52 


Lo-Ptr 2 


$Lo-Ptr 2 


Hi-Ptr 2 


$Hi-Ptr 2 


82 


$52 


Lo-Ptr 3 


$Lo-Ptr 3 


Hi-Ptr 3 


$Hi-Ptr 3 


(remainder 


of display 



Pay particular attention to the three lo/hi byte ad- 
dress operands on the LMS instructions. I'll explain 
why they're so valuable a little later. 

Vertical scroll bits (and pieces). 

As you now know, the hardware register HSCROL 
controls horizontal scrolling. So it only makes sense 
that Atari would install another register to control 
vertical scrolling. This register is entitled VSCROL 
(location 54277, $D405 hex). Upon changing this 
hardware register, any line of text (or bit mapped 
graphics) with its vertical scroll bit set will smooth 
scroll up or down. To enable (turn on) the vertical 
scroll bit of a display list instruction, all you do is add 
32 ($20 hex) to that instruction. Let's take a look at 
what I mean. 

Explanation 

Display 1 Gr.O line of text 
Add on to set vertical scroll bit 

New ANTIC Instruction 

Gr.O LMS Instruction 
Lo-byte of screen RAM address 
Hi-byte of screen RAM address 
Add on to set vertical scroll bit 

New ANTIC Instruction 
Lo-byte of screen RAM address 
Hi-byte of screen RAM address 

Note that only the opcode was changed, not the lo 
and hi bytes pointing to the screen RAM. 

Here's a short BASIC program that sets the 
vertical scroll bit on the first three lines of a 
graphics mode zero screen, and smoothly scrolls 
the text on these lines. 

Listing 1. 

188 REM *HHBHHHHHHBHHHHHHHHBHHHHHHaHHt 
118 REM * VERTICAL SCROLLING DEMO * 
128 REM * LISTING ttl * 

138 REM * BY KYLE S. PEACOCK * 



ANTIC Instruction 


Decimal 


Hex 


02 


$02 


+32 


+$20 


34 


$22 


66 


$42 


XX 


$XX 


yy 


$YY 


+32 


+$20 


98 


$62 


XX 


$XX 


yy 


$YY 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 105 



148 

158 

168 

178 

188 

198 

LL" 

288 

218 

228 

238 

248 

258 

268 

278 

288 

298 

388 

318 

328 

338 

348 

358 

368 

378 

388 

398 

488 

418 

428 

438 

448 

458 

468 



REM * ANALOG COMPUTING ttl5 # 

REM XMMXXXXXXXXXXXXXXXXXXXXXXXXXX 

REM 

GRAPHICS 8 

FOR X=l TO 3 

? "THIS IS A TEST OF VERTICAL SCRO 

NEXT X 
REM 

REM FIND THE DISPLAY LIST 

REM 

DLIST=PEEK (561)*256+PEEK C568J 
BITirPEEK CDLIST+3) 
BIT2=PEEK CDLIST+6J 
BIT3=PEEK CDLI5T+7J 

DFM 

REM NOM ADD 32 CHEX: $28) TO 

REM DISPLAY LIST INSTRUCTIONS 

REM 

POKE DLIST+3,BITl+32 

POKE DLIST+6,BIT2+32 

POKE DLI5T+7,BIT3+32 

REN 

REM VERTICAL SCROLL 

REM 

FOR X=8 TO 7 

POKE 54277, X 

FOR T=8 TO 58: NEXT T 

NEXT X 

GOTO 388 

REM 

REM TO REVERSE DIRECTION OF 

REM SCROLLING CHANGE LINE 298 

REM TO: FOR X=7 TO STEP -1 



CHECKSUM DATA 
(see p. 70) 

188 DATA 778,989,868,486,620,793,92,90 

8,328,551,768,79,395,85,209,7922 

258 DATA 141,158,157,188,253,353,81,31 

6,326,332,93,769,99,329,365,3864 

488 DATA 145,767,723,89,769,967,453,39 

14 



Several things become apparent when looking at 
the display generated by Listing 1. First, the gra- 
phics mode screen has only 23 rows instead of the 
normal 24. This is due to the hardware arrangement 
of the computer. If, for example, a display list is 
designed to display 70 lines of bit-mapped graphics 
with vertical scroll bits enabled, ANTIC will only 
display 69. The 70th line is used as a vertical scroll 
'buffer.' This one-line buffer will be scrolled into the 
screen area as the first line with its vertical scroll bit 
enabled is scrolled off. Notice how the cursor gradu- 
ally scrolls into view as the program cycles through 
VSCROL. What is happening is that the cursor 
resides on that one line buffer, thus making it 'glide' 
into view. 

You may also notice how the text on the screen 
smooth scrolls for a while, then 'jumps' back to its 
original position and repeats again. Let's think about 
what ANTIC is doing. By changing the value of 
VSCROL from zero all the way to seven, we shift the 
text upward. When VSCROL has a value of 0, the 
character in row one is positioned directly over the 



character in row two, the character in row two is 
positioned directly over the character in row three, 
and so on. When VSCROL finally gets a value of 7, 
the characters in row two are very nearly where the 
characters in row one used to be, the characters in 
row three are close to where the characters in row 2 
used to be, etc. When VSCROL goes back to 
again, the characters resume their normal positions. 
To achieve true vertical scrolling, we must reset 
VSCROL back to zero AND adjust the LMS address 
operands in the display list. 

Gee Kyle, I've been keeping up with you since Issue 13, 
but that last paragraph looked like TRSSo control char- 
acters. How about an illustration? Sure! 



LO/HI LMS PNTRS 



2^ LINE 2 OF TEXT 



LO/HI LMS PNTRS 3 LINE 3 OF TEXT 

vscrol = 



LO/HI LMS PNTRS 2 



LO/HI LMS PNTRS 3. 



L I NE 2 or text 

► LINE 3 OF TEXT 



vscrol = 7 



LO/HI LMS PNTRS 2 



fe LINE 2 OF TEXT 



LO/H, LMS PNTRSJS^ L | NE 3 Qf 



vscrol = 
Note how the LMS operands were shifted upward when 
'vscrol' changes from 7 back to 0. 

You can see from the above illustration that the 
more lines with vertical scroll bits enabled, the more 
operands we have to shift and the more we bog down 
the processor. You may also notice some occasional 
screen flicker while the program smooth-scrolls the 
text. This is due to the way ANTIC generates its 
display and the way BASIC executes a program. If we 
try to change the operands on our LMS instructions 
while ANTIC is refreshing the screen, the screen 
flickers. This problem is a little more difficult to 
solve and requires some assembly language pro- 
gramming. Let's save this problem for next issue's 
final installment, "Fine Scrolling Part IV: Taking the 
Plunge." 

Wondering why Listing 1 only used a scrolling 
range of to 7? The value stored in VSCROL tells 
ANTIC how many TV scan lines to scroll upward. 
Graphics mode characters are only 8 scan lines 
high. That's why I restricted the scroll to no more 
than seven units. The following table lists the most 
common ANTIC graphics modes and their asso- 
ciated VSCROL ranges. 



PAGE 106 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



Graphics Mode 



1 

2 

3 

4 

5 

6 
6+ 

7 
7+ 

8 



VSCROL Range 

0-7 

0-7 

0-15 

0-7 

0-3 

0-3 

0-1 
* 

0-1 



100 


REM 


110 


REN 


126 


REN 


130 


REN 


148 


REN 


150 


REN 


160 


REN 


178 


REN 


180 


REN 


190 


DIN 



*Do not change VSCROL, simply update all LMS operands. 

Listing 2 demonstrates the fine vertical scrolling 
capabilities of the Atari computer. □ 



Listing 2. 

XXKXKXKKKKXXMMMKKMKXXKKXKXKXK 
« VERTICAL SCROLL DEN0 * 

* LISTING t»2 * 

* BY KYLE S. PEACOCK * 

* ANALOG COMPUTING ttl5 * 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

- CLEAR OUT MESSAGE SPACE 

NESSS C25J : ? "^INITIALIZING 



200 FOR X=0 TO 255: POKE 6*256+X , : NEXT 

X:P0KE 712,64 
210 REN 

220 REN - READ WHERE IN MEMORY 
230 REN - MESSAGE GOES, ADD ON FOR 
240 REN - COLOR, * NESSAGE,THEN 
250 REN - INSTALL INTO NENORY 
260 REN 

270 FOR X=l TO 8 
280 READ WHERE, PLUS, MESSS 
290 FOR Y=l TO LEN CMESSSJ -2 
300 POKE MHERE+Y-l,ASC(MESS$fY+l,Y+UJ 
-32+PLUS 

310 NEKT Y:NEKT X 
320 REN 

330 REN - NOW READ & INSTALL 
340 REN - CUSTONIZED DISPLAY LIST 
350 REN 
360 TRAP 400 
378 READ DLIST 

380 POKE 6*256+185+ADD, DLIST 
390 ADD=ADD+l:GOTO 370 
400 REN 

410 REN - NOW TELL ANTIC WHERE TO 
420 REN - FIND OUR NEW DISPLAY LIST 
430 REN 

440 POKE 560,185:POKE 561,6 
450 REN 

460 REN - CHANGE VALUE OF 'VSCROL' 
470 REN 

480 FOR X=0 TO 7 
490 REN 
5O0 REN 
510 REN 
520 REN 

530 FOR Y=0 TO 50: NEXT Y:NEXT X 
540 REN 
550 REN 
560 REM 
570 REN 
580 REN 
598 REN 
600 REN 
610 REM 
620 REM 
630 REN 
640 REM 



POKE 54277, X 



LOOP VALUE OF "Y" DICTATES 
SPEED OF VERTICAL SCROLL 



NOW SHIFT LMS OPERANDS 

NOTE HOW ONLY THE LOW BYTE 
OPERA NDS WERE C HANGED. IN 
THIS jyilMMIIf-l;; CASE, WE 
DON'T NEED TO CHANGE THE 
HIGH BYTE OPERANDS ISINCE 
ALL THE MESSAGES RESIDE ON 
PAGE SIX. . .) 



NO! WE CAN'T GET RID OF 
THAT NASTY GLITCH! ! ! ! ! ! 



650 REN 

660 REN 

670 REN 

680 POKE 54277,0 

690 H0LD=PEEKC6*256+185+17J 

700 FOR 5HIFT=17 TO 29 STEP 3 

710 POKE 6*256+185+SHIFT,PEEKC6*256+18 

5+SHIFT+3J 

720 NEXT SHIFT 

730 POKE 6*256+185+32, HOLD 

740 GOTO 460 

750 REN 

768 REN - MESSAGES 

770 REN 

780 DATA 1536,64 

790 DATA " A.N.A.L.O.G, 

800 DATA 1556,64 

810 DATA " NAGAZINE 

820 DATA 1576,192 

830 DATA "WE ARE GOING MONTHLY' 

840 DATA 1596,192 

850 DATA " THIS ISSUE 

860 DATA 1616,0 

870 DATA " SEE YOU IN 30 DAYS 

880 DATA 1636,0 

890 DATA " WHEN WE 

900 DATA 1656,128 

910 DATA " TAKE THE PLUNGE! 

920 DATA 1676,64 

930 DATA " ISSUE »15 

940 REN 

950 REN - DISPLAY LIST 

960 REN 

970 DATA 112,112,112,112 

980 DATA 70,0,6,112,112 

990 DATA 70,20,6,112,112,112,112 

1080 REN 

1810 REN - VERTICAL SCROLL B IT IS NOW 

1820 REM - SET. CHANGING OF 203331 

1030 REM - WILL NOW SMOOTH SCROLL THE 

1840 REM - FOLLOWING LINES OF TEXT. 

1850 REN 

I860 DATA 182,48,6 

1876 DATA 182,68,6 

1880 DATA 182,88,6 

1896 DATA 182,166,6 

1188 DATA 182,126,6 

1110 REM 

1120 REM - VERTICAL SCROLL BIT IS NO 

1130 REN - LONGER SET. THE NEXT LINE 

1140 REM - DISPLAYED WILL ACT AS OUR 

1158 REM - ONE LINE SCROLL 'BUFFER.' 

1160 REM 

1170 DATA 70,160,6 

1180 DATA 112,112,112,112,112,112,112 

1190 DATA 70,140,6 

1200 DATA 65,185,6 



CHECKSUM DATA 

(see p. 70) 



10O DATA 778,803,896,486,620,793,92,45 

3,98,55,709,79,232,741,326,7161 

250 DATA 66,94,329,790,604,31,523,84,8 

36,694,93,718,70,776,80,5788 

400 DATA 80,492,764,89,370,95,619,101, 

674,107,969,911,88,376,94,582$ 

550 DATA 369,100,44,896,377,700,658,88 

7,29,96,96,173,105,288,364,5182 

788 DATA 545,989,137,180,731,181,588,1 

07,225,606,205,576,58,325,66,5431 

850 DATA 718,957,128,965,559,59,10,218 

,495,102,334,108,812,606,491,6562 

1880 DATA 275,137,283,289,772,280,138, 

141 , 144 , 403 , 401 , 279 , 812 , 774 , 927 , 5975 

1150 DATA 701,284,165,137,165,175,1627 



Two for the ATARI* from 



BRAffl Inc. 





by Mike Edwards 




The exciting newarcade hit that features scrolling 3D graphics, on-line instructions, one or two player cooperative, seven 
different dungeons, 74 different screens, high score save to disk, full sound and color, zombies, poisonous snakes, giant 
spiders, evil orbs, scrolls, talismans, magic spells, lost crowns and spectacular underground scenery. 48K tape and disk. 
$34.95 






L^yjuji^! 




e ready tor me most cnaiienging arcaae space-war game, you 

perienced arcaders. EP-CYG-4 features 3 missions, 130 screens*, Tartillian attack fighters, Crui 
landscapes, seascapes, Gravitron drive ships, Lyso-blast weapons, advanced joy stick controls, one or two player 
cooperative. 

"I'd recommend EP-CYG-4 to any gamer who is looking for new concepts and challenges in his or her gaming life." D. 
Duberman, December, 1982 ANTIC 

32.95; tape 16K $29.95; 2 missions, 70 screei 



'ATARI is a trademark of ATARI, INC 
» Copyright 1983 BRflfTI Inc. 




BRflffl Inc. 
18779 Kenlake Place N.E. Seattle, Washington 98155 (206)486-8428 



We just made 

owning an Atari computer 

a lot more logical. 





Introducing the Rana 1000 disk drive. Its a whole new game for Atari computers. 




This two digit LED readout 
displays a code that tells you 
everything you need to know. 



This beeping button tells you 
your write protect feature is 
keeping your information safe. 



When Rana Systems introduced the Elite 
Series of Apple® compatible disk drives, we didn't 
know what a tremendous impact they would make. 
It turned out to be a line so outstanding in perfor- 
mance, styling, capacity, and price, that it instan- 
taneously made us a major force in the market. 
Well, needless to say, the response was so great 
that we were forced to create the same highly ad- 
vanced disk drive for Atari® A disk drive that when 
coupled with Atari's computer, could perform 
everything from accounting, financial planning, 
and stock charting, to word processing, business 
management, and letting you write your own pro- 
grams. Plus, we made it simple enough for a child 
to use, for learning anything from the alphabet to 
a foreign language. 

Working with a diskette 
versus playing with a cassette. 

Let's face it. The only reason Atari made a 
cassette option to their computer was to make it 
affordable. But now you don't have to settle for less. 
Because now you can get a diskette for your Atari 
computer which outperforms their cassette and 
costs V3 less than their disk drive. With Atari's cas- 
sette you only get half the functions of a com- 
puter compared to what our floppy disk can give 
you. Their cassette is not only limited in the soft- 
ware available, but it also takes 20 times longer to 
get the information you need. And Rana's disk 



The remaining buttons beep 
when touched, and provide 
readouts on density storage, 
error status, and drive number. 



This button beeps when you 
touch it, and the LED readout 
tells you what track you're on. 



drive offers twice the storage capacity of either 
their cassette or disk drive. 

Why even stylewise our new low profile design 
not only looks 100 times more spectacular, but it 
occupies 3 times less space. And our new Rana 
1000 also gives you a piece of its mind every time 
you use it, because our disk drive gives you informa- 
tion as well as takes it. And we think that says a lot. 

The disk drive 
that has all the answers. 

Rana offers you a myriad of features Atari 
couldn't even conceive of. Like five electronic func- 
tions on the front panel that actually beep and give 
you a LED readout when touched. Our disk drive 
tells you what track you're on, and what density 
and how much information you're storing. It lets 
you switch from a single density of 90,000 letters to 
a double density of 180,000 letters, on a single 
diskette. And, we have a write protect feature which 
protects your diskette from being erased. In fact, 
no other disk drive can offer you that. 

As you can see, it was easy to build a disk 
drive superior to Atari's. Because for every reason 
you buy a disk drive, Rana has superior technology. 

The Rana 1000 disk drive. It brings your Atari 
computer to a higher level of sophistication for a 
price one third lower than Atari's. So your choice 
shouldn't even be a matter of logic. 

Just common sense. 



RanaSystems 



Always a step ahead. 




21300 Superior Street, Chatsworth, CA 91311 213-709-5484. For dealer information call 
toll free: 1-800-421-2207. In California only call: 1-800-262-1221. Source Number: TCT-654 



» Apple is a registered trademark of Apple Computer, Inc. ©Atari is a registered trademark of Atari. Inc., a Warner Communications Company. See us at Ihe West Coast Computer Show. Circle 44 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 111 



BRICKLAYER'S 
NIGHTMARE 



16K Cassette or Disk 



by Gordon Robson 




Bricklayer's Nightmare is a machine-language 
action game that turns your TV screen into a con- 
struction site, and you into a blue-collar hero. Your 
job is to move a wall of bricks from the middle of the 
screen to the right edge, one brick at a time. Your 
efforts Will be constantly hampered by a pack of 
bloodthirsty neighborhood dogs, who Will chase you 
around for a chance to sink a tooth into your leg. 

45 points are awarded every, timea brick is moved 
one position to the right. When you finish moving 
an entire wall of bricks, another will appear along 
with an even more relentless pack of mutts. The 
game has seven levels of difficulty; should you 
manage to complete all of them, the most difficult 
level will repeat. 



Your construction worker is moved around the 
screen with joystick #1; Each brick must be "pulled" 
across the screen with the worker's electromagnetic 
attraction field. The procedure for moving a brick is 
as follows: 

a; Position the worker to within touching 

distance of the right side of a brick; 

b. Push the red fire button to activate the 
. attraction field; 

c. Move the joystick to the right while 
holding down the fire button. The brick will 
follow the worker across the screen. 
Bricks can ortly be moved from left to right, so be 

careful! 

Your bricklayer begins the game with three lives. 
You will lose a life if one of the dogs touches you. An 
extra life is earned for every 10,000 points, up to a 
maximum of four. If all lives are lost and the "GAME 
OVER" prompt appears, the game can be restarted 
by pushing the fire button. 





Take Charge: 

as a military commander . . . 
or as a big league baseball manager 



PANZER WAR ™ 

Your own ingenuity and strategic know-how will de- 
termine the victor in this unique and exciting war game! It's 
the ultimate in tactical challenge, filled with fast-paced 
arcade action. 

Set on the Eastern Front during WWII, it's a game that 
pits crack German Panzers against a strong and deter- 
mined Russian Tank Cavalry. You choose from seven 
scenarios and four battle configurations . . . four difficulty 
levels. It's a tough assignment and situations can change 
rapidly. One or two players. For ATARI 400/800 and 
600XL/800XL with 32K and Joystick. Disk/No. 7402S/ 
$29.95 or Cassette/No. 7401S/$24.95. 





WINDCREST SOFTWARE Inc. 

P.O. Box 120 

Blue Ridge Summit, PA 17214 



Order by mail, or Call Toll Free: 800-233-1 128 
(In PA, HI, AK, call direct: 717-794-2191). 



BASEBALL'S BEST ™ 

You're the manager . . . it's up to you to choose the 
teams and lineups, to call plays and make those critical 
decisions that can win or lose a ballgame! 

Select pre-chosen teams, create your own teams, 
draft players from a file including the greats from Babe 
Ruth's era to present day superstars . . . even add your own 
players to see how they match up with the pros. 

Packed with high resolution graphic animation, 
Baseball's Besf™ is new and different every time you play! 
Bursting with pitching, hitting, and base running options, it 
demands quick thinking and real baseball savvy. Two 
players. For ATARI 400/800 and 600XL/800XL with 32K 
and joystick. Disk/No. 7403S/$29.95. 

-_ ^ 

/ ^ WINDCREST SOFTWARE Inc. 
+/J4444J-JS P.O. Box 120 Blue Ridge Summit, PA 17214 

ALL SOFTWARE ORDERS MUST BE PREPAID 
(Publisher pays postage/handling) 

Please send the following ATARI software: 

No. 7402S at $29.95 No. 7401 Sat $24.95 No. 7403S at $29.95 

Check enclosed for $ Charge my VISA MasterCard 

Account No. Expires 

Signature 

Name 

Address . 

City/State/Zip 



Pa. add 6% sales tax. Foreign customers must pay in advance in U.S. currency. ALOG-14 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 113 



(continued from p. in) 

Typing the program. 

Before typing anything into your computer, let's 
look at the program listings included with this article 
and see what they do. 

Listing 1 is the main data and data checking 
routine. This BASIC program is used to create 
both the disk and cassette versions of Brick- 
layer's Nightmare. The DATA statements are 
listed in hexadecimal format (base 16) so that 
the program will fit in a 16K cassette system. 
Listing 2 must be added to Listing 1 if you 
are using a 410 or 1010 program recorder. 

Listing 3 must be added to Listing 1 if you 
are using a disk drive. 

Listing 4 is the assembly-language source 
code for Bricklayer's Nightmare. You do 
NOT have to type in this listing to play the 
game! It is provided for those readers interested 
in seeing how the program works. 
Follow the instructions below to make either a 
cassette or disk version of Bricklayer's 
Nightmare. 

Cassette instructions. 

1. Type Listing linto your computer using 
the BASIC cartridge, and verify your typing 
with C:CHECK (see page 70). 

2. With Listing 1 still in the computer, care- 
fully type in Listing 2. The program lines will 
automatically merge together with Listing 1. 
It's a good idea to CSAVE the entire program at 
this point. 

3. Type RUN and press RETURN. The 
program will begin checking the DATA 
statements, printing the line number of each 
statement as it goes. It will alert you if it finds 
any problems. Fix incorrect lines and re-RUN 
the program if necessary until all errors are 
eliminated. 

4. When all DATA lines are correct, the 
computer will beep twice and prompt you to 
"READY CASSETTE AND PRESS 
RETURN." Insert a blank cassette in your 
recorder, press the RECORD and PLAY 
buttons simultaneously and hit RETURN. The 
message "WRITING FILE" will appear and the 
program will create a machine-language boot 
tape version of Bricklayer's Nightmare, 
printing each DATA line number as it goes. 
When the READY prompt appears, the game is 
recorded and ready to play. CSAVE the BASIC 
program onto a separate tape before continuing. 

5. To play the game, rewind the tape created 
by the BASIC program to the beginning. Turn 
your computer OFF and remove all cartridges. 
Press the PLAY button on your recorder and 
turn ON your computer while holding down 
the START key. The computer will "beep" 



once. Hit the RETURN key and Bricklayer's 

Nightmare will load and run automatically. 

Disk instructions. 

1 . Type Listing 1 into your computer using 
the BASIC cartridge, and verify your typing 
with D:CHECK2 (see page 70). 

2. With Listing 1 still in the computer, 
carefully type in Listing 3. The program lines 
will automatically merge together with Listing 
1. It's a good idea to SAVE the entire BASIC 
program at this point. 

3. Type RUN and press RETURN. The 
program will begin checking the DATA 
statements, printing the line number of each 
statement as it goes. It will alert you if it finds 
any problems. Fix incorrect lines and re-RUN 
the program if necessary until all errors are 
eliminated. 

4. When all DATA lines are correct, you will 
be prompted to "INSERT DISK WITH DOS, 
PRESS RETURN." Put a disk containing DOS 
2. OS into drive #1 and press RETURN. The 
message "WRITING FILE" will appear and the 
program will create an AUTORUN.SYS file on 
the disk, displaying each DATA line number as 
it goes. When the READY prompt appears, the 
game is ready to play. Be sure the BASIC 
program is SAVEd before continuing. 

5 . To play the game, insert the disk containing 
the AUTORUN.SYS file into drive #1. Turn 
your computer OFF, remove all cartridges and 
turn the computer back ON. Bricklayer's 
Nightmare will load and run automatically. □ 



Listing 1. 

1 REM *** BRICKLAYER'S NIGHTMARE *** 

10 DATA 6,1,2,3,4,5,6,7,8,9,0,8,0,8,8, 

8,8,18,11,12,13,14,15 

20 DIM DAT$C91J,HEXC22) :F0R X=0 TO 22: 

READ N:HEXCX)=N:HEXT X : LINE = 990 : RESTOR 

E 1688: TRAP 68:? "CHECKING DATA" 

25 LINE=LINE+16:? "LINE :"; LINE : READ DA 

T$:IF LENCDATSJO90 THEN 118 

28 DATLIN=PEEK(183J+PEEKtl84J*256:IF D 

ATLINOLINE THEN ? "LINE "JLINE;" MI55 

ING!":END 

38 FOR X=l TO 89 STEP 2 : D1=A5C £DAT$ (X, 

XJ J -48 : D2=ASC CD ATS tX + 1 , X+1J 3 -48 : BYTE=H 

EX(Dli*16+HEXCD2J 

35 IF PAS5=2 THEN PUT tti, BYTE:NEXT X:R 

EAD CHK5UM:G0T0 25 

48 T0TAL=T0TAL+BYTE:IF T0TAL>999 THEN 

TOTAL=TOTAL-1088 

45 NEXT X:READ CHKSUM:IF T0TAL=CHKSUM 

THEN 25 

50 GOTO 118 

66 IF PEEK(195J<>6 THEN 116 

186 ? "WRITING FILE":PASS=2:LINE=996:R 

ESTORE 1800:TRAP 60:GOTO 25 

110 ? "BAD DATA: LINE "; LINE: END 

1006 DATA 3F3F3F3F3F3F3F3F3F3F3F3F3F3F 

3F3F3F3F3F3F7070707047802C44062A848464 

646464646464646464646484.121 

1616 DATA 47882C46473341942CA9008D1DD8 

A9228D2F82A92e8D3862A9BC8D3182A9E08DF4 

0220C12D20422D20A03220O8.169 

i.820 DATA 322O8B2E20422D28F03120B731DO 

3526BB2EADE933D0834CD52CCEFE33D61AADFC 

338DFE33AD8482DO06ADFD33,356 



PAGE 114 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



1930 DATA 8DFE33284D3B205C38286B3820AA 

31ADEA33D0C94CE42C206132CEEB3310B8A280 

BD3D33C9FFF0O909CO9D4A33,306 

1840 DATA E84C282DAD8482D8FB854D4CCF2C 

A9808588A9238581A9008584A9058585A2O020 

6931A2O4A9O09D07D0CAD0FA,487 

1850 DATA A9868DC882A9488DC1028DC2828D 

C382A95O8DF4338D00D0A9788DF6338D81D0A9 

8C8DF7338DO2D0A9AO8DF833,356 

I960 DATA 8D03D8A9AF8DF5338DF9338DFA33 

8DFB33A98I8DF3332OF22FA208BDC4339DAE25 

9DAE269DAE27CAD0F1A92O8D,447 

1878 DATA 07D48D1ED860A90O8582ADF48285 

83A9008580A9288581A9OO8584A98285852057 

31A218BD64339DE729CADOF7,808 

1880 DATA A9288DF48228752EA9948D3002A9 

2C8D3182A9008DC882A9288DC402A98A8DC582 

A9D88DC682A9388DC782A93E,615 

1098 DATA 8D2FO2A9038D1DD8A214A9089D46 

33CAD8FAAD5B33A2O69D5333CAD0FAAD5B3309 

488D4833A9038DEB33A93F8D,782 

1188 DATA EE338D882AA210A9088580A92A85 

81A92720622ECAF088A98128622E4C512E6018 

65888588A58169008581ADEE J 320 

1110 DATA 33A080918068A9808580A92A8581 

A9888584A9828585A28820693160AD4833290F 

AAA980CAFO061869B44C932E, 787 

1120 DATA AABDCD338DFC33BDCE338DFD33BD 

CF338DEC33BDDB338DED33A9FA8DE93368AD78 

02C90BD03120D32ECEF333D0,190 

1130 DATA O5A9058DF33328F22F60CEF433A9 

33CDF433FO12ACF433AEF53320D92FD007ADF4 

338D80D060EEF43360C9O7F0 J 138 

1148 DATA 8BC90EF034C90DF0664C842F288B 

2F28C1324CC52EEEF433A9C6CDF433F816AEF5 

33ADF433186987A828D92FD8, 559 

1150 DATA 07ADF4338D08D060CEF43360CEF5 

33A938CDF533F08BACF433AEF53320B12FFO03 

EEF533EEF333A98ACDF333D0, 943 

1168 DATA 05A9068DF333AEF533A9809DO824 

9DFF2328F22F60EEF533A9B8CDF533F0OFACF4 

33ADF533186987AA28B12FF0,635 

1170 DATA C9CEF5334C472FC98AF00DC908F0 

10C989F013C905F0166020D32E202F2F6O200B 

2F2O2F2F6020D32E20652F60 J 880 

1188 DATA 200B2F20652F6O8CEE338EEF3328 

1230D01CAEEF33ADEE33186904A8201238D88D 

AEEF33ADEE33186986A82012,266 

1190 DATA 3O608CEE338EEF33201230D00DAC 

EE33ADEF33186907AA2012306OAEF333A9F818 

6908CAD0FAA8A9888584AEF5 , 725 

1200 DATA 33B97D339D8024E8C8C684D8F468 

8A38E9384A4A4AAA9838E9304A4AA8A9888588 

A92A8581CA381018A58O6928.951 

1218 DATA 858OA581698085814C2930981865 

888588A98965818581AO80B18060A9008DFF33 

201231F0018028773O60A901 , 443 

1220 DATA 8DFF33207730F001602012316OA9 

028DFF3320123120773060A9008580A9258581 

ACFF33F886E681884C8230AE , 178 

1230 DATA FF33BDF933CDF533D00160BO41A5 

8048A58148BDF633A8BDF933186988AA20B12F 

F0056868A9OO6OAEFF336885,892 

1248 DATA 81688588BCF9339188FEF933C8A2 

08A9888584BDC5339188E8C8C684D0F5A90160 

AEFF33A58048A58148BDF633,393 

1258 DATA A8BDF933AACA20B12FF0056868A9 

0060AEFF33688581688588DEF933BDF9334818 

6908A8A90Q918068A84CC538,38 

1260 DATA AEFF33BDF633CDF433DO016OB017 

BDF633186988A8284731F00160FEF633BDF633 

9D01D060BCF633882O4731F0, 792 

1270 DATA 016ODEF6334C38318CF033BDF933 

AA20D92F88AEFF332860A880B1829180207731 

2O85312B9331D8F1688AA800,8I6 

1280 DATA 918828853I289331DOF36018A582 

69818582A583698085836018A58069818588A5 

81698885816838A584E90185,688 

1298 DATA 84D805A585D00360A585E9888585 

A90168AEEC33ACED3388D0FDCAD0FA60AD0CDO 

290E60AD55338DEE33A285FE,679 

1300 DATA 5433BD5433C91AD008A9189D5433 

CA10EE88D0E9ADEE33CD5533F0ODADEB33C904 

F006EEEB3328F03160A0O4A9,331 

1310 DATA 00994F3388D8FAACEB33F008A9BD 

994F3388D0FA60AD4833290FC907F0O3EE4833 

ADC58248A9058DEE33A90C8D,779 



1320 DATA C582A9808D00D2A9A68D01D2A00O 

A200285832A9368DC502A9C08D00D2A9A68D01 

D2A000A208205832CEEE33DO,962 

1330 DATA CF688DC582A9008D81D2608AAACA 

D0FD88D0F960A9898DEE338D88D2A9A08DF233 

8D81D2A98548A2FFA0FF8ECB,376 

1348 DATA 0288D8FDADF23338E9038DF2338D 

81D2CAD0E9EEEE33ADEE338D00D26838E981D0 

D78D01D2602O752E203F2EA9.272 

1350 DATA 3E8DEE338D5B2AA289A95B8588A9 

2A8581A92820622ECADOF860A9008DEA33AD84 

82D847A900854DADF4332983 J 414 

1360 DATA D03CADF43338E988A88DF133AEF5 

33281230C93EFO11ADF533186988AAACF13320 

1230C93ED017A080A9O09180 J 570 

1370 DATA A93EA081918OA02D20BD31CEE933 

20133360A9708DF233A9O88D00D2ADF2338D01 

D2A005A24OCAD0FD88D0F8CE / 311 

1380 DATA F233ADF233C958D8E6A9818DEA33 

6827212D25882F362532FF0000800080000000 

800000000000000000000000,86 

1390 DATA 10111213141516171819809O783C 

1A384848AA8282AAAA8282AAFF999999999999 

FF181O387CBA488482101O38,417 

1488 DATA 3878AC4844101O38383828281010 

10387CBA381828101038387C3848488898783C 

1A384848801OFC3A18242488,279 

1418 DATA 0010FC3A1824248O82123C78B838 

242266951C22363E143608080CO003030C80O3 

820600020208000201085002,7 

1420 DATA 010B8002010A0O000000O0000000 

00000000000000000888808888000000000000 
800008008000000080000000,168 



CHECKSUM DATA 

(see p. 70) 

1 DATA 754,955,686,427,745,192,617,545 

,276,445,496,549,158,583,550,7970 

1028 DATA 963,62,822,977,236,668,958,8 

1,686,614,440,44,39,122,64,6696 

1170 DATA 863,16,11,886,312,648,928,17 

,119,926,641,376,189,947,173,6972 

1328 DATA 753,239,184,914,889,46,295,6 

22,353,963,405,5583 



Listing 2. 

2 REM #** CASSETTE VERSION *** 

65 IF PAS5=2 THEM FOR H=l T8 73:PUT ttl 

,8:HEKT X: CLOSE ttl : END 

78 ? "READY CASSETTE AND PRESS RETURN" 

;:OPEN ttl,8,128, , 'C:":RE5T0RE 208:F0R X 

=1 TO 40:READ N:PUT ttl,N:NEXT X 

200 DATA 0,16,88,44,127,44,169,8,141,4 

7,2,169,68,141,2,211,169,8,141,231,2,1 

33,14,169.56,141,232,2 

210 DATA 133,15,169,287,133,10,169,44, 

133,11,24,96 



Listing 3. 

2 REM *** DISK VERSION *»# 

65 IF PAS5=2 THEN PUT ttl,224:PUT ttl, 2: 

PUT ttl, 225: PUT ttl, 2 :PUT ttl, 207: PUT ttl, 

44:CL05E ttl:END 

70 ? "INSERT DISK HITH DOS, PRESS RETU 

RN";:DIM IN$C1J:INPUT IN$:0PEN ttl, 8, 8, 

"D:AUT0RUN.SY5" 

90 PUT ttl,255:PUT ttl,255:PUT ttl,128:PU 

T ttl,44:PUT ttl,14:PUT ttl, 52 



0100 
0101 

0102 
• 163 

0104 

0103 
0106 

0107 
»1«8 
010? 
0110 
0111 
0112 
0113 
0114 
0113 
0116 
0117 
011B 
0119 
0120 
0121 
0122 
0123 
0124 
0123 
0126 
0127 
0128 
012? 
0130 
0131 
0132 
0133 
0134 
0133 
0136 
0137 
013S 
013? 
0140 
0141 
0142 
0143 
0144 
0143 
0146 
0147 
0148 
0149 
0130 
0131 
0132 
0133 
0134 
0133 
0136 
0137 
0138 
013? 
0160 
0161 
0162 
0163 
0164 
0163 
0166 
0167 
0168 
016? 
0170 
0171 
0172 
0173 
0174 
0173 
0176 
0177 
0178 
017? 
0180 
0181 
0182 
0183 
0184 
0183 
0186 
0187 
0188 
018? 
0190 
01?1 
01?2 
01?3 
01?4 
01?5 
01?6 
01?7 
0198 
0199 
0200 
0201 
0202 
0203 
0204 
0203 



BL8 

CH2 

CH4 

CH6 

CM7 

JVB 

LMS 

I 

I 

I 

ATRACT 

AUDC1 

AUDF1 

8RACTL 

HITCLR 

HPOSP0 

HP0SP1 

HPQ3P2 

P0PL 

PMBASE 

8IZEP0 

HP0SP3 

I 

I 

I 

CHBA8 

COLOR0 

COLOR 1 

C0L0R2 

C0L0R3 

C0L0R4 

t 

SDLSTL 

PCOLR0 

PCOLR1 

PCOLR2 

PC0LR3 

8DMCTL 

ST1CK0 

3TR180 

I 

1 

DESADR 

SRCADR 
SIZE 



BRICKLAYER'S NIBHTMARE 

BY B.M. ROBSON 
ANAL08 C0KPUTIN8 #13 

DISPLAY LIST VALUES 



»70 

• 02 

• 04 

• 06 
»07 

Ml 
*40 

03 EQUATES 

»4D 

• D201 

• D200 
*D01D 

• D01E 

• D000 

• D001 

• D002 

• D00C 
*D407 

• D008 

• D003 



BLANK 8 SCAN LINES 
CHAR LINE 40M X 8V, 2 COLOR 
CHAR LINE 40H X 8V, 4 COLOR 
CHAR LINE 20H X 8V, 3 COLOR 
CHAR LINE 20H X 16V, 3 COLOR 
JMP ON VERT BLANK INST 
MASK TO LOAD MEN SCAN ADR 



ATTRACT MODE COUNTER 

AUDIO CONTROL 1 

AUDIO FREQ 1 

8RAPHICS CTRL RES 

COLLISION CLEAR 

MAN HORIZ POS 

DOB 1 HORIZ POS 

DOB 2 HORIZ POS 

PLYR 0(MAN) AND PLAYER COLLISIONS 

PM BASE ADR 

SIZE OF PLAYER 

DOS 3 HORIZ POS 



SYSTEM SHADOW REGS 



• 02F4 

• 02C4 
»02C3 
»02C6 
»02C7 
»02C8 

*0230 

• B2C0 
»02C1 
*02C2 

• 02C3 

• 022F 

• 027B 

• 0284 



CHAR SET HO ADR 

PLAYFIELD COLOR RE8 

PLAYFIELD 1 COLOR REB 

PLAYFIELD 2 COLOR RE8 

PLAYFIELD 3 COLOR REB 
BACK8R0UND COLOR 

DISPLAY LIST PNTR 
MAN COLOR RE8 
DOS 1 COLOR RES 
DOB 2 COLOR RES 
DOB 3 COLOR REB 
DMA CTRL 
JOYSTICK 1 
TRIBBER 1 



PAGE ZERO VARIABLES 



• 80 

• 82 

• 84 



DEST ADR 
SRCE ADR 
• OF BYTES INVOLVED 



JOYSTICK VALUES 



DOWN 

DOWNLEFT 

DOWNRGT • 

LEFT 

RIBHT - 

UP 

I 

UPLEFT - 

UPRIBHT ■ 

I 



13 

- 9 
3 
11 
7 
14 

10 
6 



p 

era 
C 

n 



3 
era 



BRICKLAYER VALUES 



I 

BMPS • 

BRKPOINT 

I 

CH3IZE - 

DMAVAL - 

I 

» 



8RAVAL - 

I 

! 

I 

INDOBIH - 

IND0B2H = 

IND0B3H - 

INMANH - 

INMANV - 

I 

M2LSIZE ■ 

M4LSIZE - 

M7L9IZE - 

I 

PF0CMASK 

PF1CMASK 

PF2CMASK 

PF3CMABK 

I 

PFLINES - 

SCRSIZ - 

I 



BC 
LC 
WC 



230 
43 



512 
62 



120 

140 

160 

80 

173 

40 
40 

20 

•00 

• 40 

• 80 

• C0 

16 
640 

62 
61 
63 



BRICK MOVES PER SCREEN 
POINTS FOR 1 BRICK MOVE 

SIZE OF CHAR SET (ONLY 312 NEEDED) 

ENABLE INSTRUCTION FETCH DMA 

1 LINE P/M RESOLUTION 

ENABLE PLAYER DMA 

ENABLE MISSILE DMA 

160 COLOR CLOCK PLAYFIELD DMA 

SET TRIB0-TRIB3 NORMAL INPUTS 
ENABLE DMA TO PLAYER 8RAPHIC3 REB8 
ENABLE DMA TO MISSILE GRAPHICS REBS 

INITIAL DOG 1 HORIZ POS 

INITIAL DOB 2 HORIZ P08 

INITIAL DOG 3 HORIZ POS 

INITIAL MAN HORIZ POS 

INITIAL MAN VERT POS 

MODE 2 LINE SIZE 
MODE 4 LINE SIZE 
MODE 7 LINE SIZE 

MASK TO USE PLAYFIELD COLOR 

MASK TO USE PLAYFIELD 1 COLOR 

MASK TO USE PLAYFIELD 2 COLOR 

MA8K TO USE PLAYFIELD 3 COLOR 

• OF LINES WHERE PLAY OCCURS 
m OF BYTES IN DISPLAY AREA 

BRICK CHAR 
MAN LIFE CHAR 
WALL CHARACTER 



SCREEN VALUES 



0206 
0207 
0208 
0209 
0210 
0211 
0212 
0213 
0214 
0213 
0216 
0217 
021B 
021? 
0220 
0221 
0222 
0223 
0224 
0223 
0226 
0227 
022B 
0229 
0230 
0231 
0232 
0233 
0234 
0233 
0236 
0237 
0238 
0239 
0240 
0241 
0242 
0243 
0244 
0243 
0246 
0247 
0248 
0249 
0230 
0231 
0232 
0233 
0234 
0233 
0236 
0237 
0238 
0239 
0260 
0261 
0262 
0263 
0264 
0263 
0266 
0267 
0268 
0269 
0270 
0271 
0272 
0273 
0274 
0273 
0276 
0277 
0278 
0279 
0280 
02S1 
0282 
0283 
0284 
0283 
02B6 
0287 
0288 
0289 
0290 
0291 
0292 
02?3 
02?4 
02?3 
02?6 
02?7 
02?B 
02?? 
0300 
0301 
0302 
0303 
0304 
0303 
0306 
0307 
0308 
030? 
0310 
031 1 



BORDB 

BORDL 

BORDR 

BORDT 

I 

I 

I 

GREY 

ORANGE 

RED0R8 

PINK 

BLUE 

YELBRN 

! 

C0LPF2 

COLOR 

NSYNC 

I 



• B0 

• 33 

• C6 

• 38 



BOTTOM BORDER LINE FOR PLAY AREA 
LEFT BORDER COL FOR PLAY AREA 
RIGHT BORDER COL FOR PLAY AREA 
TOP BORDER LINE FOR PLAY AREA 



I 
I 

PM « 

MI3L « 

PLR0 « 

PLR1 • 

PLR2 • 

PLR3 • 

I 

PLEND - 

PLDIFF - 

I 

CU3CS • 

DISP • 

FIRSTBR 

I 

WALLLINE 



• 00 

• 20 

• 30 

• 40 

• 80 
»D0 

• D01B 

• 80 

• D40A 

- *2000 
P/M RAM SPACE 

- »+76B 
»*236 

- »+236 
■ »f236 

- ♦♦236 

- ♦+236 

* 
PLEND-MISL 

- •+312 

- *»SCRSIZ 

- DISP+?l 



00 
GO 

c 
m 



1ST AREA NOT USED 
MISSILE BRAPHICS AREA 
PLAYER BRAPHICS AREA 
PLAYER 1 BRAPHICS AREA 
PLAYER 2 BRAPHICS AREA 
PLAYER 3 BRAPHICS AREA 



CUSTOM CHAR SET 
ACTUAL PLAY AREA 
ADDR OF 1ST BRICK 



.BYTE WC , WC , WC . WC , WC , HC , WC . NC , WC , HC 
. BYTE WC, WC.WC.WC.HC, WC,WC,WC,WC,NC 

BRICKLAYER DISPLAY LIST 



.BYTE BL8.BLB 

.BYTE BL8.BL8 

. BYTE CH7fLM3 

.WORD WALLLINE 

.BYTE CH4+LM3 

.WORD DISP 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

.BYTE CH4.CH4 

. BYTE CH4 

.BYTE CH7+LMS 

.WORD WALLLINE 

. BYTE CH6+LMS 

.WORD 3LINE 

.BYTE JVB 

-WORD DL 



BLANK SCRN TOP 



SHOW WALL LINE 

SET MAIN BCRN DISPLAY ADR 



DEFINE MAIN SCREEN DISPLAY AREA 



SHOW WALL LINE 
SET SCORE LINE ADR 



JMP ON VERT BLANK 

TO DI8PLAY LIST START 



O 

P 

o 
o 

TJ 

C 



Q 



RETURN SCREEN TO NORMAL 



LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 



• •00 
BRACTL 
«t»22 
3DMCTL 

• •20 
SDL8TL 

• *BC 
SDLSTL+1 



LDA »»E0 
3TA CHBAS 



MAIN LINE 



JSR INIT 
JSR INITPM 



INITIALIZE 
INIT PLAYERS 



START NEW LEVEL 



STARTLEV JSR INITBRKS 
JSR SETNLEV 
JSR INITLEV 



SETUP INITIAL BRICKS 
SET NEXT LEVEL 
INIT LEVEL VALUES 



START NEW LIFE 



STLIFE J8R INITPM 

JSR SHOWLIVS 

MAIN1 JSR CHKMANOK 

BNE REMMAN 

JSR MOVMAN 

LDA BMOVES 

BNE MAIN2 

JMP STARTLEV 

I 

MAIN2 D£C DOBMOVCT 



INIT PLAYERS 

SHOW LIVES REMAININB 

DID MAN COLLIDE WITH DOB ? 

YES. SO REMOVE MAN 

MOVE THE MAN 

BET • OF BRICKS LEFT 

MORE. 30 CONTINUE 

START NEXT LEVEL 

CAN DQ8S MOVE YET ? 



TJ 

> 

CD 

m 



0312 

0313 

• 314 

0313 

0316 

0317 

0318 

0319 

0320 

0321 

B322 

B323 

B324 

0323 

B326 

B327 

B32S 

0329 

0338 

B331 

B332 

B333 

B334 

0333 

0336 

0337 

B338 

0339 

0340 

0341 

0342 

0343 

0344 

0343 

0346 

0347 

0348 

0349 

0330 

0331 

0332 

0333 

0334 

0333 

0336 

0357 

033S 

0339 

0360 

0361 

0362 

0363 

0364 

0363 

0366 

0367 

0368 

0369 

0370 

0371 

0372 

0373 

0374 

0373 

B376 

0377 

0378 

0379 

0380 

0381 

0382 

0383 

0384 

0383 

0386 

0387 

0388 

0389 

0390 

0391 

0392 

0393 

0394 

0393 

0396 

0397 

0398 

0399 

0400 

0401 

0402 

0403 

0404 

0403 

0406 

0407 

0408 

0409 

0410 

0411 

0412 

0413 

0414 

0413 

0416 

0417 

0418 



BNE Ql 

LDA D0BFREQ1 

STA D08M0VCT 

LDA STR1S0 

BNE Q2 

LDA D08FREQ2 

BTA D08MQVCT 

JSR MOVDOB1 

JSR M0VD082 

JBR M0VD0B3 

JSR HDELAY 

LDA BSNDFLAB 

BNE MA1N1 

JMP MAIN1 



JBR KILLMAN 
DEC LIVES 
BPL STL1FE 

END OF BANE 



NO 
YES. 



RESET NORMAL DOS MOVE CNT 



I 
I 
I 

LDX »0 
SHOWOVER LDA ENDHSB.X 

CMP f»FF 

BEQ NAIT8TRT 

ORA «PF3CMASK 

STA SLINE*3,X 

JMP SHOWOVER 

1 

WAIT8TRT LDA 8TRIB0 

BNE WAITBTRT 

9TA ATRACT 

JMP MAINRTN 



IS TRIB DOWN 7 

NO, LEAVE NORMAL DOB MOVE CNT 
ELSE, SET FASTER DOS COUNT 
AND SAVE 

MOVE DOB 1 

MOVE DOB 2 

MOVE DOB 3 

DO MAIN DELAY 

DID BRICK JUST MAKE SOUND 7 

YES, SO DON'T DELAY 



SHOW MAN'S DOWNFALL 
REDUCE t OF LIVE8 LEFT 
START NEW LIFE 



INIT INDEX 

BET 'SAME OVER' BYTE 

END OF MSB 7 

YES, SO WAIT TO START ABAIN 

HAKE CHAR PLAYFIELD 3 COLOR 

PUT MSB BYTE ON BCRN 

PNT TO NEXT BYTE 

SHOW NEXT BYTE 

IB TRIQQER PRESSED 7 

NO, SO WAIT 

TRIB PUSHED, SO DISABLE ATTRACT 

YES, SO START ABAIN 



CLEAR PM AREA 



LDA tMISLS<233 

STA DESADR 

LDA •MISL/236 

STA DESADR+1 

LDA 0PLDIFF&233 

STA SIZE 

LDA »PLDIFF/236 

8TA 8IZE-H 

LDX 00 



J8R FILL 



SET START ADR LO 

8ET START ADR HO 

SET SIZE LO 

SET SIZE HO 
SET FILL CHAR 
CLEAR PM AREA 



INIT PLAYERS COLORS St POSITIONS 



LDX «4 
LDA 00 
INITPSIZ STA SIZEP0- 
DEX 
BNE INITPSIZ 



LDA •BLUEi'6 

STA PCOLR0 

LDA 0PINK+8 

STA PCOLR1 

STA PCOLF2 

STA PC0LR3 

LDA 0INMANH 
STA MANPOSH 
STA HPOSP0 
LDA 0INDOB1H 
STA DOS 1 POSH 
STA HPOSP1 
LDA 0INDOB2H 
STA D0S2P0SH 
STA HP0SP2 
LDA 0INDO83H 
STA D0B3POSH 
STA HP0SP3 

LDA 0INMANV 

STA MANPOSV 

STA DOB1POSV 

STA D0Q2P0SV 

3TA DOB3POSV 



3ET « OF PLAYERS 

, X SET NORMAL PLAYER SIZE 

MORE PLAYER SIZES TO INIT 7 
YES 

SET COLOR fc LUM 

SET PLAYER COLOR 

SET COLOR Jt LUM 

FOR DOB 

SET DOB 2 COLOR & LUM 

SET DOB 3 COLOR & LUM 

BET MAN'S INITIAL HORIZ P08 

SAVE HORIZ POS 

SET IT 

SET DOG I'S INITIAL HORIZ POS 

SAVE HORIZ POS 

SET IT 

SET DOG 2'3 INITIAL HORIZ P08 

SAVE HORIZ POS 

SET IT 

BET DOB 3'3 INITIAL HORIZ POS 

SAVE HORIZ POS 

SET IT 

BET MAN'S INITIAL VERT POS 
SAVE MAN'S VERT POS 
SAVE DOB l'S VERT POS 
SAVE DOB 2'S VERT POS 
SAVE DOB 3' 3 VERT POS 



PUT INITIAL MAN IMASE ON 3CREEN 



LDA #1 

BTA MANPICNO 

JSR PUTMAN 



PNT TO 1ST MAN IMAGE 
PUT MAN IN PLAYER AREA 



PUT INITIAL DOBS ON SCREEN 



ITDOB LDX 08 SET • OF BYTES IN DOB IMA8E 

LDA DOBIMABE-l.X BET DOB IMAGE BYTE 
STA PLRlflNMANV-l.X PUT DOB BYTE IN PLAYER 1 
STA PLR2-HNMANV-1IX PUT DOB BYTE IN PLAYER 2 
STA PLRS+INMANV-lIx PUT DOS BYTE IN PLAYER 3 
DEX MORE BYTES IN PLAYER 7 

BNE 03 YES 



LDA 0PM/236 
STA PMBA8E 



3TA HITCLR 



GET HI BYTE OF PM ADR 
BET PM ADR 



CLEAR COLLISIONS 
RET TO MAIN RTN 



0419 

0420 

0421 

0422 

0423 

0424 

0423 

0426 

0427 

042S 

0429 

0430 

0431 

0432 

B433 

B434 

0433 

0436 

0437 

0438 

0439 

0440 

0441 

0442 

0443 

0444 

0443 

0446 

0447 

044B 

0449 

0430 

0431 

0432 

0433 

0434 

0433 

0436 

0437 

0438 

0439 

0460 

0461 

0462 

0463 

0464 

0463 

0466 

0467 

0468 

0469 

0470 

0471 

0472 

0473 

0474 

0473 

0476 

0477 

0478 

0479 

0480 

04B1 

0482 

0483 

0484 

04B3 

0486 

0487 

04B8 

0489 

0490 

0491 

0492 

0493 

0494 

0493 

0496 

0497 

049S 

0499 

0300 

0301 

0302 

0303 

0304 

0303 

0306 

0307 

0308 

0309 

0310 

0311 

0312 

0313 

0314 

0313 

0316 

0317 

0318 

0319 

0320 

0321 

0322 

0323 

0324 

0323 



SETUP CHAR 8ET 



SET ORIB CHAR SET LO ADR 

SET ORIB CHAR 8ET HO ADR 

SET CUSTOM CHAR SET LO ADR 

SET CUSTOM CHAR SET HO ADR 

BET SIZE OF CHSET LO BYTE 

SAVE FOR MOVE 

SET t OF 236 BYTE BLOCKS TO MOVE 

SAVE SIZE HO BYTE 

MOVE CHAR SET TO RAM 

REDEFINE CHARACTERS 

LDX~024 SET t OF BYTES IN CHARS 

LDA LIFEPAT-l.X GET NEW CHAR BYTE 

STA CU3CS+488 1 1.X PUT INTO CUSTOM CHAR SET 
MORE BYTES 7 



LDA 


• 


STA 


SRCADR 


LDA 


CHBAS 


8TA 


3RCADR+1 


1 DA 


HCUSCSS.25S 


BTA 


DESADR 


LDA 


•CUSCS/236 


STA 


DESADR+1 


LDA 


0CH8IZE&233 


STA 


SIZE 


LDA 


•CHSIZE/256 


STA 


8IZE+1 


JSR 


MOVE 



"0 

> 

o 
m 



DEX 

BNE Q4 

LDA 0CUBCS/236 

STA CHBAS 

INIT SCREEN 

JSR CL8CRN 

LDA 0DL&233 

STA SDL3TL 

LDA 0DL/236 

STA 3DLSTL-H 



YES 



GET CUSTOM CHSET H0 ADR 
SET NEW CHAR SET ADR 



CLEAR SCREEN 
SET DL LO BYTE 



SET DL HI BYTE 



SET PLAYFIELD COLORS 



LDA 0GREY+0 






STA C0L0R4 


SET 


BACKGROUND COLOR 


LDA ItORANGEfB 






STA COLOR0 


SET 


PLAYFIELD COLOR 


LDA 0BREYi-»0A 






STA COLOR 1 


SET 


PLAYFIELD 1 COLOR 


LDA 0YELBRN+8 






STA C0L0R2 


SET 


PLAYFIELD 2 COLOR 


LDA #REDORG*8 






STA COLORS 


SET 


PLAYFIELD 3 COLOR 


LDA 0DMAVAL 


SET 


DMA CONTROL 


STA 3DMCTL 






LDA 08RAVAL 


SET 


GRAPHICS CONTROL 


STA SRACTL 






INIT SCORE LINE 




LDX 03LEND-BLINE SET SIZE OF SCORE LINE 


LDA 00 


SET 


BLANK CHAR 


STA SLINE-l.X 


BLANK SCORE LINE 


DEX 


MORE TO BLANK 7 


BNE Q3 


YES 





LDA DIGITS+0 
LDX 06 
INITSCOR STA SCORE-l.X 
DEX 
BNE INITSCOR 



LDA DIGITS+0 
ORA 0PF1CMASK 
STA LEVEL 



LDA 
STA 



#3 
LIVES 



DRAW WALLS 



DRAWWALL 

LDA 
STA 
STA 
LDX 
LDA 
STA 



0WC 

TEMP 

DISP 

•PFLINE8 

«DISP!<233 

DESADR 

LDA 0DI8P/236 

STA DESADR+1 
PNTWALL LDA 0M4LSIZE-1 

JSR PUT8CRCH 

DEX 



et 



BEQ 
LDA 
JBR 
JMP 
RT3 



06 

• 1 

PUTSCRCH 

PNTWALL 



GET ATABCII FOR '0' 

SET t OF DIGITS IN SCORE 

PUT SCORE DIBIT 

MORE DIGITS 7 

YES 

SET ATASCII FOR '0' 

MAKE IT PLAYFIELD 1 COLOR 

SET LEVEL I 



INIT OF LIVES 



SET WALL CHAR 

SAVE FOR TRANSFER 

PUT WALL CHAR ON SCRN 

SET t OF LINES TO PUT WALL ON 

SAVE LO ADR 

SAVE HO ADR 

SET VALUE TO PNT TO LINE END 

PUT WALL CHAR AT LINE END 

MORE WALL CHARS 7 

NO. 30 EXIT 

VALUE TO PNT TO NEXT LINE 

WALL CHAR AT NEXT LINE START 

NEXT WALL CHAR 

TO MAIN PROGRAM 



O 

P 

o 
o 

TJ 

c 

H 
Z 

o 



PUTSCRCH CLC 

ADC DESADR 

STA DESADR 

LDA DE8ADR+1 

ADC 00 

STA DESADR+1 

LDA TEMP 

LDY 00 

STA (DE8ADR), 

RT3 

I 



SET 
PUT 
PUT 
RET 



SETUP FOR ADD 

ADD TO DEBT LO ADR 

SAVE DE9T LO ADR 

GET DE8T HO ADR 

ADD CARRY IF ANY 

SAVE DEBT HO ADR 

GET CHAR TO PUT ON 9CR 

ZERO INDEX 

PUT WALL CHAR ON SCRN 



CO 
CO 

c 
m 



Turn your Atari 
into a Ferrari. 



Introducing the all-new 1984 Indus GT™ disk 
drive. The most advanced, most complete, most 
handsome disk drive in the world. 

A flick of its "Power" switch can turn your Atari 
into a Ferrari. 

Looks like a Ferrari. 

The Indus GT is only 2.65" high. But under its 
front-loading front end is slimline engineering 
with a distinctive European-Gran flair. 

Touch its LED-lit CommandPost™ function con- 
trol AccuTouch™ buttons. Marvel at how respon- 
sive it makes every Atari home computer. 

Drives like a Rolls. 

Nestled into its soundproofed chassis is the 
quietest and most powerful disk drive power sys- 
tem money can buy. At top speed, it's virtually 
unhearable. Whisper quiet. 

Flat out, the GT will drive your Atari track-to- 
track 0-39 in less than one second. And when 
you shift into SynchroMesh DataTransfer,™ you'll 
increase your Atari's baud rate an incredible 
400%. (Faster than any other Atari system drive.) 

And, included as standard equipment, each 
comes with the exclusive 
GT DrivingSystem™ of 



software programs. World-class word processing 
is a breeze with the GT Estate WordProcessor™ 
And your dealer will describe the two additional 
programs that allow GT owners to accelerate their 
computer driving skills. 

Also, the 1984 Indus GT is covered with the GT 
PortaCase™ A stylish case that conveniently dou- 
bles as a 80-disk storage file. 

Parks like a Beetle. 

The GT's small, sleek, condensed size makes it 
easy to park. 

And its low $449 price makes it easy to buy. 

So see and test drive the incredible new 1984 
Indus GT at your nearest 
computer dealer soon. 

The drive will be 
well worth it. 



INDUS 




The all-new 1984 Indus GT Disk Drive. 

The most advanced, most handsome disk drive in the world. 




For additional information, call 1-800-33-INDUS. In California, call 1-800-54-INDUS. 213/882-9600. 

© 1983 Indus Systems 9304 Deering Avenue, Chatsworth, CA 91311. The Indus GT is a product of Indus Systems. Atari is a registered trademark of Atari, Inc. 



7 i 



D> 



"t 



^> I - J 



9 




tit, 



n 



Find The Hidden Screen 

WtthinTheGame 

And Win A 

Fffier-SHmr 




It sits on the sands of Egypt-silent, foreboding; the 
blue waters of the Nile sliding silently by. Pharoah's 
Pyramid beckons to us across millennia; mysterious, 
alluring. Where did the stones come from? How 
were they laid one on top of another? How many 
lives were lost under hot suns and cool moons to 



provide a resting place for the pharoahs of Egypt? 
Now you can have a personal stake in its comple- 
tion. Match wits with the ancient Egyptian God, 
Osiris. Take advantage of gifts given you by the 
beautiful Isis. Fight through the plagues of Moses 
as brick by brick you build one of the wonders of 
the world. There hasn't been a greater challenge 
since the original Pharoah's Pyramid! 



HISTORY PROVES THAT ALL GREAT GAMES HAVE THREE THINGS IN COMMON. 




FAST-PACED FUN THAT LASTS 



EVER INCREASING CHALLENGE 



GRAPHICS THAT LIVE 



PHAROAH'S PYRAMID is a fast action game with that special kind of challenge that makes you say... 

"This time I go all the way!" 



AVAILABLE 
NOW FROM... 



/Hipster* QK^ind.J^^mKi/^^L^ 



The company that loves great games as much as you do, see your local dealer or call toll free. 1-800-624-5596 

P.O. BOX 26714 • SALT LAKE CITY • UTAH • 84126 



0326 
0327 
0328 
0329 
0330 
0331 
0332 
0333 
0334 
0333 
0336 
0337 
0338 
0339 
0340 
0341 
0342 
0343 
0344 
0343 
0346 
0347 
0348 
0349 
0330 
0331 
0332 
0333 
0334 
0333 
0336 
0337 
0538 
0339 
0360 
0361 
0362 
0363 
0364 
0363 
0366 
0367 
0368 
0369 
0370 
0371 
0372 
0373 
0374 
0373 
0376 
0377 
037B 
0379 
0380 
0381 
0382 
0383 
0384 
0383 
0386 
0387 
0388 
0589 
0390 
0391 
0392 
0393 
0394 
0393 
0396 
0397 
0398 
0399 
0600 
0601 
0602 
0603 
0604 
0603 
0606 
0607 
0608 
0609 
0610 
0611 
0612 
0613 
0614 
0613 
0616 
0617 
0618 
0619 
0620 
0621 
0622 
0623 
0624 
0623 
0626 
0627 
0628 
0629 
0630 
0631 
0632 



CLEAR PLAYFIELD 



LDA 
STA 
LDA 
3TA 
LDA 
STA 
LDA 
STA 
LDX 
JSR 
RT8 



•DISPV233 

DESADR 

•DI3P/236 

DE3ADR+1 

•SCR9IZ&233 

SIZE 

•SCRSIZ/236 

SIZEi-1 

• 

FILL 



BET DEBT LO ADR 

BET DEBT HO ADR 

SET SIZE OF FILL LO BYTE 

BET SIZE OF FILL MO BYTE 
BET FILL CHAR 
CLEAR THE SCRN AREA 



INIT LEVEL VALUES 



INITLEV LDA LEVEL 

AND «»0F 
TAX 

LDA 00 

07 DEX 

BEQ Q8 
CLC 

ADC »4 

JMP 07 



Q8 



TAX 

LDA LEVTBL.X 

STA DQBFRE01 

LDA LEVTBL-H.X 

STA D0BFREQ2 

LDA LEVTBL*2,X 

STA HDELHO 

LDA LEVTBL+3.X 

STA MDELLO 

LDA 0BHPS 

STA BMOVES 



SET CURRENT LEVEL 
MAKE IT BINARY • 

INIT OFFSET 

IS THIS THE LEVEL 7 

YES, BET LEVEL VALUES 

SETUP FOR ADD 

PNT TO NEXT LEVEL VALUES 

SEE IF THI8 IS THE LEVEL 

SET OFFSET 

SET NORMAL DOB MOVES/MAN MOVE 

SET IT 

SET DOB/MAN MOVES (PULLINB WALL) 

SAVE IT 

LOOP HO VALUE 



GET 
SET 
BET 
BET 



MAIN 
IT 

MAIN 
IT 



LOOP LO VALUE 



BET • OF BRICKS TO MOVE 



READ JOYSTICK * MOVE MAN 



I 
I 

MOVMAN LDA STICK0 
CMP 0LEFT 
BNE CHKJSR 

I 

I 

MOVMANL JBR 3ETMANL 

SETHIM DEC MANPICNO 
BNE SHONEWM 
LDA «3 
STA MANPICNO 

SHONEWM JSR PUTMAN 
RTS 



SETMANL DEC 
LDA 
CMP 
BEQ 
LDY 
LDX 
JSR 
BNE 



LDA 
STA 
RTS 

I 

MOVLERR INC 
RTS 

I 

CHKJSR CMP 
BEQ 



MANPOSH 

tBORDL 

MANPOSH 

MOVLERR 

MANPOSH 

MANPOSV 

CHKLRM 

MOVLERR 

MANPOSH 
HPO9P0 



•RIBHT 

MOVMANR 



CMP »UP 

BEQ MOVMANU 
I 

CMP «DOWN 

BED MOVMAND 

JMP CHKANBLS 

I 

MOVMANR JSR SETMANR 

JSR MOVBRICK 

JMP SETHIM 

I 

SETMANR INC MANPOSH 

LDA »BORDR 

CMP MANPOSH 

BEO MOVRERR 

LDX MANPOSV 

LDA MANPOSH 

CLC 

ADC »7 

TAY 

JSR CHKLRM 

BNE MOVRERR 



LDA MANPOSH 
STA HPOBP0 

MOVRERR DEC MANPOSH 

RTS 
I 



READ JOYBTICK 

MOVE LEFT 7 

NO, SO CHECK RIBHT 



SET MAN LEFT 

ELSE, SET NEXT MAN IMA8E • 

IF VALID, SHOM NEW MAN 

ELSE, SET VALID MAN IMABE 

SAVE MAN IMABE • 

SHOW MAN 

EXIT 

PNT TO COL TO LEFT 

BET LEFT LIMIT 

AT LEFT LIMIT 7 

YE8, SO ERROR 

BET HORIZ POS 

BET VERT POS 

SEE IF MOVE IB OK 

SOMETHINB THERE, CAN'T MOVE 

BET CURRENT MAN HORIZ POS 
SET HARDWARE HORIZ REB 



8ET ORIB COL 
EXIT 

MOVE RIBHT 7 

YES, SO MOVE MAN RIBHT 

MOVE UP 7 

YES, MOVE MAN UP 

MOVE DOWN 7 

YES, MOVE MAN DOWN 

CHECK JOYBTICK ANBLES 



SET MAN TO RIBHT 

MOVE BRICK IF APPROPRIATE 

SET NEW HORIZ IMABE 

SET COL TO RIBHT 
SET • OF RIBHT BORDER 
AT RIBHT BORDER 7 
YES, SO ERROR 

GET MAN VERT POS 

GET HORIZ POS 

SETUP FOR ADD 

PNT TO RISHT SIDE OF PLAYER 

SEE IF MOVE OK 

CHAR THERE, SO ERROR 

BET CURRENT MAN HORIZ POS 
SET HARDWARE HORIZ RES 

SET ORIGINAL MAN HORIZ POS 
EXIT 



0633 
0634 
0633 
0636 
0637 
0638 
0639 
0640 
0641 
0642 
0643 
0644 
0643 
0646 
0647 
064S 
0649 
0630 
0631 
0632 
0633 
0634 
0633 
0636 
0637 
0638 
0639 
0660 
0661 
0662 
0663 
0664 
0663 
0666 
0667 
0668 
0669 
0670 
0671 
0672 
0673 
0674 
0673 
0676 
0677 
067B 
0679 
0680 
0681 
06B2 
06B3 
0684 
06B3 
06B6 
0687 
06SB 
0689 
0690 
0691 
0692 
0693 
0694 
0693 
0696 
0697 
0698 
0699 
0700 
0701 
0702 
0703 
0704 
0703 
0706 
0707 
0708 
0709 
0710 
0711 
0712 
0713 
0714 
0713 
0716 
0717 
0718 
0719 
0720 
0721 
0722 
0723 
0724 
0723 
0726 
0727 
0728 
0729 
0730 
0731 
0732 
0733 
0734 
0733 
0736 
0737 
0738 



MOVMANU DEC 
LDA 
CMP 
BEO 

1 

LDY 
LDX 
JSR 
BEQ 

MOVUERR INC 

BETVIM INC 
LDA 
CMP 
BNE 
LDA 
STA 

09 LDX 
LDA 
STA 
STA 
JSR 
RTS 



MANPOSV 
•BORDT 
MANPOSV 
MOVUERR 

MANPOSH 
MANPOSV 
CHKUDM 
SETVIM 

MANPOSV 
MANPICNO 

• 10 

MANPICNO 
Q9 

• 6 

MANPICNO 
MANP08V 

• 

PLR0*8, X 
PLR0-1, X 
PUTMAN 



I 
I 

MOVMAND INC 
LDA 
CMP 
BEQ 



MANPOSV 
•BORDB 
MANPOSV 
MOVDERR 



LDY MANP08H 

LDA MANPOSV 

CLC 

ADC »7 

TAX 

JSR CHKUDM 

BEO SETVIM 
i 
MOVDERR DEC MANPOBV 

JMP SETVIM 
! 
CHKANBL8 CMP 0UPLEFT 

BEO HOVMANUL 
I 

CMP 0UPRI8HT 

BEQ MOVMANUR 

CMP 0DOWNLEFT 

BED MOVMANDL 
I 

CMP 0DOWNR8T 

BEQ MOVMANDR 
I 

RTS 
i 
MOVMANUL JSR SETMANL 

JSR MOVMANU 

RTS 
I 
MOVMANUR JSR SETMANR 

JSR MOVMANU 

RTS 
I 
MOVMANDL JSR SETMANL 

J8R MOVMAND 

RT8 
I 
MOVMANDR JBR SETMANR 

JSR MOVMAND 

RTS 



BET LINE ABOVE 
GET • OF TOP BORDER 
AT TOP BORDER 7 
YES, SO RESET PNTR 

GET HORIZ P03 

GET VERT POS 

CHK UP DOWN MOVE 

BLANK, SO MOVE OK 

SET ORIGINAL POS 

SET NEXT VERT IMABE 

GET 1 BEYOND MAX IMAGE • 

18 MAN IMABE • VALID 7 

YES 

NO, SO SET VALID IMAGE * 

SAVE NEW MAN IMAGE • 

BET MAN POSITION FOR INDEX 

BLANK BYTES AROUND OLD MAN IMAGE 

PUT NEW IMABE IN PLAYER AREA 
EXIT 



BET LINE BELOW 
BET • OF BOTTOM BORDER 
AT BOTTOM BORDER 7 
YES, 80 RESET PNTR 

SET HORIZ POS 
GET VERT POS 
PREPARE FOR ADD 
PNT TO LINE BELOW 
BAVE VERT POB 
CHK UP DOWN MOVE 
BLANK, BO MOVE OK 

YES, SO SET ORIGINAL LINE • 
SET NEW VERT IMAGE 

MOVE UP LEFT 7 
YES 

MOVE UP RIGHT 7 
YES 

MOVE DOWN LEFT 7 
YES 

MOVE DOWN RIBHT 7 
YES 

EXIT TO MAIN LINE 

SET MAN LEFT 
MOVE HAN UP 



CO 
CO 

c 
m 



SET MAN RIGHT 
MOVE MAN UP 



SET MAN LEFT 
MOVE MAN DOWN 



8ET MAN RIGHT 
MOVE MAN DOWN 



o 

p 

o 
o 

K 

TJ 

c 

H 
Z 

a 



CHECK UP DOWN MOVE 



010 

I 

I 



STY TEMP 

8TX TEMP+1 

JSR BETSCRN 

BNE Q10 

LDX TEMPfl 

LDA TEMP 

CLC 

ADC »4 

TAY 

JBR GETSCRN 

BNE Q10 

LDX TEHP+1 

LDA TEMP 

CLC 

ADC »6 

TAY 

JSR GETSCRN 

RTS 



8AV HORIZ POB 

SAV VERT POS 

GET SCRN CHAR 

CHAR THERE, SO EXIT 

GET VERT POS 

GET HORIZ POB 

SETUP FOR ADD 

PNT TO MIDDLE OF PLAYER 

BET 8CRN CHAR 

CHAR THERE, SO EXIT 

GET VERT POS 

BET HORIZ POS 

SETUP FOR ADD 

PNT TO RIBHT SIDE OF PLAYER 

SET 8CRN CHAR 



CHECK LEFT RIBHT MOVE 



CHKLRM STY TEMP 

8TX TEMP+1 

JSR GETSCRN 

BNE Qll 

LDY TEMP 

LDA TEMP-M 

CLC 

ADC #7 

TAX 

JBR GETSCRN 

Qll RTS 

I 



SAVE HORIZ POS 

SAVE VERT POB 

GET SCRN CHAR 

SOMETHINB THERE, 80 EXIT 

BET HORIZ POS 

BET VERT POS 

PREPARE FOR ADD 

PNT TO PLAYER BOTTOM LINE 

BET SCRN CHAR 
EXIT 



TJ 
> 

O 
m 



CO 



0739 
0740 
0741 
0742 
0743 
0744 
0743 
0746 
0747 
0748 
0749 
0730 
8731 
B732 
0733 
B734 
B733 
0736 
B737 
B738 
0739 
B76B 
076 1 
0762 
8763 
B764 
8763 
8766 
8767 
8768 
876"? 
8778 
8771 
8772 
8773 
8774 
8773 
8776 
8777 
B778 
8779 
8788 
8781 
0782 
8783 
8784 
0783 
B786 
8787 
8788 
8789 
8798 
8791 
8792 
8793 
8794 
8793 
8796 
8797 
8798 
8799 
0800 
8881 
8802 
0B03 
0804 
0B03 
0806 
0807 
0808 
0809 
0810 
0611 
0812 
0813 
0814 
0813 
0816 
0817 
0818 
0819 
0820 
0821 
0822 
0823 
0824 
0823 
0826 
0827 
0B2B 
0829 
0830 
0831 
8832 
8833 
0834 
8833 
8836 
8837 
0838 
0839 
0840 
0841 
0842 
0B43 
0844 
0843 
0846 



PUT HAN IHA8E IN PLAYER AREA 



PUTHAN LDX MANPICNO 

LDA »-a 

Q12 CLC 

ADC #8 
DEX 
BNE 012 



TAY 

LDA 08 
3TA SIZE 
LDX MANPQSV 

LDA MANH1.Y 

8TA PLR0.X 

INX 

I NY 

DEC SIZE 

BNE 013 

RT8 



8ET CURRENT NAN IMA8E t 



CALC 

IMAGE 

OFFSET 

3ET INA8E OFFSET 

SET # OF BYTES IN IMAGE 

AND SAVE 

SET CURRENT VERT POS 

GET NAN IMAGE BYTE 

PUT IN PLAYER AREA 

PNT TO NEXT PLAYER AREA BYTE 

PNT TO NEXT IMABE BYTE 

MORE TO HOVE ? 

YES, SO MOVE THEM 



8ET SCREEN CHAR 



1 
1 


ENTER WITH: 






1 

1 


REG X - 8CAN 


LINE « 




1 


REG Y - COLOR 


CLOCK • 




8ETSCRN TXA 


GET LINE » 






SEC 




SETUP FOR 8UBT 






SBC 


(t«3S 


PNT TO PLAY AREA 






L8R 


A 


DIVIDE LINE BY G 






LSR 


A 


8 OF LINES IN CHAR 






LSR 


A 








TAX 




AND SAVE 






TYA 




GET COL t 






SEC 




SETUP FOR SUBT 






SBC 


t*30 


COMPENSATE FOR SCRN 


LEFT EDGE 




L8R 


A 


DIVIDE COL BY 4 






LSR 


A 


• OF COLS IN CHAR 






TAY 




AND SAVE 






LDA 


• DISPI<233 


SET PLAY AREA START 


(LO) 




8TA 


DESADR 


1 & SAVE 






LDA 


•DISP/236 


8ET PLAY AREA START 


(HO) 




STA 


DESADR+1 


1 Si SAVE 




014 


DEX 




IS LINE 0? 






BMI 


013 


YES, BO ADD COL VALUE 




CLC 




SETUP FOR ADD 






LDA 


DESADR 


GET PLAY AREA ADR <L0) 




ADC 


•M4LSIZE 


PNT TO NEXT LINE 






8TA 


DESADR 


1 Si SAVE 






LDA 


DESADR+1 


8ET PLAY AREA ADR (HO) 




ADC 


• 


ADD CARRY IF ANY 






STA 


DESADR+1 


1 Si SAVE 






J MP 


014 


SEE IF LINES ACCOUNTED FOR 


013 


TYA 
CLC 




GET COL • 

SETUP FOR ADD 






ADC 


DESADR 


ADD COL TO ADR (LO) 






STA 


DESADR 


I & 8AVE 






LDA 


• 








ADC 


DESADR+1 


ADD CARRY IF ANY TO 


HO ADR 




STA 


DESADR+1 


1 St 8AVE 






LDY 


• 


CLEAR INDEX 






LDA 


(DESADR) , Y 


SET SCREEN CHAR 






RT3 




ELSE, EXIT 




1 
1 


MOVE DOG 1 







DOG 1 ALIGNS ITSELF ON MAN'S HORIZ AXIS 
AND ATTACKS ON VERT AXIS 



1 
I 

; 

M0VD081 

LDA 00 

STA D08N0 

JBR HOVDOSH 

BEQ CHKD081V 

CHKD0G1V JSR CHKDOSV 

RTB 
I 

I MOVE DOS 2 
I 

I DOG 2 ALIGNS ITSELF ON MAN 

I AND ATTACKS ON HORIZ AXIS 

M0VDOG2 

LDA 81 

STA DOBNO 

JSR CHKDOSV 

BEQ CHKD062H 

RTS 
CHKD082H 

J8R M0VDO8H 

RT8 
1 
I MOVE DOS 3 

D08 3 M0VE8 ON VERT * HORIZ PLANE8 ON SAME TURN 
| TO REACH THE HAN 

! 
M0VD083 

LDA 02 

STA DOGNO SET DOG 3 OFFSET 

JSR HOVDOSH MOVE DOS HORIZ 

J8R CHKDOBV MOVE DOB 3 VERT IF POSSIBLE 

RT8 EXIT 



SET DOB I OFFSET 

MOVE DOB HORIZ 

NO MOVE, SO TRY VERTICAL 

EXIT 

MOVE DOG VERTICAL 

EXIT 



8 VERT AX 1 8 



SET D08 2 OFFBET 
MOVE DOB VERT IF POSSIBLE 
NO MOVE. 30 TRY HORIZ 
ELSE, EXIT 

MOVE DOG HORIZ 
EXIT 



0S47 

0848 

0S49 

BB30 

0831 

0832 

0833 

0834 

8833 

8036 

8837 

8638 

8839 

0860 

8S61 

0862 

0863 

0864 

0863 

0866 

0B67 

0863 

0869 

0870 

0871 

0872 

0873 

0874 

0873 

0876 

0877 

0B7B 

8879 

0880 

0881 

0882 

0883 

0884 

0683 

0886 

08B7 

0888 

0889 

0S90 

0891 

0892 

0893 

0B94 

0893 

0896 

0B97 

0898 

0899 

0900 

0901 

0902 

0903 

0904 

0903 

0906 

0907 

090B 

0909 

0910 

0911 

0912 

0913 

0914 

0913 

0916 

0917 

0918 

0919 

0920 

0921 

0922 

0923 

0924 

0923 

0926 

0927 

0928 

0929 

0930 

0931 

0932 

0933 

0934 

0933 

0936 

0937 

0938 

0939 

0940 

0941 

0942 

0943 

0944 

0943 

0946 

0947 

0948 

0949 

0930 

0931 

0932 

0933 

0934 



MOVE DOB VERTICALLY 



I 

017 



LDA 8PLR1S.233 
STA DESADR 
LDA »PLR 1/236 
STA DESADR+1 
LDY DOBNO 
BEO 017 
INC DESADR+1 
DEY 
JMP Q16 



Q18 



019 



020 



LDX DOBNO 
LDA D0QP08V.X 
CMP MANPOSV 
BNE ate 

BC8 MOVDOSU 
MOVDOBD LDA DE8ADR 
PHA 

LDA DESADR+1 
PHA 

LDA DOBPOSH.X 
TAY 

LDA D08P0SV.X 
CLC 

ADC 06 
TAX 

JSR CHKUDM 
BEQ Q19 
PLA 
PLA 
LDA 80 

LDX DOBNO 

PLA 

STA DESADR+1 

PLA 

STA DESADR 

LDY DOGPOSV.X 

STA (DESADR), Y 

INC DOSPOSV.X 

I NY 
SHONEWD LDX «0 

LDA *B 

STA SIZE 

LDA DOG I MAGE, X 

8TA (DE8ADR),Y 

INX 

INY 

DEC SIZE 

BNE 020 

LDA 01 

RTS 
I 
MOVDOSU LDX DOBNO 

LDA DESADR 

PHA 

LDA DESADR+1 

PHA 

LDA DOBPOSH.X 

TAY 

LDA DOSPOSV,X 

TAX 

DEX 

JSR CHKUDM 

BEQ Q21 

PLA 

PLA 

LDA #0 

RTS 

LDX DOGNO 

PLA 

STA DE8ADR+1 

PLA 

STA DESADR 

DEC DOGPOSV,X 

LDA DOGPOSV.X 

PHA 

CLC 

ADC 08 

TAY 

LDA *0 

STA (DESADR), Y 

PLA 

TAY 

JMP SHONEWD 



Q21 



ADR (HO) 



BET 1ST DOS PLAY ADR (LO) 

I Si SAVE 

SET 1ST DOB PLAY 

; Si 3AVE 

BET CURRENT DOB • 

MATCH. 80 START MOVE 

ELSE. SET NEXT DOG PLAY AREA 

3ET t FLAB IF MATCH 

SEE IF MATCH NOW 

GET CURRENT DOG » 

GET DOG VERT POS 

COMPARE WITH MAN VERT POS 

NOT 8AME, 80 MOVE VERTICAL 

SAME, 30 EXIT 

MAN ABOVE, MOVE DOB UP 

SAVE DOS PLAY AREA (LO) 

SAVE DOB PLAY AREA (HO) 
SET DOG HORIZ POS 

GET DOG VERT P03 

SETUP ADD 

PNT TO LINE BELOW 

CHECK FOR BRICKS 

NO BRICKS, SO CONTINUE 

CLEAR STACK 

ELSE, SET Z FLAG (NO MOVE) 

AND EXIT 

SET CURRENT DOB • 

SET DOB PLAY ADR (HO) 

GET DOG PLAY ADR (LO) 

GET LINE • 

BLANK AROUND OLD D06 

PNT TO NEW LINE 

SET SRCE INDEX 

SET t OF BYTES IN DOS IMABE 

SAVE • OF BYTE3 

SET DOG IMABE BYTE 

PUT IN DOB PLAY AREA 

PNT TO NEXT PLAYER AREA BYTE 

PNT TO NEXT DOB IMABE BYTE 

MORE BYTE8 TO MOVE ? 

YES 

NO, SET NZ FLAG (MOVE OCCURRED) 



BET CURRENT DOB » 

SAVE DOB PLAY AREA (LO) 

SAVE DOB PLAY AREA (HO) 
SET DOB HORIZ POS 

GET DOG VERT P03 

PNT TO LINE ABOVE 
SEE IF ANY BRICK8 
NO BRICKS, SO OK 

CLEAR STACK 

8ET Z FLA8 (NO MOVE) 

GET CURRENT DOG t 
BET DOG PLAY ADR (HO) 

BET DOG PLAY ADR (LO) 

PNT TO LINE ABOVE 

GET NEW LINE • 

SAVE IT 

SETUP ADD 

PNT TO END OF DOS 

SET INDEX REG 

SET VALUE TO BLANK DOB CHAR 

BLANK AROUND OLD DOB 

GET NEW LINE • 



"0 

> 

Q 
m 

ro 
o 



O 

P 
O 
O 

c 



a 



SHOW NEW DOS IMABE 



MOVE D08 HORIZONTALLY 



LDX DOGNO 

LDA DOGPOSH.X 

CMP MANP08H 

BNE 022 

RTS 
I 

Q22 BCS MOVDOGL 
MOVD08R LDA DOGPOSH.X 

CLC 

ADC 08 

TAY 

JSR CHKBRKH 

BED Q23 

RT8 

023 INC DOBPOSH.X 



BET CURRENT DOG t 

GET HORIZ P03 

COMPARE WITH MAN'S HORIZ POB 

NOT SAME, 80 MOVE 

ELSE, EXIT 

MAN TO LEFT, 80 MOVE LEFT 

SET DOB HORIZ P08 

SETUP ADD 

PNT TO DOG RIBHT SIDE 

SAVE IN INDEX 

CHECK FOR BRICKS THERE 

NO CHAR SO CONTINUE 

CAN'T MOVE BO EXIT 

SET COL TO RIBHT 



CO 
CO 

c 
m 



■▼as 

0936 
0937 
0938 
0939 
0960 
0961 

• 962 

• 963 

• 964 

• 963 

• 966 

• 967 

• 96B 

• 949 

• 97C 

• 971 

• 972 

• 973 

• 974 

• 973 

• 976 

• 977 

• 97B 

• 979 

• 98» 

• 981 

• 9B2 

• 983 

• 984 

• 983 

• 986 

• 987 

• 988 

• 989 

• 99B 

• 991 

• 992 

• 993 

• 994 

• 993 

• 996 

• 997 

• 998 
•999 

ie«e 
ia«i 
ie«2 

10*3 
1004 
10*3 
10«6 
1B«7 
1008 
1009 
101* 

1011 

1012 
1*13 
1014 
1*13 
1016 
1«17 
1*18 
l»19 
1020 
1021 
1022 
1023 
1024 
1023 
1026 
1027 
1028 
1B29 
1030 
1031 
1032 
1033 
1034 
1033 
1036 
1037 
1038 
1B39 
1040 
1041 
1042 
1043 
1044 
1043 
1046 
1047 
1048 
1049 
103* 
1031 
1032 
1033 
1034 
1033 
1036 
1037 
1038 
IB39 
1060 
1061 
1*62 



SAVDOBH LDA PO T Q 8 W.II 
8TA NPOSP1.X 
RTS 

HOVDOOL LDY DOOPOSH.X 
DEY 

JSR CHKMtKN 
BED 024 
RTS 

■24 dec dooposh.x 
jhf savdooV 



OET MCH COC 

?ET HAWBMANE MORIZ POl 
XIT 



set boo honiz pos 
set 684. tb left 
check for b*icks 
ho bricks. 98 continue 

ELSE, exit 

COL TO LEFT 

til POO 



sIt BM 



CHECK FOR WICK3 (HORIZ) 



I 
I 

CHKBRKH STY TEHP*l 

lda dooposv.x 

TAX 

JSR CHKLRH 

PHP 

LDX BOOMS 

PLP 

RTS 



SAVE NMIZ PO* TO CHECK 
NT MM VERT POS 

PES 



I 

I 
I 
I 
I 

I 

! 
MOVE 



PUT IN INBEX 
CMK IP HOVE OK 
•AVE I FL«« 
OCT CUtMNT BOO 
RESTORE t FLAB 
ELSE, CAN'T HOVE 



MOVE BLOCK OF DATA 



ENTER H1TH: 

LOC 80,81 
LOC 83 13 
LOC 84 03 



LDY •• 

LDA <SRCABR>,Y 
STA (DESADR) Y 
JSR DUNPSRC 
JSR BUHPDES 
JSR DECSIZE 
BHE 023 
RT8 



- BEST 
• BNCE 

- SIZE 



OCT ONCE CHAR 
HOVE TO BEST 
PUT TO HEXT SNCE 
PHT TO HEXT BEST 
WORE TO HOVE T 
YES, SO HOVE THEN 
NO, SO EXIT 



ABR 
ADR 



FILL BLOCK OF HEHORY 

ENTER WITH: 

LOC Of, 01 - BEST 
LOC 84 83 - SIZE 
REO X « FILL 



TXA 

LDY •■ 

STA (DESADR), 

JSR BUHPDES 

JSR DEC8IZE 

BNE FILL 

RT3 



D26 
027 



> 



CLC 
LDA 
ADC 
STA 
LDA 
ADC 
STA 

RTS 



CLC 
LDA 
ADC 
STA 
LDA 
ADC 
8TA 
RT8 



3EC 
LDA 
SBC 
STA 
BNE 
LDA 
BNE 
RTS 
LDA 
SBC 



ORCADR 
• 1 

SRGADR 
SRCADR+1 
•0 
SftCAOR+1 



DESABR 
• 1 

DESADR 
DESABK+1 
•0 
DESADR* 1 



SIZE 

• 1 

SIZE 

026 

SIZE-M 

027 



SIZE*! 

• 
STA SIZE+1 
LDA 01 
RTS 

HA IN BELAY 



OCT FILL C HA R 

PUT CHAR IH MEMORY 
PUT TO HEXT DEST ABR 
HORE TO FILL 7 
YES, SO FILL THEN 
NO, SO EXIT 



SETUP FOR ADD 

SET LO SRCE AS* 
ADJUST LO BYTE 
SAVE LO SRCE AM 
BET HO MKt ABR 
AM CARRY IF AMY 
SAVE HO SRCE ABR 



SETUP FOR ABB 
OET LO BEST ABR 
ADJUST LO BYTE 
SAVE LO BEST ABR 
OET HO BEST AM 
ADD CARRY IF AMY 
SAVE HO BEST ABR 



PREPARF. FOR SUBTRACT 

OET LO BYTE OF SIZE 

ABJUST LO SIZE BYTE 

SAVE LO SIZE 

LO BYTE NOT 0, SO CONTINUE 

SET HO SIZE BYTE 

NOT 0. SO CONTINUE 

SIZE NOW t. EXIT WITH Z FLAO 

OCT HO BYTE OF SIZE 

ADJUST MO SIZE BYTE 

SAVE HO SIZE BYTE 

SIZE HOT 0, SET HZ FLAO 

EXIT 



HDELAY LBX HDELHO 
LDY HDELLO 

028 DEY 

BNE 020 
DEX 

BNE 028 
RTS 



OET BELAY 
OET BELAY 
LO COUNT 



r§ 



» 



VALUE 
VALUE 



COUNT BONE 7 



CHECK 



CHKHAHOK 

LDA P0FL 
AND »*0E 
RTS 



YES, SO EXIT 
IF HAM COLLIDED HITH 



OET HAN/DOS COLLISION INDICATOR 

OET RIB OF UWUSEB BITS 

EXIT NITH Z FLAO SET IF HO HITS 



1063 
1064 
1063 
1066 
1067 
1068 
1069 
1070 
1071 
1072 
1073 
1B74 
1073 
1076 
1077 
1070 
1079 
1080 
1081 
1082 
1083 
1084 
1083 
1086 
1087 
1088 
1089 
1090 
1091 
1092 
1093 
1094 
1093 
1096 
1097 
1098 
1099 
1100 
1101 
1102 
1103 
1104 
1103 
1106 
1107 
1108 
11*9 
1110 
1111 
1112 
1113 
1114 
1113 
1116 
1117 
1118 
1119 
1120 
1121 
1122 
1123 
1124 
1123 
1126 
1127 
1128 
1129 
1130 
1131 
1132 
1133 
1134 
1133 
1136 
1137 
1138 
1139 
1140 
1141 
1142 
1143 
1144 
1143 
1146 
1147 
1148 
1149 
1130 
1131 
1132 
1133 
1134 
1133 
1136 
1137 
1138 
1139 
1160 
1161 
1162 
1163 
1164 
1163 
1166 
1167 
1160 
1169 



UPDATE THE SCORE 



RES Y-VALUE TO ADD TO SCORE 



ADDSCORE LDA SCORE -H 

8TA TEHP 
ADD3C0R1 LDX 03 



INC SCORE, X 
LDA SCORE, X 
CMP 001A 

Q30 

• •10 

SCORE, X 



UNIT VALUE 
TO LO DIBIT 



BNE 
LDA 
STA 
DEX 
BPL 
DEY 
BNE 

LDA 
CMP 
BEO 
LDA 
CMP 
BEQ 
INC 
JSR 
RTS 



10,000 
SAVE 
TO PHT 
DIOIT 
DIOIT 
- .,. ? 

SO CONTINUE ADDINS 
SO SET AT ASCI I 



029 

ADDSC0R1 

TEHP 

8C0RE+1 

031 

LIVES 

• 4 

031 

LIVES 

8H0HLIVS 



SHOW LIVES REMAINING 



031 
I 
I 
I 

3H0HLIVS LDY 04 
LDA 00 
8TA 8LINE<-B 
DEY 
BNE 032 



OET 
I & 

SET 

INC 

BET 

PAST 

NO 

YES. 

SAVE DIOIT 

PNT TO NEXT 

IF NITHIN 6 

MORE TO ADD 

YES 



SET ORIQINAL 10,000 UNIT VALUE 

HAS ANOTHER 10,000 BEEN REACHED7 

NO, SO EXIT 

YES. SO SET • OF LIVES 

ALREADY HAVE MAXIMUM 7 

YES 

A LIFE 

LIFE ON SCRN 



CO 
CO 

c 
m 



HISHER DIOIT 
DIBITS, CONTINUE 

7 



NO, SO ADD 
SHOW EXTRA 
ELSE, EXIT 



032 



LDY LIVES 
BEQ 033 



SET HAX • OF LIVES 

BLANK SCRN LIVES 
MORE TO BLANK ? 
YES 

OET « OF LIVED 
NO LIVES LEFT, 



,80 EXIT 
LDA 0LC+PF2CHA8K OET LIFE CHAR 
STA SLINE*8,Y PUT LIFE CHAR ON SCRN 
DEY MORE TO SHOW 7 

BNE 034 YES 

RTS 



SET NEXT LEVEL 



033 

I 
I 

I 

SETNLEV LDA LEVEL 
AND #*0F 
CMP 07 
BEO 033 



MAIT 

037 

038 



INC LEVEL 
LDA C0L0R1 
PHA 

LDA 03 
STA TEMP 
LDA 80REY+12 
8TA COLOR 1 

LDA 0*80 
STA AUDF1 
LDA 0*A6 
8TA AUDC1 
LDY 00 
LDX #0 
JSR HAIT 

LDA 0REDORO+6 
STA C0L0R1 

LDA 0*C0 
STA AUDF1 
LDA «*A6 
8TA AUDC1 
LDY 00 
LDX 00 
J8R WAIT 

DEC TEMP 
BNE 036 

PLA 

STA COLOR 1 

LDA 00 

STA AUDC1 

RTS 

TXA 

TAX 

DEX 

BNE 038 

DEY 

BNE Q37 

RTS 



BET CURRENT LEVEL 
MAKE IT BINARY 
HI0HE8T LEVEL 7 
YES 

NO. SO SET NEXT LEVEL 

SET ORIS PLAYFIELD 1 COLOR 

SAVE ON STACK 

SET • OF TIMEB TO LOOP 

SET COLOR 1c LUMINANCE 



SET DISTORTION It VOLUME 
8ET OUTER LOOP VAL 
SET INNER LOOP VAL 



BET NEH COLOR Si LUMINANCE 



O 
P 

o 
o 

-Q 
C 
H 

-Z- 
G) 



SET 
SET 
SET 



DISTORTION l> VOLUME 
OUTER LOOP VAL 
INNER LOOP VAL 



CHANOE COLORS ABAIN 7 
YES 



OET ORIS PLAYFIELD 
RESTORE IT 



LDA 09 

STA TEMP 

STA AUDF1 

LDA 00A0 

8TA VOLUME 

STA AUDC1 

LDA 03 



8ET VOLUME 



SAVE INNER LOOP VAL 

OET INNER LOOP VAL 

INNER LOOP DONE 7 

NO 

OUTER LOOP DONE 7 

NO 



SET INITIAL FREOUENCY 

BAVE FREO 

3ET FREOUENCY 

SET INITIAL VOLUME 

SAVE FOR LATER 

3ET HARDHARE DI8T It VOL 

SET OF TIME8 TO DO COLOR CHANBE 



TJ 
> 

CD 
m 



1170 
117! 
1172 
1173 
1174 
1173 
1176 
1177 
1178 
1179 
1180 
1181 
1182 
1183 
1184 

lies 

1186 
1187 
1188 
1189 
1198 
1191 
1192 
1193 
1194 
1193 
1196 
1197 
1198 
1199 
1200 
1201 
1202 
1203 
1204 
1203 
1206 
1207 
1208 
1209 
1210 
1211 
1212 
1213 
1214 
1213 
1216 
1217 
1218 
1219 
1220 
1221 
1222 
1223 
1224 
1223 
1226 
1227 
1228 
1229 
1230 
1231 
1232 
1233 
1234 
1233 
1236 
1237 
1238 
1239 
1240 
1241 
1242 
1243 
1244 
1243 
1246 
1247 
1248 
1249 
1230 
1231 
1232 
1233 
1234 
1233 
1236 
1237 
1238 
1239 
1260 
1261 
1262 
1263 
1264 
1263 
1266 
1267 
1268 
1269 
1270 
1271 
1272 
1273 
1274 
1273 



039 
Q40 



Q41 



PHA SAVE ON STACK 

LDX 00FF SET INITIAL COLOR 

LDY 00FF BET DELAY VALUE 

STX PCOLR0 SET HAN COLOR 

DEY DELAY 

BNE Q41 

LDA VOLUtlE SET VOLUME 

3EC SETUP SUBTRACT 

SBC »3 8ET MEM VOLUME 

BTA VOLUME I * SAVE 

STA AUDC1 SET HARDWARE DI3T V VOL 

DEX MORE COLORS 7 

BNE 040 YES, SO SHOW THEM 

INC TEMP SET NEW FRED 

LDA TEMP 8ET IT 

STA AUDF1 SET HARDWARE FREO 

PLA SET COLOR CHANBE COUNT 

SEC SETUP FOR SUBTRACT 

SBC 01 SHOM COLOR CHAN8E ABAIN 7 

BNE Q39 YES 

STA AUDC1 SET VOLUHE 

RTS 

SETUP INITIAL BRICKS 



INITBRKS JSR CLSCRN 
JSR DRAUWALL 
LDA «BC 
STA TEMP 
STA DISP+91 
LDX 09 



CLEAR THE PLAY AREA 

DRAW LEFT/RI8HT WALL 

BET BRICK CHAR 

SAVE IT 

PUT BRICK ON SCREEN 

SET • OF BRICKS TO PUT ON 8CRN 



LDA 0FIRSTBR1233 SET LO ADR OF 1ST BRICK 

STA DESADR SAVE IT 

LDA 0FIRSTBR/236 SET HO ADR OF 1ST BRICK 



STA DESADR-H 
LDA 0M4LSIZE 
JSR PUT8CRCH 
DEX 

BNE 042 
RTS 



SAVE IT 

SET AMT TO BET TO NEXT LINE 

PUT BRICK ON SCRN 

MORE BRICKS 7 

YES 

EXIT 



MOVE BRICK CHAR 



I 
I 

MOVBRICK LDA 00 

STA BSNDFLAB 
LDA 8TRI80 
BNE Q43 

I 

LDA 00 
STA ATRACT 

LDA MANP08H 

AND 03 

BNE 043 

LDA MANPOSH 

SEC 

SBC 0S 

TAY 

STA TEHP+3 

LDX MANP08V 

J8R BET8CRN 

CMP «BC 

BEQ 044 
I 

LDA HANPOSV 

CLC 

ADC 08 

TAX 

LDY TEMP+3 

JSR BETSCRN 

CMP 0BC 

BNE 043 
Q44 LDY 00 

LDA 00 

STA (DESADR), Y 

LDA 0BC 

LDY tl 

STA (DE8ADR).Y 

LDY 0BRKPOINT 

JSR ADDSCORE 

DEC BHOVES 

JSR BRKSND 

RT8 



Q43 
I 
I 
I 

BRKSND 



046 
047 



CLEAR BRICK SOUND FLAB 
IB TRIB DOWN 7 
NO, SO EXIT 

TRIB DOWN, 80 
DISABLE ATTRACT MODE 

SET MAN HORIZ POS 

IS MAN AT START OF CHAR BYTE 7 

NO, SO EXIT 

BET MAN HORIZ P08 

PREPARE FOR BUBT 

PNT TO CHAR BEFORE HAN 

8AVE IN CA8E ITS NEEDED 
BET MAN VERT P08 
8ET CHAR THERE 
IS IT A BRICK 7 
YES, 80 MOVE BRICK 

BET VERT POS 

SETUP ADD 

PNT 1 CHAR DOWN 

8ET VERT POS 

BET HORIZ POS 

BET SCRN CHAR 

BRICK 7 

NO. 30 EXIT 

SET INDEX 

8ET BLANK CHAR 

BLANK OLD BRICK CHAR 

8ET BRICK CHAR 

SET INDEX FOR CHAR TO R1BHT 

PUT BRICK AT NEW LOC 

BET POINTS FOR BRICK MOVE 

ADD TO SCORE 

REDUCE OF BRICKS TO MOVE 

MAKE BRICK SOUND 



HAKE BRICK BOUND 



LDA 0»70 
STA VOLUME 
LDA 0*08 
STA AUDF1 
LDA VOLUME 
STA AUDC1 
LDY 03 
LDX 0*40 
DEX 

BNE 047 
DEY 

BNE 046 
DEC VOLUME 
LDA VOLUME 
CMP 0*38 
BNE 043 
LDA 01 

STA BSNDFLAB 
RTS 



SET INITIAL VOL, DISTORTION 
SET FREQUENCY 



SET VOL I DISTORTION 

SET OUTER LOOP COUNT 

SET INNER LOOP COUNT 

INNER LOOP DONE 7 

NO 

OUTER LOOP DONE 7 

NO 

MORE SOUND 7 



BRICK MADE SOUND, 80 SET FLAB 



1276 
1277 
1278 
1279 
1280 
1281 
1282 
1283 
1284 
1283 
1286 
1287 
1288 
1289 
1290 
1291 
1292 
1293 
1294 
1293 
1296 
1297 
1298 
1299 
1300 
1301 
1302 
1303 
1304 
1303 
1306 
1307 
130B 
1309 
1310 
1311 
1312 
1313 
1314 
1313 
1316 
1317 
1318 
1319 
1320 
1321 
1322 
1323 
1324 
1323 
1326 
1327 
1328 
1329 
1330 
1331 
1332 
1333 
1334 
1333 
1336 
1337 
1338 
1339 
1340 
1341 
1342 
1343 
1344 
1343 
1346 
1347 
1348 
1349 
1330 
1331 
1332 
1333 
1334 
1333 
1336 
1337 
133B 
1339 
1360 
1361 
1362 
1363 
1364 
1363 



ENDMSB 

• 

I 

I 

SL1NE 
LEVEL 
SCORE 



.BYTE 39,33,43,37,0,47,34,37,30,233 I "BAME OVER- 



SCORE LINE 

.BYTE 

.BYTE 0,0,0,0,0,0,0,0, 

.BYTE 0,0,0,0,0,0,0 



0,0, •. 



SLEND - • 

DIBITS .BYTE 16,17,18,19,20,21,22,23,24,23 
LIFEPAT .BYTE 080, »90, 078 , »3C , »1 A, 038, 048, »48 
.BYTE •AA,»82,»82,»AA,0AA,«B2,»82,»AA 
BYTE »FF , »99 , »99 , 099 , 099 , 099 , 099 , 0FF 



2 

a 

m 



BRICKPAT 

I 

WALLPAT 

I 

I 

I 

MANH1 

MANH2 

MANH3 

MANH4 

HANH3 

t 

I 

I 



HORIZ M0VIN8 MAN IHA8ES 



I 
I 
I 

D08IHABE 

I 

I 

I 

I 

I 

I 

! 



.BYTE »10,»10,»38,»7C,*BA,»4B,»B4,»a2 
•BYTE »1 0,0 10, 03B,»38, 078, »AC, 048,044 
.BYTE 010,010,038,»38,03S,»2S p »2a,»10 
.BYTE 010,010,038,07C,0BA,»38,»10,028 
.BYTE 010,010,038,038,070,038,048,048 

VERTICAL M0VIN8 MAN IMABE8 

.BYTE 080, 090,078,»3C, 01 A, 038, 048, 048 
. BYTE 000, 010, 0FC, 03A, 01B, 024, 024, 000 
.BYTE 000, »10,0FC,03A, 01 8, 024, 024,000 
.BYTE 002, 012, 03C, 078, 0B0, 038, 024, 022 



DOB IMASE 



.BYTE 066 , 093 , 1 C , 022, 036 , 03E , 014, 036 

LEVEL CHARACTERISTICS TABLE 

EACH ENTRY C0NSI8TS OF: 

E1,E2,E3,E4 

El - NORMAL DOB MOVES / MAN MOVE 

E2 - HAN PULL1NB WALL D08 MOVES/HAN HOVE 

E3 - OUTER LOOP DELAY VALUE <HAIN LOOP) 

E4 - INNER LOOP DELAY VALUE CHAIN LOOP) 

.BYTE 8,8,12,0 LEVEL 1 
.BYTE 3:3,12,080 LEVEL 2 
.BYTE 3,2,11,0 LEVEL 3 
.BYTE 2,2,11,0 LEVEL 4 
.BYTE 2,1,11,80 LEVEL 3 
.BYTE 2,1,11,080 LEVEL 6 
.BYTE 2,1,10,0 LEVEL 7 



BMOVES »- •+1 
BSNDFLAB •- » + l 



• ♦I 

• +1 

- »*1 

- **4 
■ •♦! 

MAN VARIABLES 



LIVES •- 

HDELHO •- 

HDELLO •- 

TEHP »" 

VOLUHE »- 

I 

I 

I 

MANPICNO »- »+l 

MANPOSH »- •♦1 

MANPOSV *- 0+1 

I 

I DOS VARIABLES 



D08P0SH - 

DOS 1 POSH « 

D062P08H « 

D0B3P0BH « 

I 

DOSPOSV - 

D0B1P0BV 

D0B2P0BV 

D0B3P0SV 

D08FREQ1 
I 

D0BFRE02 •- »+l 

I 

DOBHOVCT •- 0*1 

DOONO •- •+! 



OF BRICK8 TO BE MOVED 
IF NO BRICK SOUND MADE 
IF BRICK 80UND MADE 
OF LIVES REMAINING 
MAIN DELAY HO VALUE 
MAIN DELAY LO VALUE 
TEMPORARY WORK 8T0RASE 
VOLUME FOR SOUNDS 



> 

> 

b 

P 

o 
o 

tj 

c 

H 
Z 

o 



n-1 

•♦1 
•♦I 



Ml »+l 
»- »+l 



»+l 



MAN'S CURRENT IMABE 
MAN'S CURRENT HORIZ POS 
MAN'S CURRENT VERT POB 



DOB 1 HORIZ POS 
DOB 2 HORIZ P08 
DOB 3 HORIZ POB 



DOS 
DOB 
DOS 



VERT POS 
VERT POB 
VERT POB 



OF TIMES HAN MOVES BEFORE DOS D0E8 
WHEN MAN NOT PULLINB WALL 

OF TIMES HAN MOVES BEFORE DOS 
WHEN MAN PULLINB HALL 

INDICATES WHEN DOB CAN HOVE 

CURRENT DOB 




CO 
CO 

c 
m 

en 



CASADAPTER 

"IT REALLY WORKS!" 



CASADAPTER is a cassette interface that al- 
lows you use your own cassette recorder or 
stereo with the Atari 400/800/1200®. 
CASADAPTER will handle motor control, audio 
and data channels. 

'34.95 



48K 



RAM BOARD FOR: 

THE ATARI 400® 
'115.00 




COMPUTER PRODUCTS 



12 Scamridge Curve 
Buffalo, New York 14221 
(716) 632-3441 

Dealer Inquiries Invited 
"Product of Gemini Software 



Add $ 2.50 shipping. 

Send check or money order 

C.O.D. accepted 

New York State Residents 

add 7% tax 

®Atari is a trademark of 

Atari, Inc. 



"MAGIC DUMP is a screen dump utility that allows 
you to dump a Hi-Resolution graphics picture to a 
printer in a variety of different sizes. MAGIC DUMP 
is used in the RIGHT hand cartridge slot, so it is 
always ready to use. 

MAGIC DUMP will work with all Epson printers and 
Gemini printers, the Centronics 739 printer, and the 
Prowriter or N.E.C. printers. (eg gc 



*GTIA DRAW is a drawing program that uses all the 
features of Atari's® new GTIA chip. GTIA DRAW will 
give you three extra graphics modes, Mode 9 (16 
luminances and one color), Mode 10 (8 luminances 
and color), or Mode 11 (16 colors and one lumi- 
nance). 

GTIA DRAW will allow you to: 

• Add text to pictures 

• Blank horizontal or vertical lines 

• Shift the screen in any direction 

• 'ZOOM' in on certain areas of a picture 

• Fill portions of a screen 

• Work on two different screens simultaneously 

'49.95 



*THE DRUMESISER is a unique sound synthesizing 
tool that allows the creation of sounds such as a 
drum, piano, organ, harpsichord, or electronic syn- 
thesizers. Trie different types of sounds created are 
limited by the user's imagination and ambition. 
THE DRUMESISER comes with an Editor, which 
allows you to create your own sounds, a Player, 
which will allow you to play the different instru- 
ments, and the Memory Options, which make it pos- 
sible for you to playback any sounds that you have 
recorded. 

'49.95 



A 



ATARI 



-o 



Software Gallery ma.l order A 

WE'RE THE ONLY SOFTWARE AND COMPUTER STORE YOU'LL EVER NEED! feV ~ ■ ^ 



J WE'RE THE ONLY SOFTWARE AND COMPUTER STORE YOU'LL EVER NEED! HHF 

P.O. BOX 3354, CHERRY HILL, N.J. 08034 



ATARI 



TOLL FREE (800) 992-3300 



FOR ORDER 
ONLY 



FOR INFORMATION & N.J. CALL (609) 596-1234 



ATARI HOME COMPUTERS 

Atari 600 $ 1A9 

Atari 800 XL Call 

Atari 1200XL Call 

1050 Disk Drive Call 



SOFTWARE 




1010 RECORDER J 7fl.95 

1020 PRINTER s 269. 85 

1027 DAISY WHEEL PRINTER '299.95 

830 MODEM M59.95 ASTEROIDS J 25.95 STAR RAIDERS s 30.95 

120 PRINTER 1254.95 CENTIPEDE s 30.95 ATARI WRITER «B9.95 

CX419 BOOKKEEPER KIT >194.95 CAVERNS OF MARS S 30.95 DIG DUG '34.85 

CX48I ENTERTAINER PKC '64.95 DEFENDER '30.95 0IX '34.95 

CX482 EDDCAT0R PKG '131.95 GALAXIAN '30.95 MICKEY MOUSE '37.95 

CX483 PROGRAMMER PKG '52.95 MISSILE COMMAND '25.95 PAIKT '34.85 

CX484 COMMUNICATOR PKG. ...'324.95 PAC-MAN '30.95 SUPERMAN '3645 



PRINTERS 



C-ITOH 



EPSON 

rx-80 GALL 

MX-BOFT CALL 

fx-80 CALL 

Fx-ioo CALL 



RANA 

Dish DPlue 

CALL 



OKIDATA 

82-A $395 

83-A $834 

84-P $949 

92 $495 

93 



PROWRITER 

PROWRITER 2 $845 

STARWRITER $1199 

PRINTMASTER $1545 

G0RRILA $199 



STAR 

GEMINI TO $314 

GEMINI 15 $449 

Smith 
Corona 

tp-1 *525 



DISKS 

ELEPHANT VERBATIM 

SS/SD (10) S18 SS/00|1D)S25 CALL 



MODEM 

Hayes 

Smart $204.95 

Smart 1200 $534.95 

Chronograph $199.95 

Micromodem 100 $299.95 

Micromodem II $279.95 



RAM BOARD 

Intec 



32K... 

48K.... 
64K.... 
Clock. 



$62.95 

$81.95 

$105.95 

$29.95 




Microsoft Basic 2 

$82.95 
Donkey Kong 

$37.95 

Omnimon 

$81.95 



MONITORS 

AMDEK (300) $154.95 

COLOR I $! 

GORILLA 



m 



WICO 



The Boss$15.95 Joystick $22.50 

Famous Red Ball $25.95 

Track Ball $49.95 



COMPUTER COVER 



Features heavy duty canvas 
with vinyl interior - waterproof 

ATARI son $7.99 

ATARI 810 $7.99 

EPSON MX an $7.99 

EPSON MX SOFT 17.99 

OKIDATA U82A $7.99 



In Home Key 
Board for 400 

$54.95 

Surge Protector 

4 OUTLET (37.85 

6 OUTLET *82.95 



We carry a large selection of Atari software, call for FREE catalog with order 
...or send $1 (refundable with order) UPS shipping 3% for hardware and 

$3 for software. N.J. resident add 6% sales tax. 




Kott: Mai, Epai. BM art OWiWa an 



PRICES SUBJECT TO CHANGE WITHOUT TOJICiE, 



PAGE 124 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



BOOT CAMP 

AN ASSEMBLY LANGUAGE 
TUTORIAL COLUMN 



by Tom Hudson 



Welcome to the third installment of Boot Camp. 
As promised last issue, we're going to cover more 
6502 instructions this time, and begin exploring the 
world of simple mathematical operations. 

Before we start with the math operations, though, 
let's look at an instruction that will help us during 
the testing of the programs we write in this column. 
BREAKing away. 

Remember the do-nothing program from last 
issue? When we executed it with the "G" (execute 
program) command with the assembler editor car- 
tridge, it ran forever. This is hardly a good way to test 
programs. Imagine trying to stop the program at a 
specific instruction with the BREAK key when 
hundreds of thousands of operations are being exe- 
cuted each second. You can see that this would be 
nearly impossible. 

Luckily for us, the 6502 has a handy instruction 
called BRK (or BREAK). This instruction does the 
same thing as the BREAK key on the keyboard when 
an assembly program is executing. The nice part is 
that it will stop the program EXACTLY where we 
want it to stop. 

The short program in Figure 1 has a BRK instruc- 
tion after the load accumulator (LDA) instruction. 
The accumulator will be loaded with $4F (79 
decimal) and the computer will stop. Type the pro- 
gram into your computer and assemble it into 
memory with the ASM command. 



It *= $9609 

f LDA tt$4F 

30 BRK 

40 . EHD 



; START ADDRESS 
;L0AD ACCUMULATOR 
;AMD STOP 



Figure 1. 



After the program is assembled, go to the DEBUG 
mode with the BUG command. To execute the short 
program, type: 

G600 

The program will execute in a fraction of a second 
and the computer will return with a display similar to 
Figure 2. 



0*02 



A=4F X=00 Y=00 P=30 5=00 



Figure 2. 



Note that the accumulator (A) equals $4F. The X, 
Y, processor status and stack registers are also dis- 
played, but have no significance to us at this time, 
since we didn't change them. 

Now you can see that the BRK instruction can be 
helpful in the debugging stage of a program. We will 
be using it to stop the computer when we want to 
check the results of certain operations. 
Using index registers. 

Index registers were mentioned briefly last issue. 
As you may recall, there are two index registers in the 
6502, the X and Y registers. These two registers are 
built into the 6502 microprocessor chip. Each is 
made up of 8 bits, allowing a range of values from 
0-255. 

The first instructions we'll look at are the LDX 
(load X) and LDY (load Y) instructions. These 
instructions are similar to the LDA (load Accumula- 
tor) instruction we examined last time. Their for- 
mats are: 

LDX#n (IMMEDIATE) 
LDXnn (ABSOLUTE) 
LDXn (ZERO PAGE) 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 125 



LDXnn.Y (INDEXED Y) 

LDX n,Y (ZERO PAGE INDEXED Y) 

LDY #n (IMMEDIATE) 

LDYnn (ABSOLUTE) 

LDY n (ZERO PAGE) 

LDY nn,X (INDEXED X) 

LDY n,X (ZERO PAGE INDEXED X) 

The LDX and LDY instructions place a specified 
value in the X or Y register, respectively. For exam- 
ple, the following instruction will load the X register 
with $3A (58 decimal): 

LDX #$3A 

The following instruction will load the Y register 
with the contents of memory location $3F00: 
LDY $3F00 

The following instruction will load the X register 
from the page zero location $4D, which is the attract 
mode counter: 

LDX $4D 

Like the LDA instruction, both the LDX and LDY 
instructions set the sign and zero flags depending on 
the number loaded into the register. 

Storing the contents of the X and Y registers is just 
as easy as loading them. The following addressing 
modes are available with the STX (store X) and STY 
(store Y) instructions: 

STXnn (ABSOLUTE) 

STXn (ZERO PAGE) 

STX n,Y (ZERO PAGE INDEXED Y) 

STYnn (ABSOLUTE) 

STYn (ZERO PAGE) 

STY n,X (ZERO PAGE INDEXED X) 

Unfortunately for us, the designers of the 6502 
decided to limit indexed store X and Y instructions 
to page zero, even though there is a non-zero page 
load instruction. This is simply something assembly 
programmers must live with. 

Like the STA instruction, the STX and STY 
instructions do not affect any status flags. 

The STX and STY instructions are very easy to 
use. For example, to store the X register at location 
$4FFB, simply use the instruction: 
STX $4FFB 

In addition to the LDX/LDY and STX/STY 
instructions, the 6502 provides four more instruc- 
tions which help the programmer with X/Y opera- 
tions. These are the TRANSFER instructions. 

The transfer instructions allow quick movement 
of information from one register to another. They are 
TAX, TAY, TXA and TYA. Two other transfer 
instructions, TSX and TXS, are used in stack opera- 
tions, and we'll look at them in a later article. 

The TAX and TAY instructions transfer the con- 
tents of the Accumulator (A) to the X or Y register, 
respectively. The A register is unchanged. 



Figure 3 illustrates how the TAX instruction 
works. Type this short program into your computer 
and assemble it into memory. 



16 *= $8600 

20 LDA ttSOF 

30 TAX 

40 LDA tt$6A 

50 TAY 

60 BRK 

70 .END 



;START ADDRESS 
I PUT $0F IN A 
;PUT IN X, TOO 
;PUT $6A IN A 
;N0M PUT IN Y, TOO 
;AND STOP! 



Figure 3. 

Line 20 loads the accumulator with $0F ( 15 
decimal). 

Line 30 transfers the contents of the accumu- 
lator to the X register. At this point both the 
accumulator and the X register will contain $0F. 
Line 40 loads the accumulator with $6A 
(106 decimal). 

Line 50 transfers the contents of the accumu- 
lator to the Y register. Now the accumulator and 
the Y register will contain $6A. The X register 
will be unchanged. 

Line 60 will BREAK the execution of the 
program. 

After the program in Figure 3 is assembled into 
memory, go to DEBUG mode and execute it by 
typing: 

G600 
After execution, the screen of your computer 
should look like Figure 4. 



0606 



A=6A X=0F Y=6A P=30 S=00 
Figure 4. 



You can see that the X register contains $0F and 
that the A and Y registers contain $6A. Try some 
different combinations and observe the results. 

The two other transfer instructions we are con- 
cerned with here are the TXA and TYA instructions. 
As you may have guessed, these instructions do the 
opposite of the TAX and TAY instructions. That is, 
TXA will transfer the contents of the X register to the 
accumulator, and TYA will move the Y register's 
contents to the accumulator. 

Here's a small problem for you to solve using the 
instructions we've covered so far. This is a simple 
data manipulation operation using the A, X and Y 
registers and as many locations as necessary. 

PROBLEM: Write a program which starts with 
A=$03, X=$07 and Y=$14. Then write the code 
necessary to change these registers so that when the 
program ends, the registers are A=$07, X=14 and 
Y=$03. 

The code necessary to perform this change is only 
four lines long, and there are many ways to do it. 
Next issue I'll show several possible solutions. 

This issue, we've only shown how to make the X 



PAGE 126 



A. N.A.LO.G. COMPUTING 



ISSUE 15 



and Y registers contain the values we want. In order 
to make the X and Y registers do some real work, 
we'll need to cover the branch-on-condition intruc- 
tions. These will be discussed next issue, along with 
X and Y register indexing techniques. 
It all ADDs up. 
I'm sure that just about every person reading this 
column by now wants to start working with some- 
thing more interesting than loading and storing 
bytes, right? Well, let's take a break from all that 
admittedly dull stuff and get on with something fun, 
actual addition. 

We'll start out with some simple addition, work- 
ing with values from 0-255. This is known as single- 
byte integer arithmetic, and is the simplest kind of 
math on the 6502. 

Why only integers from 0-255? Remember that all 
arithmetic operations must be processed through the 
accumulator, or A register. The accumulator is made 
up of only 8 bits, and can't hold any number greater 
than 255. The accumulator doesn't know what a 
decimal point is, either, so we are limited to integers 
for the time being. 

Binary or BCD? 

The 6502 microprocessor has the option of per- 
forming arithmetic instructions in two different 
modes, BINARY and BINARY CODED DECIMAL 
(BCD). Let's look at how both these systems work. 

Binary arithmetic, as we have noted before, pro- 
duces numbers from 0-255 in one byte. All 8 bits are 
used for the number. These numbers can be consi- 
dered either signed or unsigned by the programmer, 
but they are handled the same by the computer. Since 
all 8 bits are used to represent the number, the value 
of a byte is simply the byte's decimal contents. 

BCD arithmetic, on the other hand, is a more 
human approach to computer math, and easier to use 
in input-output operations. 

In BCD math, the byte is split into two 4-bit 
sections, or NYBBLES. Each nybble contains one 
decimal number, from 0-9. With this system, each 
byte contains two decimal numbers, allowing easy 
base-10 number storage. Of course, the BCD num- 
bering system requires more storage than binary, 
since the value of a byte can now only range from 
0-99, rather than 0-255. The nice thing about BCD 
is that when looking at the hexadecimal representa- 
tion of the byte, you see the decimal value of the byte. 
For example, $56 is 56 decimal. 

We'll cover BCD math later in this series, when we 
get into screen I/O. For now we'll stick with binary 
math. Even though it may seem more difficult, 
binary math is much more important at this early 
stage. 

Getting into BINARY. 

The 6502 can handle two different types of math, 
so how does it know which one you want to use? The 
answer lies in a single-bit flag in the processor status 



register, called the DECIMAL MODE flag. 

The decimal mode flag has two states. When set 
(1), the decimal mode is selected. When cleared (0), 
the binary mode is selected. This flag is extremely 
important! The following example illustrates this 
fact. 

Let's say you want to add two binary numbers, 
$23 and $18. A normal binary add would give a 
result of $3B. 

What if the decimal mode flag was set by mistake? 
The add would give a result of $41, the sum of 23 and 
18. If your program adds or subtracts numbers with 
the decimal mode incorrectly set, the results can be 
very confusing. Moral: ALWAYS know the setting 
of the decimal mode flag. 

For our purposes, until further notice, we will 
always CLEAR the decimal mode with the CLD 
(clear decimal mode) instruction. The format of this 
instruction is: 

CLD 

This is a very simple instruction, but easy to forget. 
If you have trouble remembering things ( like myself), 
I suggest that you tape an appropriate message to 
your monitor, computer, forehead, etc. This will save 
an incredible amount of debugging time. 

Important: When writing assembly subroutines 
for BASIC programs, you must clear the decimal 
mode if you're doing any arithmetic in the subrou- 
tine. BASIC uses the floating-point arithmetic pack- 
age built into the computer, which sets the decimal 
mode. The first time I wrote a BASIC assembly 
subroutine with math, it took me two days to find the 
problem. Once again, write a note. 

Now that I've warned you about the evils of 
decimal mode ignorance, let's get on with some 
actual addition! 

Add 'em up! 

First we'll cover single-byte additions, the simplest 
kind. These types of additions are sufficient for 
general counters, changing color registers, or any 
operation in which the result will not exceed 255. 

The 6502 has only one add instruction, ADC add 
with carry). This instruction has the following 
formats: 

ADC#n (IMMEDIATE) 

ADCnn (ABSOLUTE) 

ADCn (ZERO PAGE) 

ADC (n,X) (PRE— INDEXED INDIRECT) 

ADC (n),Y (POST-INDEXED INDIRECT) 

ADC n,X (ZERO PAGE INDEXED X) 

ADCnn.X (INDEXED X) 

ADCnn,Y (INDEXED Y) 

The ADC instruction adds the number at the 
memory location specified in the operand to the 
accumulator and places the result in the accumula- 
tor. Depending on the result, the 6502 will alter the 
sign, overflow, zero and carry flags. 



ISSUE 15 



A. N.A.LO.G. COMPUTING 



PAGE 127 



Let's look at a simple single-byte addition opera- 
tion, using the immediate format. We will add 23 and 
14 decimal and place the result in a location called 
ANSWER. Figure 5 shows the code needed to per- 
form this operation. 



10 LDO tt23 

29 CLC 

38 ADC tti4 

40 STA ANSWER 



;PUT 23 IN A 
;CLEAR CARRY FOR ADD 
;AND ADD 14 TO IT! 
;5AVE RESULT 



Figure 5. 



The first line in Figure 5 places the number 23 in 
the accumulator. Simple enough, right? 

The second line introduces a new operation code, 
CLC (clear carry). The CLC instruction places a zero 
in the 6502 carry flag. This is an important instruc- 
tion to remember, and should always be present in 
single-byte addition operations. 

Why is the CLC instruction so important? The 
answer lies in the structure of the 6502 ADC instruc- 
tion. Remember, ADC means "add with CARRY." 
Whenever an addition is performed on the 6502, the 
result is set to ACCUMULATOR + OPERAND + 
CARRY. 

Here's an example of what can go wrong when the 
programmer is not sure of the contents of the carry 
flag. Let's say the carry happens to be set to 1. Fred 
the careless programmer wants to add 1 + 1 to verify 
that the answer is indeed 2, so he writes the following 
code: 

LDA//1 

ADC#1 

STA ANSWER 

When Fred runs the program, he is astounded to 
find that one plus one is three! If Fred had only 
inserted a simple CLC instruction, his life would 
have been much happier, as well as more accurate. 

Suffice it to say that in any single byte addition 
operation, you should always clear the carry flag 
BEFORE the ADC instruction. 

The third line adds 14 to the accumulator, giving a 
result of 37 ($25 hex), which is, of course, correct. 

You can use any of the 8 addressing modes with the 
ADC instruction. All produce the same results, they 
just get their data with different methods. 

Flag-waving. 

Earlier I mentioned the flags altered by the ADC 
instruction. These are the sign, overflow, zero and 
carry. 

The SIGN flag indicates the sign of the result. The 
contents of the accumulator's 7th bit are placed in 
this flag. If the flag is zero after an add, the result is 
considered positive. A one in this flag indicates a 
negative result. See Issue 13 's Boot Camp for an in- 
depth discussion of the sign flag. 

The OVERFLOW flag is set to the exclusive-or of 
bits 6 and 7 of the result. The overflow flag is rarely 



used, but it's a good idea to know what happens to it 
during processing. 

The ZERO flag is set to one if the result of the add 
was zero , and is set to zero if the result was NOT zero . 

The CARRY flag is set to one if the result of the 
add is greater than 255. This flag is important in 
multi-byte addition (for numbers greater than 255). 
We'll be examining multi-byte operations next issue. 

All these flags are important in the computer's 
decision-making process. Depending on the result of 
an operation, the programmer can go to other parts 
of the program using comparison and branch instruc- 
tions (similar to IF/THEN statements in BASIC). 
We will also cover these operations next issue. 
Starting with subtraction. 

Now that we've covered simple addition, let's do a 
little subtraction. Subtraction is just as easy as addi- 
tion, with a couple of simple differences. Shown 
below are the formats of the 6502 subtraction 
instruction, SBC (subtract with borrow). You will 
notice that the SBC has the same formats as the ADC 
instruction. 

SBC#n (IMMEDIATE) 
SBCnn (ABSOLUTE) 
SBCn (ZERO PAGE) 
SBC(n,X)(PRE-INDEXED INDIRECT) 
SBC (n),Y (POST-INDEXED INDIRECT) 
SBC n,X (ZERO PAGE INDEXED X) 
SBCnn,X (INDEXED X) 
SBCnn,Y (INDEXED Y) 

The SBC instruction subtracts the number at the 
memory location specified in the operand from the 
accumulator and places the result in the accumulator. 
Like the ADC instruction, the sign, overflow, zero 
and carry flags will be altered. 

For the time being we'll work only with single-byte 
subtractions, since they're the easiest to understand. 
We will subtract 14 from 23 decimal and place the 
answer in a location called ANSWER. Figure 6 
shows the code needed for this operation. 



10 LDA 1*23 

20 SEC 

30 SBC JJ14 

40 STA ANSWER 



;PUT 23 IN A 
;SET CARRV FOR SUB. 
;AND SUB 14 FROM IT! 
;5AUE RESULT 

Figure 6. 



The first line in Figure 6 simply places the 
number 23 in the accumulator. 

The second line introduces another new operation 
code, SEC (set carry). This instruction sets the carry 
flag to one. Like the CLC instruction in single-byte 
additions, the SEC instruction is a must for all single- 
byte subtractions. 

The SBC instruction is strange in that it subtracts 
the contents of the memory byte indicated in the 
operand and the complement of the carry flag from 



PAGE 128 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



the accumulator, placing the result back in the 
accumulator. Here's an example. Let's say the accumu- 
lator contains 4 decimal, and we're subtracting 3 
decimal from this. Assume the carry flag is clear (0). 
The computer will subtract 3 from 4, then subtract 1 
from this (the complement of the carry flag), giving a 
result of zero. 

By setting the carry to 1, we make sure that the 
subtraction of our two numbers is unaffected by the 
subtraction of the carry's complement, which in this 
case is zero. The carry flag is used as a borrow in 
subtraction and not necessary in single-byte opera- 
tions. 

The third line of Figure 6 performs the subtrac- 
tion. The result will be 23-14-0 or 9. 

The last line of the program places the result in the 
location labeled ANSWER. The result will still be in 
the accumulator. 

Like the ADC instruction, the SBC instruction 
works the same with all 8 addressing modes available 
with the instruction. The SBC instruction affects the 
6502 status flags in the same way as ADC. 

Applying what we've covered. 

We've now progressed to the point where we can 
write simple math programs using addition and sub- 



traction. Let's write a program to solve the equation: 
4+5+34-(8-7) = ? 
Unlike BASIC, we can't simply code this equation 
right into our computer. In assembly language, it's up 
to the programmer to figure out the procedure 
needed to obtain the result and code it. 

Let's look at the equation shown above. In any 
mathematical equation, the expressions in paren- 
theses must be solved before proceeding with the rest 
of the equation. If we simply solve the equation from 
left to right, we will get an incorrect answer: 
4+5+34-8-7 = 28 
In order to solve the equation correctly, we must 
solve it as follows: 

(8-7) = 1 
4+5+34-Q) = 42 
Now that we know how to proceed, let's write a 
section of code to solve the equation. Figure 7 
shows one possible solution. 



;N0 DECIMAL NODE! 

;PUT 8 IN A 

;5ET CARRY, 

; SUBTRACT 7 FROM 8 

;AND SAVE RESULT 

;N0W PUT 4 IN A 

;CLEAR CARRY, 



18 


*- 


$8688 


28 


CLD 




38 


LDA 


88 


48 


SEC 




58 


SBC 


«7 


68 


STA 


HOLD 


78 


LDA 


t*4 


88 


CLC 





DO YOU OWN A 

TRACKBALL 
JOYSTICK?? 

YOU NEED AN 

/4CE TRAK-ADAPT 

* LETS YOU CONVENIENTLY PLAY 
TWO PLAYER GAMES WITH 
ONE TRACKBALL OR JOYSTICK!! 

* NO NEED TO SPEND $ $ $ 
ON A SECOND CONTROLLER 

FOR ALL ATARI HOME COMPUTERS 
AND 2600 VCS 

SEND CHECK OR 
MONEY ORDER TO 



CO 



>4CE 

PO BOX 691-A 
HICKSVILLE 
N.Y. 11802 




SPECIAL OFFER 

$9.95 

ADD $2. POSTAGE 

AND HANDLING 

NYS RES ADD 8 1/4% 

TRAK-ADAPT it makes sense 

ATARI IS A REGISTERED TRADEMARK OF ATARI INC' 



♦ THE ACE DEAL* 

TRAK-ADAPT & 

6' E XTENSION S1 6.95 

WICO TRAKBALL & 

TRAK-ADAPT & 
EXTENSION $59.95 




KB400™ s 89.95 

Exact Atari™ keyboard layout — Full Year Warranty 
New! Speed Blaster™ rapid fire joystick add on $12.95 



l6kATR8000 $299.95 

64k ATR8000 w/CP/M .... $449.95 

OS/A+ 4.1 $ 49.95 

I— 5^"TandonDrive $249.95 

2—514" Tandon Drives $449.95 



8" Drives CALL 

4-Connector Drive Cable .... $35.00 

2-Connector Drive Cable .... $25.00 

8" Drive Adapter $19.95 

Parallel or Serial Cable $29.00 



TELEPHONE 

309/343-41 14 

Weekdays 9am-5pm 
Saturday 9am- 1 2pm 

Central Time 

KB 400 & Speed Blaster 
ire Trademarks of Atto-Soft 



SEND CHECK OR MONEY ORDER TO: 

flTTD-SQfT 

832 E. Third Street 
Galesburg, Illinois 61401 



PLEASE ADO: 

$3.50 Postage & Handling 
COD — $2.00 additional 

Illinois Customers 

5% Sales Tax 

American 

Express Accepted 



Atari is a Trademark of Atari, Inc. 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 129 



96 ADC ttS 




eiee 


CLC 




8116 


ADC 


834 


0120 


SEC 




0130 


SBC 


HOLD 


0146 


5TA 


ANSWER 


8156 


BRK 




0155 






6166 


HOLD 


*-#+l 


6176 


AN5WEF 


*=#+! 


8180 


.END 





ADD 4 & 5 

; CLEAR CARRY AGAIN 

;ADD 34 TO LAST tt 

;SET CARRY, 

; SUBTRACT EARLIER tt 

J AND SAVE ANSWER! 

;ALL DONE! 

J TEMP . HOLD AREA 
JFINAL RESULT 



Figure 7. 

Line 10 tells the assembler to place the pro- 
gram at location $0600, a safe location in com- 
puter memory. 

Line 20 clears the decimal mode, to avoid 
any accidental BCD results. 

Line 30 places the number 8 in the accumu- 
lator. 

Line 40 sets the carry flag to get ready for a 
single-byte subtract. 

Line 50 subtracts 7 from 8, leaving the result 
in the accumulator. 

Line 60 stores the result of the expression in 
parentheses at a memory location called HOLD. 
This is done because we will need this number in 
a moment. 

Line 70 places a 4 in the accumulator in 
order to start solving the first part of the 
equation. 

Line 80 clears the carry flag to get ready for a 
single-byte add. 

Line 90 adds 5 to the accumulator, leaving 
the result in the accumulator. 

Line 100 clears the carry again for the next 
addition. In this case, the CLC is not necessary 
since we know the previous add did not exceed 
255, but it's a good idea to get into the CLC 
habit. 

Line 110 adds 34 to the accumulator, once 
again leaving the result in the accumulator. 

Line 120 sets the carry flag for the next sub- 
tract operation. 

Line 130 subtracts the result of the expres- 
sion in parentheses (stored in HOLD) from the 
accumulator and gets the final result. 

Line 140 places the final result in the memory 
location called ANSWER. 

Line 150 BREAKS the program execution. 
At this point the accumulator should equal 42 
decimal ($2A hex). 

Lines 160 and 170 set up the one-byte stor- 
age areas, HOLD and ANSWER. The assembler 
directive *=*+l simply tells the assembler to 
reserve one byte for each label. 

Line 180 tells the assembler that the end of 
the source code has been reached. 

After this code is typed in and assembled into 
memory, execute the program from DEBUG mode 



with the command: 

G600 
The program will execute very quickly and return 
with a screen similar to Figure 8. 

8618 A=2A K=0F Y=6A P=31 5=80 

Figure 8. 

Note that the accumulator contains $2A (42 
decimal). This is the correct answer to our equation. 

This example shows how you can perform simple 
add-subtract operations in assembly language. Of 
course, we're limited to one-byte integers, but we'll 
soon exceed these limitations. 

Until next time. . . 

Try your own problems until you're proficient 
with the 6502 add and subtract operations. Try using 
the various addressing modes to see how they work. 
In order to learn assembly language (or any other 
language, for that matter), you'll have to roll up your 
sleeves and dig in. 

Next issue will cover a lot of material, including 
the assembly equivalent of the BASIC IF/THEN 
statement, index register usage and multi-byte addi- 
tion and subtraction. □ 



*>$?>*' 






^°' 



<e 






i?*fi& 



<& c 



09 v 



,tf 1 






,es 



e s> "o^ E 



,&%*f 



fiV 



loVT 



<&<i- 






^:^r> es *" ...»<^ 






.*«.« ,^ 



s<* 



\V& 






■**«* 



»<o B 



\\e< 



30" 






?<o>" 



a6 






,\e< 




g> Ct 



e* 



V (N0> 



J*<* 












PAGE 130 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



(continued from, page 28) 

speedster can drive over water and residents' lawns, 
or through houses and trees (something I could 
never accomplish in my Supra). 

In the more exciting two player version, both cars 
remain on the screen simultaneously until one or the 
other eventually pulls ahead to the edge of the 
screen, thus penalizing his opponent. Competition 
can be fierce, and you'll find yourself gritting your 
teeth as you strive to speed on ahead of your pursuer. 

Steering of the race is accomplished by joystick 
movements, with the fire-button acting as the brake. 
The number of laps defaults to 3 if you don't overide 
it with your own selection. An information readout 
at the bottom of the screen displays current lap time, 
last lap time and best time. On two player games it 
displays lap times of both players and the current lap 
number. On the one player game, you're alerted by a 
sound cue if you've beaten your best lap time. 

In the two player game, the cars just bump into 
one another when they collide, rather than crash (a 
nice feature). Though the maximum speed of both 



cars will be identical, you'll find yourself pulling 
ahead or dropping behind depending on how you 
take the corners. 

Two pre-defined tracks (complete with orchards, 
houses and ponds) are included in the program. 
However the neatest feature in the game is, perhaps, 
Make Trax. This option lets you define nearly any 
type of road course your imagination can come up 
with, plausible or not. And all of the scenery is there 
with it: trees, buildings, swamps; all kinds of neat 
things to hit. Your newly laid out course can be saved 
to cassette or disk, to be recalled at a later date. 

A well designed menu screen allows you to choose 
and construct everything from mile-long straight- 
aways to barely negotiable curves, including inter- 
sections. This is the next step up from the Hot 
Wheels cars you had as a kid. (I've almost been 
tempted to lay out how some of the crazily designed 
New England roads should have been arranged!) 

Rally Speedway (compatible with the 400/800/ 
1200XL) is one of the nicest designed and executed 
games for the ATARI, and right up there with Pole 
Position as one of the best of the auto-race games. 
□ 




Accessories 






sax 



: 
NSW YORK 



810 POWER! 



|8BSBB8BBHIBBBBBBBB 

jaiiiiiiiiiHBBBBisa 

~ii i) i i i i ii i n 1 a g b b s e 

i i i i i i i i ih h m b b 

BBBBiiiiiiiiBHBB 

PBBBBBiiiiiiiiBg 



ARCHIVER 





EDITOR 



■Di um.n } n 1 m:im*mzw-i tmimtm 1 



n ana n nan cum en mm ran 



□ en can men mi 



111111 



FORMATTER 



■-cm.Bi!.H:«:ii:; ><.* 



MAPPER 



The CHIP'" with Archiver Software allows: 

Automatic Back-ups of any Disk Program. Easy enough for a beginner to use. 

Also includes Sector Editor. Disassembler, Mapper, and Custom Formatter. 

All this for only $9995 plus shipping 

Happy owners? 

Update your Happy 810 Enhancement now with ARCHIVER/EDITOR Software. 
Supports multiple drives and makes your Happy drive compatible with the CHIP! 
Just $3995 plus shipping 

Visa & MasterCard or C.O.D. call now (815)229-2999 for immediate shipment 
or send check or M.O. to: 



MIGHTY BYTE COMPUTER 

828 Green Meadow Ave., Dept. AG 
Rockford, Illinois 61107 



For Technical Support 
and Drive Service 
Call 7pm-11pm CST 



Thank You lor making our 1983 an Outstanding Success! 



ARCHIVER Soltwan 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 131 



INDEX TO ANALOG COMPUTING ISSUES 1-14 



by Brian Moriarty 



ANALOG Computing's first monthly issue seemed like the ideal opportunity to publish our first 
general index. Those of you who've been with us since the beginning will enjoy many a nostalgic moment as you 
peruse these listings. 

I've divided the articles into three major catagories: General-Interest Features, Product Reviews and Program 
Listings. The Listings category is further subdivided into Programming Aids, Disk Utilities, Entertainment and a 
Miscellaneous slush pile. Titles appear in chronological order, with all articles in a given issue listed alphabetically 
by author. Columns, reader comments and other regular sections of ANALOG Computing are not included. 

We have a few copies of Issue 2 left in a closet somewhere, plus a limited supply of Issues 7, 8 and 10 through 14. 
The price is $4.00 per issue, which includes first class shipping and handling. Send check or money order to Back 
Issues Department, ANALOG Computing Magazine, P.O. Box 23, Worcester, MA 01603. □ 



Feature Articles 



Author 

Bachand, Charles 
Pappas, Lee 
Walter, Russ 
Bachand, Charles 
Stewart, Ed 
Pappas, Lee 
LaFerla, Robert 
Latino, Bill 
Patchett, Craig 
Rowland, Rick 
Smith, George 
Roberts, B.B. 
Meyer, Robert 
Kelley, Patrick 
Knoble, Peggy 
Tillman, Raymond 
Sueirro, Michael 
Hough, William 
Kalagher, Richard 
Krischan, Thomas 
Rosen, Marc 
Seftor, Larry 
Sueirro, Michael 
Bell, Jon 
Editorial 
Layne, Darren 
Meyer, Robert 
Pappas, Lee 
Strauss, Daryll 
Volk, William 
Griffin, Brad 
Herring, Richard 
Hough, William 
Krischan, Thomas 
Krischan, Thomas 
Lever, Kevin 
Litkowski, Ken 
Krischan, Thomas 
Krischan, Thomas 
Lyons, Richard 
Staff 

Stephens, Jessie 
Caruthers, Marcy 
Despain, Gerald 
Leyenberger, Arthur 
Caruthers, Marcy 
Peacock, Kyle 
Peacock, Kyle 



Title 

Parlez-Vous Pascal? 

How To Become A Star Commander 

Graphically Speaking 

You're Wasting Arrays 

Unleash The Power Of Atari's CPU 

Program In Style 

Player/Missile Graphics 

Is There A Laser Disk In Your Future? 

Atari Display Lists 

Asteroids Controller 

More On PEEKs and POKEs 

Pirating! 

A Low-Bucks Memory Upgrade 

Atari: 2019 

BASIC Crossword Puzzle 

Atari BASIC Meets Complex Data Structures 

Restore Your Mental Health 

Mixing GTIA and CTIA Graphics 

On Converting To Atari Microsoft BASIC 

Beginner's BASIC 

Audio In Your Programs 

Missing Capabilities In Atari BASIC 

Relieve Your Floating Point Blues 

A Trip To The Nimitz 

Whither Atari? 

Left-Handed Joysticks 

Build A Keyboard For Your 400 

Atari In 1983 

Have The Computer Type It In 

Go FORTH! 

The Challenge Of The Quest 

Installing Your Own GTIA Chip 

Accessing Bulletin Board Systems 

Beginner's PILOT 

Epson Printing Modes 

Using A Percom Drive With DD Disks 

A Lisp Tutorial 

BASIC Programming Techniques 

Copyright Basics 

Strings In Atari BASIC 

The 1983 West Coast Computer Faire 

What Software Reviewers Are Saying 

Atari Word Search 

Notes To The Atari Microsoft BASIC Manual 

De Re Letter Perfect 

Atari Graph 

Fine Scrolling, Part 1 

Fine Scrolling, Part 2 



Issue 


Page 


1 


6 


1 


24 


1 


28 


2 


12 


2 


20 


3 


44 


5 


33 


5 


20 


5 


43 


5 


62 


5 


12 


6 


39 


6 


68 


7 


12 


7 


71 


7 


49 


7 


19 


8 


36 


8 


77 


8 


54 


8 


27 


8 


88 


8 


44 


9 


89 


9 


4 


9 


23 


9 


102 


9 


117 


9 


119 


9 


42 


10 


56 


10 


94 


10 


49 


10 


113 


10 


61 


10 


92 


10 


85 


11 


20 


11 


66 


11 


35 


11 


12 


11 


46 


12 


45 


12 


48 


12 


43 


13 


47 


13 


113 


14 


25 



PAGE 132 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



Product Reviews 



Author 

Pappas, Lee 
Pappas, Peter 
Staff 
Staff 
Staff 
Staff 
Staff 
Staff 

DesChenes, Michael 
DesChenes, Michael 
DesChenes, Michael 
Hudson, Tom 
Pappas, Lee 
Pappas, Peter 
Staff 

Bachand, Charles 
Baker, Phil 
DesChenes, Michael 
Latino, Bill 
Messina, Tony 
Pappas, Lee 
Pappas, Lee 
White, Jerry 
Bachand, Charles 
Baker, Phil 
DesChenes, Michael 
DesChenes, Michael 
DesChenes, Michael 
DesChenes, Michael 
DesChenes, Michael 
DesChenes, Michael 
Lakow, Leslie 
Latino, Bill 
Messina, Tony 
Pappas, Lee 
Pappas, Lee 
Singer, Steve 
White, Jerry 
Hudson, Tom 
Latino, Bill 
Messina, Tony 
Messina, Tony 
Patchett, Craig 
Shafer, Phil 
White, Jerry 
White, Jerry 
Hudson, Tom 
Hudson, Tom 
Messina, Tony 
Messina, Tony 
Messina, Tony 
Messina, Tony 
Mork, Phil 
Oderkirk, Shimane 
Pappas, Lee 
Patchett, Craig 
Small, Dave & Sandy 
Lawrence, Winston 
Moriarty, Brian 
Rose, Marcia & Gary 
White, Jerry 
Hudson, Tom 
Moriarty, Brian 
Patterson, Carl 
Rose, Marcia & Gary 
Rose, Marcia & Gary 
DesChenes, Michael 
Hudson, Tom 
Hudson, Tom 
Hudson, Tom 
Messina, Tony 
Messina, Tony 
Staff 

Benson, Richard 
Griffin, Brad 



Title 

Five Star Treks, Count 'Em, Five! 

Stock And Bond Analysis (Atari) 

810 Disk Drive/ DOS II (Atari) 

Mailing List (Atari) 

IRIDIS #2 Tutorial (The Code Works) 

Mountain Shoot (Adventure International) 

Tank Trap (Quality Software) 

Visicalc (Personal Software) 

Decision Maker (Color Computer Concepts) 

Energy Czar (Atari) 

Mind Bogglers I (Versa Computing) 

16K Memory Upgrade Kit (Mosaic) 

War At Sea (CE Software) 

Atari Calculator (Atari) 

The Atari Printers: 820/822/825 (Atari) 

QS Assembler (Quality Software) 

Target Blockade/Battle Warp (West Coast) 

File-It (Swifty Software) 

Touch Typing (Atari) 

Letter Perfect (LJK Enterprises) 

Missile Command (Atari) 

32K Boards: A Profile 

BASIC A+ (OSS) 

Rescue At Rigel (Epyx) 

Spellbound (THESIS) 

Atari Spanish (Atari) 

Lunar Lander (Adventure International) 

Space Chase (Swifty Software) 

Starship Duel (Konopa) 

Starship Hyperion (Quality Software) 

VersaWriter (Versa Computing) 

Conflict 2500 (Avalon Hill) 

Text Wizard (Datasoft) 

Sands Of Mars (Crystal Computer) 

Asteroids (Atari) 

Galactic Quest (Crystal Computer) 

CCA Data Management System (CE Software) 

AstroQuotes (PDI) 

Graph-It (Atari) 

Dynacomp Text Editor (Dynacomp) 

Filemanager 800 (Synapse) 

Shooting Gallery (ANALOG Software) 

Fantasyland 2041 (Crystal Computer) 

Jawbreaker (On-Line) 

Eastern Front (APX) 

Tricky Tutorials (Educational Software) 

Intec 48K Memory Board (Intec) 

Pool 1.5 (Innovative Design) 

Assem/Ted (Eastern House) 

Crush, Crumble And Chomp (Epyx) 

Dodge Racer (Synapse) 

Nuke Sub/Galaxy Defender (Amulet) 

Graphics Composer (Versa Computing) 

Caverns Of Mars (APX) 

Pacman/Centipede (Atari) 

Protector (Synapse) 

House Of Usher (Crystal Computer) 

Percom DD Disk Drive (Percom) 

Stereo Graphics Package (APX) 

Raster Blaster (Budge) 

K-DOS (K-Byte) 

Programmer's Aids Reviewed 

Voicebox (Alien Group) 

InterLisp (Datasoft) 

Budget Programs Reviewed 

Trivia Trek (Swifty Software) 

Bit-3 80-Column Board (Bit-3 Computer) 

Master Memory Map (Educational Software) 

Miner 2049er (Big Five Software) 

Monkey Wrench (Eastern House) 

Letter Perfect Version 3 (LJK Enterprises) 

Canyon Climber (Datasoft) 

ANALOG'S Top Ten Games 

B-Key 400 (Inhome Software) 

Adventure Games Comparison Chart 



ie 


Page 




22 




33 




23 




33 




19 




18 




10 




38 


2 


23 


2 


33 


2 


40 


2 


34 


2 


35 


2 


38 


2 


41 


3 


17 


3 


36 


3 


26 


3 


27 


3 


19 


3 


30 


3 


41 


3 


29 


4 


36 


4 


15 


4 


39 


4 


35 


4 


38 


4 


35 


4 


34 


4 


47 


4 


36 


4 


19 


4 


32 


4 


37 


4 


37 


4 


45 


4 


17 


5 


48 


5 


61 


5 


23 


5 


17 


5 


26 


5 


18 


5 


22 


5 


62 


6 


51 


6 


12 


6 


53 


6 


60 


6 


57 


6 


58 


6 


62 


6 


56 


6 


13 


6 


66 


6 


63 


7 


57 


7 


66 


7 


22 


7 


10 


8 


14 


8 


34 


8 


39 


8 


28 


8 


35 


9 


31 


9 


88 


9 


14 


9 


40 


9 


91 


9 


94 


9 


95 


10 


20 


10 


59 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 133 



Author 

Griffin, Brad 
Moriarty, Brian 
Pappas, Lee 
Kushner, Disk 
Moriarty, Brian 
Moriarty, Brian 
Tillman, Raymond 
Herring, Richard 
Leyenberger, Arthur 
Messina, Tony 
Moriarty, Brian 
Moriarty, Brian 
Moriarty, Brian 
Pappas, Lee 
Popenol/Pappas 
Curtin, Bob 
Gutman, Dan 
Hudson, Tom 
Lambert, William 
Moriarty, Brian 
Moriarty, Brian 
Pappas, Lee 
Pappas, Lee 
Peacock, Kyle 
Bever, Edward 
Hudson, Tom 
Kelley, Patrick 
Moriarty, Brian 
Moriarty, Brian 
Pappas, Lee 
Peacock, Kyle 
Valenza, Keith 



Title 

Adams Adventures 1-12 (Adventure Int'l) 

Wayout (Sirius Software) 

Atari 1200XL Computer (Atari) 

AtariWriter (Atari) 

BASIC Compilers: A Comparative Review 

Disk Backup Programs 

Atari Pascal: A Good Product? (Atari) 

Database Programs Reviewed 

Bank Street Writer (Broderbund) 

ALOG Pagewriter (ALOG Computing) 

Happy 810 Enhancement (Happy Computing) 

Omnimon! (CDY Consulting) 

Suspended (Infocom) 

The New Atari Computers 

Atari Books Reviewed 

Family Cash Flow (APX) 

Alpha Shield (Sirius Software) 

Donkey Kong (Atari) 

BASIC Utilities Compared 

A Gallery Of Games From Electronic Arts 

The Dark Crystal (Sierra On-Line) 

The New Atari Peripherals 

Pole Position (Atari) 

Starbowl Football (Gamestar) 

Rhymes And Riddles (Spinnaker Software) 

Atari 1020 Printer (Atari) 

Combat Leader (SSI) 

Atari Logo (Atari) 

Austin 80-Column Board (AFA) 

Drelbs (Synapse) 

Getaway (APX) 

Monkeys, Math and Merriment 



Issue Page 



10 


98 


10 


18 


10 


32 


11 


107 


11 


59 


11 


72 


11 


42 


12 


87 


12 


125 


12 


124 


12 


81 


12 


101 


12 


64 


12 


35 


12 


76 


13 


45 


13 


124 


13 


60 


13 


97 


13 


53 


13 


65 


13 


33 


13 


60 


13 


126 


14 


28 


14 


109 


14 


30 


14 


19 


14 


62 


14 


48 


14 


30 


14 


66 



Program Listings 



Author 
Programming Aids 

Hartman/Pappas 
Hoffman, Paul 
Hartman, Robert 
Hartman, Robert 
White, Jerry 
Alvarez, Modesto 
Hartman, Robert 
Guber, Sol 
Indy Atari Club 
Messina, Tony 
Rochon, Robert 
Veludo, Henrique 
Chasin, Marc 
Messina, Tony 
Mohos, Istvan 
White, Jerry 
Eslary, John 
Volk, William 
White, Jerry 
Hudson/Mohos 
Hudson, Tom 
Tucker, Jerry 
Groszkewicz, Richard 
Elliot, Maurice 
Gibson, Randall 
Moriarty, Brian 

Disk Utilities 

White, Jerry 
White, Jerry 
Messina, Tony 
Bachand, Charles 
Messina, Tony 
Moriarty, Brian 
Volk, William 
Abrams, Marshall 
Messina, Tony 
Hamel/Williams 
Moriarty, Brian 



Title 

Download Terminal 

Machine Language To BASIC Conversion 

System Status 

Upload Terminal 

Bassnotes In BASIC 

Program Condenser 

Lister 

Assembly-Code Subroutine Adder 

Run BASIC Automatically 

Variable Lister 

Speeding Up BASIC 

Disk Menu 

Multiprocessing On Your Atari 

Buncrush 

D:CHECK 

NOREM 

Creating An AUTORUN.SYS File 

Creator/ Deity 

Console Button Subroutine 

D:CHECK2 

OCHECK 

Total String Search 

Speed Up Your Programs With CIO 

A Disassembler In Atari BASIC 

Hexpad 

mUse: A BASIC Memory Monitor 

Disk Files: Using NOTE and POINT 

BASIC Disk Utilities 

Disk Tool, Part 1 

Burp! 

Disk Tool, Part 2 

The Black Rabbit 

FORTH-DOS 

A Master File Directory Using DMS 

Disk Directory Dump 

A Disk Cataloging Utility 

The Snail 



Issue Page 



2 


36 


2 


43 


3 


13 


3 


38 


3 


14 


4 


30 


4 


49 


6 


34 


6 


33 


6 


46 


6 


45 


6 


70 


7 


41 


7 


13 


8 


17 


8 


52 


9 


115 


9 


74 


9 


11 


10 


26 


11 


16 


12 


85 


13 


103 


14 


143 


14 


37 


14 


111 


2 


10 


4 


14 


8 


19 


9 


62 


9 


33 


9 


49 


9 


55 


10 


64 


10 


23 


11 


85 


12 


94 



PAGE 134 



A.N.A.LO.G. COMPUTING 



ISSUE 15 



Author 
Graphics 

Hudson, Tom 
Trem, Joseph 
Veludo, Henrique 
Hudson, Tom 
Messina, Tony 
Trem, Joseph 
Moriarty, Brian 
Moriarty, Brian 
Trem, Joseph 
Hudson, Tom 
Lieberman, Andrew 
Weiss, Craig 
Hudson, Tom 
Hudson, Tom 
Hudson, Tom 
Hudson, Tom 
Kalagher, Richard 
Katz, Andrew 
Budgell, Peter 

Entertainment 

Bachand, Charles 
Bohlke, David 
Pappas, Lee 
Bohlke, David 
Knopman, Ricky 
Smith, Steve 
Bohlke, David 
Knopman, Ricky 
Messner, Rick 
Cestaro, Arthur 
Ivins, Michael 
Ivins, Michael 
Pogatch, Steven 
Vance, Stephen 
Bachand, Charlie 
Naleszkiewicz, Peter 
Duboy, Michael 
Adkinson, Ted 
Guber, Sol 
Hudson, Tom 
Moriarty, Brian 
Hudson, Tom 
Plotkin, Dave 
Hudson, Tom 
Loken, Richard 
Walters, Mike 
Ertl/Euker 
Hudson, Tom 

Miscellaneous 

Walter, Russ 
Bachand, Charles 
Bachand, Charles 
Alleger, Robert 
Patchett, Craig 
Patton, Garry 
Regena 

Hallowell, Dave 
Kahn, Aly 
Curtin, Bob 
Kahn, Aly 
Curtin, Bob 
Duboy, Michael 
Katz, Andrew 
Lewry, Thomas 
White, Jerry 
Peck, Greg 
Harb, Joseph 
Messina, Tony 
Tedeschi, Dick 
Curtin, Bob 
Spencer, Shiela N. 
Godbey, John 
Nevola, Arthur 
Seltzer, Richard 



Title 



A Graphics Clipping Routine 

Player/Missile Graphics 

Sketch Pad 

3-Dimensional Graphs Made Fast And Easy 

Custom Character Graphics 

Using DLIs To Twinkle A Starfield 

Stereo Graphics Tutorial 

Make Your Own 3D Glasses 

Faster Character Dumps 

Graphic Violence! 

A Banner Banner Program 

Atari Symbol Demo 

Moving Players In BASIC 

Graphics 7+ Handler 

Moving Missiles In BASIC 

Micropainter Pictures In BASIC 

Multicolor Screen Generator 

GTIA Expansion Demo 

An Extra Graphics Mode 

Motorcycle Maze Rider 

Blocked 

Sub 

Cannon Duel 

Towers Of Hanoi 

Target Shoot 

Complll 

Darts 

Maniac! 

Dino Battle 

Triple Threat Dice 

Color Slot Machine 

Stuntman 

Maniac! In 32K 

Harvey Wallbanger 

Safryland 

An Adventure Game 

The Halls Of The Leprechaun King 

Word Square 

Fill 'ErUp! 

Adventure In The 5th Dimension 

Livewire! 

Atari's Multicolor Character Set 

Livewire! Paddle Default 

Roundup 

Space Assault 

Lumberjack 

Retrofire! 

BASIC Sounds 

Balance Your Checkbook 

Music Decomposer 

Morse 800 

Stopwatch 

Mailing List 

Typing Trainer 

Soundlab 

Budget Worksheet 

Dungeons And Dragons Character Generator 

Budget Worksheet II: Disk Version 

Dungeons And Dragons Housekeeping 

Calendar Generator 

Letter Writer 

Take-5 

AUDCTLDemo 

Magic Keypad 

Home Energy Consumption Analysis 

Memory Check 

Epset 

From Rags To Riches 

Sound Effector 

Observational Astronomy 

Conversions 

Synchronizing Voice And Program In PILOT 



Issue Page 



2 


28 


2 


18 


3 


34 


5 


14 


5 


50 


6 


24 


7 


68 


7 


70 


7 


32 


8 


57 


8 


74 


8 


92 


10 


73 


11 


98 


11 


29 


12 


24 


12 


70 


12 


30 


14 


22 


1 


26 


1 


15 


1 


39 


2 


21 


3 


23 


3 


32 


4 


40 


4 


16 


6 


14 


7 


26 


7 


63 


8 


67 


8 


31 


8 


7 


9 


80 


9 


25 


10 


44 


10 


79 


10 


110 


10 


100 


11 


90 


12 


110 


12 


104 


13 


43 


13 


76 


13 


119 


14 


94 


14 


70 


1 


13 


2 


15 


2 


24 


4 


22 


5 


28 


5 


53 


6 


28 


7 


34 


7 


39 


8 


79 


8 


51 


9 


108 


9 


60 


9 


67 


9 


96 


9 


101 


10 


28 


11 


52 


11 


78 


11 


112 


12 


52 


12 


40 


13 


22 


14 


53 


14 


100 




penguin software 

the graphics people 

The Next Generation Is Here! 




At Penguin, we 

don't rely on the same old 

game formulas, adding to the mish-mash 

of look-alike games already on the market. We look 

for creativity, originality, and innovation. Games like 

Minit Man, challenging you with two types of arcade action 

simultaneously; Coveted Mirror, an adventure with animation and 

arcade games throughout; The Spy Strikes Back, an arcade game with 

strategy and a touch of adventure; Pensate and Tactic 9, games that make 

you think; and Expedition Amazon, an intriguing and humorous fantasy game. 

And Each Is Only $19.95! More Fun For Your Money From Penguin Software 

Write for a free catalog 
830 Fourth Avenue, Box 311 Dept. G Geneva, IL 60134 For information - Call (312) 232-1984 Dealer orders only - Call (800) 323-0116 

Apple is a trademark of Apple Computer, Inc. Atari is a trademark of Atari, Inc. Commodore is a trademark of Commodore Business Machines. Inc. IBM is a trademark of International 
Business Machines Corp. Penguins are hard on pool toys. 




m 4r% 



°+ > , 



- Saves 
Time 

Convenient 

Fits All Models 

Improves Accuracy 

29 Easy- to- Apply 
Symbols to Label 
Each Graphics Key 

Mylar-Coated for Long Durability 
In Stock Now — Shipped Within 24 Hours 
100% Money Back Guarantee! 

TO ORDER send $5.95 check or money order 
(Texas residents add 5% sales tax) to: 

DOVESTAR CREATIVE CONCEPTS 

. P.O. Box 2109, Dept. 2014. Nederland, Texas 77627 
MASTERCARD and VISA customers call Toll-Free 
Monday-Friday 9 a.m. - 5 p.m. Central Time Zone 
- 1-800-531-7383 (In Texas 1-800-292-5098). 
After dialing, get a second dial tone, WAIT for an 
operator and ask for "EXPRESS NUMBER 1037." 

DEALER INQUIRIES RECOMMENDED! 

Atari TM of Atari. Inc. 

GIVE YOUR COMPUTER A SET FOR '84! 



DUST PROBLEMS? 

Solve Them with 

Matching Dust Covers 

for Computer, 

Tape and Disk. 

S6.95-S8.95 

These are the deluxe covers lor 
the Atari 400, 600, 800, 1200, 
1400, 1450 computers, the 1540, 
1541, Rana and Percom Drives, and 
the cassette recorders. The covers 
are made of hand sewn (not 
glued or heat sealed), brown 
leather grain Naugahyde — 
specially lined with a soft, 
nonscratch liner. 

Don't waste your money on those 
cheap looking, clear plastic, static 
filled covers. Get the quality ones, 
custom fitted to your Atari. 

Available singly or 
as a matched set 
in beautiful brown 
simulated leather. 

Dealer Inquiries Invited 

Bytes & Pisces 

550 N. 68th Street 

Wauwatosa, WI 53213 

414/257-3562 




ORDER TODAY! 

Please send me the following: 

Quantity Item Amount 

Computer Dust 

Covers @$8.95 S 



Computer Type: 



Disk Drive Dust 
Covers (5 $7.95 

Disk Drive Type, 



Cassette Dust 
Covers @ $6.95 

Cassette Type: 



S 2.QO 



Shipping & Handling 

5% State Tax 

(Wisconsin Residents only) $ _^ 

TOTAL S ■ 
D Check or Money Order enclosed 
□ Charge to my VISA or MasterCard 

VISA # 

MasterCard # 

Inner Bank ft 



Expiration Date 



Signature 
SHIP TO: 

Name 

Address 

City 

State /Zip 



S^&S. 



LOOK WHAT'S NEW 
FROM ACE 



-A\ ADVANCED 
f CTj) COMPUTING 
>£§£ ENTERPRISES 

M£2J» Presents,- 



MAX 



] ii.il,' V, 






"ACE Mates A Good Hand Belter.'" 

With Cu* I urn Software — E*cfu*)v«ty For Your 
ATARI* Compuim 

•ATARI Ii A Ke|. TiwJmhi* Of ATARI l« 



"ATARI HAS THE 

CAPABILITY - 

ACE GIVES YOU 

THE KEY!" 



xaL i 



A v. ADVANCED 
( (7j) COMPUTING 
V^ijS ENTERPRISES 

*-vy-S Presents the: 



ACE 

MONEY MACHINE 



"ACE Makes A Good Hand Better/ " 

With Curium Sr»frw.,« - F-rriurovriy I »< Von, 
ATARI * Computer 



£®I 



ADVANCED 

COMPUTING 

ENTERPRISES 




Fbihetnli will never bt 

Main will nftt, or more fii,,! Gne you, iiodeot 
MATH MASTI-IR rod walch (or rrsilu! 

"ACE Makes A Good Hand Better! " 

Willi Cuslom Soft wan — Exclusive] if For Your 
ATARI* Compulcr 



r£®I 



ADVANCED 

COMPUTING 

ENTERPRISES 




"ACE Makes A Good Hand Better 



•ATARI I, A R,| T,adtmuk 01 ATARI In 



SEE THEM AT YOUR FAVORITE DEALER OR 
WRITE FOR OUR FREE CATALOG! — 



ADVANCED COMPUTING ENTERPRISES 



516 ROSEHILL #1 • SHAWNEE MSN., KS 66216 • (913) 262-2875 • (913) 631-4180 



SOFTWARE MOVIES 

• ••••••••••••eenii 



TM 













• #•€>••••••••••* 



MAXIMUS, Inc. is excited to present two new educa- 
tional software movies for kids of all ages . . . and 
more are on the way! 

STORYLINE™ makes bedtime, or anytime, a warm 
and friendly funtime. Clover the Clown is your 
tourguide for two fairytales: The Ugly Duckling and 
Rumpelstiltskin. Through computer magic you 
become a part of each story! 

SAFETYLINE™ combines fun with important lessons 
about safety. Max the Cat shows you how to cross the 
street safely going to school and what to do when lost 
at the zoo. 



Both software movies have interactive games that 
reinforce the fun and learning. Both have real human 
voices; you don't need a voice synthesizer! 

Features of the software include: 

• Sophisticated Face Animation 

• Lip-Synchronized Voices 

• Original Musical Scores 

• Superior Full-Color Graphics 

• Optional Joystick Control 

• Machine Language Programs 

Relax and enjoy yourself. Let Max, Clover, and their 
colorful friends guide you through a new world of fun 
and learning. You'll be amazed at how real they are! 



STORYLINE™ and SAFETYLINE are currently available for any Atari computer 
with 48K. Each software movie comes in either CASSETTE ONLY ($29.95) or 
CASSETTE/DISK ($34.95) versions. Order by mail or phone. Visa and Mastercard 
welcome. Include $2.50 postage and handling; Virginia residents add 4% sales tax. 
Dealer inquiries invited. Write for our free catalog. MAXIMUS, Inc., 6723 Whittier 
Avenue, McLean, Virginia 22101. 



ORDER TOLL-FREE 1-800-368-2152 



MAXIMUS . . .Where Excellence is the Standard 



© MAXIMUS, Inc. 1983. Atari is a registered trademark of Atari. Inc. Commodore 64 is a registered trademark o( Commodore Business Machines, Inc. 



PMi CELEBRATES THE OLYMPICS!!! 

PURCHASE MKPMI PROGRAM AND WE WILL GIVE YOU, ARSOLUTELY FREE, 

HORDIC SKI, A 100% MACHINE LANGUAGE ARCADE-STYLE GAME 

RY LEN DORFMAN, IN HONOR OF THE 1004 OLYMPICS MB 

PMI WILL DOHATE $1.00 TO THE O.S. OLYMPIC TEAM FOR EACH PROGRAM SOLD!! 

HURRY! THIS UFFER IS FOR A LIMITED TIME ONLY! 

MPYR'S TOMB ^ 

YARNING!! This adventure may be Have you ever wondered what your ERG, another 100% machine 

ddictive WAMPYR'S TOMB, by computer would have to say about language arcade-style game bv 

ames Glmes, will take you on a jour- that party you had last weekend? Or Len Dorfman, is the ultimate maze 

ey from the village of Amberpool the shape the world is in today? Well escape challenge" Multiple skill 

irough a mid-evil' countryside now you can find out. COM-CON has levels, multiple mazes, roving energy 

llpn with manira cna c Hamnne ~ — : II r^r\*M ^/-\»| I iif:u: * *• r .' ' 3 S*' 



WARNING!! This adventure may be 
addictive. WAMPYR'S TOMB, by 
James Glines, will take you on a jour- 
ney from the village of Amberpool 
through a 'mid-evil' countryside 
filled with magical spells, demons 
and dragons. Can you stay alive? To 
prevail in WAMPYR'S TOMB you 
must do more! You must equip your- 
self to do battle with the LICH and 
win. (Of course there is the option 
of dying!) We will supply you with a 
little money and the opportunity to 
go where you've never been; the 
courage and the desire to conquer 
the unknown must come from 
within. WAMPYR'S TOMB will not 
only challenge your bravery, your 
intelligence and your cunning, but 
will take you beyond your imagina- 
tion into a realm of new and exciting 
forces where only legends survive. 
Requires 48K RAM and one disk 
drive. 

$29.95 

SWORD POINT 

SWORD POINT, by William A. Austin, 
is a very unique and exciting adven- 
ture. You will assume the role of a 
young man seeking to climb to the 
pinnacle of success in the mythical 
monarchy of Simafranconia, a nation 
not unlike feudal 17th Century Europe. 
It is a country of totally masculine 
values, where style supersedes 
substance, and social level is not the 
best thing, it is the only thing worth 
acquiring. Dueling, gambling, wench- 
ing and high living are among a few 
of the things that you will do to gain 
the King's attention. So tankards up 
. . .a toast to bravery. . .with a little 
luck and by dancing to the daredevil's 
tune on the Swords Point. . . you may 
just win! Requires 48K RAM and one 
disk drive. 

$31.95 

PROGRAMMERS! 

If you have written a program that 
is technically sophisticated and also 

"user-friendly", PMI would be in- 
terested in publishing your work. For 

information on how to submit your 

material write to: PMI, P.O. Box 2895, 

Winter Park, FL 32790-2895, Or phone 

(305)644-3822. 



C0M-C0N 

Have you ever wondered what your 
computer would have to say about 
that party you had last weekend? Or 
the shape the world is in today? Well 
now you can find out. COM-CON has 
arrived! COM-CON by William Austin 
is an unique, exciting and entertain- 
ing program for everyone. Your com- 
puter can answer your questions on 
virtually any topic. While carrying on 
a discussion with COM-CON you will 
notice that your computer actually 
has a "personality" of its own. And 
like any human being the answers 
will sometimes be as vague and neb- 
ulous as a political candidate. And at 
other times quite philosophical. If 
you're 4 to 104 COM-CON is for you. 
COM-CON is available for the Votrax 
Type 'n Talk, $31 .95, the Aiien Group 
Voice Box $31 .95, SAM $31 .95, and in 
a text only version $26.95. Requires 
48K RAM, BASIC cartridge, one disk 
drive and optional voice synthesizer. 

KARMIC CAVERNS 

KARMIC CAVERNS, by Len Dorfman, 
is a 100% machine language arcade- 
style game that will entertain you hour 
after hour! You must find your way 
through the maze-like caverns avoid- 
ing the deadly plasmatic guards (not 
to mention the electrified walls) and 
acquire as many energy pods as you 
can. You must climb ever upwards 
striving to acquire enough energy 
points to reach the next level before 
time runs out for you. KARMIC 
CAVERNS utilizes the full sound and 
graphics capabilities of the Atari 
computer! Fun for all ages. Requires 
48K RAM and one disk drive. 

$34.95 



fields which will drain your energy 
and proton barriers which cause 
disintegration upon contact are the 
obstacles you will face. If you are an 
expert strategist and your reflexes 
are honed to a razor's edge (i.e., you 
can pull a gnat's whisker out as he 
flies by) the odds are about even. 
You might just win! Requires 48K 
RAM and one disk drive. 

$34.95 

RESTORE 

List the unlistable! RESTORE by 
William Fletcher will allow you to 
make a LISTABLE, EXECUTABLE copy 
of any BASIC program. RESTORE is 
extremely user-friendly and the sim- 
plicity of operation is astounding. 
RESTORE is a compiled program and 
executes at machine language 
speed. Utilizing the graphics and 
sound capability of the Atari, RE- 
STORE is not only an indispensible 
programmer's tool, but is fun to use. 
If you have two disk drives RESTORE 
will automatically seek out relocated 
directories and give you the option 
to either restore all BASIC programs 
on the disk or make a copy of the 
disk putting the directory in its nor- 
mal location. Requires 48K RAM and 
one or more disk drive. 

$27.95 

PROGRAMMIN' STUFF — $26.95 
VARICOMMANDER — $29.95 
PROGRAMMIN' STUFF/VARI- 

COMMANDER PACKAGE — 

$45.95 
WORDPOWER — $27.95 
BIOGRAPH — $24.95 



PMI, P.O. Box 2895, 2500 Lee Road. Suite 210, Winter Park, FL 32790-2895 
O SWORD POINT D KARMIC CAVERNS □ WAMPYR'S TOMB 

□ PROGRAMMIN' STUFF Q T.I.P.S. □ BIOGRAPH Q VARICOMMANDER □ RESTORE □ ERG 

□ COM-CON □ VARICOMMANDER and PROGRAMMIN' STUFF PACKAGE D WORDPOWER 

Total $ , plus $3.00 postage & handling (Florida residents add 5% sales tax) 

□ CHECK (allow 3 weeks for personal checks to clear) □ MONEY ORDER 

□ COD. (add an additional $2.00 for C.O.D. orders) 



NAME (print) . 
Address . 
Citv. 



DEALER INQUIRIES IHl 



ATARI is a trademark of ATARI INC 



ISSUE 15 



A.N.A.LO.G. COMPUTING 



PAGE 139 



INDEX TO ADVERTISERS 



3G 47 

ALOG Computing 77 

Accelerated Computer Research 11 

Ace Co 136 

Aceco 128 

Adventure International 6, 90, 98, OBC 

Alien Group 52 

Allen Macroware 94 

Atto-Soft 128 

Avalon Hill 4 

Axiom 23 

Axlon 45 

Bram 12, 107 

Broderbund Software 51 

Bytes & Pieces 136 

CDY 45 

CE Software 60 

Com Star 22 

Compuware 19 

Computability 57 

Computer Alliance 129 

Computer Creations 65 

Computer Discount Sales 35 

Computer Palace 80 

Convologic 42 

Cosmic Computers 95 

Datamost 58 

Datasoft 1,3 

Dorsett 67 

Dove Star 136 

Dynamic Innovations 97 

EZ Star 12 

Eastcoast Software 93 

Eastern House 19 

Elcomp Publishing 34 

Elite Digital 130 

Epyx 84, 89 

First Byte 11 

Gardner Computing 62 



Happy Computers 82 

Indus Systems 117 

Infocom 2 

Interactive Software 22 

Jim Chaney & Associates 39 

LJK Enterprises IBC 

Lateral Software 56 

Leading Edge Products IFC 

MOSES 81 

Mach-ina 66 

Master Control Software 118 

Maximus 137 

Micca 27 

Micro Merchants 45 

Mighty Byte 130 

Miles Computing 56 

Monarch Data 17 

Multi Video 102 

OSS Precision Software 68, 69 

P.M.I 138 

Parker Bros 29, 31, 33, 70, 71 

Penguin Software 135 

Practical Programs 41 

Quality Software 140 

QuinTech Systems, Inc 56 

Radical Systems 47 

Rana 108 , 109 

Rising Sun 38 

SIM 49 

Sar-An 123 

Soft Sector 11 

Software Gallery 123 

Software Guild 72, 73 

Software Plus 9 

Software Publishers 13 

Super Ware 45 

Tab Books 112 

USCS 41 

Walling Co 102 



NEXT ISSUE: 
SPECTACULAR GRAPHICS! 



• Shooting Stars 

• Fine Scrolling Part IV 



• Create-A-Font 

• Stars 3-D 

• Bar Chart Subroutine 



• 3-D Rotation 

Coming in the February ANALOG Computing. 



The computer adventure you've been waiting for. . . 




An exploration of Greek mythology translated into modern electronics 

by Stuart Smith 




he creative mind ofStuart Smith, author of Alt Baba and the Forty Thieves, 
brings to life the world of mythic Greece in fantastic color and sound! Carefully 
researched and skillfully programmed. Return of Heracles is computer entertainment 
at its best. Twelve difficult and dangerous tasks will be assigned to you by Zeus, and 
your heroes must accomplish them all. One or more players take on the role of an 
ancient Greek hero or heroine. There are 19 heroes to choose from, or choose them all! 
May the gods favor you! 




-~— 



Atari is a trademark of Atari, Inc., 
a Warner Communications Co. 



fas 



Quarry softwtir€ 

6660 Reseda Blvd., Suite 105, Reseda, CA91335 
(213)344-6599 



For Atari home computers. 

On diskette. Requires 48K 

$32.95 



Correction 




It's simple. 



New Spell Perfect™ from LJK does 
what your second grade teacher 
wanted to do. It corrects your 
spelling. Used with Letter Perfect 
it checks your work against an 
expandable dictionary. 
Gives "sounds like" suggest 
ions. Counts words. Add 
words. Technical terms. 
States and towns. 




You can do it all, all-in-one 
dictionary. 

When it comes to practical 
software for Ataris, Apples and 
look alikes, Spell Perfect is 
simple to learn. And hard 
to beat. Ask your dealer 
for a demonstration, 
or write UK for 
more information. 



UK, INC. • 7852 Big Bend Blvd., St. Louis, MO 63119 • (314) 962-1855 

© UK Inc. 1983 



^1 



▲ 




-V- , 



1 



*^i 















iirtfru 



V> 




7ZZ 



w 



YOU'LL LIKE IT 

ACTUALLY, YOU'LL LOVE IT! 
Here's why! TRIAD is nine separate pulse-pounding games in one package. 
Select one of nine weird alien menaces to battle from the Master Board. But 

- these guys can be tricky! Defeat three aliens in a row tic-tac-toe 
style and you earn a crack at the next skill level. 

The whole neighborhood'!! thrill to TRIAD'S crisp colors, super sounds and 
the oddest assortment of alien "baddies" ever assembled on one screen. 
Snappy arcade excitement for all ages! 

- from Adventure International. Why get one game when you can 
have nine? ^ ^ 

TRIAD — YOU'LL L|K| IT! 




APPLE (DOS 3.3 REQUIRED) 48K DISK $34.95 

ATARI 48K DISK $34.95 

COMMODORE 64 TAPE & DISK $34.95 

TflHSb CoCo 32K TAPE $34.95 

ANOTHER WINNER FROM 



dventutS 

INTERNATIONAL 

A DIVISION OF SCOTT AOAMS/INC 



P.O. BOX 3435 • LONGWOOD, FL 32750 
1-800-327-7172