Skip to main content

Full text of "Compute s Machine Language Games for the Commodore 64"

See other formats


COMPUTERS 

Machine 
Lang^uage 

Games 

for the 

COMMODORE 

64 

^Ycn outstanding jnachine lan^ij^ij^t: j^simcs Fur xbc 

CommDdDrc 64 and 12S (in 64 mniici^). Ihidf^c: 
mi^siJcs, slide on Ice, run for president, and much 
iTLijrc- Compktc source code far all games 
included. 

A COMPUni Bookf PulblicQtiQn $16.^ 



acnme 
Language 

Games 

for the 

COMMODORE 

64 



COMPUTE! Publicationsjnc.® 

Part of ABC Consumer Magazines, Inc ^^^^ 
One of the ABC Publtstiing Companies 

Greensboro, North Carolina 



The following article was originally published in COMPUTEI's Second Book of 
Commodore 64 Games, copyright 1984, COMPUTE! Publications, Inc.: "Nessie." 

The following articles were originally published in COMPUTEI's Gazette, copyright 

1984, COMPUTE! Publications, Inc.: "CUT-OFF!" (March); "Campaign Manager" 
(August). 

The following article was originally published in COMPUTE.' magazine, copyright 

1985, COMPUTE! Publications, Inc.: "Laser Beam" (October). 

The following articles were originally published in COMPUTEI's Gazette, copyright 

1985, COMPUTE! Publications, Inc.: "Heat Seeker" (March); "Whirlybird" 
(December). 

The following article was originally published in COMPUTE.' magazine, copyright 

1986, COMPUTE! Publications, Inc.: "Miami Ice" (June). 

The following article was originally published in COMPUTEI's Gazette, copyright 1986, 
COMPUTE! Publications, Inc.: "An Introduction to Assemblers" (August). 

Copyright 1986, COMPUTE! Publications, Inc. All rights reserved. 

Reproduction or translation of any part of this work beyond that permitted by 
Sections 107 and 108 of the United States Copyright Act without the permission of 
the copyright owner is unlawful. 

Printed in the United States of America 

ISBN 0-87455-061-0 

10 987654321 

The authors and publisher have made every effort in the preparation of this book to insure the ac- 
curacy of the programs and information. However, the information and programs in this book are 
sold without warranty, either express or implied. Neither the authors nor COMPUTE! Publica- 
tions, Inc., will be liable for any damages caused or alleged to be caused directly, indirectly, inci- 
dentally, or consequentially by the programs or information in this book. 

The opinions expressed in this book are solely those of the authors and are not necessarily those 
of COMPUTE! Publications, Inc. 

COMPUTE! Publications, Inc., Post Office Box 5406, Greensboro, NC 27403, (919) 
275-9809, is part of ABC Consumer Magazines, Inc., one of the ABC Publishing Com- 
panies, and is not associated with any manufacturer of personal computers. Commo- 
dore 64 and Commodore 128 are trademarks of Commodore Electronics Limited. 



n 

= Contents 



M Chapter 1. The Games 1 

Fast and Furious 

lJ Gregg Keizer / Editor 3 

CUT-OFF! 

Tom R. Halfhill 6 

Nessie 

Tom R. Halfhill / 64 version by Charles Brannon 9 

Campaign Manager 

Todd Heimarck 14 

Heat Seeker 

Jeff Wolverton / 64 version by Tim Victor 27 

Laser Beam 

Mike Greenfield / 64 version by Kevin Mykytyn 29 

Whirlybird 

Philip I. Nelson 32 

Miami Ice 

Jeff Kulczycki / 64 version by Kevin Mykytyn 36 

Chapter 2. Type It In 39 

MLX: Machine Language Entry Program 

Ottis R. Cowper 41 

Program 1. CUT-OFF! 51 

Program 2. Nessie 56 

Program 3. Campaign Manager 64 

Program 4. Heat Seeker 84 

Program 5. Laser Beam 95 

Program 6. Whirlybird 105 

Program 7. Miami Ice 114 

Chapter 3. The Source Code 123 

O An Introduction to Assemblers 

Todd Heimarck 125 

n The Source Code 131 

CUT-OFF! 

r} Source code by Tom R. Halfhill 134 

Nessie 

Source code by Charles Brannon 139 

Campaign Manager 

Source code by Todd Heimarck 147 



u 



u 

Heat Seeker ^ 

Source code by Tim Victor 173 ^ 

Laser Beam * , 

Source code by Kevin Mykytyn 188 ^ 

Whirlybird , , 

Source code by Philip I. Nelson 199 i— ' 

Miami Ice 

Source code by Kevin Mykytyn 210 

Appendices 219 

A. How to Type In Programs 221 

B. The Automatic Proofreader 

Philip I. Nelson 223 

Disk Coupon 227 



U 



G 



The Games 



'A: 

m 
W 

0. 



Fast and 
Furious 

Gregg Keizer/Editor 



BASIC is just too slow. Anyone who's programmed on the 
Commodore 64 knows that for arcade game speed, or for 
simulation sophistication (and its accompanying complexity), 
nothing beats machine language. 

Machine language (ML) is the native "tongue" of any 
computer, and the 64 is no exception. The ones and zeros (ons 
and offs) of machine language, though, are a bit more difficult 
to work with than the English-style syntax of a computer lan- 
guage like BASIC. To write an ML game, you have to know 
what you're doing. 

The authors of these seven machine language games for 
the Commodore 64 (and 128 running in 64 mode) obviously 
know their stuff. The games are first and foremost fun to play. 
But almost as important is their length. Since they all ap- 
peared originally in COMPUTE! magazine or COMPUTEl's Ga- 
zette, they had to be short enough to publish — not so long 
that people refused to type them in. The longest game, "Cam- 
paign Manager," is just over 7K long in its typed-in form. 
That's considerably shorter than most commercial games. Con- 
sider the length of these seven games and they're even more 
impressive. 

Play One, Play Them All 

You'll find a variety of games, both in subject matter and style 
of play, in COMPUTEl's Machine Language Games for the Com- 
modore 64. From strategy games that take careful thought to 
frenetic games where things blip and zip, there's something 
here for any gamester. 

CUT-OFF! is a takeoff on the classic game Blockade. Two 
players hurtle their lines of light across the screen, each trying 
to make the other smash into a wall or previous path. Ten lev- 
els make the game enjoyable for everyone in the family. 



3 



Chapter 1 



Nessie is out of the ordinary, if only because it's a com- 
pletely nonviolent action game. Hunt the famed Loch Ness 
monster, but with your instant camera. Capture Nessie on 
film — a clean, clear shot — and you're ahead of the game. But 
snap a pic of an eel or turtle, blur or crop the photo, and you 
end up with nothing. Fun for everybody. 

Campaign Manager is a premier simulation of our coun- 
try's most important process — electing a president. Two play- 
ers direct the nine-week campaign of a candidate from the 
nomination to the final balloting. Just some of the options in- 
clude pressing the flesh, television advertising, polling, fund- 
raising, and taking stands on the issues. This may not be an 
election year, but the way politicians are acting, 1988 can't be 
far away. 

Heat Seeker is a one-player game of jet plane rolls and 
loops. Heat-seeking missiles home in on your jet as you try to 
destroy their bases. Arcade-fast, with lightning-quick controls, 
this game almost makes you dizzy as your plane jinks out of 
harm's way. 

Laser Beam sends your character scurrying across a cha- 
otic field of bouncing balls. Let one touch you and you're a 
goner. Zap the right ball at the right time with your laser, ren- 
der it harmless, then run out, grab it, and stuff it in the basket 
at the bottom of the screen. Dodge and twist (sounds like a 
dance, doesn't it?) from top to bottom. Frantic fun. 

Whirlybird twirls a spread-eagled bird at the top of the 
screen. Use it to return the eggs that bounce back from the 
bricks below. Let one get by you and the trouble begins. The 
unusual accelerating movement of the bird makes it tougher 
than it sounds. 

Miami Ice isn't a Canadian version of a popular TV 
show. Instead, it's a nightmare of slick ice, a sliding car, and 
guardrails that fill the windshield. Maneuver through seven 
different screens as you try to make it to the parking garage 
across town before you smash your car to smithereens. You'll 
get sweaty palms from this one. 

Easy Entry 

If you had to use an assembler (see Chapter 3) to enter these 
games, you'd probably give up before you started. Fortunately, 
you can use our "MLX" machine language entry program in- 
stead. MLX is a program in its own right, one that checks your 



The Games 



typing and lets you know — almost immediately — that you've 
made a mistake. Typing in machine language programs with 
MLX guarantees that you'll have a working copy of the game 
the first time. 

All seven games in COMPUTE'.'s Machine Language Games 
for the Commodore 64 are listed in MLX format. Refer to Chap- 
ter 2 for the MLX program, its instructions, and each game's 
MLX listing and individual directions. 

From the Source 

Source code is the original code of a program. In the case of 
machine language games like these seven, the source code was 
written with an assembler (again, see Chapter 3). If you know 
how to read it (even if you don't know how to write it), source 
code can be illuminating. It shows you exactly how the pro- 
gram was put together, what routines were used, and which 
tricky techniques were called into play. 

Source code is hard to get. Most programmers guard it 
with their lives. That makes this book even more of a depar- 
ture, because we've published the complete assembled 
source code for each game. 

If you do dive into machine language programming, then 
you'll be sure to turn to Chapter 3. You'll undoubtedly find 
programming methods that will make your own creations run 
faster, look better, and play easier. 

Grab the Joystick 

No matter what you use this book for — to play the games or 
pore over the source code — COMPUTEI's Machine Language 
Games for the Commodore 64 will satisfy even the most jaded 
player or programmer. Get ready for some serious fun. 



All tht; programs in this book are available in disk form-."" 
V;E^eh game's object code (what you run, and wha't -you'd 
horinally create by typing in the MLX listing in Chapter 
2) and complete source code (« 'siiigk stadiement line PALi 
format) is included on the disk. You can order this $12.95 
disk •onl.y.through..C©M>PUTE! Publications. Call toll-free 
, l-80Q-i67--«^feti^i;^MV•aT-2^2*^ 



CUT-OFF! 



Tom R. Halfhill 



"CUT-OFF!" is ajast-paced. two-player game for the 
Commodore 64 and Commodore 1 28 in 64 mode. Ten 

levels of difficulty — ranging in speed from moder- 
ately slow to impossibly fast — make CUT-OFF! enjoy- 
able for everyone. 



Some computer games over the years have become classics. 
Usually they are simple in concept, yet universal in appeal, 
and general enough to be translated for almost any computer. 
Some good examples are Pong, the granddaddy of all video- 
games. Breakout, Lunar Lander, and the venerable Space Invad- 
ers. For legal reasons they may be disguised by different 
names, but there probably isn't a home computer anywhere 
for which some version of these all-time favorites isn't available. 

Another classic game is Blockade. Again, it goes by differ- 
ent names (sometimes Surround), but the basic concept remains 
the same: Two players square off against each other by steer- 
ing a moving line around the screen, each trying to head off 
the other, or to force the other player to crash into a wall or 
into his or her own trail. This concept dates back to the early 
days of videogames. In fact, the very first videogame I ever 
played was a Blockade-style game. It was during the mid- 
1970s, and a friend and I encountered the machine in a dimly 
lit cafe. By today's standards the game was downright primi- 
tive. No color, crude sound effects, and slow action. Yet we 
had never played anything like it before. (We thought it 
would never catch on, because it cost 25 cents per play at a 
time when a quarter bought you three plays on most pinball 
machines.) 

Years later, the basic concept of Blockade was revived and 
updated in the 1982 film TRON. In this Walt Disney produc- 
tion, humans trapped inside a bizarre computer world were 
forced to become gladiators on "light cycles" — space-age 
motorcycles which left walls in their wakes, counterparts of 
the lengthening trails in Blockade. 



6 



u 



The Games 



Anyway, that's the story behind the latest incarnation of 
this popular game, now dubbed "CUT-OFF!" It preserves all 
the traditional concepts and includes color, sound, and the 
broad range of speed levels possible only in a program written 
entirely in machine language. 

Starting the Game 

Plug a joystick into each of the two joystick ports, then load 
CUT-OFF! by typing (make sure you've already entered GO 
64 if you're using the 128): 

LOAD" filename", 8,1 (for disk) 
LOAD" filename", 1,1 (for tape) 

where filename is the name you gave to the program when 
you saved it to disk or tape from "MLX." 

Note: If you forget to append the ,1 to the command, the pro- 
gram loads into the wrong area of memory and won't work. 

Assuming the program load was successful, next enter 

SYS 49152 

The game screen appears instantly. (One of the best 
things about machine language is that you don't have to wait 
around for programs to initialize.) 

The opening screen allows you to select a skill level rang- 
ing from (the slowest speed, suitable for youngsters) to 9 
(recommended for super humans only). The skill levels are 
spaced equally apart, so you might want to start at 3 or 4. The 
level you select remains the same for the entire game. To change 
levels in the middle of a game, just press the RUN/STOP — • 
RESTORE keys and restart the program with another SYS 
49152. Of course, this cancels the game in progress. 

To choose a skill level, move the joystick plugged into 
port 1 up or down. The number on the screen changes, and 
even wraps around if you go below or above 9. To lock in 
your choice and begin the game, press the fire button of this 
joystick. 

The game starts with the players aimed at each other 
head-on. Don't get the joysticks mixed up between players — ■ 
joystick 1 belongs to the left-hand player, while joystick 2 
should be used by the right-hand player. To steer, move the 
joystick up, down, right, or left. You can't move diagonally. 

The joystick buttons also toggle a pause feature. To freeze 
the action, quickly press and release the button of either joy- 



Chapter 1 



stick. This leaves you free to answer the phone or take a 
break. To restart action, press and release either joystick but- 
ton again. 

Scoring and Winning 

There are four ways you can crash: hitting a wall, running into 
the other player's trail, crossing your own trail, or backing into 
yourself by trying to reverse your direction. 

After a crash, the surviving player is awarded points equal 
to the number of segments in the crashed player's trail. This 
means that the longer the players last before crashing, the 
more points are at stake. Thus, it's possible to catch up even if 
you're way behind. 

Each time you crash, you lose one "life." Each player 
starts with ten lives, and the game ends when one player runs 
out. After each crash, the screen updates the score and re- 
minds you how many lives each player has left. To restart 
each round, press the joystick fire button. 

When the game is over, you get a chance to change the 
skill level for the next game. Just to get a peek at how fast ma- 
chine language can be, try a game at level 9. You'll be lucky if 
you can make one turn before crashing into a wall. Yet even 
this level had to be slowed down with delay loops. 

Typing 

Refer to Chapter 2, page 51, for typing instructions for CUT- 
OFF! and its MLX listing. 

Source Code 

The source code for CUT-OFF! is in Chapter 3, beginning on 
page 134. 



8 



Nessie 



Tom R. Halfhill 
64 version by Charles Brannon 



In "Ne^sie," a nonviolent action game, you're posing 
as a photographer trying to snap a clear photograph 
of the Loch Ness monster. You need a Joystick to 
aim your camera. 



For decades, fans and believers of Scotland's Loch Ness mon- 
ster have affectionately referred to the mysterious creature as 
Nessie — hence the title of this game. 

Inspired by a TV documentary on Loch Ness that re- 
counted the hundreds of attempts to photograph the monster, 
this game tries to re-create the difficulties of capturing the 
creature on film. Whether in the game or in reality, it's not 
easy. Almost all of the photographic attempts have ended in 
failure — there exist only a few controversial photos showing 
parts of fins, shadowy shapes, and blurred figures. Maybe 
your steady hand and sharp eye will succeed where others 
have failed. 



Starting Nessie 

Load Nessie by entering (only after typing GO 64 if you're 
using a Commodore 128): 

UOAD" filename" fi,l (for disk) 
U3AT>" filename', 1,1 (for tape) 

where filename is the name you gave the program when you 
saved it to disk or tape from "MLX." 

Make sure you append the ,1 to the command, or Nessie 
won't work. 

To start Nessie, first t5^e 

NEW 

once Nessie has loaded. This won't erase the program, but 
does reset some pointers that otherwise might give you an 
?OUT OF MEMORY ERROR or cause other problems with the 
game. Next, enter 
SYS 49152 



9 



Chapter 1 



Instantly (isn't machine language nice?), the game screen ap- 
pears, with a boxed-in crosshair in the center of the screen. 
There are also prompts to select game options. The keys to 
press for each are 

fl Telephoto 
f3 Wide Angle 
f5 Speed 
f7 Easy Game 
f8 Hard Game 

There are two types of camera lenses: Telephoto and Wide 
Angle. By far the easiest is the wide angle, obtained by press- 
ing the f3 key. A wide angle lens lets you cover more area 
from your camera position. You'll see the viewfinder expand 
when you press the f3 key. Since its larger size makes it easier 
to enclose Nessie, you may want to begin play with this. 

The telephoto lens, which is the default selection (in other 
words, if you don't make a choice, this lens is used automati- 
cally), is about half as large, making it harder to catch Nessie 
within the border of the lens. In fact, the telephoto viewfinder 
barely frames Nessie. Press the fl key to switch back to the 
telephoto lens if you previously selected the wide angle lens. 

Function key f5 is used to increase or decrease the speed. 
The default speed is 5. Speed 1 is very slow, 9 almost too fast. 
Hitting the f5 key repeatedly cycles through the levels from 1 
to 9. 

Make sure your joystick is plugged into port 2 — you're 
ready to begin. Press f7 for an easy (default) game or f8 for a 
more difficult level of play. (Pressing f7 during play restarts 
the game, something you might find handy.) If you choose the 
hard game, the playfield will be littered with black squares 
that interfere with your photography. It's better to begin with 
the easy version. 

The photo session has started, and the clock is moving. 

The Big Picture 

At the top left of the screen is your camera's film counter, 
which shows how many pictures remain on your roll of film. 
You start with a 20-exposure roll. Each time you snap a pic- 
ture, the film counter decrements. The current game speed 
also displays. 

Your camera viewfinder starts in the center of the screen. 
You can move it in any direction with the joystick. Pressing 



10 



The Games 



the fire button releases the shutter. The viewfinder frame itself 
is blue, with a red aiming crosshair in the center. To take a 
properly centered photo, you must position the crosshair over 
Nessie. If any part of Nessie is touching the viewfinder frame 
when you snap the shutter, it registers as a cropped photo 
when the film is developed at the end of the game. A pidture 
of a piece of Nessie is better than nothing, but it's not nearly 
as valuable as a photo of the whole monster. (Let's face it, 
wouldn't you feel better walking into the New York Times 
with an indisputable picture of Nessie instead of a dpubtful 
snapshot of a dorsal fin?) 

For the same reason, you must be careful not to include 
any other objects in the viewfinder while photographing 
Nessie. This isn't as easy as it sounds. When you start the • 
game, you'll find that Loch Ness is alive with turtles and eels. 
If you photograph one of these instead, you've been "fooled" — 
and your photo is worth only a handful of points. (The reason 
you get any points at all is that you might be able to sell the 
photo to Field & Stream or an airline magazine.) The eels are 
particularly troublesome. They bear an uncanny resemblance 
to Nessie, which is why so many hopeful photographers over 
the years have been fooled. 

Make sure your camera's viewfinder doesn't touch any 
text (such as the score line) or any of the black squares in the 
hard game, or you'll just end up with a cropped picture. 

Another hazard to beware of is jittery hands. Nessie is not 
an easy target — the creature swims around the loch in random 
directions, staying still for only a moment before slipping 
away. Meanwhile, you're trying to center the monster in the 
viewfinder. If you snap the shutter while moving the finder, .. 
the picture will be blurred. And that's worth zero points. 

Pressing any key (except for the CTRL, RESTORE, SHIFT, 
and Commodore keys) freezes the screen. Hitting another key 
restores motion. You can do this if you want to take a short 
break from the game. Or if you get particularly frustrated with 
Nessie's darting behavior, you can use this feature to "freeze" 
the loch and capture her on film. It's actually cheating, but.... 

When you get down to your last five pictures on the roll 
of film, the viewfinder frame automatically turns from blue to 
bright yellow as a warning. This is in case you're too busy to 
pay attention to the film counter. 



11 



Chapter 1 



Developing the Film 

After you snap your last shot, the film instantly develops (ma- 
chine language — faster than Polaroid) and is displayed. Each 
of the 20 finished prints shows what you photographed when 
you snapped the shutter. They are arranged in the order in 
which you shot them. (Programmers may want to note that 
each picture is a sprite. Using raster interrupts permits you to 
have up to 64 sprites simultaneously. In this program, we 
have 20 sprites displayed on one screen.) The frames show a 
whole Nessie, a cropped Nessie, a colored blur, another loch 
creature, or nothing, depending on your photographic skill. At 
the bottom of the screen is your final score, adjusted for the 
amount of time that elapsed. 

To restart Nessie, just snap the shutter button. This re- 
turns you to the setup screen, where you can change lenses, if 
you wish, before playing again. 

Pictures for Points 

Since the telephoto lens is harder to use, it scores more points. 
A clear, properly framed photo of Nessie taken with the wide 
angle lens scores 2000 points, but a whopping 20,000 points if 
you used the telephoto lens. If Nessie isn't completely en- 
closed (cropped), the photo scores only 100 points (1000 with 
the telephoto). Snapping a picture of a turtle or eel means 
you've been fooled, and you receive only 50 points, or 500 if 
you were using the telephoto. Moving the camera when you 
press the shutter button gives you a blurred picture (shown by 
the horizontal lines across the developed print). You get no 
points for this, just as you receive no reward for taking an 
empty picture of the loch. 

Another important factor in the scoring is time. One point 
(or ten points with the telephoto) is subtracted from your final 
score for every four seconds you took to shoot all your pic- 
tures. You have to balance your pace between reckless pho- 
tography and careful shooting in order to get the best pictures 
in the least amount of time. 

Anyone Can Use a Camera 

Nessie is a game that can be enjoyed by almost anyone. Chil- 
dren especially will delight in capturing the creature on instant 
film. Setting the speed level allows you to slow down or speed 
up the creatures' movements. Slower speeds are appropriate 

12 



The Games 



for smaller children. Nessie is easy to snap, and there's none 
of the usual frustration with action games. 

But set the speed to 8 or 9, the game selection to hard, 
and Nessie becomes a challenge to even the most agile pho- 
tographer. You'll need a quick shutter and lots of luck to see 
the monster on your developed prints. In fact, it's almost as 
hard as getting the real Loch Ness monster on film. 

Typing 

Look to Chapter 2, page 56, for typing instructions for Nessie 
and its MLX listing. 

Source Code 

The source code for Nessie is in Chapter 3, starting on page 
139. 



n 



13 



Campaign 
Manager 

Todd Heimarck 



Campaign, advertise, poll regions, take stands on is- 
sues, and more, in this two-player national-election 
simulation for the 64 and 128 (in 64 mode). The right 
strategy and a good candidate can lead you to the 
White House. 



The Democratic delegates crowd the floor, wearing straw hats, 
carrying balloons and signs. The floor fights are done. The 
time has come to nominate. 
"Maryland?" 

"Mister Chairman — the great state of Maryland, the Free 
State, Home of the World Champion Baltimore Orioles, casts 
all of its votes for the senator from Arizona." 

The chairman pounds his gavel. The din of cheers and 
jeers subsides. 

Power Broker 

The convention is deadlocked. And you control a large block 
of uncommitted delegates. It's all up to you. 

The vice president from Rhode Island has good charisma 
and intelligence, but you know his health is poor. The reverend 
from Arkansas is attractive, but a bit conservative. Although 
the senator from Arizona is experienced, he's not very smart. 
Perhaps the New Jersey doctor? No, the Ohio senator has the 
best combination of personality and issues, plus you'll get a 
home region advantage in the populous Heartland. 

Now it's the Republican's turn. Of the five choices, the 
woman from South Carolina is the best all-around candidate. 
She has high charisma and fund-raising appeal, which trans- 
lates well into television ads. 

It's time to hit the campaign trail. 



14 



The Games 



Nine Weeks on the Trail 

The Democratic senator starts with nine million dollars and 59 
health points. He rests two days (to build up his health), then 
spends two days fund-raising. Campaign stops in Illinois and 
Texas sway the voters slightly to the Democratic side. 

The Republican campaigns in her home state of South 
Carolina. She then moves on to North Carolina, Virginia, and 
Florida, followed by a couple of days resting. 

As the campaign progresses, the Democrat concentrates on 
personal appearances in the industrial Northeast, plus forays 
into the larger states such as Texas, California, and Florida. 
The Republican candidate does less actual campaigning, pre- 
ferring to spend more time on fund-raising to pay for her (ex- 
pensive) television ads. 

In the crucial eighth week, both candidates rest and fund- 
raise in preparation for the last-minute campaigning. The 
Democrat does a media blitz in the Pacific, Southern, and At- 
lantic states. The Republican hits the Heartland, Arklatex, and 
the Urban Northeast. 

Election Night 

Initial returns from New England show the Republicans 
sweeping the region, but the large states of New York and 
Pennsylvania go Democratic. The Republicans win most states 
from Ohio to the Great Plains, but the Democrats pick up the 
Southern Atlantic states (except Florida). Texas votes for the 
GOP, while the rest of the region slides Democratic. The 
Rocky Mountain states are solid Republican. The Democrats 
take the Pacific States. 

The final results show the Republicans winning six of 
nine regions and capturing the presidency, with 315 electoral 
votes to the Democrats' 223. Three of the four biggest states 
voted Democratic, but Ohio and Illinois (with 47 electoral 
votes between them) made the difference. The TV ads in the 
last week moved these two key states into the Republican camp. 

Managing the Campaign 

"Campaign Manager" pits your candidate against your oppo- 
nent's. Each of you manages a campaign, from the nomination 
to the actual election. Make the right decisions and your can- 
didate finds a home in the Oval Office. Make mistakes and 
you'll have to wait another four years. 



15 



Chapter 1 



To get the campaign on the road, load the game by 
entering 

LOAD "filename" fi (for disk) 
LOAD "filename" (for tape) 

where filename is the name you gave to the program when 
you saved it to disk or tape from "MLX" (it's assumed you've 
already typed GO 64 on the Commodore 128). 

Unlike some other machine language programs on the 
Commodore 64 and 128, Campaign Manager doesn't require 
the ,1 suffix. The game's first few bytes look like a BASIC pro- 
gram with the command SYS 2061. Fortunately, you don't 
have to remember the SYS — it's built into the program. 

You have nine weeks to campaign. Each week, you plan 
your moves and enter them via the menu on the itinerary. 
You have two defensive moves, resting and fund-raising, and 
two ways to gain votes, campaigning (personal appearances) 
and advertising on television. 

At the beginning of each turn you see a medium-resolution 
map of the U.S. which indicates which way each state is lean- 
ing. The MAP option allows you to move a cursor around the 
country to identify which states are which. If the Republicans 
are ahead, the state is red. Democratic states are cyan (light 
blue). If you're using a black-and-white television, the Repub- 
lican states are the darker ones. You may notice that states oc- 
casionally switch back and forth, even though neither candidate 
campaigned or advertised there. This indicates that the voters 
in that state are split down the middle, and because of slight 
errors in polling, seem to be leaning one way or the other. 

Since you have only 63 days (nine weeks of 7 days), you 
have enough time to campaign in each state once or twice. But 
in terms of electoral votes, California (with 47) is far more im- 
portant than some of the smaller (three-vote) states like North 
Dakota or Vermont. Generally, it makes more sense to cam- 
paign more heavily in the ten biggest states, sometimes called 
"megastates." 



State Electoral Votes State Electoral Votes 

CA 47 OH 23 

NY 36 FL 21 

TX 29 MI 20 

PA 25 NJ 16 

IL 24 NC 13 



16 



The Games 



Winning the election requires 270 electoral votes (of a 
possible 538). The ten biggest states account for 254, just 16 
short of a majority. 

At the beginning of the campaign, each state has a large 
pool of undecided voters. As the game progresses, they make 
up their minds and the pool diminishes. It's possible, but un- 
likely, for all of a state's voters to decide before the end of the 
campaign. You v^ould have to go to the state at least eight 
times before the undecided points were used up. 

Each state has a built-in bias towrard one party, based on 
past elections for president, senator, governor, and so on. The 
District of Columbia, for example, is staunchly Democratic, so 
the Democratic candidate will automatically ge't seven cam- 
paign points there, compared to a Republican's two. 

Since the Republicans have won three of the last four 
elections (including a landslide victory in 1972), you might ex- 
pect them to begin the game with a huge advantage. But if 
you look at nonpresidential elections, you'll find that a lot of 
states elect Democratic governors, senators, and represen- 
tatives, then vote for a Republican president. And a lot of 
those basically Democratic states were split by third-party 
campaigns (Wallace in 1968, Anderson in 1980). 

To even things up and make the game more playable, the 
Democrats begin with an electoral vote advantage of 282 to 
256, although four of the megastates (Pennsylvania, Ohio, 
Florida, and North Carolina) are barely leaning to the Demo- 
cratic side. The Republicans have the advantage of beginning 
with 29 of the 51 states (since the District of Columbia has 
three electoral votes, it counts as a state). Most of the states 
west of the Mississippi are Republican, while the Democrats 
have most of the industrial Northeast and the South. 

In addition to the natural political leanings, each state be- 
lieves certain things about five general issues: 

• Unemployment/inflation 

• Poverty/crime 

• Agriculture 

• Education 

• Defense 

The issues are based on things like census reports and al- 
manacs. A very urban state might be conservative on crime, 
but not care much about agriculture, for example. Each candi- 



17 



Chapter 1 



date has certain stands on these issues. When you campaign 
or advertise in a state, you can get up to three extra campaign 
points for each issue, if your stand agrees with the voters'. 

Finally, the candidate you choose has a campaign effec- 
tiveness rating based on charisma and intelligence. This factor 
translates to votes each time you campaign. 

Choosing a Candidate 

At the beginning of Campaign Manager, you choose which 
party will go first and decide if one candidate will be the in- 
cumbent. You might want to flip a coin, the winner choosing 
either a party or being the first or second player. In testing, we 
found that the second player has the slight advantage of mak- 
ing the last move. Being an incumbent gives you some extra 
campaigning strength and isn't recommended if you want an 
even game. 

Note that all choices on the menu can be made with a 
joystick. (It's easier to play if each player has a joystick, al- 
though one can be shared. It doesn't matter which port it's 
plugged into.) Move the pointer with your joystick and press 
the fire button twice to make your choice. If you don't have a 
joystick, you can use the keyboard instead; I, J, K, and L for 
up, left, down, and right, respectively. Press M in place of the 
fire button. 

Players then pick which candidate will represent their 
party. Five randomly chosen candidates are available. To the 
right of the candidate's stats is the YES/NO counter. Before 
making your choice, pick NO for each possibility until you 
have seen all five. They'll cycle around again, so you can 
make your choice. After selecting a candidate, enter his or her 
name from the keyboard. 

The heart of the game is the actual campaign, but in some 
ways the convention is more important. Nominate a terrible 
candidate, and you'll spend most of your campaign trying to 
catch up. 

Healthy, Wealthy, and Wise 

A candidate's personality greatly affects the outcome of the 
election. In the lower-left corner you'll see a list of five 
attributes, each associated with a number from one (worst) to 
eight (best). With a couple of exceptions, the ideal candidate is 
the one with straight eights. 



18 



The Games 



First is charisma (CHAR), which is personal magnetism, 
panache, the ability to influence and excite people. This is the 
most important personality trait because it's part of both cam- 
paign effectiveness and advertising effectiveness. 

Stamina (STAM) rates your candidate's health. A candi- 
date with low stamina will have to rest frequently to regain 
health and strength. 

Intelligence (INTL) adds points to campaign effectiveness 
and last-minute campaigning. 

Experience (EXPR) helps you with fund-raising. If your 
candidate has lots of experience, he or she has more contacts 
and connections for raising money. Since experience comes 
with age, it counts against your health, although stamina 
counts for more health points. 

Appeal (APPL) also contributes to fund-raising appeals. 
But if you have maximum appeal (eight), you may be tainted 
by your affiliations with special-interest groups, and there's a 
backlash when you advertise. It's best to have an appeal of six 
or seven. 

The candidates' attributes are generated by adding three 
random numbers, so candidates are more likely to have a mid- 
dle number (four or five) than one of the extremes. 

The personality traits translate into these five campaign 
factors: 

Campaign effectiveness (CHAR*2 -I- INTL): the key fac- 
tor in campaign stops. 

Strength/Health (STAM*4 + 9 - EXPR): determines the 
effectiveness of a rest day. 

Fund-raising appeal (EXPR*3 + APPL): determines how 
much money can be raised in a day. 

TV ads (APPL OR 8 + CHAR): translates into votes 
when advertising. 

Last-minute campaigning (INTL + STAM): wins last- 
minute votes to your side after the ninth week. 

The significance of each factor is explained below in the 
section called "Getting Votes." 

Here I Stand 

Next to the personality factors are the candidate's stands on 
various issues. You see five issues, each with a sliding scale of 
one (at the far left, representing liberal) to six (conservative). A 



19 



Chapter 1 



Republican who wants to get tough on crime, for example, 
will have a rank of six. A Democrat who wants to solve the 
unemployment problem will have a rating of one. 

Candidates will range from two to five on the issues of 
agriculture and education. On the other three issues, the Dem- 
ocrats will have stands from one to four, while the Republi- 
cans will go from three to six. 

You'll generally get more votes with middle of the road 
beliefs. Look for a candidate with twos or threes if you're the 
Democrat. Fours and fives are best for the Republican. The ex- 
ception is agriculture and education, where you do best with a 
three or a four. 

Common sense tells you which issues are important in 
most states. Agriculture is a major issue in the farming states. 
Your stand on defense makes a difference in states with a lot 
of military-related industry, like Washington state, Utah, and 
Maine (the formula was obtained by dividing military contract 
spending by population, for a per capita expense). 

The candidate's personality is generally more crucial than 
the stands on issues. If you have a lot of charisma, intelli- 
gence, and appeal, it doesn't matter if you have radical views 
on one or two issues. 

If you have five very bad candidates, press RUN/STOP- 
RESTORE and try again. It's not much fun running a doomed 
campaign (ask Gary Hart, campaign manager for George Mc- 
Govern in 1972). 

Beginning the Campaign 

After the nominees have been chosen, the first week begins. 
You may notice that some states have changed colors. That's 
because each nominee gets the equivalent of campaigning 
once in each state. (Some voters make up their minds before 
the campaign even starts.) If one candidate is much more 
charismatic or happens to hit the right issues, a state may 
jump over to his or her side. In addition, each gets a home 
state and home region advantage. 

You should develop a strategy. If your appeal and cha- 
risma are strong, you might want to concentrate on television 
ads. If your candidate has a strong anticrime stance, visit the 
more urban states. At the very least, you should plan to visit 
each of the megastates. 

You begin in your home state; it's traditional to campaign 



20 



The Games 



there once. And the first week usually means some fund-raising 
and resting, as purely defensive moves. 

The Doctor, Treasurer, Pollster, and Pilot 

Under the week's itinerary should be two numbers. At the be- 
ginning of each week, your treasurer tells you how much 
money you have, up to about $25 million. Your personal phy- 
sician figures out how healthy you are. At most you'll have 
255 health points. 

If you fall below four million dollars at any time during 
the week, television advertising will be useless. If you have 
less than one million, you won't be able to pay the pollster 
(you won't even see the bar graph to the left of the map). 
When your bank account falls to zero, the campaign is para- 
lyzed until you sponsor a fund-raiser. You can't even afford to 
pay your doctor or staff. 

It takes time away from campaigning, but you have to 
raise money once in a while. Each fund-raising point (EXPR*3 
+ APPL) is worth $200,000. 

Campaigning is exhausting, and even though it takes 
time, you'll occasionally have to rest. When you decide to 
catch some Z's, the itinerary will be filled with (you guessed 
it) Z's. Each day of rest adds double your strength factor, plus 
campaign effectiveness, plus the number of states you're win- 
ning, to the health you have. A high campaign effectiveness 
gives you optimism; you rest better. If you're behind, you 
worry and toss and turn. Resting two days in a row gets you 
16 extra health points. 

There are two reasons to keep your health up. First, when 
you campaign in a state, you get an extra campaign point for 
every 32 health points you possess. Second, if your health 
falls below 8, you look haggard and falter over the simplest 
speeches; campaigning does you no good. 

The treasurer counts dollars, the doctor counts your 
health, and your pollster counts votes. 

The pollster does three things. First, you get a bar chart 
that shows how many electoral votes would go to the Demo- 
crats and Republicans if the election were held today. You can 
see it to the left of the map. The gray bar marked U represents 
undecided states too close to call. Second, you have a map of 
the U.S. to show at a glance which way each state is leaning. 
Republican states are red. Democratic states blue. These first 



21 



Chapter 1 



two services are part of the pollster's contract and cost you 
nothing. Of course, if your money drops lower than one mil- 
lion dollars, you have to stop paying the pollster; all you get is 
the map. 

The third service is the most important — regional polls. 
To get a poll of all states in a region, move to POLL on the 
main menu and press the fire button twice. You'll see a bar 
chart showing which way each state in the region is leaning, 
from one (half a character wide) to four (two characters). The 
poll reflects the political situation at the beginning of the 
week; whatever campaigning you have planned for the week 
isn't included. A state with a thin bar can usually be taken 
with a single campaign stop. 

Don't use polls in the first couple of weeks — most states 
start out fairly even, and you won't learn much. But polling 
can be a powerful tool toward the end of the game. If New 
York is firmly committed to you, forget about further efforts in 
that state. And if you find a whole region weakly supporting 
your opponent, you can hit them with TV ads and score a few 
dozen electoral votes. 

Regional polls cost $100,000 and are not available if you 
begin the week with less than a million dollars. 

The final character (although transparent) in your entou- 
rage is the jet pilot. Your jet can carry you on short hops 
within a region for almost nothing. But if you travel to a new 
region, you'll shell out $100,000 for fuel and maintenance. As 
long as you're in a region, you might as well stay there a few 
days to avoid a lot of travel expenses. Again, you don't actu- 
ally move to a new region until you've campaigned in one of 
the states. You can use the travel option to conduct regional 
polls; you'll pay $100,000 for the poll and another $100,000 if 
you decide to campaign in a region. Don't campaign and you 
won't be charged for travel. 

Guests and Fish 

Benjamin Franklin once said that after three days, guests and 
fish begin to smell. The same principle applies to campaigning. 

Campaign once and you gain some votes. Stay for a sec- 
ond day and the voters of a state are flattered; you gain a cou- 
ple of bonus votes. But stick around for a third or fourth day, 
and you've overstayed your welcome. 



22 



The Games 



Getting Votes 

Each state begins with 255 undecided voter points. Your main 
goal is to use campaigning and television advertising to sway 
the undecided. And you have to maintain your health and 
money. 

The effects of a personal appearance can vary. You get up 
to 3 points for each issue (if the state agrees with you), 1 point 
for every 32 health points, and up to 24 for your campaign ef- 
fectiveness (intelligence plus double charisma), plus a 2-point 
bonus if it's your second day in the state. 

If your money is down to zero, you get no campaign 
points. If your health is below eight, you get a single vote. 

Each campaign stop decreases your health and money. It's 
possible to run out in the middle of the week, making each 
succeeding visit ineffective until you rest or raise money. Let's 
say you go to Connecticut and impress 23 of the 255 un- 
decideds. The pool of available voters is reduced by that num- 
ber. Half of 23 (11 points) is charged against your health. Half 
again (5 points) times $100,000 is subtracted from your 
money. In addition, each state has some people who don't 
agree with you, so a quarter of your total (5 points) goes to 
your opponent as a reaction against your speech. If you had 
previously been in a different region, travel expenses of 
$100,000 are subtracted. 

Television advertising is a little different. It affects every 
state in the region and quickly swings voters to your side. To 
advertise, first travel to the region and, before doing any ads, 
make at least one campaign stop to establish your presence. 
After campaigning once, you can advertise as much as you like. 

Unlike resting and campaigning, the effects of advertising 
do not accumulate from day to day. If you advertise two days 
in a row, you don't get bonus points. Advertising does grow 
in strength from week to week, however, and will be more ef- 
fective toward the end of the campaign. 

If you flood the region with ads, it's possible to bring a 
whole section of the country to your side. But it is costly. In 
each state, advertising credits you with half your campaign ef- 
fectiveness, half your TV ads' effectiveness rating, points for 
issues, plus two times the week number (in week 7, for ex- 
ample, you get 14 extra campaign points). 

The cost is the usual one-fourth of campaign points 
gained, plus double the TV ads' effectiveness. The large re- 

23 



Chapter 1 



gions can cost a lot. Going on TV in the Atlantic States (all 
nine) or in the Rocky Mountains (eight states) can easily de- 
plete your treasury. 

On the day you plan to advertise, you must have at least 
four million dollars. If you don't, you waste the day and 
gather no new votes. So, if you Ijegin the week with five mil- 
lion, and campaign in six states, it's likely you'll have less 
than four million by Saturday. Your ad campaign will do you 
no good. 

There's one more item you can choose: RECONSIDER. If 
you make a mistake, this option wipes your itinerary clean so 
that you can start the week anew. Your choices are not perma- 
nent until you fill out the seventh day and press the fire but- 
ton. (If you pull on the joystick instead, it's the same as 
reconsidering.) 

Here's a summary of the commands on the main menu: 

• CAMPAIGN — allows you to make a personal appearance in 
one of the states of the region you're visiting. Results depend 
on campaign effectiveness, built-in party bias of the state, 
health, and issues. Doesn't work if you have zero health or 
money, or if all undecided voters have been claimed. Gains 
votes, costs health and money. 

• TV ADS — blankets the region with advertising. Reduces 
health and costs a lot of money, but can quickly deliver a big 
chunk of votes. Net votes based on TV advertising effective- 
ness, campaign effectiveness, and issues. Doesn't work if you 
have less than four million dollars. 

• FUNDRAIS — raises money for your campaign based on 
fund-raising ability. Takes a day, gains no votes, costs 
nothing. 

• REST — builds up your health points, according to strength 
factor. Extra points if you rest two days in a row. Gains no 
new votes, costs nothing. 

• MAP — moves the cursor around the map, prints the state 
name, electoral votes, and region number. For information 
only, costs nothing. 

• POLL — provides a bar graph showing which way the states 
in the region are leaning. Costs $100,000 (immediately). Not 
available if money falls below one niillion dollars. 

• RECONSIDER — erases the week's itinerary if you make a 
mistake. 



24 



The Games 



• TRAVEL — takes you to a new region of the country. Costs 
$100,000 (not charged to you until you actually campaign 
there). 

The Home Stretch 

The ninth week is usually the most hectic. If you sponsored 
some fund-raisers in week 8, you'll want to spend a lot on TV 
advertising in the regions where you have a chance. Polls can 
tell you which states are most vulnerable. 

After both candidates have finished their last week of 
campaigning, a couple of things happen. The last region to be 
visited by a candidate gives that candidate a few extra votes. 
And the last-week routine goes into action, as all the unde- 
cided voters make up their minds. Both candidates get their 
last-minute campaigning points (intelligence plus stamina) 
added to each state in the country. The undecided voters are 
split between the candidates and ties are resolved (based on 
the built-in bias to one party or the other). 

The map is drawn for the final time. The final bar chart 
appears to the left (which should indicate at a glance which 
candidate won). Beginning with region 1 (New England), the 
electoral votes are displayed, with region totals below. 

The winner is the candidate with the most electoral votes. 
There is a slight chance that there will be a tie, in which case 
you'd have to flip a coin. 

Campaign Etiquette 

Here are a few traditional rules of Campaign Manager 
etiquette: 

First, since the joystick routine reads both joysticks, try to 
avoid interfering with your opponent's choices. Put down your 
joystick when it's not your turn. 

Second, when you have filled out your itinerary and the 
prompt PRESS FIRE BUTTON TO CONTINUE appears, don't 
press the fire button. Let your opponent study what moves 
you made. Then he or she can press the fire button. 

Third, since polls cost money, they should be kept private. 
When the other player is taking a poll, look away from the 
screen. 



25 



Chapter 1 



On to the White House 

Campaign Manager is a true simulation. It accurately repre- 
sents different candidate's strengths and weaknesses, cam- 
paign strategies and tactics, and allows for that bane of all 
politicians, a bit of luck. You'll find the game entertaining and 
highly educational as well. We all can't run for the presidency. 
But with Campaign Manager, you can at least see how you 
would have done, given the chance. 

Typing 

Refer to Chapter 2, page 64, for Campaign Manager's typing 
instructions and MLX listing. 

Source Code 

Campaign Manager's source code can be found in Chapter 3, 
beginning on page 147. 



26 



n 



Heat Seeker 



Jeff Wolverton 
64 version by Tim Victor 



Your Jet climbs upward to avoid the missile, then 
dives for the ground. But it's still on your tail. You 
can't shake a heat seeker. A fast-action game for the 
Commodore 64 or Commodore 1 28 (in 64 mode). 
Joystick required. 



Heat-seeking missiles are dangerous. They sense the heat from 
your jet engine and home in on you. They'll catch you, too — 
they're faster than any jet. 

Your assignment — eliminate the heat-seeker base. It's 
easy enough to strafe the missiles on the ground, but if any 
are launched, you'll have to take evasive action. 

Piloting the Jet 

You can load and run "Heat Seeker" as you would any BASIC 
program since an enabling SYS command is built in. Simply 
enter 

LOAD "HEATSEEKER",8 (for disk) 
LOAD "HEATSEEKER" (for tape) 

(Use the filename you saved the program with in place of 

HEATSEEKER.) 

Press RETURN, then type 

RUN 

and press RETURN again. 

Use the joystick to control the movement of the plane. 
The controls may seem a little confusing at first. You pull back 
to loop upward (counterclockwise) and push forward to loop 
down (clockwise), like in a real airplane. The jet moves at a 
constant velocity — you can't speed up or slow down. Press the 
fire button to launch a missile at the heat seekers on the 
ground. 

If you do manage to eliminate all the heat seekers, you 
get to start all over again, this time with a new group of heat 



27 



Chapter 1 



seekers. You have eight jets to work with — the number re- 
mainir\g is displayed on the screen, next to the score. To pause 
the game, press the SHIFT LOCK key. 

Fast 

The jets and missiles in Heat Seeker are sprites, making for 
smooth movement. Written entirely in machine language, the 
game is fast. 

Though you can fire at heat seekers on the ground, it 
does no good to fire at a moving heat seeker. They're 
equipped with an improved electronic evasion (lEE) circuit 
which makes them impossible to hit. The only way to get rid 
of a seeker is to make it crash into the ground. When you're 
being pursued, dive for the ground and pull up at the last sec- 
ond. Seekers are faster, but they can't turn as quickly. 

Don't worry about errant rounds you've fired — your plane 
can't shoot itself. If your jet is destroyed, all the heat seekers 
reappear. 

A two-player mode is also available. It's not competitive: 
The players take turns flying the plane, trying for the highest 
possible score. The game reads both joystick ports, so if you're 
using two joysticks, the inactive player should put down the 
joystick to avoid interfering. 

There are three levels of difficulty: Novice, Intermediate, 
and Expert. The higher levels have faster action and tighter 
curves. A flight-time bonus of ten points is awarded every few 
seconds, just for staying in the air. 

Typing 

Chapter 2 contains the typing instructions and "MLX" listing 
for Heat Seeker. Refer to page 84. 

Source Code 

Heat Seeker's source code begins on page 173. 



28 



n 

n 

n Laser Beam 

^ Mike Greenfield 

^ 64 version by Kevin Mykytyn 



n 

This fast-paced arcade game challenges the quickest 
reflexes. You'll need a Joystick to shoot the laser, 
dodge the bouncing balls, and make it back to 
the safe zone. 



"Laser Beam" is a fast-action, arcade-style game that, like al- 
most every good game, sounds simple in the explaining but is 
far from easy in its play. Render the dangerous balls harmless 
w^ith your laser, snatch the now-touchable ball while avoiding 
all the others, deposit that ball in the basket, and (whew!) 
make it back to the safe zone. 

The Highlight Zone 

Plug a joystick into port 2 and type 

LOAD"LASER BEAM",8,1 (for disk) 
LOAD"LASER BEAM",1,1 (for tape) 

assuming that you saved the program with the filename LA- 
SER BEAM, of course. Next, type 

SYS 49152 

and press RETURN. 

Move the joystick up or down to select the difficulty leveL 
which ranges from (slowest) to 9 (impossibly fast). The game 
starts when you press the joystick's fire button. 

You'll immediately see seven colored balls bouncing 
around the screen. At the left is a highlighted safe zone occu- 
pied by a small stick figure — that's you. By moving the joy- 
stick, you can maneuver your figure around the screen. But if 
you venture out of the safe zone and bump into a bouncing 
ball, you're zapped. (You get three lives per game, as indicated 
by the figures at the bottom of the screen.) 

Your goal is to render the balls harmless, grab them one 
by one, and drop them into the basket in the lower-right cor- 
ner. To make a ball safe to touch, you have to shoot it with 
the laser gun. The laser is visible along the edge of the screen. 

29 



Chapter 1 



To control it, first move your figure into the uppermost corner 
of the safe zone. The laser gun is under your control only when 
your figure is at this spot. Pushing the joystick to the right 
moves the laser clockwise around the edge of the screen, and 
pushing the joystick to the left moves the laser counterclock- 
wise. Press the fire button to activate the beam. If you push 
the joystick in any other direction, you'll move your figure 
away from the top of the safe zone, and the laser gun will no 
longer be under your control. 

You can't shoot just any bouncing ball with the laser to 
make it safe to grab. You have to shoot the ball which 
matches the border color of the screen. As soon as you hit the 
ball, it turns white. Then you can maneuver your figure out of 
the safe zone, grab the white ball by touching it, carry it to the 
basket, and drop it in by pressing the fire button. Afterward, 
you must scurry back to the safe zone before a collision with 
another ball. 

Let's say the border color is red. First, you move your fig- 
ure to the top of the safe zone to take control of the laser gun. 
Next, you push the joystick right or left to aim the laser at the 
red ball. When you have a clear shot, press the fire button to 
shoot the beam. If you score a hit, the red ball turns white. 
Then you can push the joystick in another direction to move 
your figure out of the safe zone. Grab the ball, stuff it into the 
basket by pressing the fire button, and make your escape — all 
while avoiding the other bouncing balls. If you succeed, the 
border color changes to correspond to one of the remaining 
balls. 

You continue with the process until all the balls are safely 
dropped into the basket. Then another round begins. 

Bouncing Chaos 

Sounds simple, right? Well, it's not. There are a few complica- 
tions. Suppose you fire the laser and hit a bouncing ball that 
doesn't match the border color. It turns white, too. But it isn't 
safe to grab. If you touch it, you're zapped. This becomes a 
real problem when you accidentally shoot several of the balls 
and turn them white. Only one of them is safe, and you have 
to remember which one. It's not easy when three or more 
white balls are bopping all over the place. 

There's an incentive for creating this chaos, however. The 
number of points you get for dropping a ball in the basket 

30 



The Games 



doubles for each white ball on the screen. If the only white 
ball is the one you're grabbing, you get only 5 points. If a sec- 
ond ball is white, you get 10 points; if a third ball is white, 
you get 20 points; and so on. If all seven balls are white when 
you drop the first one into the basket, you score 320 points. 

Another complication is that your safe zone doesn't al- 
ways stay safe for very long. After you shoot the ball that 
matches the border color, it begins shrinking from the bottom 
up. If you don't hurry out, you'll get zapped. 

And there's yet another reason to move quickly: If you 
finish a round by dropping every ball into the basket before 
the horizontal bar at the bottom of the screen disappears, you 
get a 50-point bonus. 

If all this action causes your brain to momentarily suffer a 
system crash, you can freeze everything by pressing and hold- 
ing the SHIFT key. Press SHIFT LOCK to freeze the game for 
extended periods. Release SHIFT to resume play. 

Typing 

Refer to Chapter 2, page 95, for Laser Beam's typing instruc- 
tions and "MLX" listing. 

Source Code 

The source code for Laser Beam can be found in Chapter 3, 
page 188. 



31 



Whirlybird 



Philip I. Nelson 



This hyperactive bird lays some rather unusual eggs. 
A quick-reflex action game for the Commodore 64 
and 128 (in 64 mode). You'll need a Joystick. 



"Whirlybird" is a fast, updated versiori of the classic game 
Breakout. You cor\trol the Whirlybird, who flies back and forth 
at the top of the screen, spinning continuously. The goal is to 
clear out the layers of colored bricks at the bottom by bounc- 
ing eggs against them. When an egg moves back in your direc- 
tion, move the Whirlybird into its path to bounce it back 
down. The game ends when you clear the field of bricks or 
run out of eggs. 

Starting Up 

Plug a joystick into port 2, then load and run Whirlybird as if 
it were a BASIC program. Don't try to start the program with 
the SYS command. 

To load the game, type 

LOAD "filename" fi (for disk) 
LOAD "filename" (for tape) 

where filename is the name you used when you saved the 
game from "MLX." Type RUN. 

The playfield appears immediately, with the Whirlybird 
twirling across the top of the screen. On either edge is a spar- 
kling row of sidebeams and below are multicolored rows of 
bricks. At the upper right is the number of eggs you'll have in 
this game. Though the usual number is 10, you can get a 
smaller or larger number (up to 255) by pushing the joystick 
backward or forward. (Don't select zero — you'll simply return 
to the startup screen.) 

Now pick the skill level. Press the fl key to play a normal 
game or the f3 key for an expert game. At the expert level, the 
Whirlybird is only half its normal size, making it harder to hit 
the eggs. After choosing the level, the prompts disappear and 
the game begins. 



32 



The Games 



Lay an Egg 

Press the fire button to release the first egg. You earn 1 point 
every time you hit a brick, and 10 points every time you 
bounce an egg back down with the Whirlybird. Letting the egg 
fly past you into space subtracts 10 points from your score 
(unless it's already under 10). When that happens, the 
sidebeams sparkle continuously until you press the fire button 
again to release the next egg. Play continues until you lose all 
your eggs or clear the field of bricks. A 50-point bonus is 
awarded for clearing every brick from the screen. 

In addition to normal bricks, the playfield contains a few 
round ones. When the egg hits one of these, the Whirlybird 
swoops down to deposit a sidebeam somewhere above the 
playfield. This doesn't affect your score — you get a free egg as 
well (press the fire button to release it). However, the extra 
sidebeams add an element of uncertainty since the egg re- 
bounds sideways from them (not up and down), and they may 
or may not disappear when struck. 

Whirlybird displays your current score as well as the 
highest score attained during the current session (which may 
include more than one game). When a game ends, both scores 
are displayed until you release the first egg in the next game, 
after which the score is cleared to zero. Since the high score is 
stored within the program code, you can record it for future 
comparison by resaving the game after each session ends. (It's 
a good idea to resave it with a different filename — like 
BIRDHIGH — to distinguish it from the original copy, which 
then serves as a backup.) The next time you load and run 
Whirlybird, it displays the previous highest score. 

The Joystick Accelerator 

It may take you some time and practice to master the joystick 
motion in Whirlybird. Rather than zooming immediately to 
the spot you want, the bird moves in an elastic manner, simu- 
lating the inertia and momentum of a natural object. It takes a 
bit of pushing to overcome the bird's inertia and get it mov- 
ing. The longer you push in one direction, the more speed and 
momentum you gain (up to a point). After you let up on the 
stick, the bird slows down and eventually stops. Hitting the 
sidebeam reverses your direction immediately. Reversing di- 
rection in midscreen may take a long or short time depending 
on your speed. 

33 



u 

Chapter 1 

u 

Think of the joystick as a gas pedal in a car. Keeping your 
foot on the accelerator makes the car move faster and faster. U 
Let up, and the car gradually slows down. Learning to control 
the acceleration takes time. (You may find it more effective to LJ 
move the Whirlybird with short taps on the joystick, rather 
than with long periods of acceleration.) i_l 

Egg Juggling 

The direction in which an egg bounces when it hits the 
Whirlybird depends on which way you're pressing the joy- 
stick. If you're not pressing it left or right, the egg rebounds as 
if the bird were a solid wall. If you're pressing the stick left, 
the egg bounces to the left; if you're pressing right, it bounces 
to the right. This lets you control the direction of every 
bounce. But don't move the stick so much that you miss the 
egg completely. 

The result of a bird/egg collision also depends on what 
part of the bird you hit. The safest strategy is to hit the egg 
with the bird's feet. Bouncing it off a v^dng is more dangerous, 
since the bird never stops turning. If the egg arrives when the 
wing is outspread, you'll usually get a normal collision. But if 
the Whirlybird happens to be facing sideways — making it very 
slim in profile — the egg may miss completely. 

Occasionally, a wing collision causes the bird to juggle the 
egg briefly. Juggling gives you extra points and may also 
change the angle of rebound slightly (a boon when you're 
short on eggs and need to clear the last few bricks). But it's 
also dangerous, since the bird may juggle the egg upward and 
out of play. Juggling occurs less frequently at the expert level; 
with smaller wings it's more difficult to get multiple collisions. 



Rings and Filters 

Whirlybird's unusual sound effects are created with two voices 
of the computer's sound chip. Voice 3 is used as a random 
number generator (to pick a random screen position and direc- 
tion for each new egg) and doesn't produce any sound. Voice 
1, set for a pulse waveform, makes a boing sound when an egg 
bounces, and voice 2 creates low, thrumming tones in the 
background with a ring-modulated triangle wave. The vibrato- 
like effect results from ring-modulated overtones that slowly 
pass in and out of phase with the frequencies of voices 1 and 2. 



34 



The Games 



These sounds are made more interesting by passing them 
through a combined low-pass/band-pass filter and sweeping 
the filter's cutoff frequency up or down in conjunction with 
other game events. When you start the game or when the egg 
is flying freely, the cutoff frequency sweeps up and down, cre- 
ating a gradual meow-meow effect. When the egg hits some- 
thing, the cutoff frequency is set high and swept rapidly 
downward to accentuate the bouncing noise. 

Typing 

Refer to Chapter 2, page 105, for Whirlybird's typing instruc- 
tions and MLX listing. 

Source Code 

Whirlybird's source code can be found in Chapter 3, starting 
on page 199. 



n 



35 



Miami Ice 



Jeff Kulczyckl 
64 version by Kevin Mykytyn 



Forget the flamingos, the sun, the powerboats, and 
the designer clothes. "Miami Ice" doesn't have a 
smuggler within miles. What it does have is ice — lots 
and lots of slick ice under your wheels. This action 
game challenges both your driving skills and powers 
of concentration. Joystick required. 



Ah, Miami — sun city of the South. A sparkling metropolis 
blessed w^ith a tropical climate, palm trees, beaches, revived 
art deco architecture, stylish pastels, and classy elegance. Al- 
most paradise. 

You v^ake up on another bright, sunny Miami morning, 
sip a glass of freshly squeezed orange juice, don your v^hite 
linen suit and sunglasses, and stroll outside — then get the 
shock of your life. 

What's going on here? Overnight, a freak shift in the jet 
stream has piped a blistering cold front down from Ohio. The 
weather forecaster had predicted a brief shower last evening, 
but that's not what happened. Instead, the Florida peninsula 
was blasted by the worst ice storm in 400 years. The Ever- 
glades are frozen solid. The pink flamingos are blue. And the 
streets of Miami are coated with a shimmering layer of slip- 
pery ice. 

As you start your car — the pampered engine coughs and 
sputters in the bitter cold — you wonder what it's going to be 
like driving to work. A Miami native, you've never driven on 
ice before. In fact, you've never even seen this much ice since 
your boss's retirement party last year, when the caterers made 
that life-size ice sculpture of Ponce de Leon. You've heard the 
horror stories told by tourists about winter driving conditions 
up North, but never thought it could happen to you — not 
here, in Miami. 

The minute you pull out onto the street, your worst fears 
come true. When you step on the gas pedal, the wheels spin 
and the car accelerates sluggishly. When you turn the steering 

36 



The Games 



wheel, the car slides all over the road. And when you step on 
the brakes — well, forget it. 

You realize, desperately, that you've got to make it to the 
parking garage across town without smashing your car to 
smithereens. It won't be easy. But at least there's one thing in 
your favor — you've got the whole road to yourself. Everyone 
else, it seems, had the good sense to stay home. 

Out of Control 

Use the joystick plugged into port 1 to maneuver your car 
across ice-covered Miami streets and reach the safety of a ga- 
rage. The joystick button is the gas pedal, and pushing the 
stick right or left steers the car in the corresponding direction. 

Here's the twist — the car doesn't respond instantly to 
your commands. It tends to slide in the same direction even 
after you've steered it toward another direction. Then, when 
you try to recover, you often overcorrect and start sliding in 
yet another new direction. It's an inertial nightmare — much 
like real winter driving. 

When you hit a guardrail or some other obstruction, your 
car cracks up. You get three cars per game. To steer your car 
safely into the parking garage and advance to the next screen, 
enter the front of the garage without bumping into the black 
lines which mark its three walls. 

But the game's not over even if you reach the safety of 
the garage. Instead, you advance to another screen whose 
streets are even harder to navigate. 

The number of points you score depends on how soon 
you reach the garage. As an incentive to recklessness, a timer 
starts counting down when you begin each new screen. If you 
reach the garage, you score the number of points left on the 
timer. If the timer runs out, you can still reach the garage, but 
you won't get any points. However, you will advance to the 
next screen. Indicators on the screen show the timer value and 
your current score. 

Hands at Ten and Two 

Though Miami Ice is written in machine language, you start 
the program as if it were written in BASIC. To get a grip on 
the steering wheel of your car, load the program by typing 

LOAD" filename", 8 (for disk) 
LOAD"filename" (for tape) 

37 



Chapter 1 



Press RETURN, then t5^e 
RUN 

and press RETURN again. 

Make sure you've plugged a joystick into port 1. 

Miami Ice includes seven screens. The game normally 
starts at screen 1, but you can begin a new game at any screen 
by moving the joystick up or down to change the screen num- 
ber. This lets you skip the easier screens as you become a bet- 
ter player or peek at the hardest screens while you're still a 
beginner. 

Typing 

Look to Chapter 2, page 114, for Miami Ice's typing instruc- 
tions and "MLX" listing. 

Source Code 

You'll find that the source code for Miami Ice begins on page 
210 in Chapter 3. 



38 



MLX 

Machine Language 
Entry Program 

Ottis R. Cowper 



"MLX" is a labor-saving utility that allows almost 
Jail-sqfe entry of machine language programs. 



Type in and save at least two copies of "MLX" (you'll want to 
use it to enter future Commodore 64 machine language pro- 
grams from COMPUTE! magazine, COMPUTEI's Gazette, and 
COMPUTE! books). If you're using a Commodore 128, you 
can still use MLX — you must enter it and any ML programs in 
64 mode, however. 

When you're ready to enter an ML program, load and run 
MLX. It asks you for a starting address and an ending address. 
These addresses appear in the short article accompanying the 
MLX-format listing of each game. You'll find the listings in 
Chapter 2. 

If you're unfamiliar with machine language, the addresses 
(and all other values you enter in MLX) may appear strange. 
Instead of the usual decimal numbers you're accustomed to, 
these numbers are in hexadecimal — a base 16 numbering sys- 
tem commonly used by ML programmers. Hexadecimal — hex 
for short — includes the numerals 0-9 and the letters A-F. But 
don't worry — even if you know nothing about ML or hex, you 
should have no trouble using MLX. 

After you enter the starting and ending addresses, you'll 
be offered the option of clearing the workspace. Choose this 
option if you're starting to enter a new listing. If you're con- 
tinuing a listing that's partially typed from a previous session, 
don't choose this option. 

A functions menu appears. The first option in the menu is 
ENTER DATA. If you're just starting to type in a program, 
pick this. Press the E key, and type the first number in the 
first line of the program listing. If you've already typed in part 
of a program, type the line number where you left off typing 

41 



Chapter 2 



at the end of the previous session (be sure to load the partially 
completed program before you resume entry). In any case, 
make sure the address you enter corresponds to the address of 
a line in the listing you are entering. Otherwise, you'll be un- 
able to enter the data correctly. If you press E by mistake, you 
can return to the command menu by pressing RETURN alone 
when asked for the address. (You can get back to the menu 
from most options by pressing RETURN with no other input.) 

Entering a Listing 

Once you're in Enter mode, MLX prints the address for each 
program line for you. You then type in all nine numbers on 
that line, beginning with the first two-digit number after the 
colon (:). Each line represents eight data bytes and a 
checksum. Although an MLX-format listing appears similar to 
the "hex dump" listings from a machine language monitor 
program, the extra checksum number on the end allows MLX 
to check your typing. 

When you enter a line, MLX recalculates the checksum 
from the eight bytes and the address, and compares this value 
with the number from the ninth column. If the values match, 
you'll hear a bell tone, the data will be added to the 
workspace area, and the prompt for the next line of data will 
appear. But if MLX detects a typing error, you'll hear a low 
buzz and see an error message. The line will then be re- 
displayed for editing. 

Invalid Characters Banned 

Only a few keys are active while you're entering data, so you 
may have to unlearn some habits. You do not type spaces be- 
tween the columns; MLX automatically inserts these for you. 
You do not press RETURN after typing the last number in a 
line; MLX automatically enters and checks the line after you 
type the last digit. 

Only the numerals 0-9 and the letters A-F can be typed 
in. If you press any other key (with some exceptions noted be- 
low), you'll hear a warning buzz. To simplify typing, a keypad 
is available. The keypad — part of the keyboard — is active only 
while you're entering data. Addresses must be entered with 
the normal letter and number keys. The figure below shows 
the keypad configuration. 



42 



Type It In 



64 MLX Keypad 



7 


CO 


9 






4 
U 



6 
O 



2 
K 



A 
M 





Space 



D 
/ 



MLX checks for transposed characters. If you're supposed 
to type in AO and enter OA instead, MLX will catch your mis- 
take. There is one error that can slip past MLX: Because of the 
checksum formula used, MLX won't notice if you accidentally 
type FF in place of 00, and vice versa. And there's a very slim 
chance that you could garble a line and still end up with a 
combination of characters that adds up to the proper check- 
sum. However, these mistakes should not occur if you take 
reasonable care while entering data. 

Editing Features 

To correct t)^ing mistakes before finishing a line, use the 
INST/DEL key to delete the character to the left of the cursor. 
(The cursor-left key also deletes.) If you really mess up a line, 
press CLR/HOME to restart the line. The RETURN key is also 
active, but only before any data is typed on a line. Pressing 
RETURN at this point returns you to the command menu. 
After you type a character of data, MLX disables RETURN un- 
til the cursor returns to the start of a line. Remember, you can 
press CLR/HOME to get to a line number prompt quickly. 

More editing features are available when you're correcting 
lines in which MLX has detected an error. To make corrections 
in a line that MLX has redisplayed for editing, compare the 
line on the screen with the one printed in the listing, then 
move the cursor to the mistake and t5^e the correct key. The 



43 



Chapter 2 



cursor-left and -right keys provide the normal cursor controls. 
(The INST /DEL key now works as an alternative cursor-left 
key.) You cannot move left beyond the first character in the 
line. If you try to move beyond the rightmost character, you'll 
reenter the line. During editing, RETURN is active; pressing it 
tells MLX to recheck the line. You can press the CLR/HOME 
key to clear the entire line if you want to start from scratch or 
if you want to get to a line number prompt to use RETURN to 
get back to the menu. 

Display Data 

The second menu choice, DISPLAY DATA, examines memory 
and shows the contents in the same format as the program 
listing (including the checksum). When you press D, MLX asks 
you for a starting address. Be sure that the starting address 
you give corresponds to a line number in the listing. Other- 
wise, the checksum display will be meaningless. MLX displays 
program lines until it reaches the end of the program, at 
which point the menu is redisplayed. You can pause the dis- 
play by pressing the space bar. (MLX finishes printing the cur- 
rent line before halting.) Press the space bar again to restart 
the display. To break out of the display and get back to the 
menu before the ending address is reached, press RETURN. 

Other Menu Options 

Two more menu selections let you save programs and load 
them back into the computer. These are SAVE FILE and 
LOAD FILE; their operation is quite straightforward. When 
you press S or L, MLX asks you for the filename. You'll then 
be asked to press either D or T to select disk or tape. 

You'll notice the disk drive starting and stopping several 
times during a load or save. Don't panic; this is normal behav- 
ior. MLX opens and reads from or writes to the file instead of 
using the usual LOAD and SAVE commands. Disk users 
should also note that the drive prefix 0: is automatically added 
to the filename (line 750), so it should not be included when 
you enter the name. This also precludes the use of @ for 
Save-with-Replace, so remember to give each version you save 
a different name. 

Remember that MLX saves the entire workspace area from 
the starting address to the ending address, so the save or load 
may take longer than you might expect if you've entered only 

44 



Type It In 



a small amount of data from a long listing. When saving a 
partially completed listing, make sure to note the address 
where you stopped typing so that you'll know where to re- 
sume entry when you reload. 

MLX reports the standard disk or tape error messages if 
any problems are detected during the save or load. (Tape users 
should bear in mind that Commodore computers are never 
able to detect errors during a save to tape.) MLX also has three 
special load error messages: INCORRECT STARTING AD- 
DRESS, which means the file you're trying to load does not 
have the starting address you specified when you ran MLX; 
LOAD ENDED AT address, which means the file you're trying 
to load ends before the ending address you specified when 
you started MLX; and TRUNCATED AT ENDING ADDRESS, 
which means the file you're trying to load extends beyond the 
ending address you specified when you started MLX. If you 
see one of these messages and feel certain that you've loaded 
the right file, exit and rerun MLX, being careful to enter the 
correct starting and ending addresses. 

The QUIT menu option has the obvious effect — it stops 
MLX and enters BASIC. The RUN/STOP key is disabled, so 
the Q option lets you exit the program without turning off the 
computer. (Of course, RUN/STOP-RESTORE also gets you 
out.) You'll be asked for verification; press Y to exit to BASIC 
or any other key to return to the menu. After quitting, you can 
type RUN again and reenter MLX without losing your data, as 
long as you don't use the clear workspace option. 

The Finished Product 

When you've finished typing all the data for an ML program 
and saved your work, you're ready to see the results. The in- 
structions for loading and using the finished product vary 
from program to program. Some ML programs are designed to 
be loaded and run like BASIC programs, so all you need to 
type is LOAD "filename", 8 for disk or LOAD "filename" for 
tape, and then RUN. Such programs will usually have a start- 
ing address of 0801. Other programs must be reloaded to spe- 
cific addresses with a command such as LOAD "filename", 8,1 
for disk or LOAD "filename", 1,1 for tape, then started with a 
SYS to a particular memory address. On the Commodore 64, 
the most common starting address for such programs is 49152, 
which corresponds to MLX address COOO. In either case, refer 

45 



Chapter 2 



to the general description for each game — you'll find these in 
Chapter 1. 

An Ounce of Prevention 

By the time you finish typing in the data for a long ML pro- 
gram, you may have several hours invested in the project. 
Don't take chances — read Appendix A, "How to Type In Pro- 
grams," use our "Automatic Proofreader" to type in MLX, and 
then test your copy thoroughly before first using it to enter any 
significant amount of data. Make sure all the menu options 
work as they should. Enter fragments of the program starting 
at several different addresses, then use the Display option to 
verify that the data has been entered correctly. And be sure to 
test the Save and Load options several times to insure that you 
can recall your work from disk or tape. Don't let a simple typ- 
ing error in the new MLX cost you several nights of hard work. 

MLX 

Read Appendix A before entering program. For error-free entry, use "The Automatic Proof- 
reader" (Appendix B) to type in this program. 

SS 10 REM VERSION 1.1: LINES 830,950 MODIFIED, LIN 

ES 485-487 ADDED 
EK 100 POKE 56,50:CLR:DIM IN? , I , J , A, B , A? , B$ , A ( 7 ) , N 
$ 

DM 110 C4=48:C6=16:C7=7:Z2=2:Z4=254:Z5=255:Z6=256: 
Z7=127 

CJ 120 FA=PEEK(45)+Z6*PEEK(46) :BS=PEEK(55)+Z6*PEEK 

(56) :H$="0123456789ABCDEF" 
SB 130 R$=CHR${13) :L$="{LEFT}"!S$=" " : D$=CHR$ ( 20 ) : 

Z$=CHR$(0) :T$="ll3 RIGHT]" 
CQ 140 SD=54272:FOR I=SD TO SD+23:P0KE I,0:NEXT:PO 

KE SD+24,15:POKE 788,52 
FC 150 PRINT"{CLR}"CHR$(142)CHR$(8) :POKE 53280,15: 

POKE 53281,15 
EJ 160 PRINT T$" {RED}{RVS}12 SPACES} §8 @3 

(2 SPACES} "SPC(28)" {2 SPACES} {OFF} {BLU} MLX 
II {RED}{RVS}12 SPACES }"SPC( 28)" 

{12 SPACES] {BLU } " 
FR 170 PRINT"{3 D0WN}{3 SPACES } COMPUTE I ' S MACHINE 

{ SPACE ] LANGUAGE ED1T0R13 DOWN}" 
JB 180 PRINT" I BLK] STARTING ADDRESS g43 :GOSUB300 : S 

A=AD:GOSUB1040:IF F THEN180 
GF 190 PRINT" {BLK} {2 SPACES }ENDING ADDRESSg43 " ; :G0 

SUB300:EA=AD:GOSUB1030:IF F THEN190 
KR 200 INPUT"{3 DOWN] {BLK] CLEAR WORKSPACE [Y/N]E43 

" ; A$ : I F LEFT$ ( A$ # 1 ) <> " Y"THEN220 

46 



Type It In 



PG 210 PRINT"{2 DOWN} {BLUlWORKING. . . "; :FORI=BS TO 
{SPACE }BS+EA-SA+7 :POKE I , :NEXT: PRINT "DONE" 

DR 220 PRINTTAB ( 10 ) " 1 2 DOWN } { BLK } { RVS } MLX COMMAND 
MENU lDOWN}B43": PRINT T$" {RVS]E{0PF}NTER D 
ATA" 

BD 230 PRINT T$" {RVS}D{0FF}ISPLAY DATA":PRINT T$" 

{RVS}L{OFF}OAD FILE" 
JS 240 PRINT T$" {RVS}S{0FF}AVE FILE": PRINT T$" 

{RVS}Q{OFF}UIT{2 DOWN} {BLK}" 
JH 250 GET A$:IF A$=N$ THEN250 

HK 260 A=0:FOR 1=1 TO 5:IF A$=MID$ ( "EDLSQ" , I , 1 )THE 
N A=I:I=5 

FD 270 NEXTrON A GOTO420,610,690,700,280:GOSUB1060 
:GOTO250 

EJ 280 PRINT" {RVS} QUIT ": INPUT " {DOWN } g4i ARE YOU S 

URE [Y/N]";A$!lF LEPT$ ( A$ , 1 ) <> "Y"THEN220 
EM 290 POKE SD+24,0sEND 

JX 300 IN$=N$ :AD=0:INPUTIN$ :IFLEN( IN$ ) 04THENRETUR 
N 

KF 310 B$=IN$:GOSUB320:AD=A:B$=MID$(IN$,3) :GOSUB32 

: AD=AD* 2 5 6+A : RETURN 
PP 320 A=0:FOR J=l TO 2 :A$=MID$ (B$ , J , 1 ) :B=ASC (A$ ) - 

C4+(A$> "@" ) *C7 :A=A*C6+B 
JA 330 IF B<0 OR B>15 THEN AD=0 :A=-1 : J=2 
GX 340 NEXT: RETURN 

CH 350 B=INT(A/C6) :PRINT MID$ (H$ ,B+1 , 1 ) ; :B=A-B*C6 : 

PRINT MID$(H$,B+1,1 ) ; :RETURN 
RR 360 A=INT(AD/Z6) :GOSUB350:A=AD-A*Z6:GOSUB350:PR 

INT " : " ; 

BE 370 CK=INT(AD/Z6) :CK=AD-Z4*CK+Z5*(CK>Z7) :GOT039 


PX 380 CK=CK*Z2+Z5*(CK>Z7)+A 
JC 390 CK=CK+Z5*(CK>Z5) : RETURN 

QS 400 PRINT "{ DOWN }STARTING ATB43 " ; :GOSUB300 : IF IN 

$<>N$ THEN GOSUB1030:IF F THEN400 
EX 410 RETURN 

HD 420 PRINT" {RVS} ENTER DATA " :GOSUB400 : IF IN$=N$ 

THEN220 
JK 430 OPEN3,3 :PRINT 

SK 440 POKE198,0:GOSUB360:IF F THEN PRINT IN$:PRIN 

T"{UP}{5 RIGHT}"; 
GC 450 FOR 1=0 TO 24 STEP 3:B$=S?:F0R J=l TO 2:IF 

{ SPACE }F THEN B$=MID$ ( IN$ , I+J, 1 ) 
HA 460 PRINT" {RVS} "B$L$ ; :IF I< 24THEN PRINT " {OFF }" ; 
HD 470 GET A$:IF A$=N$ THEN470 

FK 480 IF(A$>"/"ANDA$<": ")0R(A$>"@"ANDA$<"G")THEN5 
40 

GS 485 A=-(A$="M")-2*(A$=", ")-3*(A$=". ")-4*(A$="/" 
)-5*(A$="J")-6*(A$="K") 



Chapter 2 

u 
u 

FX 486 A=A-7*(A$="L")-8*(A$=": ")-9*(A$="U")-10*(A$ 

="I " )-ll* ( A$="0" ) -12* (A$="P" ) Lj 
CM 487 A=A-13*(A$=S$) :IF A THEN A$=MID$ ( "ABCD123E4 

56F0",A,1) :GOTO 540 i / 

MP 490 IF A$=R$ AND( (I=0)AND(J=1)OR F)THEN PRINT B ^ 

$; :J=2:NEXT:I=24:GOTO550 
KC 500 IF A$="lHOME}" THEN PRINT B$ : J=2 :NEXT : 1=24 : LJ 

NEXT : F=0 : GOTO440 
MX 510 IF{A$=" {RIGHT)" )ANDF THENPRINT B$L$;!GOT054 



GK 520 IF A$<>L$ AND A$<>D$ 0R( ( 1=0 )AND(J=1 )) THEN 

I SPACE JGOSUB1060 :GOTO470 
HG 530 A$=L$+S$+L$ :PRINT B$L$; :J=2-J:IF J THEN PRI 

NT L$; : 1=1-3 
QS 540 PRINT A$;:NEXT J:PRINT S$ ; 

PM 550 NEXT I:PRINT:PRINT"{UP} [5 RIGHT }";: INPUT* 3 , 

IN$:IF IN$=N$ THEN CL0SE3 :GOTO220 
QC 560 FOR 1=1 TO 25 STEP3 :B$=MID$ ( IN$ , I ) :GOSUB320 

:IF K25 THEN GOSUB380 : A ( 1/ 3 )=A 
PK 570 NEXT:IF AOCK THEN GOSUB1060 : PRINT "{ BLK } 

{RVS} ERROR: REENTER LINE B43 " : F=l :GOTO440 
HJ 580 GOSUB1080:B=BS+AD-SA:FOR 1=0 TO 7:P0KE B+I, 

A(I) :NEXT 

QQ 590 AD=AD+8:IF AD>EA THEN CLOSES :PRINT " {DOWN } 

{BLU}** END OF ENTRY **{BLK}{2 D0WN]":G0T07 
00 

GQ 600 F=0:GOTO440 

QA 610 PRINT" {CLRi {DOWN} {RVS} DISPLAY DATA ":GOSUB 

400: IF IN$=N$ THEN220 
RJ 620 PRINT "{DOWN} {BLU} PRESS: { RVS} SPACE {OFF} TO 

{SPACE}PAUSE, {RVS} RETURN {OFF} TO BREAKB4i 

{DOWN}" 

KS 630 GOSUB360:B=BS+AD-SA!FORI=BTO B+7 :A=PEEK( I ) : 

GOSUB350:GOSUB380:PRINT S$; 
CC 640 NEXT:PRINT"{RVS}"; :A=CK:GOSUB350:PRINT 
KH 650 F=l :AD=AD+8:IF AD>EA THENPRINT" {DOWN) {BLU } * 

* END OF DATA **":GOTO220 
KC 660 GET A$:IF A$=R$ THEN GOSUB1080 :GOTO220 

EQ 670 IF A$=S$ THEN F=F+1 :GOSUB1080 ^ 
AD 680 ONFGOTO630,660,630 ^ 
CM 690 PRINT" {DOWN) {RVS} LOAD DATA " :0P=1 :GOTO710 
PC 700 PRINT" {DOWN} {RVS} SAVE FILE ":OP=0 l_J, 
RX 710 IN$=N$:INPUT"{DOWN}FILENAMEg43";IN$:IF IN$= 
N$ THEN220 

PR 720 F=0:PRINT" {DOWN} {BLK} {RVS }T{OFF}APE OR 
{RVS)D{OFF}lSK: §43"; 

FP 730 GET A$:IF A$ = "T"THEN PRINT "T{ DOWN }" :GOTO880 ' 1 

HQ 740 IF A$<>"D"THEN730 

HH 750 PRINT"D{DOWN}":OPEN15,8,15, "I0:":B=EA-SA:IN j_J 
$="0: "+IN$:IF OP THEN810 

48 ^ 



Type It In 



SQ 760 OPEN 1,8,8,IN$+",P,W":GOSUB860 :IF A THEN220 
FJ 770 AH=INT(SA/256) :AL=SA-(AH*256) iPRINT#l,CHR$( 

AL) ; CHR$ (AH) ; 
PE 780 FOR 1=0 TO B:PRINT#1,CHR$ (PEEK(BS+I) ) ; :IF S 

T THEN800 
FC 790 NEXTrCLOSEl :CL0SE15 :GOTO940 

GS 800 GOSUB1060:PRINT"{DOWN} {BLKIeRROR DURING SAV 

E: B43":GOSUB860 :GOTO220 
MA 810 OPEN 1,8,8,IN$+",P,R":GOSUB860 :IF A THEN220 
GE 820 GET#1,A$,B$:AD=ASC(A$+Z$)+256*ASC(B$+Z$) :IF 

ADOSA THEN F=l :GOTO850 
RX 830 FOR 1=0 TO B:GET#1 ,A$ :POKE BS+I , ASC (A$+Z$ ) : 

IP(I<>B)AND ST THEN F=2:AD=I:I=B 
FA 840 NEXT: IF ST<>64 THEN F=3 

FQ 850 CLOSEl :CL0SE15 :0N ABS(F>0)+1 GOTO960,970 
SA 860 INPUT#15 ,A,A$ :IF A THEN CLOSEl :CLOSE15 :GOSU 

B1060:PRINT"{RVS}ERROR: "A$ 
GQ 870 RETURN 

EJ 880 POKE183,PEEK(FA+2) :POKE187,PEEK(FA+3 ) :P0KE1 

88,PEEK(FA+4) :IFOP=0THEN920 
HJ 890 SYS 63466 :IF(PEEK(783)AND1)THEN GOSUB1060 :P 

RINT"{DOWN} {RVS} FILE NOT FOUND ":GOTO690 
CS 900 AD=PEEK(829)+256*PEEK(830) :IF ADOSA THEN F 

=1 :GOTO970 

SC 910 A=PEEK(831)+256*PEEK(B32)-1 :F=F-2*(A<EA)-3* 

(A>EA) :AD=A-AD:GOTO930 
KM 920 A=SA:B=EA+l:GOSUB1010:POKE780,3iSYS 63338 
JF 930 A=BS:B=BS+(EA-SA)+1 :GOSUB1010 :ON OP GOTO950 

:SYS 63591 

AE 940 GOSUB1080:PRINT"{BLU}** SAVE COMPLETED **": 
GOTO220 

XP 950 POKE147,0:SYS 63562 :IF ST>0 THEN970 
FR 960 GOSUB1080:PRINT"{BLU}** LOAD COMPLETED **": 
GOT 02 20 

DP 970 GOSUB1060 :PRINT" {BLK} {RVS}ERR0R DURING LOAD 
:{DOWN}§43":ON F GOSUB980, 990, 1000 :GOTO220 

PP 980 PRINT "INCORRECT STARTING ADDRESS (";:GOSUB3 
60 :PRINT " ) " : RETURN 

GR 990 PRINT"LOAD ENDED AT " ; :AD=SA+AD: GOSUB360 :PR 
INT D$: RETURN 

FD 1000 PRINT "TRUNCATED AT ENDING ADDRESS ": RETURN 

RX 1010 AH=INT(A/256) :AL=A-(AH*256) :POKE193,AL:POK 
E194, AH 

FF 1020 AH=INT(B/256) :AL=B-(AH*256) :POKE174,AL:POK 

El 75, AH: RETURN 
FX 1030 IF AD<SA OR AD>EA THEN1050 

HA 1040 IF(AD>511 AND AD<40960 )OR(AD>49151 AND AD< 
53248) THEN GOSUBl 080 :F=0 : RETURN 

HC 1050 GOSUB1060 :PRINT"{RVS} INVALID ADDRESS 
{ DOWN } {BLK } " : F=l : RETURN 



49 



Chapter 2 



AR 1060 POKE SD+-5,31 :POKE SD+6 , 208 :POKE SD,240:POK 

E SD+1,4:P0KE SD+4,33 
DX 1070 FOR S=l TO 100 :NEXT:GOTO1090 
PF 1080 POKE SD+5,8:POKE SD+6 , 240 : POKE SD,0:POKE S 

D+1,90:POKE SD+4,17 
AC 1090 FOR S=l TO 100 :NEXT: POKE SD+4,0:POKE SD,0: 

POKE SD+1,0:RETURN 



50 



Program 1 

CUT-OFFI 



Assuming that you have a copy of MLX typed in and saved to 
disk or tape, load and run it. You'll be asked to provide two 
addresses before you begin entering CUT-OFF!. Respond to 
the questions with 

Starting address: COOO 
Ending address: C5D7 

You're ready to start. 
CUT-OFF! 

For mistake-proof program entry, use "MLX: Machine Language Entry Program" to type in 
this program. 



C000:20 


CI 


CI 


40 


06 


00 


AD 


42 


OF 


C008:03 


18 


69 


01 


8D 


42 


03 


AD 


77 


C010:43 


03 


69 


00 


8D 


43 


03 


AB 


4F 


C018:3C 


03 


20 


8A 


03 


A9 


01 


8D 


79 


C020:41 


03 


20 


04 


03 


A2 


02 


Al 


Al 


C028:F7 


C9 


20 


F0 


20 


20 


93 


03 


97 


C030:20 


66 


05 


20 


D0 


02 


AD 


44 


47 


C038:03 


C9 


00 


F0 


53 


AD 


45 


03 


9B 


C040:C9 


00 


F0 


4C 


20 


BE 


00 


20 


27 


C048:43 


C4 


40 


06 


00 


20 


93 


03 


F7 


C050:A9 


00 


8D 


41 


03 


20 


04 


03 


52 


C058:A2 


00 


Al 


F7 


09 


20 


F0 


20 


AF 


C060 :20 


93 


03 


20 


66 


05 


20 


D0 


AC 


C068 :C2 


AD 


44 


03 


09 


00 


F0 


20 


BF 


C070 :AD 


45 


03 


09 


00 


F0 


19 


20 


2D 


C078:BE 


C0 


20 


43 


04 


40 


06 


C0 


E5 


C080:20 


93 


03 


AD 


01 


DO 


2D 


00 


20 


C088:DC 


29 


10 


F0 


06 


40 


06 


00 


02 


C090:4C 


F4 


04 


AD 


01 


DO 


2D 


00 


BE 


C098:DC 


29 


10 


F0 


F6 


A2 


FA 


20 


30 


C0A0:8A 


C3 


AD 


01 


DC 


2D 


00 


DC 


96 


C0A8:29 


10 


m 


F6 


AD 


01 


DC 


2D 


A4 


C0B0 :00 


DC 


29 


10 


F0 


F6 


A2 


FA 


33 


C0B8:20 


8A 


03 


40 


06 


C0 


A9 


93 


44 


C0C0:20 


D2 


FF 


A9 


0F 


8D 


20 


D0 


61 


C0C8:8D 


21 


D0 


A2 


00 


A9 


A0 


9D 


23 


C0D0 :00 


04 


A9 


00 


9D 


00 


D8 


E8 


10 


C0D8:E0 


28 


D0 


Fl 


A2 


00 


A9 


A0 


17 


C0E0 :9D 


00 


07 


A9 


00 


9D 


00 


DB 


B0 


C0E8:E8 


E0 


28 


D0 


Fl 


A9 


00 


85 


E4 



Chapter 2 



C0F0 :FD 


A9 


04 


85 


FE 


A9 


00 


85 


D8 


C0F8 :FB 


A9 


D8 


85 


FC 


A2 


00 


A9 


72 


C100 :A0 


A0 


00 


91 


FD 


A9 


00 


91 


3D 


C108 sFB 


A0 


27 


A9 


A0 


91 


FD 


A9 


22 


C110 S00 


91 


FB 


18 


A5 


FD 


69 


9ft 


1 Q 


CI 18 s 85 


PD 


A5 


FE 


69 


00 


85 


FE 


D7 


C120 : 18 


A5 


FB 


69 


28 


85 


FB 


A5 


24 


CI 28 :FC 


69 


00 


85 


FC 


E8 


E0 


19 


43 


C130 :D0 


CD 


A9 


05 


A2 


10 


9D 


00 


A5 


CI 38 :D8 


E8 


E0 


18 


D0 


F8 


A9 


83 


41 


C140 :8D 


10 


04 


A9 


95 


8D 


11 


04 


B2 


CI 48 :A9 


94 


8D 


12 


04 


A9 


AD 


8D 


48 


C150 :13 


04 


A9 


8F 


8D 


14 


04 


A9 


FA 


C158 :86 


8D 


15 


04 


8D 


16 


04 


A9 


DB 


C160 :A1 


8D 


17 


04 


A9 


06 


8D 


C7 


83 


C16a • 


A9 


02 


8D 


Dl 


D9 


A9 


51 


F6 


CI 70 'fin 


C7 


05 


A9 


57 


8D 


Dl 




ft! 


C178 • A9 


00 


8D 


42 


XJ <J 


O IJ 


43 


XJ o 




d R0 • A9 


07 




4R 


XJ -J 




XJ ID 




9 J 




03 


A9 


Dl 


8D 


46 


XI <J 


A9 


79 


C190 :05 


8D 


47 


03 


A9 


C7 


8D 


48 


E2 


C198 :03 


A9 


05 


8D 


49 


03 


18 


A2 


AA 


C1A0 :00 


A0 


07 


20 


F0 


FF 


AE 


3D 


51 


C1A8 :03 


AD 


3E 


03 


20 


CD 


BD 


18 


DC 


C1B0 :A2 


00 


A0 


ID 


20 


F0 


FF 


AE 


DE 


C1B8 :3F 


03 


AD 


40 


03 


20 


CD 


BD 


48 


C1C0 :60 


A9 


00 


8D 


3D 


03 


8D 


3E 


07 


C1C8:03 


8D 


3F 


03 


8D 


40 


03 


A9 


66 


C1D0 :51 


8D 


4D 


03 


A9 


57 


8D 


4C 


4C 


C1D8;03 


20 


BE 


C0 


A9 


05 


A2 


09 


79 


C1E0 s9D 


F0 


D8 


E8 


E0 


IE 


D0 


F8 


33 


CI E8 : A2 


09 


9D 


40 


D9 


E8 


E0 


IE 


0A 


C1F0 :D0 


F8 


8D 


A3 


D9 


A2 


00 


BD 


IE 


CI F8 • A4 


C2 


F0 


06 


9D 


F9 


04 


E8 


C3 


C200 ■ D0 


F5 


A2 


00 


BD 


BA 


C2 


F0 


0F 


C208 :06 


9D 


49 


05 


E8 


D0 


F5 


A9 


91 


C210 :30 


8D 


3C 


03 


8D 


A3 


05 


A2 


70 


C218 : 64 


20 


8A 


C3 


AD 


01 


DC 


29 


B9 


C220 :0F 


C9 


0E 


F0 


21 


C9 


0D 


F0 


AB 


C228 :0A 


AD 


01 


DC 


29 


10 


F0 


3F 


B6 


C230 :4C 


17 


C2 


AD 


3C 


03 


38 


E9 


ID 


C238 :01 


C9 


2F 


F0 


IC 


8D 


3C 


03 


38 


C240:8D 


A3 


05 


4C 


17 


C2 


AD 


3C 


36 


C248:03 


18 


69 


01 


C9 


3A 


F0 


14 


BF 


C250:8D 


3C 


03 


8D 


A3 


05 


4C 


17 


C5 


C258:C2 


A9 


39 


8D 


3C 


03 


8D 


A3 


56 


C260 :05 


4C 


17 


C2 


A9 


30 


8D 


3C 


EF 


C268:03 


8D 


A3 


05 


4C 


17 


C2 


AD 


89 


C270:01 


DC 


29 


10 


F0 


F9 


A2 


FA 


83 


C278:20 


8A 


C3 


AD 


3C 


03 


38 


E9 


4C 



52 



Type It In 



C280:30 


AA 


A9 


32 


8D 


30 


03 


E0 


65 


C288 :00 


F0 


00 


AD 


30 


03 


38 


E9 


0F 


C290:05 


8D 


3C 


03 


OA 


40 


87 


02 


0D 


C298:20 


BE 


C0 


A9 


0A 


8D 


44 


03 


A2 


C2A0:8D 


45 


03 


60 


0D 


0F 


16 


05 


7A 


C2A8:20 


0A 


0F 


19 


13 


14 


09 


03 


32 


C2B0 :0B 


20 


15 


10 


2F 


04 


0F 


17 


26 


C2B8:0E 


00 


14 


0F 


20 


03 


08 


0F 


E4 


C2C0 :0F 


13 


05 


20 


13 


0B 


09 


00 


18 


C2C8:0C 


20 


00 


05 


16 


05 


00 


00 


0B 


C2D0 :AD 


46 


03 


OD 


48 


03 


F0 


03 


2F 


C2D8:4C 


5C 


03 


AD 


47 


03 


OD 


49 


lA 


C2E0:03 


D0 


79 


AD 


4B 


03 


AE 


4A 


34 


C2E8:03 


C9 


0E 


F0 


00 


09 


07 


F0 


B9 


C2F0:0F 


C9 


0D 


F0 


12 


09 


0B 


F0 


DF 


C2P8:15 


E0 


0D 


F0 


18 


40 


50 


03 


60 


C300!E0 


0B 


F0 


11 


40 


50 


03 


E0 


26 


C308:0E 


F0 


0A 


40 


50 


03 


E0 


07 


93 


C310:F0 


03 


40 


50 


03 


AD 


3D 


03 


72 


C318:18 


6D 


42 


03 


8D 


3D 


03 


AD 


94 


C320:3E 


03 


69 


00 


8D 


3E 


03 


AD 


OD 


C328:43 


03 


18 


6D 


3E 


03 


8D 


3E 


43 


C330:03 


AE 


44 


03 


OA 


8E 


44 


03 


B9 


C338:AD 


3F 


03 


18 


6D 


42 


03 


8D 


50 


C340:3F 


03 


AD 


40 


03 


69 


00 


8D 


2D 


C348 :40 


03 


AD 


43 


03 


18 


6D 


40 


2E 


C350:03 


8D 


40 


03 


AE 


45 


03 


OA 


50 


C358:8E 


45 


03 


60 


AD 


41 


03 


0A 


61 


C360 :AA 


BD 


3D 


03 


18 


6D 


42 


03 


82 


C368 :9D 


3D 


03 


BD 


3E 


03 


69 


00 


IB 


C370:9D 


3E 


03 


AD 


43 


03 


18 


7D 


65 


C378:3E 


03 


9D 


3E 


03 


AE 


41 


03 


OF 


C380:BD 


44 


03 


38 


E9 


01 


9D 


44 


AE 


C388:03 


60 


A0 


00 


08 


D0 


FD 


OA 


0E 


C390:D0 


F8 


60 


AE 


41 


03 


BO 


40 


91 


C398:03 


8A 


0A 


AA 


B5 


F7 


9D 


46 


3F 


C3A0:03 


B5 


F8 


9D 


47 


03 


98 


81 


09 


C3A8:F7 


B5 


F8 


18 


69 


D4 


95 


F8 


FO 


C3B0:E0 


02 


D0 


08 


A9 


06 


81 


F7 


24 


C3B8:20 


99 


05 


60 


A9 


02 


81 


F7 


C5 


C3C0:20 


99 


05 


60 


AE 


41 


03 


BD 


BB 


C3C8:00 


DC 


29 


0F 


09 


0E 


F0 


12 


18 


C3D0:C9 


07 


F0 


26 


09 


0D 


F0 


3A 


IE 


C3D8sC9 


0B 


F0 


4E 


BD 


4A 


03 


40 


74 


C3E0:CC 


03 


9D 


4A 


03 


8A 


0A 


AA 


19 


C3E8:38 


BD 


46 


03 


E9 


28 


95 


F7 


08 


C3F0:BD 


47 


03 


E9 


00 


95 


F8 


40 


BC 


C3F8:42 


C4 


9D 


4A 


03 


8A 


0A 


AA 


20 


C400:18 


BD 


46 


03 


69 


01 


95 


F7 


70 


C408 : BD 


47 


03 


69 


00 


95 


F8 


40 


OD 



53 



Chapter 2 



C410:42 C4 9D 4A 03 8A 0A AA 45 
C418:18 BD 46 03 69 28 95 F7 25 
C420:BD 47 03 69 00 95 F8 4C E5 
C428:42 C4 9D 4A 03 8A 0A AA 5D 
C430:38 BD 46 03 E9 01 95 F7 B4 
C438:BD 47 03 E9 00 95 F8 4C 06 
C440:42 C4 60 A2 00 BD D4 C4 B7 
C448:F0 06 9D FF 04 E8 D0 F5 DA 
C450:A2 00 BD El C4 F0 06 9D 94 
C458:4F 05 E8 D0 F5 A2 00 BD EC 
C460:ED C4 F0 06 90 11 06 E8 B6 
C468:D0 F5 A2 00 BD ED C4 F0 4C 
C470:06 9D 21 06 E8 D0 F5 A9 09 
C478:05 A2 09 9D F0 D8 E8 E0 C5 
C480:1E D0 F8 A2 09 9D 40 D9 AF 
C488:E8 E0 IE D0 F8 A2 01 9D 81 
C490:08 DA E8 E0 25 D0 F8 18 76 
C498:A2 0D A0 0F 20 F0 FF AE 2F 
C4A0:45 03 A9 00 20 CD BD 18 8E 
C4A8:A2 0D A0 IF 20 F0 FF AE 40 
C4B0:44 03 A9 00 20 CD BD AD B3 
C4B8:01 DC 2D 00 DC 29 10 D0 IC 
C4C0:F6 AD 01 DC 2D 00 DC 29 6B 
C4C8:10 F0 F6 A2 00 20 8A C3 F8 
C4D0:20 BE C0 60 10 12 05 13 IE 
C4D8:13 20 02 15 14 14 0F 0E A2 
C4E0:00 14 0F 20 03 0F 0E 14 D7 
C4E8:09 0E 15 05 00 0C 09 16 C5 
C4F0:05 13 3D 00 20 BE C0 A2 89 
C4F8:00 BD 41 C5 F0 06 9D 00 51 
C500:05 E8 D0 F5 A2 00 BD 4B 9D 
C508:C5 F0 06 9D 47 05 E8 D0 3E 
C510:F5 A9 05 A2 01 9D F0 D8 05 
C518:E8 E0 IE D0 F8 A2 01 9D 13 
C520:40 D9 E8 E0 25 D0 F8 AD 79 
C528:01 DC 2D 00 DC 29 10 D0 8D 
C530:F6 AD 01 DC 2D 00 DC 29 DC 
C538:10 F0 F6 20 CI CI 4C 06 9C 
C540:C0 07 01 0D 05 20 0F 16 BB 
C548:05 12 00 10 12 05 13 13 B9 
C550:20 02 15 14 14 0F 0E 20 69 
C558:14 0F 20 10 0C 01 19 20 6D 
C560:01 07 01 09 0E 00 A9 0F Bl 
C568:8D 18 D4 A9 81 8D 04 D4 15 
C570:A9 09 8D 05 D4 A9 64 8D B8 
C578:00 D4 A9 0C 8D 01 D4 A9 F2 
C580:0F 8D 20 D0 A2 28 20 8A 88 
C588:C3 38 E9 01 C9 00 D0 Fl 33 
C590:A9 00 8D 04 D4 8D 05 D4 9E 



54 



C598:60 A9 08 8D 

C5A0:8D 05 D4 A9 

C5A8:A9 0A A2 00 

C5B0:E8 E0 0A D0 

C5B8:A9 25 8D 00 

C5C0:04 D4 AE 3C 

C5C8:A9 00 8D 04 

C5D0:8D 06 D4 60 



18 D4 A9 10 10 

80 8D 06 D4 84 

18 6D 41 03 DB 

F7 8D 01 D4 04 

D4 A9 21 8D 31 

03 20 8A C3 8E 

D4 8D 05 D4 D6 

00 00 00 00 45 



Program 2 

Nessie 



Once you've typed in and saved a copy of MLX to disk or 
tape, load and run it. As always, you have to provide the 
starting and ending addresses for the MLX listing. In Nessie's 
case, these are 

Starting address: COOO 
Ending address: C6C7 

You can now begin to type in the game. Refer to the first 
article in this chapter, "MLX: Machine Language Entry Pro- 
gram," for instructions on entering Nessie in more than one 
session and for saving the final program to disk. 

Nessie 

For mistake-proof program entry, use "MLX: Machine Language Entry Program" to type in 
this program. 



C000 :A9 


47 


85 


FB 


A9 


C7 


85 


FC 


00 


C008:A9 


00 


85 


FD 


A9 


38 


85 


FE 


27 


C010:A2 


04 


A0 


FF 


Bl 


FB 


91 


FD 


96 


C018:88 


C0 


FF 


00 


F7 


E6 


FC 


E6 


57 


C020 : FE 


CA 


30 


07 


00 


EE 


A0 


7F 


40 


C028:4C 


14 


00 


C6 


FE 


A0 


80 


A9 


7E 


C030:00 


91 


FD 


C8 


00 


FB 


A9 


FF 


2C 


C038:8D 


0E 


D4 


8D 


0F 


04 


A9 


80 


17 


C040:8D 


12 


D4 


A9 


00 


80 


18 


D4 


70 


C048 :A9 


FC 


8D 


IB 


00 


A2 


05 


20 


7C 


C050:BD 


CI 


A9 


80 


9D 


CD 


CB 


90 


B7 


C058:D3 


CB 


A9 


00 


90 


C7 


CB 


BD 


40 


C060:18 


C7 


9D 


29 


00 


BO 


20 


C7 


AB 


C068:9D 


FA 


07 


8A 


0A 


A8 


A9 


00 


47 


C070:99 


05 


D0 


CA 


10 


09 


AO 


16 


20 


C078:C7 


8D 


27 


D0 


AO 


17 


C7 


80 


lA 


C080 : 28 


D0 


AD 


IE 


C7 


80 


F8 


07 


4F 


C088:AD 


IF 


C7 


8D 


F9 


07 


A9 


00 


B9 


C090:8D 


EC 


CB 


A9 


A0 


80 


EB 


CB 


07 


C098:8D 


00 


D0 


8D 


02 


00 


A9 


80 


FA 


C0A0 :8D 


ED 


CB 


8D 


01 


00 


80 


03 


20 


C0 A8 : D0 


A9 


FF 


8D 


15 


00 


80 


IC 


F8 


C0B0: D0 


A9 


03 


80 


10 


00 


80 


17 


9C 


C0B8:D0 


A9 


06 


80 


20 


00 


80 


21 


27 


C0C0 ! D0 


A9 


05 


80 


25 


00 


A9 


04 


52 


C0C8:8D 


26 


D0 


A9 


01 


80 


F6 


CB 


47 


C0D0 :20 


E7 


CI 


78 


A9 


76 


80 


14 


72 



56 



C0D8:03 


A9 


C4 


8D 


15 


03 


58 


A0 


BD 


C0E0 : 00 


84 


07 


98 


0A 


AA 


B9 


C7 


24 


C0E8:CB 


4A 


66 


07 


B9 


CD 


CB 


9D 


5A 


C0F0 : 04 


D0 


B9 


D3 


CB 


9D 


05 


D0 


CC 


C0F8:C9 


32 


90 


07 


C9 


E5 


B0 


03 


B8 


C100 :4C 


0E 


CI 


B9 


E5 


CB 


49 


FF 


Fl 


C108 : 18 


69 


01 


99 


E5 


CB 


B9 


C7 


45 


C110 :CB 


F0 


0A 


B9 


CD 


CB 


C9 


40 


04 


C118 :B0 


0D 


4C 


3E 


CI 


B9 


CD 


CB 


01 


C120 :C9 


18 


90 


03 


4C 


3E 


CI 


A9 


59 


C128 :00 


99 


DF 


CB 


B9 


D9 


CB 


49 


E0 


C130:FF 


18 


69 


01 


99 


D9 


CB 


C9 


8C 


C138 :FF 


D0 


03 


99 


DF 


CB 


B9 


FA 


86 


C140:07 


49 


01 


99 


FA 


07 


B9 


D9 


94 


C148 :CB 


AA 


B9 


FA 


07 


09 


02 


99 


3D 


C150 :FA 


07 


E0 


01 


F0 


05 


49 


02 


6F 


C158 :99 


FA 


07 


18 


B9 


CD 


CB 


79 


DF 


C160:D9 


CB 


99 


CD 


CB 


B9 


C7 


CB 


74 


C168:79 


DF 


CB 


99 


C7 


CB 


18 


B9 


0B 


C170:D3 


CB 


79 


E5 


CB 


99 


D3 


CB 


96 


C178 :C8 


C0 


06 


F0 


03 


4C 


E3 


C0 


32 


C180 : AD 


10 


D0 


29 


03 


05 


07 


8D 


53 


C188 :10 


D0 


AE 


F5 


CB 


F0 


08 


A0 


50 


CI 90 : 00 


88 


D0 


FD 


CA 


D0 


FA 


AD 


6D 


C198 :1B 


D4 


C9 


80 


90 


0B 


AD 


IB 


47 


C1A0: D4 


C9 


06 


B0 


F9 


AA 


20 


BD 


45 


C1A8 :C1 


20 


E4 


FF 


F0 


0C 


C9 


88 


85 


C1B0:D0 


03 


4C 


D0 


C5 


20 


E4 


FF 


6C 


C1B8:F0 


FB 


4C 


DF 


C0 


A9 


00 


9D 


85 


CI C0 : DF 


CB 


AD 


IB 


D4 


29 


03 


A8 


88 


C1C8 :B9 


3C 


C7 


9D 


D9 


CB 


C9 


FF 


9C 


C1D0:D0 


03 


9D 


DF 


CB 


AD 


IB 


D4 


4F 


C1D8:29 


03 


A8 


B9 


3C 


C7 


9D 


E5 


84 


C1E0 :CB 


ID 


D9 


CB 


F0 


D7 


60 


A9 


DA 


C1E8 :00 


8D 


EF 


CB 


8D 


F0 


CB 


8D 


DF 


C1F0 :F1 


CB 


8D 


F2 


CB 


8D 


F3 


CB 


89 


C1F8 :8D 


4C 


CC 


A9 


14 


8D 


F4 


CB 


17 


C200:A9 


05 


8D 


F5 


CB 


A9 


BP 


A0 


Dl 


C208 :C2 


20 


IE 


AB 


A9 


F0 


A0 


C2 


8A 


C210:20 


IE 


AB 


20 


E4 


FF 


F0 


FB 


A9 


0218 :C9 


85 


D0 


12 


A9 


E0 


8D 


F8 


04 


C220 :07 


A9 


El 


8D 


F9 


07 


A9 


00 


E7 


C228:8D 


F3 


CB 


4C 


13 


C2 


C9 


86 


6D 


C230:D0 


12 


A9 


E2 


8D 


P8 


07 


A9 


0E 


C238:E3 


8D 


F9 


07 


A9 


01 


8D 


F3 


23 


C240:CB 


4C 


13 


C2 


C9 


87 


D0 


IE 


79 


C248 :EE 


F5 


CB 


AD 


F5 


CB 


10 


05 


IB 


C250:A9 


09 


8D 


F5 


CB 


C9 


0A 


90 


28 


C258:05 


A9 


00 


8D 


F5 


CB 


09 


30 


C4 


C260:8D 


06 


04 


4C 


13 


C2 


C9 


88 


33 



Chapter 2 



C268:F0 


33 


C9 


8C 


D0 


A5 


EE 


4C 


7C 


C270:CC 


20 


90 


C2 


A2 


32 


A0 


28 


8B 


C278:AD 


IB 


D4 


C9 


A7 


B0 


F9 


85 


4C 


C280:FD 


AD 


IB 


D4 


29 


03 


18 


69 


10 


C288:04 


85 


FE 


A9 


A0 


91 


FD 


A5 


D8 


C290 :FE 


69 


D4 


85 


FE 


A9 


00 


91 


13 


C298:FD 


CA 


D0 


DC 


60 


A9 


BF 


A0 


81 


C2A0 : C2 


20 


IE 


AB 


AD 


F5 


CB 


09 


F3 


C2A8 : 30 


8D 


06 


04 


38 


A9 


09 


ED 


13 


C2B0:F5 


CB 


8D 


F5 


CB 


0E 


F5 


CB 


83 


C2B8:0E 


F5 


CB 


0E 


F5 


CB 


60 


93 


50 


C2C0:92 


0E 


9F 


D3 


50 


45 


45 


44 


AA 


C2C8:3A 


9E 


35 


20 


20 


20 


20 


20 


9D 


C2D0:20 


20 


20 


9A 


CE 


45 


53 


53 


Al 


C2D8:49 


45 


20 


20 


20 


20 


20 


20 


3C 


C2E0:9B 


C6 


49 


4C 


4D 


20 


CC 


45 


9D 


C2E8:46 


54 


3A 


9E 


32 


30 


0D 


00 


44 


C2F0:99 


12 


46 


31 


92 


3A 


D4 


45 


10 


C2F8:4C 


45 


50 


48 


4F 


54 


4F 


20 


0F 


C300:12 


46 


33 


92 


3A 


D7 


49 


44 


B9 


C308:45 


20 


CI 


4E 


47 


4C 


45 


20 


6D 


C310:12 


46 


35 


92 


3A 


D3 


50 


45 


09 


C318:45 


44 


0D 


12 


46 


37 


92 


3A 


84 


C320:C5 


41 


53 


59 


20 


C7 


41 


4D 


CA 


C328:45 


20 


12 


46 


38 


92 


3A 


C8 


4A 


C330:41 


52 


44 


20 


C7 


41 


4D 


45 


9A 


C338:00 


AD 


00 


DC 


48 


29 


10 


8D 


8D 


C340:EE 


CB 


68 


29 


0F 


49 


0F 


AA 


38 


C348 :18 


AD 


EB 


CB 


7D 


31 


C7 


8D 


4P 


C350:EB 


CB 


8D 


00 


D0 


8D 


02 


D0 


04 


C358:AD 


EC 


CB 


7D 


26 


C7 


8D 


EC 


9B 


C360 :CB 


4A 


08 


AD 


10 


D0 


4A 


4A 


DE 


C368:28 


08 


2A 


28 


2A 


8D 


10 


D0 


46 


C370:18 


AD 


ED 


CB 


7D 


3C 


C7 


8D 


E3 


C378 :ED 


CB 


8D 


01 


D0 


8D 


03 


D0 


3F 


C380:AD 


EE 


CB 


F0 


0D 


A9 


00 


8D 


BF 


C388:F7 


CB 


A9 


01 


8D 


F6 


CB 


4C 


70 


C390:A0 


C3 


AD 


F7 


CB 


F0 


17 


AD 


8C 


C398:F6 


CB 


F0 


04 


CE 


F6 


CB 


60 


37 


C3A0:A9 


06 


8D 


20 


D0 


8D 


21 


D0 


02 


C3A8:A9 


80 


8D 


04 


D4 


60 


CE 


26 


03 


C3B0:04 


AD 


26 


04 


C9 


30 


30 


14 


2F 


C3B8:A9 


39 


8D 


26 


04 


CE 


25 


04 


21 


C3C0:AD 


25 


04 


C9 


31 


B0 


05 


A9 


85 


C3C8:20 


8D 


25 


04 


A9 


IF 


8D 


05 


92 


C3D0:D4 


8D 


18 


D4 


A9 


03 


8D 


06 


F0 


C3D8:D4 


A9 


FF 


8D 


00 


D4 


8D 


01 


7D 


C3E0:D4 


8D 


04 


D4 


A9 


04 


8D 


4A 


C6 


C3E8:CC 


A2 


06 


AC 


F4 


CB 


88 


A9 


9C 


C3F0:00 


99 


20 


CC 


AD 


4A 


CC 


09 


E8 



58 



C3F8:02 


80 


15 


D0 


AO 


IB 


D0 


20 


3C 


C400 : 7F 


C4 


AD 


IE 


00 


29 


FO 


19 


52 


C408:20 


CC 


99 


20 


CC 


0E 


4A 


CC 


0A 


C410:CA 


D0 


El 


A9 


01 


80 


20 


00 


59 


C418i8D 


21 


D0 


8D 


F7 


CB 


A9 


04 


E9 


C420:8D 


4A 


CC 


A2 


06 


A9 


00 


99 


37 


C428 :34 


CC 


AD 


4A 


CC 


09 


01 


80 


73 


C430:15 


D0 


AD 


IE 


00 


20 


7F 


C4 


OA 


C438:AD 


IE 


D0 


29 


FE 


19 


34 


CC 


5E 


C440 : 99 


34 


CC 


0E 


4A 


CC 


CA 


00 


0A 


C448:E1 


AD 


IF 


D0 


20 


7F 


C4 


AO 


55 


C450:1F 


D0 


99 


F8 


CB 


AO 


00 


DC 


52 


C458:29 


0F 


49 


0F 


99 


0C 


CC 


A9 


94 


C460:FF 


8D 


15 


D0 


CE 


F4 


CB 


AD 


8C 


C468:F4 


CB 


F0 


26 


C9 


05 


00 


05 


E8 


C470:A9 


07 


8D 


28 


D0 


60 


20 


89 


96 


C478:C4 


20 


39 


C3 


4C 


31 


EA 


20 


EC 


C480:82 


C4 


AD 


12 


D0 


C9 


PF 


00 


01 


C488:F9 


EE 


Fl 


CB 


00 


03 


EE 


F2 


29 


C490 :CB 


60 


A9 


93 


20 


02 


FF 


A9 


7C 


C498:00 


8D 


20 


D0 


8D 


21 


00 


78 


Al 


C4A0:A9 


0F 


8D 


14 


03 


A9 


C6 


80 


8F 


C4A8:15 


03 


A9 


01 


80 


lA 


00 


A9 


E2 


C4B0:1B 


8D 


11 


D0 


A9 


32 


80 


12 


90 


C4B8:D0 


A9 


7F 


8D 


00 


DC 


A9 


FF 


00 


C4C0:8D 


IB 


D0 


A9 


00 


80 


4B 


CC 


26 


C4C8:A9 


IF 


8D 


15 


00 


A9 


FP 


80 


AC 


C4D0 : ID 


D0 


8D 


17 


00 


A9 


10 


80 


IB 


C4D8:10 


D0 


A2 


00 


8A 


0A 


A8 


0A 


CA 


C4E0:0A 


0A 


0A 


0A 


18 


69 


ID 


99 


0E 


C4E8:00 


D0 


A9 


09 


90 


27 


00 


E8 


80 


C4F0 :E0 


05 


D0 


E8 


58 


A2 


13 


A0 


E8 


C4F8:00 


BD 


F8 


CB 


29 


03 


10 


0C 


69 


C500 :CC 


F0 


0A 


A9 


Fl 


99 


65 


C6 


91 


C508:A9 


00 


4C 


56 


C5 


BO 


34 


CC 


Bl 


C510:29 


40 


D0 


2C 


BO 


34 


CC 


00 


46 


C518:0A 


A9 


F2 


99 


65 


C6 


A9 


00 


A4 


C520 :4C 


56 


C5 


8E 


48 


CC 


BD 


34 


2E 


C528 :CC 


A2 


00 


4A 


B0 


04 


E8 


4C 


IB 


C530:2B 


C5 


BD 


IE 


C7 


99 


65 


C6 


92 


C538 :AE 


48 


CC 


A9 


05 


4C 


56 


C5 


20 


C540:BD 


20 


CC 


F0 


0A 


A9 


F0 


99 


CO 


C548 :65 


C6 


A9 


0A 


4C 


56 


C5 


A9 


FE 


C550:EC 


99 


65 


C6 


A9 


C8 


18 


60 


OF 


C558:EF 


CB 


8D 


EF 


CB 


AD 


F0 


CB 


42 


C560:69 


00 


8D 


F0 


CB 


CA 


C8 


C0 


3D 


C568:14 


D0 


8E 


20 


79 


C6 


AD 


EF 


38 


C5 70 :CB 


0D 


F0 


CB 


F0 


ID 


38 


AD 


lA 


C578:EF 


CB 


ED 


F2 


CB 


80 


EF 


CB 


IC 


C580:AD 


F0 


CB 


E9 


00 


80 


F0 


CB 


IB 



Chapter 2 



C588:AD 


4C 


CC 


F0 


06 


0E 


EF 


CB 


BA 


C590:2E 


F0 


CB 


A2 


18 


A0 


00 


18 


6E 


C598:20 


F0 


FF 


A9 


EC 


A0 


C5 


20 


A0 


C5A0:1E 


AB 


AE 


EF 


CB 


AD 


P0 


CB 


BD 


C5A8:20 


CD 


BD 


A9 


30 


20 


D2 


FF 


Bl 


C5B0:AD 


F3 


CB 


D0 


05 


A9 


30 


20 


E5 


C5B8:D2 


FF 


A2 


78 


20 


7F 


C4 


CA 


DC 


C5C0: D0 


FA 


AD 


00 


DC 


29 


10 


F0 


C5 


C5C8 :F9 


AD 


00 


DC 


29 


10 


D0 


F9 


AF 


C5D0:78 


A9 


00 


8D 


lA 


D0 


A9 


FF 


43 


C5D8:8D 


0D 


DC 


A9 


31 


8D 


14 


03 


8F 


C5E0:A9 


EA 


8D 


15 


03 


58 


A2 


FF 


BD 


C5E8:9A 


4C 


00 


C0 


9F 


D0 


4C 


41 


FA 


C5F0:59 


20 


41 


47 


41 


49 


4E 


3A 


D3 


C5F8:D3 


4E 


41 


50 


20 


53 


48 


55 


63 


C600 : 54 


54 


45 


52 


20 


9A 


D3 


43 


F0 


C608:4F 


52 


45 


3A 


9E 


12 


00 


AD 


09 


C610:12 


D0 


18 


69 


02 


8D 


01 


D0 


8D 


C618:8D 


03 


D0 


8D 


05 


D0 


8D 


07 


AD 


C620:D0 


8D 


09 


D0 


8D 


0B 


D0 


AE 


90 


C628:4B 


CC 


BD 


61 


C6 


A8 


A2 


00 


7A 


C630:B9 


65 


C6 


9D 


F8 


07 


C8 


E8 


05 


C638 :E0 


05 


D0 


F4 


EE 


4B 


CC 


AD 


CC 


C640 :4B 


CC 


C9 


04 


D0 


05 


A9 


00 


0E 


C648 :8D 


4B 


CC 


AA 


BD 


5D 


C6 


8D 


32 


C650:12 


D0 


A9 


01 


8D 


19 


D0 


68 


3B 


C658:A8 


68 


AA 


68 


40 


31 


61 


92 


4C 


C660:C2 


00 


05 


0A 


0F 


E0 


El 


E2 


33 


C668:E3 


E4 


E4 


E3 


El 


E2 


E4 


El 


42 


C670:E3 


E2 


E4 


E0 


El 


E3 


El 


E0 


96 


C678:E5 


A2 


00 


A9 


07 


9D 


00 


D8 


C3 


C680 :9D 


00 


D9 


9D 


00 


DA 


9D 


00 


98 


C688:DB 


E8 


D0 


Fl 


A9 


00 


85 


FD 


CD 


C690 :A9 


04 


8D 


49 


CC 


85 


FE 


A9 


5E 


C698:05 


8D 


48 


CC 


A0 


00 


A9 


70 


AA 


C6A0 :91 


FD 


C8 


A2 


06 


A9 


40 


91 


A2 


C6A8:FD 


C8 


CA 


D0 


FA 


A9 


6E 


91 


BA 


C6B0 :FD 


C8 


CE 


48 


CC 


AD 


48 


CC 


48 


C6B8 :D0 


E4 


A2 


04 


20 


08 


C7 


A0 


CD 


C6C0 :00 


18 


A9 


5D 


91 


FD 


98 


69 


7E 


C6C8:07 


A8 


A9 


5D 


91 


FD 


C8 


00 


E5 


C6D0 :28 


90 


EF 


CA 


D0 


E6 


20 


08 


AB 


C6D8 :C7 


A9 


05 


8D 


48 


CC 


A0 


00 


E4 


C6E0:A9 


6D 


91 


FD 


C8 


A2 


06 


A9 


37 


C6E8:40 


91 


FD 


C8 


CA 


D0 


FA 


A9 


80 


C6F0 :7D 


91 


FD 


C8 


CE 


48 


CC 


AD 


CC 


C6F8:48 


CC 


D0 


E4 


20 


08 


C7 


CE 


C5 


C700:49 


CC 


AD 


49 


CC 


D0 


90 


60 


DC 


C708:A5 


FD 


18 


69 


28 


85 


FD 


A5 


7C 


C710 :PE 


69 


00 


85 


FE 


60 


0A 


0E 


6D 



60 



C718 :09 


09 


01 


01 


07 


09 


E0 


El 


9E 


C720 :E4 


E4 


E8 


E8 


EC 


E4 


00 


00 


02 


C728 :00 


00 


FF 


FF 


FF 


00 


00 


00 


B7 


C730 :00 


00 


00 


00 


00 


FF 


FF 


FF 


BF 


C73o :00 


m 1 
01 


m 1 
01 


01 


00 


FF 


01 


00 


3A 


u / 40 : 00 


FF 


m 1 
01 


mm 
00 


mm 
00 


FF 


01 


00 


Fl 


C748 :00 


00 


00 


00 


00 


00 


00 


00 


D7 


C750 :00 


80 


00 


00 


80 


00 


02 


A0 


A8 


C758 :00 


00 


80 


00 


00 


80 


00 


00 


F9 


C760 :00 


00 


00 


00 


00 


00 


00 


00 


EF 


C768 :00 


00 


00 


00 


00 


00 


00 


00 


F7 


C770 :00 


00 


00 


00 


00 


00 


00 


00 


FF 


C778 :00 


00 


00 


00 


00 


00 


00 


00 


08 


C780 ;00 


00 


00 


00 


00 


00 


93 


AA 


El 


C788 :AA 


80 


80 


00 


80 


80 


00 


80 


24 


C790 : 80 


00 


80 


80 


00 


80 


80 


00 


7B 


C / 98 SO0 


om 

80 


00 


80 


80 


00 


80 


80 


16 


ASo : 00 


om 


om 

80 


mm 
00 


80 


80 


00 


80 


E6 


C7A8 :AA 


AA 


80 


00 


00 


00 


00 


00 


48 


C7B0 : 00 


mm 
00 


00 


00 


00 


00 


00 


00 


40 


C7B8 :00 


00 


00 


00 


00 


00 


00 


00 


48 


C7C0 :00 


00 


00 


00 


00 


00 


93 


00 


77 


C7C8 : 00 


00 


00 


00 


00 


00 


00 


00 


58 


C / uso : 1:9(3 


mm 
00 


mm 
00 


00 


00 


00 


00 


08 


68 


C7D8 : 00 


mm 
00 


08 


00 


00 


08 


00 


00 


89 


I- / tiU i AA 


om 
B(3 


mm 
(90 


m o 
0O 


00 


00 


08 


00 


76 


C / ho : 


mo 


mm 


mm 
00 


00 


00 


00 


00 


7A 


t VJy) 


mm 
(9(9 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


00 


00 


80 


C / r o : VjV) 


Ufa 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


00 


88 






OlOt 
00 


00 


00 


00 


J0 


O A 

2A 


ic 


UoiSo : AA 


AA 


om 


mm 
00 


mo 
02 


o fx 


mm 
00 


mo 
02 


o m 

30 






02 


o m 
20 


mm 
00 


n o 
02 


om 
20 


mm 
00 


3C 


/-iQ T Q .do 


om 


00 


mo 
02 


o m 
20 


mm 
00 


mo 
02 


om 
20 


F / 


/^o ^ nn 
Cozld : Ot:) 


m o 

02 


om 

20 


run 

00 


02 


20 


00 


02 


C8 


i^o oo - o m 
Co^o : 21^ 


mm 


02 


20 


00 


02 


20 


00 


54 


/-iQ one - on 


om 


mm 
00 


m o 
02 


20 


00 


02 


2A 


lA 


Uo Jo :AA 


AA 


mm 
00 


mm 
00 


00 


00 


00 


00 


C9 


r*o An m run 


00 


mm 
00 


00 


00 


00 


30 


00 


32 


/"•o >1 o . a/x 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


00 


00 


D9 


r^o .mm 


mm 
00 


mm 
00 


00 


00 


00 


00 


00 


El 


/^o c o . mm 
CoDo \\0\0 


mm 
00 


mm 
00 


00 


00 


00 


00 


00 


E9 


r*Q£itx m film 


mm 
Ufa 


c m 
O0 


AA 


mm 
00 


75 


AA 


A0 


76 


C868:56 


AE 


A8 


16 


EA 


BA 


06 


AE 


44 


C870SAA 


0B 


AA 


E9 


0A 


AA 


95 


05 


39 


C878:40 


14 


01 


00 


50 


00 


40 


40 


92 


C880:00 


00 


00 


00 


00 


00 


E9 


00 


E5 


C888:00 


00 


00 


00 


00 


00 


00 


00 


lA 


C890:00 


00 


00 


00 


00 


00 


00 


00 


22 


C898:00 


00 


00 


00 


00 


00 


00 


00 


2A 


C8A0:00 


00 


00 


AA 


00 


52 


AA 


A0 


IC 



Chapter 2 



C8A8:76 


AE 


A8 


56 


EA 


BA 


16 


AE 


B8 


C8B0:AA 


0B 


AA 


E9 


0A 


AA 


94 


01 


73 


C8B8 :40 


14 


00 


50 


05 


00 


10 


00 


BC 


C8C0 :00 


00 


00 


00 


00 


00 


E9 


00 


26 


C8C8:00 


00 


00 


00 


00 


00 


00 


00 


5A 


C8D0 :00 


00 


00 


00 


00 


00 


00 


00 


62 


C8D8:00 


00 


00 


00 


00 


00 


00 


00 


6A 


C8E0:00 


00 


00 


AA 


05 


0A 


AA 


9D 


60 


C8E8:2A 


BA 


95 


AE 


AB 


94 


AA 


BA 


9B 


C8F0 : 90 


6B 


AA 


E0 


56 


AA 


A0 


14 


BB 


C8F8:01 


50 


05 


00 


40 


01 


01 


00 


C7 


C900 :00 


00 


00 


00 


00 


00 


E9 


00 


67 


C908:00 


00 


00 


00 


00 


00 


00 


00 


9B 


C910:00 


00 


00 


00 


00 


00 


00 


00 


A3 


C918 :00 


00 


00 


00 


00 


00 


00 


00 


AB 


C920 :00 


00 


00 


AA 


00 


0A 


AA 


85 


61 


C928 :2A 


BA 


9D 


AE 


AB 


95 


AA 


BA 


El 


C930I94 


6B 


AA 


E0 


16 




A0 


14 


FC 


C938:01 


40 


50 


05 


00 


00 


04 


00 


BE 


C940 :00 


00 


00 


00 


00 


00 


16 


00 


FF 


C948 :00 


00 


00 


00 


00 


00 


00 


00 


DB 


C950:00 


00 


00 


00 


00 


00 


10 


00 


04 


C958:00 


74 


00 


00 


14 


00 


00 


05 


AE 


C960:00 


00 


01 


00 


00 


01 


44 


40 


E0 


C968:01 


95 


90 


01 


59 


50 


00 


44 


54 


C970 :64 


00 


00 


14 


00 


00 


05 


00 


81 


C978:00 


00 


00 


00 


00 


00 


00 


00 


0C 


C980 :00 


00 


00 


00 


00 


00 


00 


00 


14 


0988:00 


00 


00 


00 


00 


00 


00 


00 


IC 


C990 :00 


00 


00 


00 


00 


00 


00 


00 


24 


C998:00 


00 


00 


00 


00 


00 


00 


00 


2C 


C9A0 :00 


00 


10 


00 


00 


74 


91 


01 


2C 


C9A8 :15 


56 


55 


09 


65 


94 


00 


11 


26 


C9B0:40 


00 


00 


00 


00 


00 


00 


00 


64 


C9B8:00 


00 


00 


00 


00 


00 


00 


00 


4C 


C9C0 :00 


00 


00 


00 


00 


00 


00 


00 


54 


C9C8:00 


00 


00 


00 


00 


00 


00 


00 


5C 


C9D0 :00 


00 


00 


00 


00 


00 


00 


00 


64 


C9D8 :04 


00 


00 


ID 


00 


00 


14 


00 


68 


C9E0 :00 


50 


00 


00 


40 


01 


11 


80 


31 


C9E8 :05 


95 


40 


09 


59 


40 


15 


11 


04 


C9F0 :00 


24 


00 


00 


50 


00 


00 


00 


10 


C9F8:00 


00 


00 


00 


00 


00 


00 


00 


8C 


CA00 :00 


00 


00 


00 


00 


00 


00 


00 


95 


CA08:00 


00 


00 


00 


00 


00 


00 


00 


9D 


CA10:00 


00 


00 


00 


00 


00 


00 


00 


A5 


CA18 :00 


00 


00 


00 


00 


00 


00 


00 


AD 


CA20 :00 


00 


00 


00 


04 


40 


45 


ID 


7E 


CA28:65 


65 


54 


16 


56 


40 


01 


44 


AF 


CA30:00 


00 


00 


00 


00 


00 


00 


00 


C5 



62 



CA38:00 


00 


00 


00 


00 


00 


00 


00 


CD 


CA40 : 00 


00 


00 


00 


00 


00 


00 


00 


D5 


CA48:00 


00 


00 


00 


00 


00 


00 


00 


DD 


CA50 :00 


00 


00 


00 


00 


00 


14 


00 


0E 


CA58:00 


5D 


00 


00 


25 


00 


00 


05 


73 


CA60:00 


00 


05 


40 


00 


05 


44 


40 


77 


CA68:01 


55 


50 


02 


56 


50 


05 


65 


61 


CA70 : 54 


05 


55 


95 


01 


55 


50 


01 


74 


CA78:40 


50 


00 


50 


14 


00 


00 


00 


E7 


CA80:00 


00 


00 


00 


00 


00 


FF 


00 


16 


CASS: 00 


00 


00 


00 


00 


00 


00 


00 


IE 


CA90:00 


00 


00 


14 


00 


00 


5D 


00 


22 


CA98:00 


25 


00 


00 


05 


00 


00 


05 


A4 


CAA0 : 00 


00 


05 


40 


00 


01 


44 


40 


A7 


CAA8:01 


55 


50 


02 


56 


54 


05 


65 


Bl 


CAB0:55 


05 


55 


90 


01 


55 


50 


01 


E4 


CABS: 01 


40 


01 


01 


40 


00 


40 


50 


El 


CAC0:00 


00 


00 


00 


00 


00 


FF 


00 


56 


CAC8:00 


00 


00 


00 


00 


00 


00 


00 


5E 


CAD0:00 


00 


00 


00 


00 


00 


00 


00 


66 


CADS: 14 


00 


00 


75 


00 


00 


58 


00 


80 


CAE0:00 


50 


00 


01 


50 


01 


11 


50 


93 


CAES: 05 


55 


40 


05 


95 


80 


15 


59 


E0 


CAF0 : 50 


56 


55 


50 


05 


55 


40 


05 


F6 


CAF8:01 


40 


14 


05 


00 


00 


00 


00 


Fl 


CB00 : 00 


00 


00 


00 


00 


00 


00 


00 


97 


CB08:00 


00 


00 


00 


00 


00 


00 


00 


9F 


CB10:00 


00 


00 


00 


00 


14 


00 


00 


F7 


CB18:75 


00 


00 


58 


00 


00 


50 


00 


90 


CB20:00 


50 


00 


01 


50 


01 


11 


40 


C4 


CB28:05 


55 


40 


15 


95 


80 


55 


59 


A3 


CB30 : 50 


06 


55 


50 


05 


55 


40 


01 


20 


CB38:40 


40 


01 


40 


40 


05 


01 


00 


3C 


CB40:00 


00 


00 


00 


00 


00 


00 


00 


D7 


CB4S:00 


00 


00 


00 


00 


00 


00 


00 


DF 


CB50:00 


00 


00 


00 


00 


00 


00 


00 


E7 


CB5S:00 


00 


00 


00 


00 


00 


00 


00 


EF 


CB60:00 


00 


00 


00 


00 


00 


00 


00 


F7 


CB6S:00 


00 


00 


00 


00 


00 


40 


00 


80 


CB70:00 


50 


00 


00 


51 


10 


00 


55 


3C 


CB78:54 


00 


59 


64 


00 


55 


55 


00 


AS 


CBS0 : 56 


59 


00 


55 


54 


00 


7D 


00 


SC 


CBS8:00 


00 


00 


00 


00 


00 


2A 


A0 


15 


CB90:00 


00 


00 


00 


00 


00 


FF 


FF 


28 


CB9S:PP 


00 


AA 


A5 


0P 


FF 


FF 


00 


58 


CBA0:00 


50 


2A 


SI 


40 


01 


11 


50 


22 


CBAS:05 


5A 


A0 


F0 


3F 


FF 


15 


59 


F9 


CBB0 : 50 


56 


AA 


AA 


05 


55 


40 


FF 


04 


CBBS:FF 


40 


14 


05 


00 


AA 


28 


00 


2E 


CBC0:00 


00 


00 


00 


00 


00 


00 


00 


58 



Program 3 

Campaign Manager 



Before beginning to enter Campaign Manager, you must have 
a copy of MLX on tape or disk. 

Load MLX and answer the starting and ending address 
prompts with 

Starting address: 0801 
Ending address: 2530 

and begin typing. The program uses about lOK, which was 
crunched down to about 7K to make typing it in a little easier. 
Since it's such a long program, you may want to enter it in 
parts. 

When you've finished typing Campaign Manager, make 
sure to save it to tape or disk (maybe with a couple of backup 
copies as well). 

Campaign Manager 

For mistake-proof program entry, use "MIX: Machine Language Entry Program" to type in 
this program. 



0801 :0B 


08 


0A 


00 


9E 


32 


30 


36 


2E 


0809:31 


00 


00 


00 


20 


6E 


0C 


20 


A4 


0811 :F1 


0C 


20 


7A 


11 


20 


6C 


IF 


C9 


0819:45 


FA 


CC 


CC 


CC 


CC 


DC 


C0 


05 


0821 :00 


00 


00 


05 


E5 


FF 


A7 


FF 


FF 


0829 :FF 


FF 


FF 


B2 


IE 


80 


00 


00 


57 


0831 :DB 


5F 


FA 


IF 


FF 


FF 


FF 


FF 


58 


0839 :8F 


2D 


00 


04 


F5 


25 


FF 


FF 


E0 


0841: IF 


FF 


FF 


FF 


Fl 


C5 


FA 


4C 


C9 


0849 :FF 


F8 


5F 


5F 


FF 


FF 


FF 


FF 


79 


0851 :8F 


BF 


AF 


F5 


FF 


73 


25 


F5 


7C 


0859 :FF 


FF 


FF 


PC 


CC 


FE 


FA 


F7 


89 


0861:23 


4C 


20 


0F 


F7 


FF 


FF 


FF 


CA 


0869 :FF 


FA 


FE 


A2 


FA 


2F 


12 


00 


FA 


0871 :5F 


15 


FF 


FF 


E3 


FF 


5C 


FC 


4B 


0879 :CC 


3C 


CC 


00 


00 


7F 


AF 


FF 


F5 


0881 :FF 


FF 


FA 


FF 


CC 


3C 


CF 


B0 


98 


0889:00 


01 


P2 


FF 


FF 


BF 


FF 


EF 


27 


0891 :AF 


FA 


F7 


E0 


00 


00 


00 


01 


46 


0899:33 


7F 


FF 


FF 


F2 


FF 


FF 


F0 


AB 


08 Al :00 


00 


4F 


A0 


80 


00 


77 


FF 


98 


08A9:2F 


El 


23 


7F 


00 


00 


0D 


FF 


40 


08B1:00 


60 


00 


07 


B0 


00 


00 


00 


CF 



64 



Type It In 



08B9:7E 


00 


00 


D3 


3A 


00 


70 


00 


F8 


08C1 : 02 


00 


00 


00 


01 


FA 


00 


10 


06 


08C9:00 


A0 


00 


00 


00 


00 


00 


00 


02 


08 Dl :00 


01 


20 


00 


00 


00 


00 


00 


26 


08D9:20 


E3 


08 


20 


29 


09 


20 


4E 


Fl 


08 El : 09 


60 


AD 


0E 


DC 


29 


FE 


80 


3C 


08E9 :0E 


DC 


A5 


01 


29 


FB 


85 


01 


42 


08 Fl :A9 


Dl 


85 


FC 


A9 


39 


85 


FE 


08 


08F9 :A0 


00 


84 


FB 


84 


FD 


Bl 


FB 


26 


0901 : 91 


FD 


88 


D0 


F9 


C6 


FC 


C6 


25 


0909 :FE 


A9 


37 


C5 


FE 


D0 


EF 


A5 


09 


0911 :01 


09 


04 


85 


01 


AD 


0E 


DC 


76 


0919:09 


01 


8D 


0E 


DC 


AD 


18 


00 


21 


0921:29 


F0 


09 


0E 


8D 


18 


00 


60 


04 


0929 :A9 


39 


85 


FC 


85 


FE 


A9 


50 


AA 


0931:85 


PB 


A9 


00 


85 


FD 


20 


44 


EF 


0939:09 


A9 


18 


85 


FB 


A9 


08 


85 


53 


0941 :FD 


C6 


FE 


A0 


27 


Bl 


FB 


91 


77 


0949 :FD 


88 


10 


F9 


60 


A9 


FF 


80 


55 


0951 : 03 


38 


A9 


F0 


80 


02 


38 


A9 


C5 


0959:0F 


80 


01 


38 


A2 


00 


8E 


00 


2C 


0961 : 38 


86 


FB 


8A 


20 


75 


09 


8A 


CC 


0969:20 


72 


09 


E8 


E0 


10 


00 


F3 


B4 


0971 : 60 


EA 


4A 


4A 


29 


03 


A8 


B9 


BC 


0979:00 


38 


A0 


03 


91 


FB 


88 


10 


7B 


0981 :FB 


E6 


FB 


E6 


FB 


E6 


FB 


E6 


93 


0989 :FB 


60 


A9 


36 


85 


FC 


A9 


00 


BO 


0991 : 85 


FB 


A8 


AA 


E0 


BC 


00 


01 


CI 


0999:60 


BD 


19 


08 


48 


4A 


38 


6A 


35 


09 Al :4A 


4A 


91 


FB 


20 


B5 


09 


68 


AF 


09A9:29 


0F 


09 


20 


91 


FB 


20 


B5 


A9 


0981:09 


E8 


D0 


E0 


C9 


20 


00 


04 


IF 


0989:09 


C0 


91 


FB 


C8 


C0 


19 


F0 


OE 


09C1 :01 


60 


A9 


00 


91 


FB 


A8 


18 


87 


09 C9 :A9 


lA 


65 


FB 


85 


FB 


90 


02 


E2 


09D1 :E6 


FC 


60 


0C 


01 


03 


02 


0E 


89 


09 D9 :A0 


04 


B9 


04 


09 


99 


20 


00 


81 


09 El :88 


10 


F7 


AD 


11 


00 


09 


40 


34 


09E9 :8D 


11 


D0 


60 


20 


F7 


09 


20 


3A 


09F1 :6E 


0A 


20 


B9 


0A 


60 


A9 


93 


16 


09F9:20 


D2 


FF 


A0 


03 


20 


57 


0A 


2C 


0A01 :A9 


90 


20 


02 


FF 


A9 


AB 


20 


50 


0A09:D2 


FF 


A9 


A3 


20 


65 


0A 


A9 


4A 


0A11 :A7 


20 


D2 


FF 


A2 


0F 


A0 


03 


F0 


0A19:20 


52 


0A 


A9 


AA 


20 


02 


FF 


29 


0A21 :A9 


9A 


20 


D2 


FF 


A9 


A0 


20 


E9 


0A29:65 


0A 


A9 


90 


20 


02 


FF 


A9 


A6 


0A31 :A5 


20 


D2 


FF 


CA 


00 


OF 


A0 


74 


0A39:03 


20 


52 


0A 


A9 


AE 


20 


02 


DC 


0A41 :FF 


A9 


AC 


20 


65 


0A 


A9 


AD 


AB 



65 



Chapter 2 



OA49:20 D2 FF A9 
0A51:60 A9 0D 20 
0A59:20 D2 FF 88 
0A61:20 D2 FF 60 
0A69:FF 88 D0 FA 
0A71:FE A9 2C 85 
0A79:FC A9 00 85 
0A81:A2 0F Bl FB 
0A89:0A CA D0 F6 
0A91:D0 F0 29 3F 
0A99:29 C0 11 F7 
0AA1:A9 lA 65 FB 
0AA9:E6 FC A9 28 
0AB1 :FD 90 02 E6 
0AB9:A9 0F 85 F9 
0AC1:A9 2C 85 FD 
0AC9:85 F8 A9 22 
0AD1:85 FB A0 18 
0AD9:F0 2B 85 02 
0AE1:C0 37 29 0F 
0AE9:24 02 F0 19 
0AF1:22 20 93 0A 
0AF9:A9 C0 20 9B 
0B01:79 22 20 93 
0B09:CB A9 19 18 
0B11:90 02 E6 FC 
0B19:60 A9 28 18 
0B21:90 02 E6 F8 
0B29:FD 85 FD 90 
0B31:A1 AD 12 D0 
0B39:4A 4A A8 68 
0B41:20 D0 8C 24 
0B49:41 4D 50 41 
0B51:4D 41 4E 41 
0B59:00 A2 12 A0 
0B61 :FF A2 00 BD 
0B69:20 D2 FF E8 
0B71 :A9 01 8D 86 
0B79:D2 FF A2 28 
0B81:03 8D 86 02 
0B89:FF CA D0 FA 
0B91:92 4C 02 FF 
0B99:A9 00 85 FD 
0BA1:89 24 F0 2F 
0BA9:F9 29 07 85 
0BB1 :4A 4A 4A 29 
0BB9:02 20 E6 0B 
0BC1:20 E6 0B A9 
0BC9:FD A9 05 18 
0BD1:4C 9F 0B A9 



92 20 D2 FF 77 
D2 FF A9 20 AD 
D0 FA A9 12 92 
A0 19 20 02 BC 
60 A9 04 85 A0 
FD A9 36 85 D5 
FB A9 00 A8 FD 
D0 07 20 A0 24 
60 91 FD C8 EC 
AA BD C0 37 68 
91 F7 60 18 59 
85 FB 90 02 BC 
18 65 FD 85 FF 
FE A0 00 60 72 
A9 D8 85 FE 71 
85 F7 A9 04 A9 
85 FC A9 AD 57 
Bl FB C9 00 4E 

29 3F AA BD 5B 
91 FD A9 C0 D2 

30 08 BD 78 D5 
D0 0F 50 07 9C 
0A D0 06 BD 2E 
0A EA 88 10 B6 
65 FB 85 FB 36 
C6 F9 D0 01 5D 
65 F7 85 F7 5E 
A9 28 18 65 EF 
A5 E6 FE D0 FF 

48 65 A2 4A 3A 
E5 A2 4A 8D 7E 
D0 60 IF 43 F8 

49 47 4E 20 95 
47 45 52 0D 3D 
08 18 20 F0 36 
47 0B F0 06 4A 
D0 F5 A0 05 77 
02 A9 12 20 Bl 
AD 86 02 49 A4 
A9 A3 20 D2 5C 
88 D0 EB A9 25 
A9 92 85 FE FF 
A2 00 E8 BC E8 
BD 89 24 85 78 
F7 A5 F9 4A D4 
07 85 F8 A0 3C 
A5 F7 A0 01 B5 
FF A0 05 91 BB 
65 ro 85 FD 97 
00 AA AS B9 A7 



66 



Type It In 



0BD9:44 


22 


9D 


00 


78 


E8 


E8 


C8 


50 


0BE1 iC0 


34 


DBS 


F3 


60 


91 


FD 


C8 


CC 


0BE9 :C8 


91 


FD 


60 


A9 


91 


85 


FB 


26 


0BF1 :A9 


00 


85 


F7 


E6 


F7 


85 


FE 


2E 


0BF9 :AA 


A2 


00 


BD 


BD 


24 


85 


F9 


6D 


0C01 :4A 


4A 


4A 


4A 


85 


FA 


BD 


F0 


43 


0C09:24 


85 


FB 


4A 


4A 


85 


FC 


4A 


65 


0C11 :4A 


85 


FD 


A0 


04 


A2 


04 


B5 


El 


0C19:F9 


48 


29 


03 


18 


69 


01 


91 


8F 


0C21:F7 


68 


4A 


4A 


29 


03 


18 


69 


2C 


0C29:03 


0A 


0A 


0A 


0A 


11 


F7 


91 


3D 


0C31 :F7 


88 


CA 


10 


E2 


E6 


F7 


A0 


05 


0C39:02 


A9 


0F 


31 


F7 


AA 


E8 


8A 


78 


0C41 t0A 


0A 


0A 


0A 


85 


02 


8A 


05 


11 


0C49 :02 


91 


F7 


88 


D0 


EB 


E6 


F7 


4A 


0C51:E6 


F7 


E6 


F7 


E6 


F7 


E6 


FE 


IB 


0C59:A6 


FE 


E0 


33 


D0 


9D 


60 


A9 


3B 


0C61 :FF 


8D 


0F 


D4 


A9 


80 


8D 


12 


88 


0C69:D4 


8D 


18 


D4 


60 


A2 


40 


A9 


57 


0C71:00 


9D 


00 


8F 


9D 


40 


8F 


CA 


CI 


0C79:D0 


F7 


A9 


80 


8D 


8A 


02 


A9 


79 


0C81 :08 


20 


02 


FF 


20 


95 


0B 


20 


8D 


0C89:FA 


lA 


20 


6C 


IB 


20 


80 


17 


El 


0C91:20 


8B 


09 


20 


IE 


IC 


20 


D9 


3B 


0C99:08 


20 


ED 


0B 


20 


D9 


09 


20 


C6 


0CA1 :ED 


09 


A9 


9E 


20 


D2 


FF 


20 


7E 


0CA9:5A 


0B 


20 


IE 


14 


20 


32 


0B 


28 


0CB1 :20 


lA 


IF 


AD 


6B 


IF 


F0 


F5 


CE 


0CB9 :20 


D9 


09 


20 


60 


0C 


A2 


04 


F7 


0CC1 :A0 


05 


20 


A3 


IC 


8D 


15 


8F 


7A 


0CC9:8D 


23 


25 


A2 


07 


A0 


09 


20 


2D 


GDI: A3 


IC 


A2 


00 


A0 


00 


C9 


00 


AF 


0CD9 :F0 


07 


29 


01 


F0 


02 


CA 


C8 


4F 


0CE1 :88 


8E 


0F 


8F 


8C 


4F 


8F 


20 


9D 


0CE9 :2E 


11 


D0 


03 


4C 


9D 


0C 


60 


F8 


0CF1 :A9 


00 


8D 


24 


25 


A9 


80 


85 


29 


0CF9 :F7 


A9 


8F 


85 


F8 


A9 


05 


85 


C0 


0D01 :02 


A0 


05 


A2 


03 


AD 


IB 


D4 


E8 


0D09:29 


03 


95 


F9 


CA 


D0 


F6 


A9 


FB 


0D11:01 


25 


FA 


18 


69 


01 


65 


FB 


EB 


0D19:65 


FC 


91 


F7 


88 


D0 


E4 


A0 


C8 


0D21 :06 


AD 


IB 


D4 


29 


03 


AA 


C0 


C5 


0D29 :08 


F0 


0A 


C0 


09 


F0 


06 


AD 


96 


0D31 :15 


8F 


F0 


02 


E8 


E8 


E8 


8A 


3F 


0D39:91 


F7 


C8 


C0 


0B 


D0 


E2 


AD 


4E 


0D41 :1B 


D4 


29 


3F 


F0 


F9 


C9 


34 


6E 


0D49 :B0 


F5 


91 


F7 


C8 


AD 


0F 


8F 


95 


0D51 :91 


F7 


D0 


09 


AD 


IB 


D4 


29 


89 


0D59:07 


0A 


0A 


91 


F7 


20 


DC 


0E 


DB 


0D61 :C6 


02 


D0 


9D 


A0 


00 


8C 


2D 


9E 



67 



Chapter 2 



0D69:11 


A9 


80 


85 


F7 


A9 


8F 


85 


E9 


0D71 :F8 


AD 


2D 


11 


C9 


05 


B0 


EC 


DA 


0D79:AA 


F0 


06 


20 


DC 


0E 


CA 


D0 


6D 


0D81 :FA 


EE 


2D 


11 


A0 


05 


Bl 


F7 


FF 


0D89:99 


0F 


8F 


88 


D0 


F8 


A0 


06 


60 


0D91 :A2 


00 


Bl 


F7 


9D 


IB 


8F 


C8 


F3 


0D99:E8 


E0 


05 


D0 


F5 


Bl 


F7 


8D 


02 


0DA1 :0C 


8F 


8D 


0A 


8F 


C8 


Bl 


F7 


F2 


0DA9:8D 


0D 


8F 


20 


E4 


0E 


20 


EE 


50 


0DB1 :0E 


D0 


03 


4C 


6A 


0D 


20 


2E 


22 


0DB9:11 


F0 


A9 


A2 


00 


86 


F8 


A0 


A4 


0DC1 :06 


18 


20 


F0 


FF 


AD 


15 


8F 


68 


0DC9:CD 


23 


25 


F0 


02 


A2 


0C 


86 


80 


0DD1 :F7 


BD 


9E 


14 


F0 


06 


20 


D2 


IF 


0DD9 :FF 


E8 


D0 


F5 


A9 


3F 


20 


D2 


05 


0DE1 :FF 


A6 


F7 


A0 


0A 


A9 


2C 


9D 


9B 


0DE9 :9E 


14 


E8 


88 


D0 


F9 


20 


E4 


91 


0DF1 :FF 


F0 


FB 


C9 


0D 


F0 


27 


C9 


A8 


0DF9 :20 


F0 


08 


C9 


41 


90 


EF 


C9 


F3 


0E01 :5B 


B0 


EB 


E6 


F8 


A6 


F8 


E0 


18 


0E09 :0B 


F0 


13 


A4 


F7 


99 


9E 


14 


0B 


0E11 :29 


3F 


9D 


05 


04 


E6 


F7 


A9 


EA 


0E19:2F 


9D 


06 


04 


D0 


D0 


20 


26 


65 


0E21 :0F 


20 


2E 


11 


F0 


95 


AD 


0F 


EB 


0E29:8F 


29 


02 


18 


6D 


10 


8F 


0A 


ED 


0E31 :6D 


12 


8F 


8D 


16 


8F 


AD 


11 


AE 


0E39:8F 


0A 


0A 


69 


09 


38 


ED 


13 


8F 


0E41 :8F 


8D 


17 


8F 


AD 


IB 


D4 


29 


11 


0E49 :1F, 


0A 


6D 


17 


8F 


69 


20 


8D 


86 


0E51 :08 


8F 


AD 


0F 


8F 


29 


04 


6D 


92 


0E59:13 


8F 


0A 


6D 


13 


8F 


6D 


14 


C0 


0E61 :8F 


8D 


18 


8F 


0A 


6D 


12 


8F 


5E 


0E69:69 


30 


8D 


09 


8F 


AD 


14 


8F 


73 


0E71:09 


08 


6D 


10 


8F 


8D 


19 


8F 


37 


0E79:AD 


0F 


8F 


29 


07 


18 


6D 


12 


3A 


0E81 :8F 


6D 


11 


8F 


8D 


lA 


8P 


A2 


72 


0E89:00 


AD 


0C 


8F 


E8 


DD 


7F 


24 


6D 


0E91 :B0 


FA 


8E 


20 


8F 


8E 


0B 


8F 


F4 


0E99 :8E 


21 


8F 


20 


84 


IB 


AD 


15 


3A 


0EA1 :8F 


CD 


23 


25 


F0 


03 


4C 


Fl 


CD 


0EA9:0C 


AD 


0F 


8F 


29 


03 


8D 


81 


04 


0EB1 :8F 


20 


F3 


IB 


A9 


00 


8D 


81 


B7 


0EB9 :8F 


AE 


21 


8F 


BD 


7F 


24 


A8 


43 


0EC1 :CA 


BD 


7F 


24 


AA 


CA 


20 


F7 


9D 


0EC9:1B 


20 


84 


IB 


AD 


15 


8F 


CD 


6C 


0ED1 :23 


25 


D0 


D5 


20 


FA 


lA 


20 


81 


0ED9 :6C 


IB 


60 


A9 


10 


18 


65 


F7 


3D 


0EE1 :85 


F7 


60 


20 


ED 


09 


20 


CD 


6E 


0EE9:15 


20 


26 


0F 


60 


A9 


0F 


85 


9B 


0EF1 :FD 


A9 


16 


85 


FE 


A9 


ID 


85 


F0 



68 



Type It In 



0EF9:A7 A2 P0 A0 10 20 B8 14 41 
0F01:AD 15 8F F0 0D A2 0A BD 01 
0F09:75 14 29 3F 9D 9C 06 CA 36 
0F11:D0 F5 AD 15 8F CD 23 25 3B 
0F19:F0 03 EE 7D 06 A2 14 A0 A9 
0F21:15 20 A3 IC 60 AE 15 8F 7F 
0F29:BD 28 25 20 D2 FF A9 11 Dl 
0F31:85 FD A9 1 9 85 FE A9 00 D3 
0F39:85 A7 A2 51 A0 10 20 38 AB 
0F41:14 A9 IF 20 02 FF A9 14 B7 
0F49:85 FD A9 19 85 FE A9 09 F4 
0F51:85 A7 A2 AB A0 10 20 B8 69 
0F59:14 A2 13 E8 A0 0F 18 20 AC 
0F61:F0 FF A2 31 8A 20 D2 FF D9 
0P69:E8 E0 37 D0 F7 38 20 F0 F9 
0F71:FF E0 18 00 E6 AD 0C 8F 60 
0F79:0A AA BO DC 21 29 3P 80 86 
0F81:AB 06 E8 BD DC 21 29 3F EC 
0F89:8D AC 06 A2 12 A0 02 18 B3 
0F91:20 F0 FF AE 15 8F BD 28 71 
0F99:25 20 D2 FF AE 0D 8F 30 A5 
0PA1:0E A0 04 BD 31 10 20 02 28 
0FA9:FF E8 88 00 F6 F0 00 A2 58 
0FB1:00 BO E4 10 F0 06 20 02 8F 
0FB9:FF E8 00 F5 A9 9E 85 F7 56 
0FC1:A9 14 85 £B A0 00 AO 15 6F 
0FC9:8F CD 23 25 F0 02 A0 0C B6 
0FD1:B1 F7 F0 06 20 02 FF C8 5A 
0FD9:D0 F6 AD 15 8F F0 20 A2 48 
0FE1 :0A BD 75 14 29 3F 90 F8 OE 
0FE9:06 CA 00 F5 A9 14 85 FD DD 
0FF1:A9 16 85 FE A9 09 85 A7 2F 
0FF9:A2 02 A0 10 20 B8 14 A2 El 
1001:04 A0 A0 BO 10 8F 09 30 3C 
1009:99 27 07 98 38 E9 28 A8 8C 
1011 :CA 10 F0 A2 04 A0 A0 98 5F 
1019:18 7D IB 8F A8 B9 2E 07 90 
1021:09 40 99 2E 07 98 38 E9 E0 
1029:28 29 F8 A8 CA 10 E8 60 lA 
1031:53 45 4E 20 47 4F 56 20 5C 
1039:52 45 50 20 52 45 56 20 54 
1041:20 40 53 20 44 52 3E 20 39 
1049:56 30 50 20 47 45 4E 20 FB 
1051 :1B 2C 00 IB 2C 00 FF 2C 49 
1059:44 45 4D 4F 43 52 41 54 C5 
1061:49 43 20 43 41 4E 44 49 44 
1069:44 41 54 45 20 2C 2C 2C 11 
1071 :2C 2C 2C 00 FF 9C 2F 20 29 
1079:43 48 41 52 20 58 00 FF FC 
1081 :2F 20 53 54 41 40 20 58 C8 



69 



Chapter 2 



1 OIQQ •OlOl 
tlUK) 


r c 




ZiO 


A Q 

4y 


A 

4ri 


KA 

54 


A r* 
4C 


01& 
0A 


8 £Kf 


Do 


£101 


££ 


01? 


001 
20 


4D 


Do 


o4 


1 0IOQ > C0I 
7 : 319 




^0 


DO 


0101 
00 


PC* 

Fr 


2£ 


001 
20 


OTP 


1 01 K1 • ^1 


!)0 


!>0 


A 

40 


001 

20 


5o 


0101 
00 


0(01 
00 


A/ 


IkIA? SIOv 


Yfxf 


r r 


Xr 


DD 


At? 


4D 


An 
4U 


/ / 


110 JdI • DiO 


OlOl 

vv 


£ £ 


D0 


A 1? 

4r 


Do 


D4 


Dy 


nA 
U4 


119 07 iK/iO 


r r 


A 1 

4X 


/I "7 

4 / 


52 


A<\ 

49 


A "3 

43 


00 


B4 


110 CI Srr 




A A 

44 


EC C 
DO 


4 J 


4£t 


01 0( 
00 


£ r 


o4 






A C 

4o 


4r# 


5o 


01 0( 
00 


0(01 
00 


00 


(-5 


119 UX iiov 


rr 


X r 


4^ 


4E 


4D 


4v- 


4E 


UC 


10D9 :00 


FP 


43 


52 


49 


4D 


45 


00 


9X 


10 £1 :00 


00 


00 


9D 


50 


52 


45 


53 


85 


10E9 :49 


A A 

44 


45 


4E 


54 


20 


00 


FF 


70 


10 Fx :97 


50 


4C 


41 


59 


A e 

45 


52 


20 


A 

34 


10F9 :5B 


oi 

31 


00 


FF 


A A 

44 


45 


A r\ 

4D 


4F 


35 


1101 :43 


C 1 

3^ 


41 


C A 

54 


49 


43 


00 


FF 


X£ 


1109 :4 J 


4F 


4E 


5o 


A C 

45 


4E 


54 


49 


R 

25 


1111 ^ A 

1111 :4F 


4E 


00 


0A 


Ad 


00 


05 


O0I 

20 




1 1 1 n . /xm 

1119 :00 


FF 


X£ 


001 
Z0 


2£ 


'3 01 
20 


A "C 


4r 


E6 


1 1 O 1 . fXOL 

1121 :00 


FF 


20 


2£ 


001 
20 


D9 


45 


C "3 

53 


O 1? 

/E 


1129 :00 


00 


0(0f 
00 


0101 
00 


0101 


AU 


05 


01A 


1 01 
X0 


1 1 01 m AQ 

11 i\ : 4o 


A9 


0101 
00 


QIC 
oD 


A2 


OD 


uo 


Ay 


y^ 


11 J9 : ^0 






U0 




AZ 


X / 


DU 




1 T ill * o 

1 1 41 : b z 


1 1 

XI 


Z^ 


j£ 


on 




Ic/fr 






11 >i n . 1 

1149 :10 


ro 


Z0 


1 & 

1 A 


1 £ 


AU 


13 


X £ 




1151 :F0 


F8 


AZ 


1 "7 
1 / 


a 
00 


9 U 


04 


0IA 


rR 

oD 


1159 :CA 


10 


FA 


AD 


oti 


X J? 


2y 


X0 


RO 

Dy 


11^1 ^ d% 
1161 : D0 


JA 


4o 


A Q 

4y 


52 


A EC 

4D 


42 


DD 


1 
Z X 


1 1 £ A . C yl 

1169 : 34 


04 


41; 


4r< 


01 
20 


D4 


Al? 
4£ 


001 
Zv 


AA 


1 1 "1 1 . ji o 
1171 :43 


4F 


4E 


54 


49 


A C 
4£i 


DD 


AR 
4D 


Oo 


1179 :3 A 


AD 


23 


25 


CD 


X5 


Of 
0£ 


F\0l 

uio 


Q n 
oU 


1181 :0B 


EE 


24 


25 


AD 


24 


25 


C9 


CD 


1189 :0A 


T\nl 

D0 


01 


O0 


20 


ED 


010 

0y 


001 
20 


£D 


1 1 on . or\ 

11 91 :CD 


1 3 




2b 


0£ 


Ay 


/ 


ou 


Kf 1 


linn. 

1199 :00 


8F 


001 


r 4 


14 


A2 


0D 


A0( 

A0 


i^Q 


1 1 K 1 . 

llAl :0C 


ZfO 


AJ 


1 L. 


AA 


Die} 




AP 


PO 

£ Z 


11 A9 :03 


1 1 

12 


LA 


Ui0 


01 "3 
00 


A r* 
4C- 


y 


1 
X2 


oA 


llBl :CA 


D0 


03 


4C 


C5 


X2 


TV 

CA 


D0 


£. Tit 
0£ 


11B9 :03 


4C 


EF 


12 


CA 


U0 


0(£ 
0O 


O0( 

20 


R R 

DD 


llCl :2B 


1 

ID 


4U 




1 1 


L^A 


Uxf 


0lfi 


^ 1 
1 


1 1 : ^ 10 








PD 


4C 


03 


12 


A8 


11D1:CA 


D0 


0E 


20 


2E 


11 


F0 


C5 


AE 


11D9 :AD 


0B 


BF 


BD 


20 


8F 


4C 


8D 


C5 


llEl :11 


CA 


F0 


03 


4C 


9B 


11 


4C 


CC 


HE9:C8 


13 


A2 


00 


A9 


80 


18 


6D 


76 


HF1:20 


8F 


A8 


A9 


00 


85 


FD 


A9 


73 


11F9:0E 


85 


FE 


A9 


IE 


85 


A7 


4C 


Al 


1201 :B8 


14 


20 


EB 


11 


AE 


20 


8F 


5C 


1209 :BD 


7F 


24 


CA 


38 


FD 


7F 


24 


F9 


1211 :48 


69 


03 


AS 


A2 


03 


20 


A3 


A3 



70 



Type It In 



1219 :1C C9 00 D0 07 20 2B ID F6 
1221:68 4C 06 12 85 02 68 C5 39 
1229:02 B0 03 4C 9B 11 C6 02 50 
1231 :AE 20 8F CA BD 7F 24 18 9F 
1239:65 02 AE 00 BF 9D 00 8F E8 
1241 :85 FB 86 FC 20 FA 13 A9 84 
1249 :1E 20 D2 FF A5 FB 0A AA BA 
1251 :BD DC 21 20 D2 FF BD DD Al 
1259:21 20 D2 FF A9 20 20 D2 51 
1261 :FF BD 00 78 48 AA A9 00 BC 
1269:20 CD BD 68 C9 0A B0 05 2C 
1271 :A9 20 20 D2 FF A9 20 20 AA 
1279:D2 FF A9 98 20 D2 FF AD BP 
1281:20 8F 09 30 20 D2 FF CE D8 
1289:00 8F D0 03 4C 07 14 4C CE 
1291:06 12 AE 00 8F A9 F0 9D B5 
1299:00 8F 86 FC 20 FA 13 A9 FE 
12 Al :81 20 D2 FF A2 00 BD 70 E9 
12A9:15 F0 06 20 D2 FF E8 D0 90 
12B1:F5 AD 20 BF 09 30 20 D2 55 
12B9:FF CE 00 8F D0 03 4C 07 BC 
12C1:14 4C 9B 11 AE 00 8F A9 C5 
12C9:FF 9D 00 8F 86 FC 20 FA Bl 
12D1:13 A9 9A 20 D2 FF A2 00 IB 
12D9:BD 7D 15 F0 06 20 D2 FF 44 
12E1:E8 D0 F5 CE 00 BF D0 03 3D 
12E9:4C 07 14 4C 9B 11 AE 00 BB 
12F1:8F A9 00 9D 00 BF 86 FC 6A 
12F9:20 FA 13 A9 9B 20 D2 FF EC 
1301 :A9 5A A2 05 20 D2 FF CA 4E 
1309 :D0 FA CE 00 8F D0 03 4C 42 
1311:07 14 4C 9B 11 AD 09 8F E3 
1319 :C9 0A B0 01 60 CE 09 8F AC 
1321:20 99 21 AE 20 8F BD 7F 07 
1329:24 85 F8 CA BD 7F 24 85 48 
1331 :F7 A9 96 85 F9 A9 04 85 EC 
1339 :PA A9 2F 85 FB 85 FC A6 IC 
1341 :F7 E4 F8 D0 03 4C 2E 11 7F 
1349 :A5 F9 18 69 28 85 F9 90 36 
1351:02 E6 FA BD 00 90 85 FD B8 
1359:85 FE A2 04 06 FE CA D0 29 
1361 :FB 06 FE B0 IC A9 25 85 49 
1369 :FB 06 FE B0 14 A9 20 85 07 
1371 :FB 06 FE B0 0C A9 25 85 D8 
1379 :FC 06 FE B0 04 A9 20 85 17 
1381 :FC A0 00 A9 20 91 F9 C8 EC 
1389 :A5 FB 91 F9 C8 AS FC 91 BB 
1391 :F9 A9 2F 85 FB 85 FC 06 53 
1399 :FD B0 IC A9 2A 85 FC 06 70 
13A1:FD B0 14 A9 20 85 FC 06 27 



71 



Chapter 2 



1 3 A9 • pn 




PIP 


AQ 

A7 


OA 


AR 


FR 
£ O 


I0O 


7P 


X ox m C LJ 






AQ 

A7 


OCT 

Z Xf 


fiR 


FR 
£ O 


ACT 

AI0 


pn 


1 '4RQ •01 7 

X D7 • ICf / 




PR 


Q1 

7X 


FQ 
r 7 


Co 


aR 

A3 


£L. 


ACT 

Al0 


1 1 PI • Ql 
X J ^X S 7X 


r 7 


CiO 


F7 
J? / 




1 a 
J A 


1 
X J 


OCT 
Zl0 


X D 


X J ^7 so/ 


X / 


aT? 


CT 
Z X> 


qf 
oi? 


CjO 


T?Q 
£iO 


I?Q 
EjO 


1 /^ 


1 1 ni • API 


X r 


X o 


ZK' 


F0I 


FF 
£ £ 


a Q 

A7 


J A 


O A 

Z A 


X J \JJ m £,%) 




r r 


ao 

r\Z 




aCT 

A10 


CTn 


ZI0 


n "5 


X J £fX • 




^7 


KJKf 


n0i 


CTA 


OCT 

Z 10 


OR 
Zn 


OA 
Z** 


X Cf 7 • X L/ 






X J 


PQ 


CTa 

Kl A 


nCT 

Uv 


CT'^ 


1 7 
X / 


1 3P1 'Af 

X 1^ C X • *T ^ 


70 


X X 


ftn 


OCT 

Z K/ 


AF 

O £ 


AP 


QR 

70 


Q*^ 

7 J 


13F9 ill 


A9 


1 ft 

X \J 


<JO 


fr 


FP 


AA 
AA 


ACT 

A10 


70 
/ z 


1401 '20 


18 




Ffl 


FF 


ox/ 


OCT 
Z X/ 


OF 

Z£i 


AO 

*tZ 


1409 :11 


D0 


03 


4C 


DQ 

1/7 


1 1 

X X 


OCT 


oo 


PF 
will 


1411 : 19 


20 


FA 


1 A 
xn 


OCT 


fip 


X o 


OCT 


n7 


1 4.1 Q -ft J. 


1 R 


AP 


7 A 

f A 


X X 


AQ 

A7 


CTCT 


RR 


'^CT 


1 A91 • T?n 
X *xc.X. • r L/ 


aQ 

/\7 


01 a 


RR 


FF 


aQ 

A7 


1 F 


QR 


ar* 

AC 


1 d9Q • a7 
X rrZ 7 Sn / 


a9 


JX 


ACT 


1 A 
X 


An 


nQ 
oO 


1 A 


RR 
33 


X4 ^x • r r 


Xz 


Q0I 
710 


aCT 


nR 


no 


n R 


&CT 

AI0 


O A 

Z4 


X'r J? S^A 




U7 


nr\ 
oU 


a0l 
Al0 


CTCT 

1010 


£ £ 


ACT 

Mo 


TO 
/ / 


1 AAi • ni 
* Uo 


nA 


r»Q 






Mo 


/TO 

C£ 


r\0 
UZ 


C 1 

3X 


1 A AO • &CI 
X^^y SAi0 




rr 


t*7 


wi 




/-I /-I 


^Z 


Xl0 


1 A CI • C^T\ 


Xz 


MO 




r»c 
UD 


D7 


Do 


/Tine 
1010 


Fz 


1 A i^Q • T?T? 
XftD 7 S J? r 


Xz 


Qn 




A/^ 


RD 


JX 


OCT 
Zl0 


U10 


X40X S DIv 


Al 

*tx 



D Z 


RA 


RQ 

D 7 


QO 

7Z 


CTCT 


££ 


A A 

Ad 


X *r D 7 • X C 


AA 

'XT' 


AR 


An 


AF 


A'^ 


RO 
3Z 


Al 
'tX 


1 n 
X U 


1 A71 • CA 
X 'r / X • 34 


AQ 

fr7 


A'^ 




FF 
£ £ 


RO 
3Z 


AR 
*»3 


R CT 
3 10 


a 

AZ 


1 A7Q • 

Xfr / 7 • 3 3 


A9 
4Z 


AP 


AQ 

H7 




Al 
'rX 


Af 


CTCT 
10)0 


RA 


1 AQ1 • T7T7 

X 4ox s f r 


xz 


Qn 

70 


OCT 
Z V 


AQ 

ft7 


AF 


A'5 


R R 
33 


CTO 
■00 


1 AQ Q • A n 
X40 7 S 4 JJ 


AO 
4Z 


AR 


AF 


RA 


QO 

7Z 


CTCT 
\0)0 


FF 
££ 


A O 
J 


1 AQ1 all? 

1 47X s xr 


Zi0 


OOI 
ZI9 


OCT 
Zl0 


A 1? 


A F 
^£ 


A 1? 
4£i 


AR 


£iO 


1 AQQ • OCT 
X47 7 • Z 


Zk/ 


OCT 
Z x) 


CTCT 


FF 


OCT 
ZI0 


RCT 
310 


An 


AR 


1 A &1 • Al 
X4iu • nrX 


CQ 

37 


AR 


RO 
3Z 


01 
Z 


J X 


OCT 
ZI0 


CTCT 
10 ]0 


QA 
7*r 


X4A7 • r r 


ZK/ 


RCT 


AP 


Al 
*rX 


RQ 
O 7 


AR 
'r3 


RO 
3Z 


FA 




^ 
J Z 


OCT 


CTCT 


CTCT 


CTCT 
1010 


CTCT 
iOv 


Q^ 
OD 


CT 1 
I0X 


1 ADO • Trn 


Q A 


r \^ 


nCT 


CT Q 




QQ 
70 


1 Q 

Xo 


"7 
/ Z 


X*r ^X S 


r D 


AR 


FU 


QCT 

7X1 


CTO 
10Z 


F^ 
£■0 


Fr* 


O J 


X4\^7 SAO 


FD 


FA 


FE 


nCT 


011 
I0X 


ACT 
Ol0 


FA 
£iO 


OO 




a A 
Ah 


ao 

A/ 


1 o 
Xo 


OCT 
Zv 


£10 


FF 
£ £ 


aCT 
MO 


Fn 

£ U 


1 AnQ • 0101 


a 

nZ 


FF 


ox 


F19 


1 CT 
XI0 


1 CT 
XI0 


nQ 
(Jo 


CE 


1 A T?1 • Dl 

±4£tX * ol 




FCT 


nQ 

U7 


OCT 
Zl0 


no 
UZ 


FF 
££ 


n'A 
UA 


RA 


X4Ci7 • XI0 


T?a 


FCT 


m 
ux 




nCT 


Fl 
£ X 


aa 

AA 


on 
zc 


14F1 :C8 


D0 


ED 


A9 


00 


85 


FD 


A9 


C6 


14F9 :0E 


85 


FE 


A9 


92 


20 


D2 


FF 


BF 


1501 :A9 


90 


20 


D2 


FF 


A9 


IE 


85 


BD 


1509 :A7 


A2 


48 


A0 


15 


20 


B8 


14 


71 


1511 :AE 


15 


8F 


BD 


25 


25 


29 


3F 


F4 


1519:8D 


47 


04 


AD 


24 


25 


09 


30 


2F 


1521 :8D 


4E 


04 


AD 


20 


8F 


0A 


0A 


5E 


1529 :0A 


18 


6D 


20 


8F 


AA 


AD 


20 


B0 


1531 :8F 


09 


30 


8D 


96 


04 


A0 


00 


4A 



72 



Type It In 



icon. 

1539 :BD 


25 


24 


29 


3F 


Turn 

F0 


/ 


99 


08 


1541 : 98 


04 


£8 


Co 


D0 


F2 


60 


09 


7E 


1549 : 3 A 


00 


FF 


20 


20 


20 


C T 

5 / 


A C 

45 


08 


1551 :45 


>l D 


Z0 


20 


20 


00 


03 


JA 


44 


1559 tlOv 


0y 


20 


00 


0y 


OCT 

20 


00 


cr 


Q O 

92 


150l : Ir 


Z0 


20 


4J 


41 




50 


41 


"7 r» 


15b9 :49 


4 / 


4E 


00 


FF 


O/M 

20 


o rtl 

20 


C A 

54 


E8 


15 / 1 S 5d 


Z0 


41 


44 


53 


o n 
20 


O Ol 

20 


yo 


34 


15 /9 


FF 


Z 


Z0 


4d 


55 


4E 


A A 

44 


1 o 

1 2 


1581 : 52 


41 


49 


53 


mm 
00 


FF 


o ni 

20 


O rtl 

20 


E3 


15o9 :5z 


45 


53 


54 


20 


O /X 

20 


O /X 

20 


o n 
20 


BF 


1591 :00 


FF 


12 


9B 


20 


4D 


41 


50 


C0 


1 c . o n 

1599 :20 


20 


20 


20 


o m 
20 


o rt( 

20 


00 


FF 


63 


15A1 : 20 


50 


4F 


A rt 

4C 


4C 


20 


20 


20 


El 


1 5 A9 1 AtO 


Z0 


00 


FF 


9 2 


9d 


c o 
52 


y1 C 

45 


A 

C4 


15B1 :43 


4F 


4E 


53 


49 


^ A 

44 


45 


c o 
52 


o o 
bo 


i 5 By iaio 


FF 


54 


52 


A 1 

41 


c c 
5d 


>1 c 

45 


4U 


CO 


15 CI :20 


O i9t 


Z0 


Zl^ 


y A 


00 


0y 


O CT 

20 


1 1 


1 C <Ofl _ (Ol 

15C9 :00 


00 


00 


00 


Ay 


0i:i 


o c 
o5 


FD 


o o 
o2 


15 Dl :A9 


19 


o5 


F£ 


A9 


IC 


o5 


A7 


o o 
28 


15D9 :A9 


IE 


20 


D2 


FF 


A2 


o o 

22 


pJo 


01 


15 El : 17 


20 


no 
no 


14 


Ay 


o n 
2B 


oD 


A 

4C 


CO 

59 


1 5 ! w o 


Ay 


O 1? 


oU 


oL. 


/ 




24 




XD r X : ZD 


UK) 


^ n 
ilI d 


AQ 

Ay 


1 A 
X •* 








/I 


1 D c 7 • UZ 


r r 


CA 


net 


r A 




a I? 
Ac* 


0O 


oz 


lOl^l Sor 


Ay 


00 


Z0 


CU 


tiU 


n o 
A2 


1 / 


2 i 


1 £f7(Q • a (91 
101^7 IAkJ 


Xr* 


X O 


Zli^ 


rf^ 


rr 


Ay 


XCi 


OlT> 


loll : 


LIZ 


r r 


AEj 


iwy 


or 




D4 


QO 


1 A 1 Q • TKOi 

X O X 7 • OIC 










D2 


FF 


E0 


87 


1621 S0A 


B0 


0D 


20 


D2 


FF 


20 


02 


CB 


1629 :FF 


8A 


09 


30 


20 


D2 


FF 


60 


C8 


1631 !A9 


00 


20 


CD 


BD 


AD 


B8 


07 


30 


1639 -SD 


B9 


07 


A2 


06 


AD 


IB 


04 


97 


1641 :29 


0F 


C9 


0A 


B0 


F7 


09 


30 


47 


1649 :9D 


B9 


07 


CA 


D0 


EF 


A9 


3C 


16 


1651 :8D 


B8 


07 


8D 


BC 


07 


20 


7A 


E8 


1659 :16 


A9 


34 


85 


P8 


A9 


00 


85 


CD 


1661 : F7 


A8 


A2 


02 


95 


FC 


CA 


10 


6E 




OOi 
£v 




1 A 


A9 












PQ 
C 7 




1 Ci 
xo 








xo 


J c 


XO / 7 S Olu 


ZVQ 

fTL7 


1 1 
X X 






ivy 




oo 




1681 :FB 


A6 


FB 


E4 


PC 


D0 


01 


60 


B0 


1689 :A0 


00 


18 


20 


F0 


FF 


A2 


00 


07 


1691 :BD 


28 


25 


20 


02 


FF 


A9 


25 


5C 


1699:20 


D2 


FF 


E8 


E0 


03 


00 


F0 


BE 


16A1:E6 


FB 


4C 


82 


16 


A6 


F7 


E8 


16 


16 A9 :EB 


86 


F7 


C8 


C4 


F8 


00 


01 


24 


16B1 :60 


BD 


00 


78 


4A 


85 


02 


B9 


2B 


16B9 :00 


90 


A2 


02 


29 


EE 


F0 


06 


6B 


16 CI : CA 


29 


0E 


F0 


01 


CA 


B5 


PC 


0A 



73 



Chapter 2 













Q^ 

7 O 


FP 

r c 


AP 
*»c 


01 A 
I0A 


Xw l/X • Av 


1 fk 

X o 


AQ 

A7 


QiA 




Ffl 

£ O 


AQ 

A7 


0101 
1010 


AF 
A£ 


1 ^ HQ • ft 

XU 1^7 <J 


F7 


A^ 


^9 


AQ 

A7 


^F 


flt^ 


KfZ 


Ql 
7X 


XV dX • u7 






9Q 

^ 7 


F 


Ql 
7X 


F7 


flfl 


9A 

Z *T 


X V 11)7 ■ X Iv 


F^ 


AQ 

A7 


9A 

<£0 


1 fl 
xo 


OO 


F7 

£ / 


QK 

OO 


^F 
0£ 


lAT?! • 'B'7 
xor X • r / 


AQ 
A7 


xflO 


OD 


Ffl 

r o 




FP 


A0I 
Ax/ 


A R 


X V J? 7 • ^ 


A9 

A^ 


W9 


AQ 
A7 


1 01 

X V 


1 fl 
xo 


7^^ 


FP 

£ w 


7 


X / VX • 73 


Fr* 


R^ 


xfU 


RR 
OO 


FQ 
£ 7 


Ql 

7X 


F7 
£ / 


n0i 


1 7WQ •pa 

X • v-.rV 


AA 


1 Oi 
Xk? 


FF 
d£ 


pfi 


019 

I0Z 


1 01 
Xv 


nA 


Ffl 
£ O 


1711* 

X / XX • \JkJ 


AQ 
•tO 


AQ 

A7 


9^ 


QR 

7<J 


FQ 

C 7 


ftfl 
OO 


A A 
•* A 


Rfl 
OO 


1 71 Q • 

X / X 7 S A 


AA 

*»A 


9Q 

Z7 


011 

vX 


0IQ 

KI7 


9A 

Z4 


AP 

*tC 


017 


AP 
AC 


1751 •17 
X / AX S X / 


K/ S 


9 


0101 


FF 

£ £ 


9 A 

ZA 


901 

ZI0 


OO 


■^F 
0£i 


1 7 9Q 

X / Z7 ZKfKf 


FF 
£ £ 


9 A 

Z A 


901 




0101 
1010 


FF 
££ 


9 A 

ZA 


OO 


X / iJX • zki 


D*» 


tOtU 


FF 
£ £ 


9 A 
Z A 


901 

ZI0 


^ 7 
O / 


0101 
1010 


01 C 
10 o 


1 7 "^Q • FP 

X / J7 • f C 


9A 
ZA 


9C5 




K/Kf 


FF 

£ £ 


9 A 

Z A 


901 

Z Kf 


AF 
A£ 


1 7A1 • Afi 

X f •tX • •*D 


YJXJ 


FF 


9 A 

Z r\ 


9W 
Z KJ 


CO 

J -J 


KfKf 


XJ o 


flF 


1 74Q 




FF 

£ r 


^ P 


901 


01 

■JKJ 


T01 
O 10 


"^p 
oc 


oX 


1 7R1 • "^Cl 




OKI 


IP 


'^01 
•310 


"^01 
.310 


')0I 
OI0 


0101 


1 01 
XI0 


1 7>^ Q • FF 


Q A 
7 A 


9W 


Aft 


A^ 


Al 


AP 


^A 
ot 


n9 
uz 


1 7ftl • AR 
X / OX • 40 






XMKJ 


0101 


0101 


AQ 

A7 


1 P 
X c 


9 R 

Z 13 


1 7AQ •901 


no 


FF 
£ £ 


AQ 

A7 


0f0l 
10)0 


fl(^ 
OO 


£U 


AQ 

A7 


R9 
oz 


1771 •£! T? 
1 / /X Sl^r 


oD 


£ Cj 


AQ 

A7 


1 £« 


QC 
OO 


A7 
A/ 


A 7 
Az 


T?R 
£ 13 


1 77 Q • m?! 


A n 

AW 


0)0 


7 0( 
zl^ 


J30 


1 A 


OW 


A Q 

A7 


7 

Oz 


1 7ai a QOl 

X / ox i okJ 


o D 


£0 


AQ 
A7 


Old 

KJKf 


flC 
OO 


F7 
£ / 


AQ 
A7 


R A 
OA 


X / 07 : VK) 


OD 


£ A 


Q 

oD 


T?Q 
£7 


AQ 
A7 


0101 
1010 


QC 
oO 


nn 
CC 


X / 7X : £ u 


oD 


££j 


AQ 

Ao 


A 7 

Az 


01 1 


O0I 
Zl0 


£ X 


nc 
UO 


1 7 QQ •17 
X / 77 * X / 


AO 
AZ 


0101 

K/Kf 


A 01 
AI0 


0IA 


Qn 


oc 
zO 


7A 
z4 


QR 
OD 


1 7 Al • Q1 
X / AX S 7X 


F7 
£ / 


Co 


FO 


F0I 
£j|0 


01fl 

I0O 


LKf 


F>^ 
£ 


FP 
£ C 


1 7 AQ .AO 
X / A7 • Az 


VjO 


Ar* 
AV- 




1 Q 
X 7 


QQ 
OO 


£iO 


FD 


n A 


X / dX : AO 


£ U 


V-7 


01 A 


nd 




An 

4C 


T?1 
JLl 


^ Q 

X 7 


1 7 nQ •17 
X / 07 • X / 


AQ 
A7 


£ £ 


Q1 

7X 


f7 
£ / 


nQ 

CO 


AQ 
A7 


1 n 
X c 


AQ 

*»7 


1 7 /^l • Ql 

X / Q^x : 7X 


£ / 


vJo 


AQ 
A7 


O A 
Z A 


Q 1 
7X 


T?7 
£ / 


nQ 
Co 


R A 
OA 


1 7 r'O • A Q 
X / C7 J AD 


FD 


Kl7 


"501 


Q 1 
7 X 


C7 


nQ 
Co 


AQ 
A7 


xo 


1 1 r\i •IT? 
X / DX • X £ 


Ql 
7X 


1?7 

£ / 


L.O 


T?Q 
c<o 


oU 


7 C 
Z 


7 A 
Z 


7 n 
z c 


1 7 r^Q • Q 1 

X / uy J 7 X 


■I?7 
i? / 


uk) 


1?7 

£ / 


Co 


An 
4C 


A T? 

Ax 


1 7 
X / 


C^i 
OO 


X /£iX : 


Of) 


1 Q 

Xo 


AQ 
A7 


0ia 
\o)o 


a 7 
Az 




Ql 

7X 


^ 7 

oz 


17 Ey :F/ 


Co 


CA 




£ A 


A n 
4C 


X X 


1 Q 

Xo 


T?1? 

Ci£ 


17 Fl :A2 


(^X 


n/?l 
Aly 




oU 


OO 


1 Q 

X 7 


Ql 
7X 


C0I 

ow 


i / ry :r / 


riQ 
L.O 


t? o 


£iC 


Jo 


1 Q 
X7 


n0l 


T?A 

£4 


£f£* 


Xoh^l : OiO 


JV o 


|0 X 


qU 


e;q 

7 


1 Q 

X 7 


Ql 

7X 


1?7 
£ / 


C0I 
Ol0 


1 Q^Q rnHQ 


£iO 




Q 

J 7 


1 Q 

X 7 


UI0 


FA 
£** 


O10 


f^l 
O X 


1811 :A9 


01 


85 


FD 


85 


FE 


D0 


09 


B9 


1819:£6 


FD 


A5 


FD 


C9 


0A 


D0 


01 


E9 


1821 : 60 


E6 


F8 


A9 


09 


18 


65 


F9 


62 


1829:85 


F9 


A9 


00 


65 


FA 


85 


FA 


EC 


1831:20 


Fl 


17 


A6 


F9 


A0 


04 


A5 


3B 


1839 :FD 


49 


30 


91 


F7 


C8 


C8 


BD 


0C 


1841 :25 


24 


F0 


06 


91 


F7 


E8 


C8 


92 


1849 :D0 


F5 


A6 


FD 


BD 


7F 


24 


85 


CD 


1851 :FA 


AC 


36 


19 


88 


A5 


FE 


0A 


65 



74 



1859 :AA 


A9 


30 


85 


1861 :FF 


91 


F7 


C8 


1869 :C8 


A9 


2A 


91 


1871 : 91 


F7 


C8 


A5 


1879:07 


E6 


FC 


E9 


1881 :65 


FB 


85 


FB 


1889 :C8 


A5 


FB 


91 


1891 :91 


F7 


C8 


A9 


1899 :BD 


DC 


21 


91 


18 Al : DC 


21 


91 


F7 


18A9 :91 


F7 


C8 


A9 


18 Bl :FC 


BD 


00 


78 


1889 :E6 


FC 


E9 


0A 


18 CI :FB 


85 


FB 


A5 


18 C9 :A5 


FB 


91 


F7 


18 Dl :F7 


C8 


A9 


00 


18D9 :FE 


A5 


FE 


C5 


18 El :56 


18 


20 


02 


18E9 :FE 


A6 


FD 


CA 


18F1 :02 


E8 


BD 


7F 


18F9 :85 


02 


A9 


08 


1901 :30 


26 


A9 


09 


1909 :23 


91 


F7 


C8 


1911 :C8 


06 


02 


30 


1919 :F7 


C8 


A9 


20 


1921 :00 


91 


F7 


C8 


1929 :A9 


00 


A2 


04 


1931 : D0 


FA 


4C 


19 


1939 :00 


FF 


20 


20 


1941 : 20 


20 


20 


20 


1949 :FP 


12 


9A 


25 


1951 :A0 


A0 


A0 


A0 


1959:0E 


FF 


IC 


2A 


1961 :20 


20 


20 


20 


1969 :0B 


8F 


8D 


20 


1971 :00 


8F 


CE 


00 


1979:AE 


00 


8F 


BD 


1981 :20 


Bl 


lA 


20 


1989 :19 


10 


17 


6A 


1991 :1B 


AD 


18 


8F 


1999 :90 


02 


A9 


FF 


1.9A1:73 


19 


AC 


09 


19A9 :A2 


00 


E8 


DD 


19B1 :EC 


0B 


8F 


F0 


19B9 :8E 


0B 


8F 


CE 


19 CI :CF 


19 


20 


E9 


19C9 :20 


8C 


lA 


4C 


19 Dl :85 


FB 


C6 


FB 


19D9:18 


65 


FB 


85 


19E1 :92 


85 


FC 


A9 



FB 85 FC A9 41 
A9 IC 91 F7 5 A 
F7 C8 A9 9A 97 
FE C9 0A 90 9F 
0A 4C 76 18 AB 
A5 FC 91 F7 10 
F7 C8 A9 20 76 
97 91 F7 C8 F7 
F7 C8 E8 BD 8F 
C8 CA A9 20 IP 
30 85 FB 85 69 
C9 0A 90 07 F5 
4C B5 18 65 49 
PC 91 F7 C8 12 
C8 A9 20 91 3C 
91 F7 C8 E6 4A 
FA F0 03 4C ID 
18 A5 FA 85 3A 
BD 7F 24 85 69 
24 38 E5 02 DC 
E5 02 85 02 67 
91 P7 C8 A9 42 
A9 00 91 F7 25 
13 A9 09 91 7F 
91 F7 C8 A9 58 
C6 02 10 ED 8F 
91 F7 C8 CA 8D 

18 23 09 23 28 
20 20 20 20 53 
00 09 2C 00 0E 

90 CD CI D0 B5 
A0 A0 92 00 C6 
4D 45 4E 55 2A 
20 00 00 AD 60 
8F A9 08 8D 79 
8F D0 01 60 83 
00 SF D0 09 B9 
D0 lA 4C 73 70 
B0 03 4C A6 A6 
0A 6D 09 8F 60 
8D 09 8F 4C C5 
8F FE) CB 48 lA 
7P 24 B0 FA 11 
09 8E 20 8F 70 
09 8F 68 20 4C 

19 20 5D lA E2 
73 19 85 02 44 
A5 FB 0A 0A 99 
FB 85 FD A9 E4 

91 85 FE 60 F9 



Chapter 2 



19E9 :AD 


08 


8F 


29 


F8 


00 


05 


A9 


38 


19F1 :01 


85 


FF 


60 


A9 


03 


18 


60 


03 


19F9:15 


8F 


A8 


Bl 


FB 


85 


FF 


AD 


6E 


1A01 :0A 


8F 


10 


03 


E6 


FF 


60 


C5 


0E 


1A09:02 


D0 


09 


A9 


02 


20 


57 


lA 


87 


lAlliA9 


FF 


85 


02 


A5 


02 


80 


0A 


45 


1A19:8F 


AD 


08 


8F 


A0 


05 


4A 


88 


B0 


1A21 :D0 


FC 


20 


57 


lA 


AD 


16 


8F 


B9 


1A29:20 


57 


lA 


A0 


06 


88 


00 


01 


85 


1A31 :60 


B9 


lA 


8F 


01 


FD 


00 


07 


6F 


1A39:A9 


03 


20 


57 


lA 


00 


EE 


AA 


19 


1A41 :CA 


8A 


Dl 


FD 


00 


07 


A9 


01 


8E 


1A49:20 


57 


lA 


00 


E0 


E8 


E8 


8A 


BA 


1A51:D1 


FD 


D0 


09 


P0 


F0 


18 


65 


86 


1A59:FF 


85 


FF 


60 


A0 


05 


Bl 


FB 


60 


1A61 :38 


E5 


FF 


B0 


04 


C6 


FF 


00 


42 


1A69:F3 


91 


FB 


A5 


FF 


AA 


AC 


15 


EE 


1A71 :8F 


C8 


18 


71 


FB 


90 


02 


A9 


89 


lA79sFF 


91 


FB 


98 


49 


03 


A8 


8A 


40 


1A81 :4A 


4A 


71 


FB 


90 


02 


A9 


FF 


3B 


1A89:91 


FB 


60 


46 


FF 


00 


01 


60 


9B 


1A91 :AD 


08 


8F 


38 


E5 


FF 


B0 


02 


A6 


1A99:A9 


00 


80 


08 


8F 


46 


FF 


00 


3B 


lAAl :01 


60 


AD 


09 


8F 


38 


E5 


FF 


DO 


1AA9:B0 


02 


A9 


00 


8D 


09 


8F 


60 


FB 


1 ABl : A0 


00 


A2 


0F 


AD 


15 


8F 


F0 


40 


1AB9:02 


A2 


F0 


86 


FB 


A2 


34 


CA 


BB 


lACl :D0 


03 


84 


02 


60 


BD 


00 


90 


5A 


1AC9:25 


FB 


F0 


F3 


C8 


00 


F0 


A5 


FD 


lADl :02 


18 


6D 


17 


8F 


0A 


60 


16 


CI 


1AD9:8F 


6D 


08 


8F 


90 


03 


18 


A9 


95 


lAEl :FF 


8D 


08 


8F 


AO 


0A 


8F 


00 


F8 


1AE9 :0A 


A9 


10 


6D 


08 


8F 


B0 


03 


49 


lAFl :8D 


08 


8F 


A9 


00 


80 


0A 


8F 


55 


1AF9 :60 


A9 


92 


85 


FC 


A9 


00 


85 


87 


1 B01 : FB 


A9 


00 


AA 


F0 


07 


A0 


05 


34 


1B09:E6 


FB 


88 


D0 


FB 


E8 


E0 


34 


49 


IBll :D0 


01 


60 


A0 


01 


Bl 


FB 


C8 


95 


1B19:38 


Fl 


FB 


00 


06 


20 


58 


IB 


F0 


1B21 :4C 


07 


IB 


B0 


0A 


EA 


49 


FF 


3C 


1B29:18 


69 


01 


A0 


80 


00 


02 


A0 


OB 


1B31 :08 


85 


FD 


84 


FE 


29 


E0 


F0 


24 


1B39:02 


D0 


14 


46 


FE 


A5 


FD 


29 


3F 


1B41 :10 


F0 


02 


D0 


0A 


46 


FE 


A5 


16 


1B49 :FD 


29 


08 


00 


02 


46 


FE 


A5 


A3 


1B51 :FE 


9D 


00 


90 


4C 


07 


IB 


AD 


09 


1B59:00 


90 


29 


F0 


F0 


04 


A9 


01 


03 


1 B61 : D0 


02 


A9 


10 


80 


00 


90 


9D 


El 


1B69:00 


90 


60 


A2 


34 


CA 


F0 


12 


BA 


1B71 :BD 


00 


90 


29 


0F 


F0 


04 


A9 


19 



76 



1 R7Q 'iil 


r)0 


05 


AQ 

A7 


R? 
o^ 


9n 

7 U 


r0 


•^7 


A'? 

A*^ 


1 RRl • DPI 


EB 


60 


AD 


15 


8F 


48 


A2 


IC 


1 B8 9 : 3 F 


BD 


40 


8F 


9D 


80 


8F 


BD 


9B 


1 B91 • 00 


8F 


9D 


40 


8P 


BD 


80 


8F 


67 


X 7 ■ 7 1^ 


00 


RP 


CA 


D0 


EB 


68 


49 


8D 


1 RA1 • 01 

X onx • K/x 


ox/ 


1 S 


RP 


60 


AD 


09 


8F 


B2 


X • ^ 7 


28 


90 


43 


AE 


20 


8F 


BD 


E7 


IBBl :7F 


24 


85 


PA 


CA 


BD 


7P 


24 


81 


1 BR<) - PS 


F9 


C6 


F9 


AD 


24 


25 


0A 


FB 


1 BCl • 18 


6D 


19 


8F 


85 


FP 


E6 


F9 


6P 




F9 


C5 


FA 


F0 


0E 


20 


17 


D0 


X OLfi, • X ^ 




PP 


90 


■in 


1 A 

X A 


20 


8C 


C9 


1 RHQ • 1 A 

X OU 7 • X A 


*TW 


RD 
ox/ 


1 R 
xo 


An 

AL/ 


09 

XJ 7 


8F 


38 


82 


1 RRl • pn 

X r>rix • rii / 


1 9 

X 7 


RP 
o f 


90 


05 


ED 


19 


8F 


Fl 


1 BK9 • R0 


02 


A9 


01 


8D 


09 


8F 


4C 


3A 


1 BFl : 7 3 


19 


A2 


00 


A0 


34 


86 


F9 


59 


1BF9 :84 


FA 


E6 


F9 


A5 


F9 


C5 


FA 


49 


1 C01 • P0 


1 


AE 


81 


8F 


86 


PF 


20 


IB 


1 C0 9 : 1 7 


IC 


20 


2C 


lA 


46 


PP 


20 


A4 


X VprX X • ~3XJ 


lA 


4C 


FB 


IB 


60 


20 


CP 


32 


1C19:19 


20 


26 


lA 


60 


A2 


00 


A9 


83 


1 fPl • 00 


9D 


00 


3F 


CA 


D0 


PA 


A9 


ED 


1 C29 •00 


AA 


AS 


39 


0A 


IF 


9D 


00 


C4 


1C31 :3F 


39 


12 


IF 


9D 


40 


3F 


E8 


01 


X VrfJ 7 • £jO 


E8 


C8 


C0 


07 


D0 


EC 


59 


54 


1 fill •0A 


IF 


9D 


00 


3F 


9D 


01 


3F 


AB 


1 C49 : 9 D 


02 


3F 


B9 


12 


IF 


9D 


40 


DC 


1 C51 :3F 


A9 


FC 


80 


F8 


07 


A9 


FD 


41 


1 rS9 'fin 


F9 


07 


A2 


07 


A9 


0C 


9D 


76 


X V^Vi/ X ^ £m t 


n0 


CA 


10 


FA 


A9 


01 


8D 


C9 


X \^\J 7 ■ X 


D0 


A9 


01 


8D 


10 


D0 


A9 


Al 


1C71 :04 


BD 


00 


D0 


A9 


32 


BD 


01 


4E 


1 C7 9 • n0 


A9 


36 


8D 


02 


D0 


A9 


38 


03 


1 cfli -an 


03 


D0 


A9 


00 


A0 


04 


99 


lA 


X wo 7 • K/ ^ 


IF 


88 


10 


FA 


A9 


22 


8D 


EC 


1 r9i •07 

X 7X mXJ I 


1 P 

X X 


A9 

A7 


AD 


8D 


06 


IF 


A9 


91 


1C99 : 36 


8D 


09 

XJ 7 


IP 


A9 


00 


8D 


08 


D3 


1 CAT 'IF 

X WAX • X X 


(i0 


A9 

A7 


00 


85 


FD 


A9 


04 


32 


1 fAQ •Rn 


00 


n0 


9R 

70 


50 

^x/ 


FA 


IE 


85 


FA 


1 PRl • 

X WOX • f W 


RA 


50 


PA 

C A 


1 p 

Xu 


85 


FB 


8D 


4B 


1 PRQ •01 

X WQ 7 • X 


n0 


AQ 

A7 


0^ 
K/ W 


fln 

ox/ 


27 


D0 


AD 


F4 


ICCl :10 


D0 


09 


01 


8D 


10 


D0 


AD 


63 


1CC9:15 


D0 


09 


01 


8D 


15 


D0 


20 


74 


ICDl :1A 


IF 


AD 


6B 


IF 


F0 


P8 


29 


23 


1CD9:13 


F0 


P4 


AA 


29 


10 


D0 


27 


73 


ICEl :8A 


29 


01 


F0 


11 


AD 


01 


D0 


EA 


1CE9:C5 


FB 


F0 


E3 


C6 


FD 


38 


E9 


E8 


ICPl :08 


8D 


01 


D0 


D0 


D9 


AD 


01 


09 


1CF9 :D0 


C5 


FC 


F0 


D2 


E6 


FD 


18 


01 


1D01 :69 


08 


8D 


01 


D0 


D0 


C8 


A9 


B8 



Chapter 2 



1D09 


S00 


8D 


27 


D0 


20 


lA 


IF 


AD 


ED 


IDH 


:6B 


IF 


F0 


F8 


29 


10 


D0 


07 


A8 


1D19:A9 


0C 


8D 


27 


00 


00 


30 


AD 


28 


1D21 


:15 


D0 


29 


FE 


80 


15 


O0 


A5 


37 


1D29:FD 


60 


A2 


07 


BO 


02 


IF 


95 


09 


1D31 


sF7 


CA 


10 


F8 


A9 


01 


80 


28 


40 


1D39:D0 


AD 


15 


00 


09 


02 


80 


15 


77 


1D41 : D0 


20 


lA 


IF 


AD 


63 


IF 


F0 


6B 


1D49 :P8 


6A 


B0 


14 


6A 


30 


43 


6A 


F8 


1D51 


30 


6E 


6A 


30 


05 


6A 


30 


05 


10 


1D59:90 


E7 


4C 


F0 


ID 


4C 


E7 


IE 


76 


1D61 :A5 


F8 


F0 


DO 


AD 


03 


00 


38 


FB 


1D69:E9 


04 


80 


03 


00 


C6 


F8 


A5 


B4 


1D71 :F8 


6A 


B0 


03 


4C 


24 


IE 


A5 


DO 


1D79:FD 


E9 


lA 


85 


FD 


B0 


02 


C6 


46 


1D81 : FE 


A5 


PB 


38 


E9 


19 


85 


FB 


62 


1D89 


90 


03 


4C 


24 


IE 


C6 


FC 


4C 


EA 


lD91s24 


IE 


A5 


F8 


C9 


10 


F0 


A9 


F7 


1D99:AD 


03 


00 


18 


69 


04 


80 


03 


80 


1DA1:D0 


E6 


F8 


A5 


F8 


6A 


B0 


7B 


C5 


1DA9 :A5 


PD 


69 


lA 


85 


FD 


90 


02 


4C 


IDBl i 


E6 


FE 


A5 


FB 


18 


69 


19 


85 


Bl 


1DB9 


FB 


90 


68 


E6 


FC 


4C 


24 


IE 


11 


IDCl 


A5 


F7 


00 


03 


4C 


42 


10 


AD 


6A 


1DC9 


02 


D0 


38 


E9 


04 


80 


02 


00 


0A 


IDDl 


C6 


F7 


A5 


P7 


6A 


90 


4C 


A5 


75 


1DD9 


FD 


E9 


01 


85 


FD 


B0 


02 


C6 


83 


IDEl 


FE 


A5 


FB 


38 


E9 


01 


85 


FB 


62 


1DE9 


■B0 


39 


C6 


FC 


4C 


24 


IE 


A5 


48 


IDFl 


!F7 


C9 


31 


00 


03 


4C 


42 


ID 


B8 


1DF9 


AD 


02 


00 


18 


69 


04 


80 


02 


9F 


1E01: 


D0 


E6 


F7 


A5 


F7 


6A 


90 


03 


46 


1E09 


,4C 


24 


IE 


A5 


FD 


69 


01 


85 


AF 


lEll 


iFD 


90 


02 


E6 


FE 


A5 


FB 


18 


BD 


1E19 


[69 


01 


85 


F3 


90 


05 


E6 


FC 


IE 


1E21 


!4C 


24 


IE 


A9 


01 


85 


F9 


A5 


A2 


1E29 


!F8 


4A 


90 


04 


06 


F9 


06 


F9 


E4 


1E31 


!A5 


F7 


6A 


B0 


02 


06 


F9 


A0 


53 


1E39 


!00 


Bl 


FB 


85 


02 


A5 


F9 


31 


85 


1E41 


iFD 


00 


26 


A9 


C0 


24 


02 


30 


DA 


1E49 


!0D 


A5 


02 


29 


3F 


AA 


BD 


78 


E0 


1E51 


22 


85 


02 


4C 


6A 


IE 


50 


07 


78 


1E59 


.A9 


00 


85 


02 


4C 


6A 


IE 


A5 


29 


1E61 


!02 


29 


3F 


AA 


BO 


79 


22 


85 


19 


1E69 


i02 


A2 


0F 


A0 


10 


18 


20 


F0 


40 


1E71 


iFF 


A9 


95 


20 


02 


FF 


A9 


20 


06 


1E79 


iA2 


07 


20 


02 


FF 


CA 


10 


FA 


40 


lEBl 


!A9 


9D 


A2 


07 


20 


02 


FF 


CA 


D5 


1E89 


:10 


FA 


A5 


02 


00 


03 


4C 


42 


CE 


1E91 


ilD 


29 


3F 


0A 


AA 


BO 


DC 


21 


56 



78 



1E99 


!20 


D2 


FF 


BD 


DD 


21 


20 


D2 


PC 


1 EAl 


. pp 


A9 


20 


20 


D2 


FP 


BD 


00 


60 


1 IraQ 


» "7 D 


AA 


cy 


rx A 
0A 


"am 

B0 


05 


A a 

A9 


20 


00 
B3 


XriBl 


■ Ofll 

! ZtO 


D2 


FF 


A f\ 

Ay 


mm 
00 


o m 

20 


CD 


BD 


27 




! Ay 


XU 


20 


D2 


£ £ 


A Q 

Ay 


QtX 

90 


m 
20 


D 

2B 


1 c r*i ■ 

1 ciCl ; 


DA 


FF 


A f\ 

A9 


12 


o m 
20 


rvo 
D2 


£F 


A A 

A9 


T» 

B3 


1 EC9 




20 


D2 


FF 


A C 

AO 


02 


Oft 

29 


TS 

jF 


■7 Tn 

7F 


1 EOl 


A2 


00 


E8 


DD 


/F 


24 




FA 


A 

43 


1ED9 


oA 


by 


nex 

BSO 


fx 


rvo 
D2 


FF 


A n 

A9 


A 

92 


>1 A 

4A 


1 EEl 


.1/31 


D2 


FF 




42 


1 rv 
1 U 


AD 


15 


9E 




tuk) 


2y 


FD 


Q rv 


15 




ao 
A2 


/ 


AO 

A9 


J.£irl 


k DC 


£ / 


Q rv 

yu 


n o 
192 


l£ 


A 

L.A 


10 


CIO 
£ 


1 
lo 




. /Z m 
',O0 


EA 


/X A 

0A 


m A 
wA 


m A 
0A 


18 


59 




32 


DO 

B8 


1 Vt/Xt 




00 


00 


00 


mm 
00 


mm 
00 


mm 
00 


mm 
00 


6P 


1 V/XQ 


i 1010 






CM 


l?i7l 
£19 


c*m 
C>0 


(J0 


Co 


F2 


X £ 11 


! £ £ 


TTl Til 

£ £ 


yy 


O 1 

ol 


v-3 


Co 


Ol 


A A 

99 


54 


1 r 1 y 


* £ £ 


Ay 


171(71 


OU 


b o 


l£ 


A rv 
AU 


fxtx 


/^rv 
CD 


1 T?01 ■ 
X £ ZX i 


UL. 


zy 


1 £ 


AQ 

4y 


1 £ 


rvm 


o rv 
2 U 


A r\ 
AD 


rvA 
U4 


1 t*') o 

xazv 


> 01 1 


pi 


2y 


1 £ 


4y 


l£ 


rv3! 
UIO 


24 


C2 


1 £ JJ. 


> *5i9l 
! 


£■4 


£ £ 


Dig 


nt 1 
191 


O0 


Jo 


nA 

ay 


aQ 

Ay 


l£ J7 


!4y 


yi9 




A A 

AA 


c*o 

£iO 


ay 


IXC 

05 


D0I 
J30 


"701 


1 £ 41 i 


Do 


O A 

oA 


2y 


02 


F0 


m >i 
04 


OA 

oA 


>l A 

49 


/-I rv 

C9 


1 T?AO 

i£4y 


C1 1 


A A 

AA 


ao 

Ay 


ncx 
VJV 


Qrv 


bo 


IF 


3o 


T 

/o 


1 £ 31 


o a 
z A 


OA 

L.A 


Da 


rC, 


o rv 
oD 


bB 


IF 


AD 


47 


it b y 


00 


DC 


2D 


01 


DC 


29 


1 m 
10 


F0 


21 


1 FdI 


! F6 


A n 

Ay 


IXC 

06 


55 


A O 

A2 


C5 


A O 

A2 


rvm 

D0 


DE 


iFoy 


iFC 


50 




o m 

20 


FA 


1 A 

1 A 


o m 

20 


Bl 


■7 
72 


1 F71 


ilA 


A C 

A5 


02 


C9 


1 A 


nm 
90 


mo 
03 


m 

20 




3C 


lF/9 


. o yl 

!o4 


IB 


20 


•7 A 

7A 


21 


o m 
20 


Q A 

84 


1 D 

IB 


1 A 

lA 


X FoX 


> 20 


T A 

7A 


21 


A O 

Ay 


m 1 
01 


om 
20 


CF 


1 A 

19 


6E 


IFby 


; A0 


05 


Bl 


FB 


A A 

4A 


A A 

4A 


AA 


A m 

A0 


C0 


1 P91 


i02 


O A 

8A 


18 


7 1 


FB 


90 


m o 

02 


A e 

A5 


e A 

59 


1F99 


iFP 


91 


FB 


88 


D0 


F3 


A0 


02 


DD 


IFAl i 


Dl 


FB 


D0 


13 


A m 

A0 


mo 

03 


Bl 


FB 



S3 


i£Ay 




oo 

JO 


Fl 


FB 


A a 
A9 


O0 


O A 

2 A 


A 

Ao 


A>1 

A4 


1 FBI 


: Lb 


Bl 


FB 


E9 


m 1 
01 


91 


FB 


A C 

A5 


A 

CA 


iruy 


tt n 




by 




o5 


CD 


cy 


1.11,1 

££ 


2y 


IFCl ; 


U0 


Co 


20 


FA 


1 A 

lA 


om 
20 


Bl 


1 A 

1 A 


A/^ 

9C 


1FC9 


. IV O 

iA2 


33 


BD 


(XfX 


om 
90 


29 


11 


F0 


1 A 

lA 


IFDl 


i 03 


IE 


00 


90 


CA 


Y^m 

D0 


WO 

F3 


om 
20 


/^o 

C3 


1FD9 


:oC 


IB 


20 


ED 


mn 

09 


om 

20 


57 


16 


oc 

85 


IFEl 


:20 


5A 


0B 


20 


CD 


15 


A2 


0F 


41 


1FE9 


:86 


02 


A0 


ID 


18 


20 


F0 


FF 


P4 


IFFl 


!A9 


98 


20 


D2 


FF 


A9 


20 


A2 


E5 


1FF9 


i0B 


20 


D2 


FF 


CA 


D0 


FA 


E6 


96 


2001 


:02 


A6 


02 


E0 


18 


D0 


E3 


AD 


B3 


2009 


:64 


07 


8D 


8C 


07 


8D 


34 


07 


96 


2011 


:8D 


DC 


07 


A9 


20 


A2 


08 


9D 


0A 


2019 


:DC 


07 


CA 


D0 


FA 


A9 


14 


8D 


24 


2021 


!B2 


07 


A9 


00 


A2 


03 


95 


03 


19 



Chapter 2 





10 


FB 


Ay 


09 


85 


AE 


A9 


52 


Zk/o1 Z V)x> 


oD 


20 


8F 


EE 


/It 
20 


8P 


AD 


96 




8F 


C9 


0A 


D0 


03 


4C 


30 


A2 


OCT/ll .OCT 


O Ol 

20 


Oft 


O 1 

21 


A C\ 

A9 


/%/% 
00 


85 


B2 


E9 






A2 


04 


00 


FB 


A t% 

A0 


IF 


52 




FC 


A9 


BE 


85 


F7 


85 


F9 


>i e 

45 




04 


O C 


ro 


oc 
00 


FA 


A £. 

A5 


A"? 

A7 


BC 


Odd • A^5l 


do 
0o 


Ay 


20 


91 


F7 


88 


X0 


77 


ZiOX>)y Ira 


A C 

AD 


r / 


lb 


d9 


00 
2a 


85 


F7 


80 


OCT"? 1 • QIX 


02 


GiO 


no 
ro 


A 

(.A 


D0 


E9 


AE 


03 


2079 :20 


8F 


BD 


7F 


24 


85 


FE 


CA 


e 

5D 


2081 : BD 


7F 


24 


85 


FD 


A6 


FB 


A4 


84 




1 o 
Xo 


Z\t) 


r0 


r r 


A a 
Ad 


FD 


BD 


oc 

Bo 


Z07X :00 


y0 


^y 


0r 




03 


4C 


dF 


A £ 

A6 


4(Swy y : 2 X 


isD 


44 


22 


AA 


1 


OD 


B2 


37 


21^ AX • OD 


DO 


Q A 

OA 


t^y 


A 


oVj 


0D 


Ay 


0o 


2 iuAiP : 2 


O d 

2 


Da 


PF 


A Q 

A9 


A 

yA 


20 


D2 


27 


20 oX S rr 


AO 

Ay 




20 




JoD 


A£ 

A6 


on 
£0 


0D 


O0IDQ • not 
20O7 tASO 


2d 


1 Q 

la 


20 




r r 


A0 


do 
0J 


64 


20 UX SA? 


od 
20 




U2 


r f 


00 
00 


U0 


FA 


CE 


20C7 :£iO 


FB 


E6 


FD 


Co 


A T 

A/ 


D0 


Bd 


c c 

65 


20 DX : Ad 


AE 


O0 


03 


4C 


69 


21 


AD 


D2 


O oir\0 . O m 


8F 


1 o 


69 


0E 


AA 


A m 

Aid 


IF 


23 


20 £iX • Xo 


2 


rlO 


r r 


AQ 

Ay 


Q A 

yA 


oa 
20 


r\0 
U2 


1 £ 


on I?Q • U'Tr 

Z Kf tliy • r r 


AD 




AA 


t^y 


Oi a 

1^ A 




d 

0D 


/I 


OCT iri • ao 


ZV) 




JU2 


r r 


aQ 

At? 


(AOl 
XJV) 


od 


/ 




OlJ 


A^ 




Zv 


no 


£ £ 


aci 

A7 


QC 
OD 


01 oil • O0f 


Afk 
*«o 






PI? 


An 


ZXi 


0£ 


1 n 

X Xl 


01 aa . oiQ 


CI 


001 


no 


r £ 


00 


001 


no 

iJZ 


V^X 




£tXJ 








00 


A A 


w7 




X X 7 • <n 














s r 


£iJLI 


2121 jA9 


IC 


20 


D2 


FF 


A9 


00 






^ X ^ 7 • 






1 R 
X o 


A^ 


J. rj 


xo 


Zxf 


OS 


Z X JX • £10 


171? 
££ 


Ai7 


JO 




no 


££ 


AD 


Or* 


21 J 7 S i52 


1 Q 
Xo 


OS 


0J 


Q C 


03 


A A 

A9 


00 


43 


O 1 ill • £ C 

214X SOD 


04 


oc 


04 


A C 

A5 


B3 


£ e 

65 


05 


F3 


2X47 Sod 


0D 


M a 
A9 


00 


65 


06 


oe 

85 


06 


19 


O 1 CI .AC 

2X3X :ao 


dO 
0O 


A C 

AS 


04 


20 


CD 


BD 


A 

A2 


F2 


O 1 C Q • 1 Q 

2X3 7* Xo 


Ad 

A0 


Z4 


lo 


20 


F0 


FF 


A C 

A5 


41 


2XOX tiOO 


A EC 

AD 


0D 


n 
20 


CD 


BD 


C5 


AE 


F3 


2Xo 7 :20 


O 17 

Ztt 


1 1 

IX 


4C 


JO 


20 


BD 


44 


18 


2171 s22 


18 


65 


B3 


85 


B3 


4C 


C9 


10 


2179:20 


AD 


lA 


8F 


80 


81 


8F 


20 


25 


2181 tF3 


IB 


A9 


00 


80 


81 


8F 


AE 


F9 


2189:20 


8F 


BD 


7F 


24 


A8 


CA 


BD 


86 


2191 t7F 


24 


AA 


CA 


20 


F7 


IB 


60 


16 


2199 :A9 


9C 


20 


02 


FF 


20 


EB 


11 


72 


21A1:A2 


03 


A0 


IE 


18 


20 


F0 


FF 


0F 


21A9:20 


CI 


21 


AE 


20 


8F 


BD 


7F 


B5 


21 Bl :24 


CA 


38 


FD 


7F 


24 


85 


A7 


DE 



80 



21B9:69 


03 


AA 


A0 


IE 


20 


F0 


FF 


24 


21 CI :A2 


00 


BO 


CF 


21 


00 


01 


60 


B8 


21C9 :20 


02 


FF 


E8 


00 


F4 


9A 


44 


33 


21D1 :45 


40 


20 


20 


20 


20 


IC 


52 


IC 


21D9 :45 


50 


00 


20 


20 


40 


45 


4E 


E3 


21 El : 48 


56 


54 


40 


41 


52 


49 


43 


66 


21E9 :54 


4E 


59 


4£ 


4A 


50 


41 


4F 


5F 


21 Fl : 48 


49 


4E 


49 


4C 


40 


49 


57 


8A 


21F9 :49 


40 


4E 


49 


41 


40 


4F 


4E 


BE 


2201 :44 


53 


44 


4E 


45 


4B 


53 


44 


EB 


2209 :45 


40 


44 


44 


43 


56 


41 


57 


50 


2211 :56 


4E 


43 


53 


43 


47 


41 


46 


Bl 


2219 :4C 


4B 


59 


54 


4E 


41 


4C 


40 


24 


2221 :53 


41 


52 


4C 


41 


4F 


4B 


54 


A0 


2229 :58 


40 


54 


49 


44 


57 


59 


43 


81 


2231 :4F 


4E 


40 


41 


5A 


55 


54 


4E 


80 


2239:56 


57 


41 


4F 


52 


43 


41 


41 


FE 


2241 :4B 


48 


49 


00 


04 


04 


03 


00 


A9 


2249 :04 


08 


24 


10 


19 


17 


0C 


18 


6C 


2251 :14 


0B 


0A 


08 


0B 


03 


03 


05 


93 


2259 :07 


03 


0A 


03 


0C 


06 


00 


08 


EO 


2261 :0C 


15 


09 


0B 


09 


07 


06 


0A 


30 


2269:08 


10 


04 


04 


03 


08 


05 


07 


03 


2271 :05 


04 


0A 


07 


2F 


03 


04 


00 


78 


2279 :01 


03 


03 


04 


05 


08 


09 


08 


02 


2281 :0A 


lA 


IF 


0B 


0E 


10 


0E 


0C 


BE 


2289:25 


0C 


13 


10 


11 


14 


19 


09 


DA 


2291 :20 


19 


19 


ID 


IB 


IE 


lA 


IF 


C5 


2299:1D 


20 


11 


22 


26 


23 


28 


28 


EE 


22A1 :29 


2A 


26 


25 


2E 


31 


28 


28 


CA 


22A9 :2C 


00 


00 


00 


EF 


EF 


2F 


6F 


11 


22B1 :E7 


E7 


E7 


E7 


E7 


02 


02 


02 


62 


22 B9 :CF 


CF 


CF 


00 


00 


00 


00 


00 


03 


22 CI : 00 


00 


00 


CI 


CI 


EF 


2F 


2F 


70 


22C9 :6F 


67 


27 


27 


27 


27 


12 


12 


03 


22D1 :12 


0F 


4F 


4F 


40 


CO 


CD 


00 


FE 


2209 :00 


00 


00 


00 


CI 


CI 


F0 


30 


45 


22E1 :30 


70 


67 


27 


27 


27 


27 


1 3 


F0 


22E9 :13 


13 


0F 


0F 


4F 


0E 


CE 


CO 


60 


22 Fl :00 


00 


00 


C7 


07 


42 


CI 


F0 


68 


22F9 :30 


30 


28 


28 


67 


29 


29 


29 


45 


2301 :13 


13 


13 


10 


10 


4E 


8C 


CO 


99 


2309:00 


CO 


C9 


C7 


07 


07 


04 


C4 


20 


2311 :F1 


31 


6E 


2E 


2E 


20 


29 


29 


EE 


2319:29 


14 


14 


14 


54 


10 


50 


0C 


4C 


2321 :4C 


0B 


0A 


49 


09 


09 


47 


46 


67 


2329 :C5 


Fl 


31 


6E 


2E 


2E 


20 


20 


80 


2331 :2A 


2A 


2A 


95 


95 


95 


11 


91 


6C 


2339 :0C 


4C 


03 


8A 


4A 


89 


58 


97 


63 


2341 :C8 


00 


00 


31 


31 


6E 


2E 


20 


CB 



Chapter 2 



Z 047 • Z JJ 


a 

Z/l 


a 

Z A 


a 

ZA 


X D 


1 1^ 

XD 


xo 


DD 


XD 


ZoDl 111 


7X 


AP 

4C 


An 
4i5 


1 F 
X £ 


R F 


DA 


1 Q 
X 7 


017 


Z JD? ZD / 




0I<7I 

KfKf 


0101 

KfKf 


Fl 
£ X 


ol 


ftF 
OCi 


ap 


r\F 


A-301 z zc> 


or* 
z^ 


On 

Zl3 


On 
Z c 


an 
Ad 


ft R 
03 


K 
Z D 


O R 


A^ 
40 


zoo? SOX 




X X 


ft0l 
Ol0 


ft0i 

Old 


ft0 
Okj 


RQ 

07 


Rn 


Fn 


z o / X zoo 




XJlO 


VKJ 


XJKJ 


XJKJ 


Fl 

r X 


O X 


^ 1 

D X 


Q • 7 1 


or» 
zc 


OP 

z^ 


OQ 

Zo 


o 
Zn 


on 
Zo 


oc 
Zb 


O 

Z D 


O J 




AD 


"3 
Z J 


"3 
Z O 


ft 

o z 


a 1 
AX 


a0f 
aj0 




QO 

7Z 


O "^QQ - Or* 

Z JO 7 • 7 


X 13 




0(01 


0101 

XJXJ 


Old 
XJXJ 


01 0( 

Yix) 


Fl 
c 1 



DZ 


Z J 7X • .^X 


7 1 
/ X 


OP 
zo 


OP 
ZC 


On 

Z£> 


n 
z o 


ft R 
Oo 


Oft 

zo 


1 fl 
X o 


Z <97 7 • ZO 


Ofi 
zo 


DO 




Z J 


a"? 

AJ 


00 
zz 


01 

zx 


ftl 

O X 


PA 

V*4 


Z«3 AX •XL' 




70 


0101 


001 
KJXJ 


00 


00 

1010 


00 

1010 


01 
zx 




0101 


01 0f 
KfKf 


FP 


1?P 

£iL. 


Fn 


IPC 

ClO 


Oft 
Zo 


PQ 
U7 


z J dX * z d 


OA 

zo 


o*i 
zo 


Oft 
zO 


OA 
Z4 


ftA 

04 


oo 
zz 


O 1 

Z 1 




"3 PO • 01 

Z J 137 • Z X 


1 n 

lU 


1 n 

XJJ 


0101 

KJKJ 


00( 
I0lcf 


Yjkj 


KfXJ 


00 

1010 


7n 


z J v^x • r z 





FO 
r z 


xJxJ 


F*! 


KfKf 


00 
1010 


00 
1010 


0p 


Z J w7 • iliO 


Ffi 


Oft 
zo 


Oft 
zo 


Fft 
c»o 


OA 

Z*r 


FA 


FO 

£iZ 




z J ux • riX 




nF 


1 F 
X £• 




00 

K/K/ 


00 


00 


7F 


Z •?X'7 mKJKJ 


FO 



o z 




•3Z 


00 

XJXJ 


00 

XJKf 


F'5 

£ 


XJXJ 


OF 

ZCi 


^ J uX • IVK/ 


VXJ 


KJXJ 




E6 


00 


00 
XJXJ 


00 


CD 


^ O £(7 • K/K/ 


XJKJ 


KJXJ 




DE 


DE 


00 


00 

XJXJ 


A2 


z J r X • Kfiv 


KfKf 


FO 
c z 


FO 


FO 


FO 


00 

K/K/ 


00 

KJXJ 


9Q 

•6 7 


9 FQ • F 


XJKJ 




0101 


00 


Fft 


00 
XJXJ 


XJXJ 




9A0I1 -^l^l 
ZHKfX • IcfiC/ 


KfXJ 


0in 


OiQi 

XJKJ 


00 
1010 


HF 


1 F 

X £* 


HF 


nF 

L/C 


Z4i(37 Sl^ld 


xjV) 


■po 

£Z 


KfKf 


OlOi 
XJKJ 


0101 
XJX) 


FO 

r z 


OlOl 
XJXJ 


7D 


Z4XX Sl^i^ 


Old 


0101 
KffO 


0101 
KJKJ 


KfKf 


01 01 
XJKJ 


0101 

1010 


0(01 


D 7 


Z 4X 7 i I^K/ 


xjVj 


KfKf 


KfKf 


00 

kJkJ 


00 
1010 


00 
■010 


nF 


A0 
410 


OA 01 • HF 
Z 4ZX * U£i 


olOi 

KJXJ 


0101 
1010 


FF 


Z 10 


RO 

1} z 


A ^ 


A7 


FA 
£ 4 


O AO Q • AQ 
Z4Z7 SfA-? 


AF 


AF 

4ri 




00 
1010 


AF 
4Xj 


4«? 


*^7 


04. 

104 


OA'Sl •Od 
Z4 oX * Z10 


AR 
4D 


AF 
4£i 


A7 
4 / 


AP 
4w 


00 

1010 


RR 


^0 
o z 


7fl 


O A • AO 

z4J7 :4Z 


A1 
4X 


AF 
4ri 


01 
ZI9 


AF 


AR 
43 


lOXJ 


40 


flF 


OAA1 .AR 
Z44X .43 


4.1 
4X 


*%0 


34 


4.P 
4^^ 


AF 


4.4. 


00 
kjXj 


'^0 
O Kf 


AAQ -A 7 
Z447 S4 / 


001 


^K/ 


AP 
40 


4.1 

*rX 


AQ 

'»7 


4.F 




OR 


OA CI • 0[C'l 


41 


54 


4C 


41 


4E 


54 


49 


6E 


04.^Q •4.'? 


00 


53 


4F 


55 


54 


48 


45 


74 


2461 • 52 


4E 


00 


41 


52 


4B 


4C 


41 


14 


^ 7 • 




58 


00 


4D 


4F 


55 


4E 


D8 


Z*r / X • •J'T 


4.1 


4.Q 

■x7 


4.F 


00 


50 


41 


43 


49 


A7Q • AQ 

Z4 / 7 54 7 


*»D 


4.Q 

•t7 






00 

XJXJ 


01 


07 


5F 


OARl -^la 

Z 40X • KfA 


0IF 


1 ft 
X V 


1 F 

X J7 







2F 


34 


8F 


OAQQ • '3 A 
Z40 7 • J4 


np 


F'^ 


F'^ 


OF 
z c 


■^F 








2491 :E4 


4D 


4D 


E4 


E3 


CE 


5C 


3E 


E8 


2499 :F3 


5C 


E3 


F2 


E3 


P3 


63 


3F 


93 


24A1 :2F 


E4 


3F 


45 


64 


BE 


45 


46 


E5 


24A9:64 


4D 


4D 


46 


46 


D4 


4E 


D4 


7C 


24 Bl :F3 


F3 


C5 


D4 


E4 


F3 


C5 


EB 


65 


24B9:P2 


E4 


P2 


2F 


21 


3B 


21 


F6 


35 


24C1 :68 


7E 


CA 


BD 


24 


61 


59 


BD 


2A 


24C9:DC 


34 


76 


7A 


51 


26 


03 


AB 


D8 


24D1 :BA 


EE 


FE 


CC 


AB 


02 


50 


46 


2C 



82 



24D9 :46 


EB 


00 


91 


45 


01 


01 


86 


10 


24E1 :57 


CB 


61 


60 


77 


DF 


42 


EA 


A5 


24E9:AA 


F6 


F5 


EA 


9E 


7C 


FE 


6F 


07 


24 Fl :P7 


39 


43 


9F 


D3 


42 


IB 


5F 


24 


24F9:1D 


68 


A4 


B3 


05 


41 


34 


E9 


3A 


2501 s2C 


38 


04 


88 


11 


D2 


42 


E6 


B7 


2509:3F 


A9 


AF 


4D 


9A 


39 


3D 


5C 


B8 


2511 :8C 


3E 


2F 


78 


D8 


25 


3B 


05 


75 


2519:91 


D5 


91 


F3 


BB 


F2 


0B 


E6 


B9 


2521 :83 


CI 


00 


00 


44 


52 


55 


9F 


53 


2529:1C 


98 


00 


00 


00 


00 


00 


00 


A7 



Program 4 

Heat Seeker 



You need a copy of MLX on tape or disk before you can type 
in Heat Seeker. Load and run MLX, then respond to the ques- 
tions with 

Starting address: 0801 
Ending address: 1828 

After you've finished typing in the data for Heat Seeker, 
be sure to save a copy to tape or disk before exiting MLX. 

Heat Seeker 

For mistake-proof program entry, use "MLX: Machine Language Entry Program" to type in 
this program. 



0801 :0D 


08 


01 


00 


9E 


32 


30 


36 


0E 


0809 : 31 


00 


00 


00 


A9 


0E 


8D 


21 


73 


0811 :D0 


A9 


02 


8D 


20 


D0 


A0 


18 


AA 


0819 :A9 


00 


99 


FF 


D3 


88 


D0 


FA 


8E 


0821 :A9 


02 


8D 


17 


D4 


A9 


IF 


8D 


C2 


0829:18 


D4 


A9 


08 


8D 


16 


D4 


A9 


48 


0831 :03 


8D 


08 


D4 


A9 


3D 


8D 


0C 


DD 


0839:D4 


A9 


00 


8D 


0F 


D4 


8D 


0E 


EB 


0841 :D4 


A9 


20 


8D 


13 


D4 


A9 


7F 


CI 


0849 :8D 


14 


D4 


A9 


81 


8D 


12 


D4 


95 


0851 :A9 


01 


8D 


03 


D4 


A9 


19 


8D 


65 


0859:05 


D4 


A9 


00 


80 


24 


18 


20 


A3 


0861 :6B 


13 


20 


E9 


11 


A9 


30 


A0 


BE 


0869 :06 


99 


C8 


07 


88 


D0 


FA 


8C 


76 


0871:20 


18 


AC 


28 


18 


30 


12 


A0 


F5 


0879:06 


99 


El 


07 


88 


D0 


FA 


A9 


C6 


0881:32 


8D 


C6 


07 


A9 


31 


8D 


DF 


64 


0889:07 


A9 


FC 


8D 


03 


18 


A9 


0B 


D6 


0891 :A2 


04 


9D 


DB 


17 


E8 


E8 


E0 


74 


0899:10 


D0 


F7 


20 


7F 


0D 


A9 


08 


72 


08A1 :8D 


21 


18 


8D 


22 


18 


4C 


3D 


E3 


08A9:0B 


A9 


00 


8D 


01 


18 


8D 


02 


08 


08B1 :18 


20 


61 


0D 


AD 


0E 


18 


C9 


72 


08 B9 :FF 


D0 


22 


20 


3C 


0D 


AD 


19 


CE 


08C1 :18 


C9 


08 


90 


04 


C9 


F8 


90 


24 


08C9:14 


AD 


lA 


18 


C9 


08 


90 


04 


A7 


08D1:C9 


F8 


90 


09 


20 


46 


0D 


20 


FB 


08D9:79 


0D 


4C 


14 


0B 


AD 


01 


18 


DD 


08E1 :F0 


03 


20 


83 


0A 


78 


A9 


FD 


EA 


08E9:8D 


00 


DC 


AD 


01 


DC 


29 


80 


85 



84 



Type It In 



08F1 :P0 


F3 


A9 


P7 


80 


00 


DC 


58 


AA 


08 F9 SA9 


04 


80 


10 


18 


A2 


00 


BD 


6C 


0901 :PB 


17 


C9 


7F 


90 


06 


AD 


10 


10 


0909:18 


20 


6C 


0A 


0E 


10 


18 


E8 


53 


0911 :E0 


06 


00 


EB 


A5 


Al 


CD 


IF 


5C 


0919:18 


F0 


06 


8D 


IF 


18 


20 


71 


18 


0921 :0C 


AD 


0E 


18 


10 


21 


C9 


C0 


41 


0929 :F0 


ID 


C9 


FF 


F0 


19 


20 


F4 


55 


0931 :0B 


90 


07 


A9 


C0 


80 


0E 


18 


08 


0939 :D0 


0D 


A9 


FF 


80 


0E 


18 


A9 


AA 


0941 :80 


80 


19 


18 


80 


lA 


18 


A0 


41 


0949 : 09 


A9 


FF 


09 


04 


18 


F0 


00 


57 


0951 :88 


00 


F8 


AD 


0E 


18 


C9 


C0 


FA 


0959 :D0 


03 


4C 


04 


0B 


AD 


IF 


00 


7C 


0961 :8D 


0F 


18 


29 


01 


F0 


09 


20 


91 


0969 : 39 


0A 


20 


46 


00 


4C 


3D 


03 


22 


0971 : AD 


0F 


18 


29 


02 


F0 


03 


20 


AO 


0979:13 


0A 


AO 


0F 


18 


29 


FC 


00 


6E 


0981 :03 


4C 


B2 


08 


80 


0F 


18 


A9 


81 


0989 :04 


8D 


IE 


18 


AA 


AD 


IE 


18 


A6 


0991 :2D 


0F 


18 


F0 


03 


20 


A5 


09 


FC 


0999 :0E 


IE 


18 


E8 


E8 


E0 


10 


00 


87 


09 Al :EC 


4C 


B2 


08 


20 


10 


00 


F0 


50 


09 A9 : 02 


38 


24 


18 


30 


00 


00 


6A 


CA 


0931 :38 


E9 


08 


B0 


02 


A9 


00 


C9 


E6 


0989 :A0 


90 


02 


A9 


90 


4A 


4A 


4A 


A7 


09 CI :4A 


A8 


39 


04 


18 


C9 


FF 


00 


53 


09C9:48 


A9 


C0 


99 


04 


18 


A9 


00 


EF 


09D1:9D 


C5 


17 


90 


C6 


17 


A9 


E2 


A9 


09 09 :9D 


01 


00 


BD 


00 


00 


38 


E9 


8E 


09E1 :10 


29 


E0 


18 


69 


IC 


90 


00 


DA 


09E9:D0 


20 


8C 


0C 


8A 


4A 


AA 


A9 


33 


09 Fl :40 


90 


F9 


17 


A9 


FF 


90 


F8 


30 


09F9:07 


8A 


0A 


AA 


20 


31 


00 


98 


96 


0A01 :0A 


0A 


A8 


A9 


60 


99 


71 


07 


9F 


0A09 : 99 


72 


07 


99 


99 


07 


99 


9A 


37 


0A11 :07 


60 


AD 


0E 


18 


C9 


FF 


00 


10 


0A19:1E 


20 


A7 


0C 


20 


31 


00 


A9 


83 


0A21 :00 


80 


C7 


17 


80 


C8 


17 


80 


4E 


0A29:0E 


18 


A9 


E2 


80 


03 


D0 


A9 


71 


0A31 :02 


80 


28 


00 


20 


46 


00 


60 


50 


0A39:A9 


00 


8D 


C5 


17 


80 


C6 


17 


C3 


0A41 :A9 


E2 


80 


01 


00 


A9 


02 


80 


63 


0A49 : 27 


D0 


A9 


01 


00 


IC 


00 


80 


72 


0A51 :1C 


00 


20 


79 


00 


20 


31 


00 


9B 


0A59 :A0 


C0 


84 


A2 


AO 


IF 


00 


29 


50 


0A61:02 


F0 


03 


20 


13 


0A 


A4 


A2 


CI 


0A69 : D0 


F2 


60 


00 


03 


18 


80 


03 


16 


0A71:18 


AO 


10 


18 


49 


FF 


20 


15 


OB 


A79 : D0 


80 


15 


D0 


A9 


FE 


9D 


FA 


88 



85 



Chapter 2 



0A81 107 


60 


AD 


02 


18 


C9 


IC 


B0 


D7 


0A89 :06 


A9 


00 


8D 


01 


18 


60 


AD 


BA 


0A91 :03 


18 


D0 


01 


60 


A9 


00 


8D 


8E 


0A99 : 01 


18 


8D 


02 


18 


A9 


04 


AA 


20 


0AA1 :A8 


2D 


03 


18 


D0 


0A 


98 


0A 


21 


0AA9:A8 


E8 


E8 


E0 


10 


D0 


F2 


60 


81 


0AB1 :8D 


ID 


18 


0D 


15 


D0 


8D 


15 


C3 


0AB9 : D0 


AD 


ID 


18 


49 


FF 


A8 


2D 


8F 


0AC1 :03 


18 


8D 


03 


18 


AD 


10 


D0 


A7 


AC9 : 29 


01 


F0 


0C 


AD 


ID 


18 


0D 


B0 


0AD1 :10 


D0 


8D 


10 


D0 


4C 


E0 


0A 


58 


0AD9 :98 


2D 


10 


D0 


8D 


10 


D0 


AD 


90 


0AE1 :C5 


17 


9D 


C5 


17 


AD 


C6 


17 


C2 


0AE9 :9D 


C6 


17 


AD 


00 


D0 


9D 


00 


BA 


0AF1 :D0 


AD 


01 


D0 


9D 


01 


D0 


8A 


24 


0AF9 :4A 


AS 


A9 


00 


99 


F9 


17 


58 


CD 


0B01 :4C 


4C 


0D 


AE 


20 


18 


FE 


21 


5D 


0B09 :18 


A0 


0A 


20 


A7 


0C 


88 


D0 


E5 


031 1 :FA 


F0 


29 


A9 


00 


8D 


C5 


17 


79 


0B19 :8D 


C7 


17 


8D 


C6 


17 


8D 


C8 


lA 


0B21 :17 


20 


31 


0D 


AD 


IC 


D0 


09 


4A 


0B29:01 


8D 


IC 


D0 


A9 


02 


8D 


27 


4B 


0B31 :D0 


8D 


28 


D0 


A9 


C0 


85 


A2 


23 


0B39:A5 


A2 


D0 


FC 


78 


A9 


64 


8D 


75 


0B41 :00 


D0 


A9 


64 


8D 


01 


D0 


A9 


C2 


0B49 :00 


8D 


10 


D0 


A9 


01 


8D 


15 


53 


0B51 :D0 


A9 


F0 


8D 


F8 


07 


A9 


0F 


77 


0B59:aD 


27 


D0 


A9 


FE 


2D 


IC 


D0 


6A 


0B61:8D 


IC 


D0 


A9 


00 


85 


A0 


85 


D6 


0B69:A1 


85 


A2 


8D 


IF 


18 


20 


52 


CA 


0B71:13 


A2 


09 


A9 


FF 


9D 


04 


18 


0C 


0B79 :CA 


10 


FA 


A9 


00 


8D 


0E 


18 


5D 


0B81:AD 


IF 


D0 


AD 


IE 


D0 


2C 


28 


DF 


0B89:18 


30 


IC 


A0 


09 


B9 


C5 


07 


07 


0B91 :AA 


B9 


DE 


07 


99 


C5 


07 


8A 


34 


0B99:99 


DE 


07 


88 


D0 


EF 


A9 


01 


38 


0BA1:38 


ED 


20 


18 


8D 


20 


18 


AE 


A0 


0BA9:20 


18 


BO 


21 


18 


D0 


13 


A0 


6A 


0BB1 100 


2C 


28 


18 


30 


01 


C8 


B9 


2A 


0BB9 : 21 


18 


D0 


CA 


88 


10 


F8 


4C 


EF 


0BC1 :AE 


0C 


DE 


21 


18 


BD 


21 


18 


32 


0BC9 : 18 


69 


31 


8D 


D6 


07 


AD 


01 


74 


0BD1:DC 


2D 


00 


DC 


29 


10 


D0 


F6 


91 


0BD9:AD 


01 


DC 


2D 


00 


DC 


29 


10 


4B 


0BE1 :F0 


F6 


A9 


00 


8D 


C6 


17 


8D 


A6 


0BE9tC7 


17 


A9 


55 


8D 


C5 


17 


58 


3E 


0BF1:4C 


AA 


08 


A0 


09 


B9 


04 


18 


33 


0BF9:C9 


FF 


F0 


0D 


88 


10 


F6 


A9 


FP 


0C01 :FD 


2D 


15 


D0 


8D 


15 


D0 


38 


AD 


0C09:60 


A9 


C0 


99 


04 


18 


.98 


0A 


29 



86 



n 
n 



Type It In 



0C11:0A 


A8 


A9 


60 


99 


71 


07 


99 


CD 


0C19 


72 


07 


99 


99 


07 


99 


9A 


07 


D3 


0C21 


98 


0A 


0A 


0A 


48 


90 


0A 


A9 


2C 


0C29 


02 


0D 


10 


D0 


8D 


10 


D0 


D0 


B3 


0C31 


08 


A9 


FD 


2D 


10 


D0 


8D 


10 


39 


0C39: 


D0 


68 


18 


69 


IC 


8D 


02 


D0 


59 


0C41: 


A9 


E2 


8D 


03 


D0 


A9 


F7 


8D 


73 


0C49 


•F9 


07 


A9 


AB 


8D 


C8 


17 


AD 


7B 


0C51 


IF 


D0 


2C 


11 


D0 


30 


FB 


AD 


B0 


0C59 


12 


D0 


C9 


F2 


D0 


F4 


A9 


07 


CB 


0C61 


8D 


28 


D0 


A9 


02 


0D 


15 


D0 


3E 


0C69 


8D 


15 


D0 


AD 


IF 


D0 


18 


60 


4F 


0C71 


48 


8A 


48 


A2 


05 


FE 


C8 


07 


40 


0C79 


A9 


3A 


DD 


C8 


07 


D0 


08 


A9 


72 


0C81 


30 


9D 


C8 


07 


CA 


D0 


EE 


68 


82 


0C89 


AA 


68 


60 


48 


8A 


48 


AD 


CD 


40 


0C91i 


•07 


18 


69 


05 


C9 


3A 


B0 


05 


4E 


0C99 


8D 


CD 


07 


D0 


EA 


E9 


0A 


8D 


7A 


0CA1 


•CD 


07 


A2 


04 


D0 


CF 


48 


8A 


D7 


0CA9 


•48 


A2 


04 


D0 


C8 


78 


A9 


31 


C8 


0CB1 


t8D 


14 


03 


A9 


EA 


8D 


15 


03 


4B 


0CB9 


58 


A9 


30 


8D 


D6 


07 


20 


84 


DE 


0CC1 


•FF 


A0 


10 


B9 


20 


0D 


C9 


40 


A8 


0CC9 


90 


03 


38 


E9 


40 


99 


0B 


04 


13 


0CD1 


•A9 


03 


99 


0B 


D8 


88 


D0 


EB 


D9 


0CD9 


iC8 


8C 


25 


18 


AD 


25 


18 


D0 


A2 


0CE1 


!0C 


A9 


2D 


8D 


19 


04 


A9 


3E 


53 


0CE9 


8D 


lA 


04 


D0 


0A 


A9 


3C 


8D 


D9 


0CF1 


.19 


04 


A9 


2D 


8D 


lA 


04 


AD 


2A 


0CF9 


!00 


DC 


2D 


01 


DC 


4A 


4A 


4A 


ED 


0D01 


iB0 


05 


A0 


01 


8C 


25 


18 


4A 


4C 


0D09 


B0 


05 


A0 


00 


8C 


25 


18 


4A 


44 


0D11 


!B0 


CA 


20 


81 


FF 


AD 


25 


18 


6B 


0D19 


iF0 


03 


4C 


0D 


08 


85 


C6 


00 


AA 


0D21 


:50 


4C 


41 


59 


20 


41 


47 


41 


0A 


0D29 


!49 


4E 


3F 


20 


59 


20 


20 


4E 


3F 


0D31 


:A9 


80 


8D 


0B 


D4 


A9 


81 


8D 


80 


0D39 


0B 


D4 


60 


A9 


FF 


38 


ED 


03 


74 


0D41 


iD0 


8D 


0F 


D4 


60 


A9 


00 


8D 


8D 


0049 


•0F 


D4 


60 


A9 


18 


8D 


24 


18 


IE 


0D51 


!A5 


A2 


8D 


23 


18 


A9 


40 


8D 


40 


0D59 


!04 


D4 


A9 


41 


8D 


04 


D4 


60 


7A 


0D61 


!A5 


A2 


CD 


23 


18 


F0 


10 


8D 


15 


0D69 


!23 


18 


AD 


24 


18 


C9 


30 


B0 


0C 


0D71 


!07 


8D 


01 


D4 


EE 


24 


18 


60 


78 


0D79 


rA9 


00 


8D 


01 


D4 


60 


78 


A9 


EC 


0D81 


:91 


8D 


14 


03 


A9 


0D 


8D 


15 


2C 


0D89 


!03 


A9 


0E 


8D 


05 


DC 


58 


60 


D6 


0D91 


:A0 


00 


DC 


2D 


01 


DC 


8D 


26 


AD 


0D99 


!l8 


AD 


C5 


17 


0D 


C6 


17 


D0 


D7 



n 



87 



Chapter 2 



0DA1:03 4C 39 0E 
0DA9:10 D0 03 EE 
0DB1:18 29 03 C9 
0DB9:39 0E AD D9 
0DC1 :AD C5 17 8D 
0DC9:11 AD 26 18 
0DD1:38 AD D6 17 
0DD9:D6 17 AD C6 
0DE1:8D C6 17 4C 
0DE9:D6 17 6D 10 
0DF1 :AD C6 17 60 
0DF9:17 AD D9 17 
0E01:C6 17 8D 12 
0E09:AD 26 18 29 
0E11:AD D5 17 6D 
0E19:17 AD C5 17 
0E21:C5 17 4C 39 
0E29:17 ED 10 18 
0E31:C5 17 ED 11 
0E39:AD 00 D0 38 
0E41 :02 18 24 38 
0E49:AD 01 D0 38 
0E51:02 18 24 38 
0E59:A9 03 2D 10 
0E61:03 F0 2A C9 
0E69:19 18 38 E9 
0E71:03 18 69 AC 
0E79:A6 0E AD 19 
0E81:C9 55 90 03 
0E89:19 18 4C A6 
0E91 :30 09 C9 55 
0E99:AC 90 07 C9 
0EA1:69 AC 8D 19 
0EA9:30 03 4C FD 
0EB1:C8 17 30 09 
0EB9:0E A9 01 D0 
0EC1:10 03 A9 02 
0EC9:17 18 A9 00 
0ED1:09 2C 19 18 
0ED9:D0 0A 2C 19 
0EE1:02 2C A9 03 
0EE9:17 18 38 ED 
0EF1:08 29 01 80 
0EF9:0F F0 12 A9 
0F01:18 80 19 18 
0F09:1A 18 80 lA 
0F11:1B 18 80 IC 
0F19:0O lA 18 00 
0F21:AD IB 18 18 
0F29:1B 18 AD IC 



AD 26 18 29 B7 

01 18 AO 26 39 
03 00 03 4C CC 
17 80 14 18 76 
12 18 20 A7 B8 

29 02 00 16 27 
ED 10 18 8D 2D 

17 ED 11 18 Fl 
FA 0D 18 AD 06 

18 80 D6 17 9F 
11 18 8D C6 19 
80 14 18 AD 52 
18 20 A7 11 BA 

02 D0 16 18 B2 
10 18 80 05 05 
60 11 18 80 C3 
0E 38 AD D5 85 
80 D5 17 AD 6F 
18 80 C5 17 5E 
ED 02 D0 90 73 
6A 80 19 18 40 
ED 03 00 90 C7 
6A 80 lA 18 52 

00 F0 2E C9 22 

01 F0 13 AD BC 
80 C9 A5 B0 E4 
80 19 18 4C 5A 
18 18 69 80 28 
38 E9 AC 80 6A 
0E AD 19 18 90 

30 0C 38 E9 A2 
A5 10 03 18 39 
18 AO 0E 18 8C 
0F A9 00 2C 53 
2C C7 17 10 40 
0A 2C C7 17 IC 
2C A9 03 80 97 
2C lA 18 30 06 
10 0E A9 01 2F 
18 10 03 A9 A8 
80 18 18 AO lA 
18 18 4A 90 C3 
16 18 4C 83 82 
00 38 ED 19 8C 
A9 00 38 ED DE 
18 A9 00 80 82 
18 AD 19 18 F7 

03 4C FO 0F A8 
60 19 18 80 EE 
18 18 60 lA 68 



88 



Type It In 



0F31 :18 


8D 


IC 


18 


AD 


IB 


18 


38 


06 


0F39 :ED 


C7 


17 


4D 


07 


17 


10 


0E 


C0 


0F41 :AD 


IC 


18 


38 


ED 


C8 


17 


4D 


Dl 


0F49 :C8 


17 


30 


D4 


10 


17 


AD 


IC 


39 


0F51 :18 


38 


4D 


C8 


17 


30 


0B 


AC 


FB 


0F59 1 17 


18 


CC 


18 


18 


D0 


03 


4C 


7A 


0F61 :FD 


0F 


A9 


00 


2C 


A9 


01 


2C 


AD 


0F69 :19 


18 


10 


02 


49 


01 


2C 


lA 


FC 


0F71 s 18 


10 


02 


49 


01 


AC 


17 


18 


75 


0F79 :CC 


18 


18 


F0 


05 


49 


01 


8D 


F2 


0F81 :16 


18 


AD 


DA 


17 


8D 


14 


18 


43 


0F89 :AD 


C7 


17 


8D 


12 


18 


20 


A7 


05 


0F91 :11 


AD 


16 


18 


D0 


16 


38 


AD 


E4 


0F99:D8 


17 


ED 


10 


18 


8D 


D8 


17 


68 


0FA1 :AD 


C8 


17 


ED 


11 


18 


8D 


C8 


57 


0FA9 : 17 


4C 


C0 


0F 


18 


AD 


D8 


17 


AF 


0FB1 :60 


10 


18 


8D 


D8 


17 


AD 


C8 


AD 


0FB9 :17 


6D 


11 


18 


8D 


C8 


17 


AD 


CD 


0FC1 IDA 


17 


8D 


14 


18 


AD 


C8 


17 


26 


0FC9 :8D 


12 


18 


20 


A7 


11 


AD 


16 


2B 


m ■.II \ 1 . 1 o 

0FD1 :18 


D0 


16 


18 


AD 


D7 


17 


6D 


DC 


0FD9 :10 


18 


8D 


D7 


17 


AD 


C7 


17 


4B 


0FE1 :6D 


11 


18 


8D 


C7 


17 


4C 


FD 


08 


^ III »^ A Tl 

0FE9 :0F 


38 


AD 


D7 


17 


ED 


10 


18 


79 


0FF1 :8D 


D7 


17 


AD 


C7 


17 


ED 


11 


12 


0FF9 : 18 


8D 


C7 


17 


A2 


00 


BD 


DB 


5E 


1001 :17 


8D 


14 


18 


BD 


C5 


17 


8D 


D4 


1009 :12 


18 


20 


A7 


11 


A9 


00 


8D 


73 


1011 :13 


18 


BD 


B5 


17 


2D 


10 


D0 


32 


1019 :F0 


03 


EE 


13 


18 


18 


BD 


EB 


0A 


1021 :17 


6D 


10 


18 


9D 


EE 


17 


BD 


34 


1029 :00 


D0 


6D 


11 


18 


9D 


00 


D0 


44 


1031 :90 


03 


EE 


13 


18 


2C 


11 


18 


15 


1039 :10 


03 


CE 


13 


18 


2C 


13 


18 


DC 


1041 :10 


0E 


A9 


01 


8D 


13 


18 


18 


33 


1049 : BD 


00 


D0 


69 


58 


9D 


00 


D0 


03 


1051 :A9 


01 


CD 


13 


18 


D0 


13 


BD 


59 


1059 : 00 


D0 


C9 


58 


90 


0C 


CE 


13 


Dl 


1061 :18 


38 


BD 


00 


D0 


E9 


58 


9D 


CF 


1069 : 00 


D0 


AD 


13 


18 


D0 


0C 


BD 


7E 


1071 :B6 


17 


2D 


10 


D0 


8D 


10 


D0 


07 


1079 :4C 


85 


10 


BD 


B5 


17 


0D 


10 


33 


1081 :D0 


8D 


10 


D0 


BD 


DB 


17 


8D 


95 


1089:14 


18 


BD 


C6 


17 


8D 


12 


18 


09 


1091 :20 


A7 


11 


18 


BD 


EC 


17 


6D 


8C 


1099:10 


18 


9D 


EC 


17 


BD 


01 


D0 


CC 


10A1 :6D 


11 


18 


C9 


ID 


B0 


02 


A9 


B5 


10A9 : ID 


C9 


FA 


90 


02 


A9 


PA 


9D 


7D 


10B1 :01 


D0 


E8 


E8 


E0 


10 


F0 


03 


5E 


10B9:4C 


FF 


0F 


2C 


02 


18 


30 


03 


78 



89 



Chapter 2 



10C1:EE 02 18 A2 
10C9:CA 10 FA AD 
10D1:EE 0E 18 AD 
10D9:AD CB 17 D0 
10E1 :F9 07 4C 3C 
10E9:15 18 AD C7 
10F1:20 90 11 A9 
10F9:4C 05 11 C9 
1101:06 BD 15 18 
1109:10 C9 20 90 
1111 :6D 15 18 8D 
1119:11 C9 E0 B0 
1121 :6D 15 18 8D 
1129:18 C9 04 D0 
1131:06 D0 02 A9 
1139 :8D F9 07 AD 
1141 :AD C6 17 D0 
1149 :F8 07 4C A4 
1151:15 18 AD C5 
1159:23 90 11 A9 
1161:4C 6D 11 C9 
1169:06 8D 15 18 
1171:10 C9 20 90 
1179 :6D 15 18 8D 
1181:11 C9 E0 B0 
1189 :6D 15 18 8D 
1191 :18 C9 04 D0 
1199:06 D0 02 A9 
11A1:8D F8 07 4C 
11A9:18 8D 10 18 
llBl :2C A9 FF 8D 
1189:88 0E 14 18 
11C1:F0 25 0E 10 
11C9:0E 14 18 90 
11D1:18 6D 12 18 
11D9:03 EE 11 18 
11E1:03 CE 11 18 
11E9:20 B5 FF 78 
11F1:10 8D 16 D0 
11F9:D0 A9 07 8D 
1201 :8D 25 D0 A9 
1209 :A9 0F 8D 27 
1211 :FE A9 15 85 
1219 :FC A9 3B 85 
1221 :FE D0 18 E6 
1229 :FF Bl FE AA 
1231 :E6 FC D0 02 
12 39 :F3 F0 08 91 
1241 :02 E6 FD E6 
1249 :FF A5 FC C9 



05 FE FB 17 3A 
0E 18 30 03 CI 
C7 17 D0 0D 14 

08 A9 FF 8D 67 
11 A9 00 8D CA 
17 30 0C C9 28 
04 80 15 18 9B 
E0 B0 05 A9 BD 
AD C8 17 30 9C 
19 18 A9 08 37 
15 18 4C 27 D3 

09 18 A9 09 62 
15 18 AD 15 94 
02 A9 0A C9 EB 
0B 18 69 EE DF 
C5 17 D0 0D 95 

08 A9 FF 8D 50 
11 A9 00 8D 3A 

17 30 0C C9 71 
04 8D 15 18 86 
E0 B0 05 A9 41 
AD C6 17 30 FC 
19 18 A9 08 9F 
15 18 4C 8F A4 

09 18 A9 09 CA 
15 18 AD 15 FC 
02 A9 0A C9 54 
0B 18 69 E6 40 
31 EA AD 12 11 
30 03 A9 00 9F 
11 18 A0 08 5F 
90 FA C0 00 99 

18 2E 11 18 IC 
17 18 AD 10 88 
8D 10 18 90 8C 
AD 12 18 10 D2 
88 D0 DB 60 7C 
AD 16 D0 09 81 
A9 ID 8D 18 44 
23 D0 A9 00 58 
07 8D 26 D0 75 
D0 A9 05 85 A6 
FF A9 80 85 47 
FD A0 00 Bl 0A 
FE D0 02 E6 90 
A9 00 91 FC Bl 
E6 FD CA D0 D7 
FC E6 FC D0 FB 
FE D0 02 E6 74 
40 D0 D0 A9 A3 



90 



1251 :FE 


8D 


IC 


D0 


A5 


01 


29 


FB 


68 


1259:85 


01 


A0 


00 


B9 


00 


DC 


99 


B5 


1261:00 


30 


B9 


00 


DD 


99 


00 


31 


4F 


1269 :C8 


D0 


Fl 


A5 


01 


09 


04 


85 


78 


1271:01 


A0 


00 


B9 


11 


13 


99 


00 


El 


1279:32 


C8 


C0 


20 


D0 


F5 


A0 


00 


A2 


1281 :98 


99 


00 


33 


C8 


C0 


08 


D0 


B5 


1289 :F8 


A9 


04 


85 


FF 


A9 


D8 


85 


4B 


1291 :FD 


A9 


00 


85 


FE 


85 


FC 


A8 


28 


1299 :A9 


60 


91 


PE 


A9 


08 


91 


FC 


5A 


12A1 :C8 


D0 


F5 


E6 


FF 


E6 


FD 


A5 


C8 


12 A9 :FF 


C9 


07 


D0 


EB 


A9 


60 


99 


8E 


12B1 :00 


07 


A9 


08 


99 


00 


DB 


C8 


9A 


12B9 :C0 


C0 


D0 


Fl 


20 


52 


13 


A0 


B8 


12C1 :00 


A9 


FE 


99 


FA 


07 


A9 


02 


13 


12C9:99 


29 


D0 


C8 


C0 


06 


D0 


Fl 


5D 


12D1 :A9 


FF 


8D 


F8 


07 


8D 


F9 


07 


75 


12D9:A0 


00 


B9 


31 


13 


C9 


40 


90 


69 


12E1 :03 


38 


E9 


40 


99 


C0 


07 


A9 


5E 


12E9:03 


99 


C0 


DB 


C8 


2C 


28 


18 


2B 


12F1 :10 


06 


C0 


18 


D0 


E4 


F0 


04 


39 


12 F9 :C0 


21 


D0 


DE 


A9 


03 


99 


C0 


IC 


1301 :DB 


C8 


C0 


28 


D0 


FS 


58 


60 


5D 


1309 :60 


42 


40 


60 


60 


43 


41 


60 


F0 


1311 :00 


00 


00 


00 


00 


03 


03 


03 


4C 


1 319 : 03 


03 


0B 


0B 


2B 


2B 


28 


28 


12 


1321 :00 


00 


00 


00 


00 


C33 


00 


C0 


8C 


1329 :C0 


C0 


E0 


E0 


E8 


E8 


28 


28 


6D 


1331 :50 


4C 


41 


59 


45 


52 


31 


3A 


60 


1339 :20 


20 


20 


20 


20 


20 


20 


20 


5F 


1341 :53 


48 


49 


50 


53 


3A 


20 


20 


35 


1349 :20 


50 


4C 


41 


59 


45 


52 


32 


E7 


1351 :3A 


A0 


00 


A2 


04 


BD 


08 


13 


21 


1359:99 


70 


07 


BD 


0C 


13 


99 


98 


9D 


1361:07 


C8 


CA 


D0 


F0 


C0 


28 


D0 


4F 


1 369 : EA 


60 


A9 


00 


8D 


27 


18 


A0 


2C 


1371 :6E 


A2 


IE 


A9 


14 


20 


BB 


14 


82 


1379 :AD 


27 


18 


0A 


AA 


BD 


E7 


04 


04 


1381 :49 


80 


9D 


E7 


04 


20 


C8 


14 


E4 


1389 :F0 


IE 


BD 


E7 


04 


49 


80 


9D 


C9 


1391 :E7 


04 


98 


18 


6D 


27 


18 


C9 


43 


1399 :FP 


D0 


02 


A9 


00 


C9 


03 


D0 


CC 


13A1 :02 


A9 


01 


8D 


27 


18 


D0 


D0 


38 


13A9:AD 


27 


18 


18 


69 


04 


8D 


DB 


47 


13B1:17 


69 


02 


8D 


DD 


17 


69 


03 


F7 


13B9 :8D 


DA 


17 


69 


01 


8D 


D9 


17 


DF 


13C1 :A9 


02 


CD 


27 


18 


D0 


03 


EE 


62 


13C9:D9 


17 


A9 


FF 


8D 


28 


18 


A0 


B5 


13D1 :19 


A2 


8C 


A9 


14 


20 


BB 


14 


06 


13D9:AD 


28 


18 


0A 


AA 


E8 


E8 


BD 


0D 



Chapter 2 



13E1 :2C 


05 


49 


80 


9D 


2C 


05 


20 


58 


13E9:C8 


14 


F0 


23 


18 


6D 


28 


18 


A8 


13F1 :BD 


2C 


05 


49 


80 


9D 


2C 


05 


0F 


13F9:98 


18 


6D 


28 


18 


C9 


FE 


D0 


59 


1401 :02 


A9 


FF 


C9 


01 


D0 


02 


A9 


2A 


1409:00 


8D 


28 


18 


4C 


D9 


13 


A0 


AB 


1411 :15 


A2 


A5 


A9 


14 


20 


BB 


14 


68 


1419:20 


ca 


14 


D0 


FB 


60 


C5 


20 


20 


1421 :C9 


20 


CE 


20 


3A 


54 


52 


45 


IF 


1429:50 


58 


45 


20 


2C 


45 


54 


41 


9A 


1431 :49 


44 


45 


4D 


52 


45 


54 


4E 


2B 


1439:49 


20 


2C 


45 


43 


49 


56 


4F 


23 


1441 :4E 


20 


11 


0D 


2D 


54 


43 


45 


12 


1449 :4C 


45 


53 


20 


4F 


54 


20 


4E 


AF 


1451 :4F 


54 


54 


55 


42 


20 


44 


4E 


7F 


1459:41 


20 


4B 


43 


49 


54 


53 


59 


63 


1461 :4F 


4A 


20 


45 


53 


55 


20 


11 


5D 


1469 :0D 


35 


38 


39 


31 


20 


21 


45 


91 


1471:54 


55 


50 


4D 


4F 


C3 


20 


2C 


ED 


1479 :D2 


C5 


CB 


C5 


C5 


D3 


20 


D4 


E4 


1481 :C1 


C5 


C8 


20 


20 


20 


20 


20 


F8 


1489 :9B 


11 


93 


0E 


32 


20 


31 


20 


AB 


1491 :3A 


53 


52 


45 


59 


41 


4C 


50 


03 


1499:20 


46 


4F 


20 


52 


45 


42 


4D 


C8 


14A1 :55 


4E 


20 


11 


0D 


4E 


49 


47 


98 


14A9:45 


42 


20 


4F 


54 


20 


45 


52 


FD 


14B1 :49 


46 


20 


53 


53 


45 


52 


50 


ED 


14B9:11 


0D 


86 


FE 


85 


FF 


Bl 


FE 


FC 


14C1 :20 


D2 


FF 


88 


D0 


F8 


60 


AD 


10 


14C9:00 


DC 


2D 


01 


DC 


29 


IC 


C9 


6C 


14D1:1C 


D0 


F4 


A9 


00 


85 


A2 


A9 


7A 


14D9 :1C 


C5 


A2 


D0 


FC 


AD 


00 


DC 


5E 


14E1 :2D 


01 


DC 


29 


04 


D0 


03 


A0 


19 


14E9 :FF 


60 


AD 


00 


DC 


2D 


01 


DC 


5A 


14F1 :29 


08 


D0 


03 


A0 


01 


60 


AD 


72 


14F9:00 


DC 


2D 


01 


DC 


29 


10 


D0 


8B 


1501 :DC 


A0 


00 


60 


00 


08 


C0 


00 


69 


1509:01 


IB 


C0 


00 


01 


3F 


C0 


00 


19 


1511 :01 


3F 


80 


00 


01 


3E 


00 


02 


9E 


1519:3C 


00 


02 


3C 


00 


02 


3C 


00 


E5 


1521 :02 


3E 


00 


02 


3F 


00 


02 


3F 


39 


1529:00 


02 


3F 


00 


02 


3E 


00 


02 


C6 


1531 :3E 


00 


02 


3C 


00 


02 


3C 


00 


FE 


1539:02 


38 


00 


02 


30 


00 


09 


0C 


32 


1541 :00 


02 


IC 


00 


02 


3C 


00 


02 


72 


1549 :3C 


00 


02 


7C 


00 


02 


7C 


00 


9A 


1551:02 


FC 


00 


02 


FC 


00 


02 


FC 


C4 


1559:00 


02 


7C 


00 


02 


3C 


00 


02 


96 


1561:3C 


00 


02 


3C 


00 


02 


7C 


00 


AB 


1569:01 


01 


FC 


00 


01 


03 


FC 


00 


02 



92 



1571 :01 


03 


D8 


00 


01 


03 


00 


IB 


27 


1579 :E0 


00 


02 


F8 


00 


02 


7E 


03 


EB 


1581 :E0 


3F 


PF 


FC 


7F 


FF 


FF 


3F 


F6 


1589 :FF 


FF 


00 


37 


FF 


FF 


FC 


FF 


21 


1591 :FF 


FE 


3F 


FF 


FC 


07 


C0 


7E 


67 


1599:00 


02 


IF 


00 


02 


07 


00 


16 


6A 


15A1 :03 


00 


02 


07 


00 


02 


0F 


00 


24 


15A9:02 


0F 


00 


02 


3F 


00 


02 


3F 


F5 


15B1 :80 


00 


01 


0F 


E0 


00 


01 


03 


39 


15 B9 :F8 


00 


02 


FF 


80 


00 


01 


3F 


E5 


15 CI :E0 


00 


01 


0F 


E0 


00 


01 


03 


79 


15 C9 :F8 


00 


02 


F8 


00 


02 


3C 


00 


C0 


15D1:02 


0C 


00 


20 


03 


PC 


00 


01 


0F 


15D9 :0F 


FC 


00 


01 


IF 


F0 


00 


01 


98 


15E1 :1F 


C0 


E0 


7F 


00 


01 


F9 


FC 


04 


15E9:00 


01 


7F 


F0 


00 


01 


7F 


C0 


17 


15F1 :00 


01 


3F 


00 


02 


3C 


00 


02 


47 


15F9:10 


00 


23 


08 


00 


02 


3C 


00 


91 


1601 :02 


FC 


00 


01 


03 


FE 


00 


01 


92 


1609 :0F 


FE 


00 


01 


3F 


9F 


00 


01 


06 


1611 :FE 


07 


03 


F8 


00 


01 


0F 


F8 


89 


1619:00 


01 


3F 


F0 


00 


01 


3F 


C0 


BP 


1621 :00 


20 


30 


00 


02 


3C 


00 


02 


5E 


1629 :1F 


00 


02 


IF 


C0 


00 


01 


07 


26 


1631 :F0 


00 


01 


07 


FC 


00 


01 


01 


51 


1639 :FF 


00 


02 


IF 


C0 


00 


01 


07 


A6 


1641 :F0 


00 


01 


01 


FC 


00 


02 


FC 


FE 


1649:00 


02 


F0 


00 


02 


F0 


00 


02 


E9 


1651:E0 


00 


02 


C0 


00 


13 


28 


28 


FE 


1659:00 


01 


28 


28 


00 


01 


29 


68 


0C 


1661:00 


01 


29 


68 


00 


01 


09 


60 


EF 


1669 : 00 


01 


09 


60 


00 


01 


01 


40 


43 


1671:00 


01 


01 


40 


00 


01 


01 


40 


48 


1679:00 


01 


01 


40 


00 


01 


01 


40 


50 


1681 :00 


20 


01 


40 


00 


01 


01 


40 


20 


1689:00 


01 


01 


40 


00 


01 


01 


40 


60 


1691:00 


01 


01 


40 


00 


01 


09 


60 


98 


1699:00 


01 


09 


60 


00 


01 


29 


68 


EB 


16A1 :00 


01 


29 


68 


00 


01 


28 


28 


36 


16A9:00 


01 


28 


28 


00 


23 


AA 


00 


7F 


16B1 :02 


AA 


80 


00 


01 


15 


55 


00 


A0 


1639:01 


15 


55 


00 


01 


15 


55 


00 


5D 


16C1:01 


AA 


80 


00 


01 


AA 


00 


2E 


0A 


16 C9 :AA 


00 


01 


02 


AA 


00 


01 


55 


38 


16D1:54 


00 


01 


55 


54 


00 


01 


55 


97 


16D9:54 


00 


01 


02 


AA 


00 


02 


AA 


74 


16E1:00 


20 


08 


00 


02 


0A 


00 


02 


54 


16E9:06 


80 


00 


01 


15 


80 


00 


01 


F4 


16F1:A5 


40 


00 


01 


29 


50 


00 


01 


9C 


16P9:0A 


54 


00 


02 


15 


00 


02 


05 


12 



Chapter 2 



1701 :00 


27 


05 


00 


02 


15 


00 


01 


FE 


1709 :0A 


54 


00 


01 


29 


50 


00 


01 


EC 


1711 :A5 


40 


00 


01 


15 


80 


00 


01 


DD 


1719:06 


80 


00 


01 


0A 


00 


02 


08 


D6 


1721:00 


28 


20 


00 


02 


A0 


00 


01 


F0 


1729:02 


90 


00 


01 


02 


54 


00 


01 


EE 


1731:01 


5A 


00 


01 


05 


68 


00 


01 


51 


1739:15 


A0 


00 


01 


54 


00 


02 


50 


21 


1741 :00 


27 


50 


00 


02 


54 


00 


02 


A6 


1749:15 


A0 


00 


01 


05 


68 


00 


01 


05 


1751 :01 


5A 


00 


01 


02 


54 


00 


01 


09 


1759:02 


90 


00 


02 


A0 


00 


02 


20 


F5 


1761:00 


lA 


08 


80 


00 


01 


0A 


A8 


DF 


1769:00 


01 


2B 


E0 


00 


01 


0B 


E0 


46 


1771:00 


01 


0B 


E8 


00 


01 


2A 


A0 


C8 


1779:00 


01 


02 


20 


00 


33 


88 


00 


08 


1781 :01 


02 


AA 


00 


01 


02 


AE 


00 


73 


1789:01 


02 


EE 


80 


0A 


FF 


A0 


0A 


3A 


1791 :FF 


E0 


0B 


FE 


A8 


0B 


FF 


E0 


9B 


1799 :2A 


FF 


A8 


2B 


FF 


E0 


2B 


FF 


7E 


17 Al :E8 


0B 


FF 


E0 


2F 


FF 


A0 


2A 


F9 


17 A9 :FF 


E0 


2F 


FF 


F8 


2B 


BB 


E0 


C2 


17B1 :0A 


AA 


A8 


FF 


01 


FE 


02 


FD 


AA 


17B9:04 


FB 


08 


F7 


10 


EF 


20 


DF 


C9 


17C1 :40 


BF 


80 


7F 


00 


00 


00 


00 


08 


17C9:00 


00 


00 


00 


00 


00 


00 


00 


P7 


17D1 :00 


00 


00 


00 


00 


00 


00 


00 


FF 


17D9 :00 


00 


00 


00 


00 


00 


00 


00 


08 


17E1 :00 


00 


00 


00 


00 


00 


00 


00 


10 


17E9:00 


00 


00 


00 


00 


00 


00 


00 


18 


17F1 :00 


00 


00 


00 


00 


00 


00 


00 


20 


17F9:00 


00 


00 


00 


00 


00 


00 


00 


28 


1801 :00 


00 


00 


00 


00 


00 


00 


00 


31 


1809:00 


00 


00 


00 


00 


00 


00 


00 


39 


1811 :00 


00 


00 


00 


00 


00 


00 


00 


41 


1819:00 


00 


00 


00 


00 


00 


00 


00 


49 


1821:00 


00 


00 


00 


00 


00 


00 


00 


51 



94 



Program 5 

Laser Beam 



Load and run your copy of MLX, and enter the following two 
addresses to the displayed prompts: 

Starting address: COOO 
Ending address: CDDF 

After entering the game (in one session or several), be 
sure to save a copy to tape or disk. 

Laser Beam 

for mistake-proof program entry, use "MLX: Machine Language Entry Program" to type in 

this program. 



C000 :A9 


04 


8D 


B5 


02 


20 


3A 


C5 


2F 


C008 : 20 


CC 


C4 


A9 


00 


8D 


15 


D0 


31 


C010:A9 


93 


20 


D2 


FF 


A9 


00 


8D 


B0 


C018:21 


D0 


8D 


20 


D0 


A9 


2E 


8D 


29 


C020:A0 


CE 


85 


0A 


20 


CA 


CC 


A2 


5F 


C028:09 


A0 


11 


18 


20 


P0 


PF 


A9 


68 


C030:DD 


A0 


CC 


20 


IE 


AB 


A9 


6D 


C4 


C038:8D 


A0 


CE 


85 


0A 


20 


CA 


CC 


0E 


C040:A2 


0C 


A0 


12 


18 


20 


F0 


FF 


6E 


C048 :A9 


E9 


A0 


CC 


20 


IE 


AB 


A2 


6D 


C050:0B 


A5 


A2 


C5 


A2 


F0 


FC 


CA 


0F 


C058:D0 


F7 


AD 


B5 


02 


09 


30 


8D 


73 


C060:70 


06 


AD 


00 


DC 


4A 


B0 


0A 


CC 


C068 :AE 


B5 


02 


E0 


09 


F0 


03 


EE 


FD 


C070:B5 


02 


4A 


B0 


08 


AE 


B5 


02 


0A 


C078:F0 


F8 


CE 


B5 


02 


4A 


4A 


4A 


FD 


C080:B0 


CD 


AD 


B5 


02 


29 


0F 


8D 


3F 


C088:B5 


02 


A9 


03 


8D 


B3 


02 


A9 


B3 


C090:00 


8D 


B9 


02 


8D 


BA 


02 


A9 


Dl 


C098 :0A 


38 


ED 


B5 


02 


0A 


85 


4F 


D8 


C0A0:85 


4E 


A9 


07 


8D 


B2 


02 


20 


79 


C30 A8 : E2 


CA 


20 


19 


C7 


20 


CC 


C4 


01 


C0B0:20 


46 


C3 


A9 


14 


8D 


B7 


02 


2F 


C0B8:20 


7B 


C7 


AC 


B3 


02 


C8 


A9 


CD 


C0C0 :20 


99 


OF 


07 


88 


A9 


28 


99 


F9 


C0C8:DF 


07 


A9 


07 


99 


DF 


DB 


88 


2E 


C0D0 :D0 


F3 


20 


A9 


C5 


A5 


A2 


C5 


26 


C0D8:A2 


F0 


FC 


AD 


IE 


D0 


AD 


IF 


11 


C0E0:D0 


20 


A9 


C5 


C6 


41 


D0 


15 


56 


C0E8 :A5 


42 


85 


41 


20 


E7 


C5 


20 


DE 


C0F0:85 


CC 


20 


45 


CD 


A9 


00 


8D 


63 



95 



Chapter 2 



C0Fa :B4 


02 


20 


48 


CI 


C6 


4E 


D0 


74 


C100:07 


A5 


4F 


85 


4E 


20 


C2 


C3 


EE 


C108:EA 


20 


IF 


CI 


20 


5F 


CB 


20 


3F 


C110:37 


CO 


AD 


SD 


02 


F0 


CA 


AD 


08 


CUB :8D 


02 


D0 


PB 


4C 


El 


C0 


A2 


CA 


C120:02 


AD 


IF 


D0 


4A 


4A 


90 


lA 


B7 


CI 28: 48 


BD 


26 


D0 


29 


0F 


C9 


01 


2B 


C130:F0 


0F 


A9 


01 


9D 


26 


D0 


CA 


27 


C138:E4 


A7 


D0 


04 


A9 


18 


85 


A9 


D4 


C140:E8 


68 


E8 


E0 


09 


D0 


DE 


60 


27 


C148 :A5 


0A 


D0 


03 


4C 


16 


C2 


AD 


59 


C150:B4 


02 


D0 


08 


20 


EC 


C6 


90 


IC 


C158:03 


4C 


lA 


C2 


A5 


53 


D0 


2D 


29 


C160:AE 


A0 


CE 


BD 


00 


CF 


85 


AA 


0E 


C168:85 


FB 


BD 


80 


CF 


85 


AB 


85 


DE 


C170:FC 


BD 


00 


CE 


85 


54 


4A 


90 


71 


C178:08 


A9 


40 


85 


95 


A9 


24 


D0 


37 


C180:06 


A9 


42 


85 


95 


A9 


16 


85 


17 


C188:93 


85 


94 


85 


53 


A5 


54 


C9 


C5 


C190:23 


B0 


17 


C9 


21 


D0 


04 


A9 


4F 


CI 98:01 


D0 


02 


A9 


28 


18 


65 


AA 


C2 


C1A0:85 


AA 


A5 


AB 


69 


00 


85 


AB 


03 


C1A8:D0 


19 


C9 


24 


F0 


04 


A9 


01 


42 


C1B0:D0 


02 


A9 


28 


85 


10 


A5 


AA 


37 


CI 88 : 38 


E5 


10 


85 


AA 


A5 


AB 


E9 


59 


C1C0:00 


85 


AB 


A5 


95 


A0 


00 


91 


36 


C1C8:AA 


A5 


AA 


18 


69 


00 


85 


FD 


36 


C1D0:A5 


AB 


69 


D4 


85 


FE 


A9 


0A 


12 


CI D8 : A0 


00 


91 


FD 


A9 


80 


8D 


0B 


34 


C1E0 :D4 


A9 


08 


8D 


0C 


D4 


A5 


93 


A5 


C1E8:18 


69 


0A 


0A 


8D 


08 


D4 


A9 


94 


C1F0:81 


8D 


0B 


D4 


C6 


93 


D0 


IE 


8B 


C1F8:A5 


95 


C9 


20 


F0 


12 


A9 


20 


33 


C200:85 


95 


A5 


FB 


85 


AA 


A5 


FC 


41 


C208:85 


AB 


A5 


94 


85 


93 


D0 


06 


5B 


C210:A9 


00 


85 


0A 


85 


53 


60 


4C 


42 


C218:D4 


C2 


A9 


00 


85 


0A 


A6 


A6 


36 


C220 :BD 


96 


03 


C9 


02 


90 


F0 


AD 


09 


C22a:50 


03 


F0 


EB 


AD 


3C 


03 


C9 


Al 


C230:37 


D0 


E4 


AD 


46 


03 


C9 


D6 


A5 


C2 38:90 


DD 


8A 


48 


20 


17 


C3 


68 


A0 


C240:7^ 


A9 


lA 


85 


A9 


86 


10 


A2 


4B 


C248:00 


A0 


06 


B9 


28 


D0 


29 


0F 


38 


C250:C9 


01 


D0 


01 


E8 


88 


10 


F3 


A2 


C258:BD 


32 


C5 


18 


6D 


B9 


02 


8D 


67 


C260 :B9 


02 


AD 


BA 


02 


69 


00 


BD 


E7 


C268:BA 


02 


20 


78 


CD 


A6 


10 


A9 


2A 


C270:FF 


9D 


46 


03 


CE 


B2 


02 


D0 


6C 


C278:50 


A9 


00 


8D 


15 


D0 


A9 


93 


3C 


C280:20 


D2 


FF 


A2 


0A 


A0 


0F 


18 


FD 



96 



Type It In 



C288 :20 


F0 


FF 


20 


D5 


C2 


A9 


20 


89 


C290:A0 


CD 


20 


IE 


AB 


AD 


B7 


02 


45 


C298 :0A 


85 


10 


0A 


0A 


18 


65 


10 


B2 


C2A0 :AA 


48 


A9 


00 


20 


CD 


BD 


68 


DE 


C2A8 : 18 


6D 


B9 


02 


8D 


B9 


02 


AD 


Fl 


C2B0 :BA 


02 


69 


00 


8D 


BA 


02 


A9 


46 


C2 B8 1 00 


85 


A2 


A5 


A2 


09 


78 


D0 


40 


C2C0 :FA 


68 


68 


EE 


B5 


02 


4C 


97 


BF 


C2 C8 : C0 


20 


23 


C3 


A9 


01 


9D 


96 


7A 


C2D0 :03 


20 


FF 


C2 


60 


A9 


14 


8D 


6B 


C2D8:04 


D4 


8D 


0B 


D4 


A9 


0A 


8D 


E6 


C2E0 :05 


D4 


8D 


0C 


D4 


AD 


35 


02 


5B 


C2E8 :0A 


18 


69 


05 


8D 


01 


D4 


A9 


BA 


C2F0 :23 


8D 


08 


D4 


A9 


11 


8D 


04 


6A 


C2 FB : D4 


A9 


15 


8D 


0B 


D4 


60 


E6 


22 


C300 :A8 


A6 


A8 


BD 


F9 


07 


86 


A7 


lA 


C308 :8D 


20 


D0 


A0 


07 


B9 


F9 


C7 


5D 


C310 :99 


27 


D0 


88 


10 


F7 


60 


A2 


94 


C318 : 18 


A0 


05 


8A 


20 


A5 


CO 


OA 


19 


C320 :D0 


F7 


60 


A9 


14 


8D 


0B 


D4 


76 


C328 :AD 


B2 


02 


18 


69 


04 


8D 


01 


60 


C330:D4 


AD 


B3 


02 


0A 


0A 


0A 


0A 


BA 


C338 :8D 


08 


D4 


A9 


0C 


8D 


00 


D4 


41 


C340:A9 


15 


8D 


0B 


D4 


60 


EE 


A0 


EA 


C348:CE 


AD 


A0 


CE 


C9 


7A 


D0 


11 


8E 


C350:A9 


00 


8D 


A0 


CE 


F0 


0A 


CE 


85 


C358:A0 


CE 


10 


05 


A9 


79 


8D 


A0 


25 


C360 :CE 


AD 


A0 


CE 


A8 


20 


6F 


03 


24 


C368 :B9 


00 


CE 


20 


9C 


03 


60 


AD 


0B 


C370 :9B 


C3 


C9 


19 


B0 


05 


EE 


9B 


94 


C378:C3 


D0 


05 


A9 


05 


8D 


9B 


03 


AA 


C380:A9 


14 


8D 


0B 


D4 


A9 


07 


8D 


2D 


C388:01 


D4 


AD 


9B 


C3 


8D 


08 


D4 


6E 


C390:A9 


26 


8D 


0C 


D4 


A9 


15 


8D 


ED 


C398:0B 


D4 


60 


05 


48 


AD 


A0 


CE 


40 


C3A0:A8 


B9 


00 


CF 


85 


04 


B9 


80 


18 


C3A8 :CF 


85 


05 


68 


A0 


00 


91 


04 


00 


C3B0:A5 


04 


18 


69 


00 


85 


04 


A5 


69 


C3B8:05 


69 


D4 


85 


05 


A9 


07 


91 


7E 


C3C0:04 


60 


A2 


07 


BD 


96 


03 


F0 


66 


C3C8:03 


4C 


83 


C4 


BD 


46 


03 


09 


78 


C3D0:37 


D0 


05 


FE 


46 


03 


D0 


07 


9F 


C3D8:C9 


D7 


D0 


11 


DE 


46 


03 


BD 


3A 


C3E0:64 


03 


49 


01 


9D 


64 


03 


20 


39 


C3E8:8A 


C4 


20 


B7 


04 


BD 


30 


03 


FE 


C3F0:C9 


37 


D0 


0A 


BD 


50 


03 


D0 


EB 


C3FB:05 


FE 


30 


03 


00 


0F 


BD 


30 


F4 


C400:03 


C9 


37 


D0 


16 


BD 


50 


03 


BO 


C408 : F0 


11 


DE 


3C 


03 


BD 


5A 


03 


B4 


C410:49 


01 


9D 


5A 


03 


20 


8A 


04 


4A 



97 



Chapter 2 



C418 :20 


B7 


C4 


BD 


5A 


03 


D0 


ID 


Bl 


C420 sBD 


82 


03 


18 


7D 


6E 


03 


9D 


54 


C428 :82 


03 


BD 


3C 


03 


69 


00 


9D 


8A 


C430:3C 


03 


BD 


50 


03 


69 


00 


9D 


B0 


C438:50 


03 


4C 


57 


C4 


BD 


82 


03 


CE 


C440:38 


FD 


6E 


03 


9D 


82 


03 


BD 


IE 


C448 :3C 


03 


E9 


00 


9D 


3C 


03 


BD 


8F 


C450:50 


03 


E9 


00 


9D 


50 


03 


BD 


Fl 


C458:64 


03 


D0 


15 


BD 


8C 


03 


18 


7E 


C460 :7D 


78 


03 


9D 


8C 


03 


BD 


46 


33 


C468 :03 


69 


00 


9D 


46 


03 


4C 


83 


02 


C470 :C4 


BD 


8C 


03 


38 


FD 


78 


03 


3B 


C478 s9D 


8C 


03 


BD 


46 


03 


E9 


00 


42 


C480 :9D 


46 


03 


CA 


F0 


03 


4C 


C4 


68 


C488 : C3 


60 


20 


A7 


C4 


18 


7D 


6E 


7A 


C490 :03 


C9 


64 


90 


03 


9D 


6E 


03 


12 


C498 :20 


A7 


C4 


18 


7D 


78 


03 


C9 


D3 


C4A0 :96 


90 


03 


9D 


78 


03 


60 


AD 


12 


C4 AS • 1 B 


D4 


29 


IF 


AC 


IB 


D4 


10 


97 


C4B0 :05 


49 


FF 


18 


69 


01 


60 


A9 


4A 


C4B8 :80 


8D 


04 


D4 


A9 


40 


8D 


05 


22 


C4C0 :D4 


A9 


14 


8D 


01 


D4 


A9 


81 


AA 


C4C8 :8D 


04 


D4 


60 


20 


54 


CC 


A9 


50 


C4D0 :00 


85 


0C 


85 


0A 


85 


53 


A9 


4C 


C4D8 : 09 


85 


40 


8D 


AA 


02 


A9 


80 


5A 


C4E0 :8D 


0F 


D4 


8D 


12 


D4 


A9 


08 


A7 


C4E8 s85 


41 


85 


42 


A9 


03 


8D 


B8 


87 


C4F0 :02 


A9 


07 


8D 


A7 


02 


8D 


A8 


A8 


C4F8 :02 


A0 


07 


20 


2A 


C5 


99 


6E 


98 


C500 203 


20 


2A 


C5 


99 


78 


03 


AD 


19 


C508 :1b 


D4 


29 


01 


99 


5A 


03 


AD 


75 


C510 :1B 


D4 


29 


01 


99 


64 


03 


88 


80 


C5 18 : D0 


El 


A9 


09 


85 


A4 


A9 


00 


5C 


C520 :85 


A8 


20 


FF 


C2 


A9 


01 


85 


E0 


C528 s3F 


60 


AD 


IB 


D4 


C9 


96 


90 


5E 


C530:F9 


60 


00 


05 


0A 


14 


28 


50 


62 


C5 38 2 7 a 


A0 


A2 


FF 


A9 


03 


85 


02 


E2 


C540 :A9 


04 


85 


03 


A9 


22 


20 


9A 


33 


C548 sC5 


E6 


02 


A5 


02 


C9 


28 


D0 


63 


C550 sF3 

^ ft/ • 4> V 


C6 


02 


A9 


23 


20 


9A 


C5 


F6 


C558 : A5 


02 


18 


69 


28 


85 


02 


A5 


Dl 


C560:03 


69 


00 


85 


03 


A5 


02 


C9 


9C 


C568 : E7 


D0 


E8 


A9 


BF 


85 


02 


A9 


95 


C570:24 


20 


9A 


C5 


C6 


02 


A5 


02 


51 


C578:C9 


9A 


D0 


F3 


E6 


02 


A9 


21 


9C 


C580:20 


9A 


C5 


A5 


02 


38 


E9 


28 


C2 


C588:85 


02 


A5 


03 


E9 


00 


85 


03 


99 


C590:C9 


03 


D0 


EA 


A9 


14 


8D 


A0 


E3 


C598:CE 


60 


E8 


9D 


00 


CE 


A5 


02 


23 


C5A0:9D 


00 


CF 


A5 


03 


9D 


80 


CF 


AE 



98 



Type It In 



CO Ao • 


Ay 




QR 
OD 


1 CT 
110 


a o 
Az 


CT7 




£il0 


v.* O DKf wK/ El 


Rn 


QA 


CT*^ 


PQ 


CTO 


nCT 


1 5 


RP 
or 




P 


CT*^ 

I0O 


Qn 


^P 


CT*^ 
)0O 


An 


•to 


r o 


PRPW •Ci'^ 




AA 


CT*^ 


An 


RCT 


CT*) 




ftCT 

O XJ 


PRPft • RM 




RD 


RCT 


CT*) 


AA 


26 


1 a 

X K/ 


Q7 

7 / 


PRnCJ • RH 


"^P 


CT'^ 


QQ 


CTCT 
10)0 


nCT 


Rn 


Afi 
•to 


AQ 


PR nfl • 


QQ 


CT1 


DCT 


ftft 
o o 


ftft 

OO 


PA 


1 PI 

X K/ 


ftR 

o«j 




A5 


10 


8D 


10 


D0 


60 


A9 


47 


EtO m XJKJ 


ftR 


06 


A0 


CTCT 


A5 


53 


F0 


CE 


K^D CKf iKf X 


ACT 


an 


CTCT 


np 


AA 


nd 


XJ E 


Ar 

T- O 


PR Ffl • A R 


AA 


CI') 


PCT 

JCiJ0 




PCT 




CV 


■^ft 

■J o 




CT*^ 


& 9 


CTl 
I0X 


ftA 
OO 


CTA 
I0O 




Aa 


pn 
f XJ 




I0C 




AA 


CT*^ 


PCT 


U 1 


T«*0l 


OQ 
Zo 






**D 


10^ 


AZ 


CTO 


OO 


y)o 


QA 


Ptf\ 1 Q • PQ 


A A 


aio 


'3 R 
J O 


OCT 
ZI0 


PP 


nc^ 

l-D 




RQ 


P*^ OCT - CTP 




J** 


AQ 


aQ 


OCT 

ZI0 


Od 




1 P 

X r 


pfi Oft • p ^ 


OCT 




PT 


Aft 

D O 


AP 


O 1 


v^O 


RCT 

010 


Pft CT • ZkF 


RCT 
->i0 




UK/ 


CT7 


AP 




PIT 


CTR 
10 


p^ '^n • PCT 


1 Q 




1 R 


Aft 


An 






PCT 

d0 


k^xjHk/ zoo 


VQ 




ftn 
ou 


■^P 




an 




PA 
f o 






OKA 


ftn 

OXI 


RCT 

310 


CT"^ 
10 o 




Yjxi 


RA 


PA R CT • T\Ol 


CTA 
10 fr 




CT*^ 


ftR 

OO 


CTA 

I0O 


OO 


Aa 


CTP 
I0C 


PA Rfi • R0I 


R 
J O 




PP 


PA 


RCT 

OI0 


V r 


noi 


P7 


PA ACT • A 


Aft 

*tO 




OCT 


OCT 

z 10 


QP 






AP 
oc 


PA Aft • AA 


P'^ 


U O 


AP 


QR 


C6 


AE 


50 


Rl 


PA 7CT -CTT 


FCT 


CI7 


AP 


P 


CT'^ 




■^7 


AF 

\J Hi 


PA 7Q • T?CT 


1 R 
J. 13 


HQ 




"3 P 


10 J 


± o 


o^ 


RCT 

O10 


PAQCT • CT 1 


OJJ 




CT "5 


a r\ 
AL; 


RCT 




(^Q 


P7 


PAftft • CTCT 


ftn 
ou 




CT 

10 ^ 


PCT 


CTCT 
1010 


nci 


dA 


RP 


PAQCT • AO 






CTA 


Aft 

DO 


AA 
ttA 


Rd 


MA 


nA 

LfO 


pAQQ . AQ 


CT1 




CTA 


AR 


CTA 




0A 


7D 


\^\J liXJ m n\j 


3F 


BD 


10 


C7 


8D 


F8 


07 


77 


PA Aft • noi 






40 


D0 




A9 


09 


EE 


PA RCT -ftR 

Die • O ^ 




a"? 






01 




0C 


EB 


PA Rfl • AQ 




Rr> 

O ij 


CIA 


DA 


a"; 




r*n 


A 


PA PCT • ft 






kj o 




O J 




AQ 


Qp 


PAPft • CTCT 


8D 


84 


CC 


EE 


84 


CC 


AD 


E7 


C6D0 :84 


CC 


18 


69 


05 


0A 


8D 


01 


D9 


C6D8 : D4 


A9 


41 


8D 


04 


D4 


A5 


0C 


07 


C6E0 :A6 


06 


18 


7D 


14 


C7 


8D 


F8 


Fl 


C6E8 107 


86 


3F 


60 


AE 


3C 


03 


E0 


D6 


C6F0 :19 


D0 


IC 


AE 


46 


03 


E0 


37 


E4 


C6 F8 : D0 


15 


AE 


50 


03 


D0 


10 


CE 


59 


C700:A7 


02 


D0 


08 


AE 


A8 


02 


8E 


29 


C708:A7 


02 


A2 


00 


18 


90 


01 


38 


7D 


C710:60 


CC 


CF 


D3 


D5 


CD 


D0 


D2 


94 


C718:D4 


A9 


93 


20 


D2 


FP 


A9 


00 


DA 


C720:8D 


21 


D0 


A9 


0B 


8D 


20 


D0 


13 


C728:A9 


18 


85 


10 


A9 


69 


A0 


C7 


40 


C730:20 


IE 


AB 


C6 


10 


D0 


F5 


A0 


89 



99 



Chapter 2 



C7 38:25 


98 


99 


BF 


07 


A9 


01 


99 


2A 


C740 :BF 


DB 


C8 


C0 


28 


D0 


F2 


A2 


D8 


C748 :13 


A9 


A0 


9D 


C0 


07 


A9 


0A 


39 


C750:9D 


C0 


DB 


CA 


10 


F3 


A2 


18 


B4 


C758:A0 


14 


18 


20 


F0 


FF 


A9 


70 


8D 


C760:A0 


C7 


20 


IE 


AB 


20 


78 


CD 


B4 


C768:60 


IE 


12 


20 


20 


20 


0D 


00 


8F 


C770:9F 


12 


53 


43 


4F 


52 


45 


92 


D3 


C778:20 


30 


00 


A0 


00 


B9 


22 


C8 


22 


C780:99 


00 


33 


B9 


22 


C9 


99 


00 


4A 


C788:34 


B9 


22 


CA 


99 


00 


35 


88 


51 


C790:D0 


EB 


A9 


FF 


8D 


15 


D0 


A9 


C4 


C798:07 


A8 


38 


ED 


B2 


02 


85 


10 


74 


C7A0:B9 


F9 


C7 


99 


27 


D0 


B9 


01 


0F 


C7A8:C8 


99 


F8 


07 


AD 


01 


C8 


8D 


23 


C7B0 :F8 


07 


B9 


09 


C8 


99 


3C 


03 


6E 


C7 B8 : AD 


09 


C8 


8D 


3C 


03 


B9 


11 


C5 


C7C0 :C8 


99 


46 


03 


AD 


11 


C8 


8D 


E4 


C7 C8:46 


03 


B9 


19 


C8 


99 


50 


03 


55 


C7M:A9 


00 


8D 


50 


03 


A9 


00 


99 


44 


C7D8:96 


03 


8D 


96 


03 


88 


C4 


10 


63 


C7E0:D0 


BE 


A9 


FF 


8D 


IC 


D0 


A9 


E5 


C7E8:07 


8D 


25 


00 


A9 


06 


8D 


26 


B7 


C7F0 :D0 


A9 


lA 


85 


A9 


20 


17 


C3 


AE 


C7F8:60 


02 


02 


03 


04 


0D 


06 


07 


11 


C800:0B 


CC 


D6 


D6 


D6 


D6 


D6 


06 


29 


C808 : D6 


19 


64 


64 


64 


64 


64 


64 


FF 


C810:64 


64 


64 


64 


64 


64 


64 


64 


Al 


C818:64 


00 


00 


00 


00 


00 


00 


00 


DB 


C8 20:00 


60 


00 


00 


00 


00 


00 


00 


C9 


C828:00 


3C 


00 


00 


FF 


00 


00 


FF 


C8 


C830:00 


00 


FF 


00 


00 


3C 


00 


02 


B4 


C8 38 : FF 


80 


02 


FF 


80 


02 


FF 


80 


B6 


C840:00 


FF 


80 


00 


55 


80 


00 


FF 


8E 


C848 :00 


00 


FF 


00 


00 


FF 


00 


00 


D9 


C850:FF 


00 


00 


FF 


00 


00 


64 


00 


AA 


C858:00 


AA 


00 


00 


AA 


00 


00 


AA 


94 


C860:00 


00 


00 


00 


00 


00 


00 


00 


Fl 


C868:00 


3C 


00 


00 


FF 


00 


00 


FF 


09 


C870:00 


00 


FF 


00 


00 


3C 


00 


02 


F4 


C878:FF 


80 


02 


FF 


80 


02 


FF 


80 


F6 


C880:00 


FF 


80 


00 


55 


80 


00 


FF 


CE 


C888 :00 


00 


FF 


00 


00 


FF 


00 


00 


lA 


C890:AF 


00 


00 


AF 


00 


00 


0A 


00 


09 


C898:00 


0A 


00 


00 


0A 


00 


00 


0A 


07 


C8A0:00 


00 


00 


00 


00 


00 


00 


00 


32 


C8A8:00 


3C 


00 


00 


FF 


00 


00 


FF 


49 


C8B0:00 


00 


FF 


00 


00 


3C 


00 


02 


35 


C8B8 :FF 


80 


02 


FF 


80 


02 


FF 


80 


37 


C8C0:02 


FF 


00 


02 


55 


00 


00 


FF 


IE 



100 



csca • 00 


00 


PF 


00 


00 


PP 


00 


00 


5A 


C8D0 -PA 


00 


00 


FA 


00 


00 


A0 


00 


D0 


CSDS :00 


A0 


00 


00 


A0 


00 


00 


A0 


38 


C8E0 :00 


00 


00 


00 


00 


00 


00 


00 


72 


C8E8 :00 


3C 


00 


00 


FF 


00 


00 


EB 


75 


C8F0 :00 


00 


FF 


00 


00 


3C 


00 


02 


75 


C8F8 :FF 


80 


02 


FF 


80 


01 


FF 


80 


73 


C900 :01 


FF 


80 


00 


55 


80 


00 


FF 


D0 


C908 :80 


00 


FF 


00 


00 


FF 


00 


00 


DB 


C910 :FF 


00 


00 


FP 


00 


00 


AA 


00 


F8 


C918 :00 


AA 


00 


00 


AA 


00 


00 


AA 


56 


C920 :00 


00 


00 


00 


00 


00 


00 


00 


B3 


C928 :00 


3C 


00 


00 


FF 


00 


00 


EB 


B6 


C930 :00 


00 


PF 


00 


00 


3C 


00 


02 


B6 


C9 38 : FF 


80 


02 


FF 


80 


01 


FF 


80 


B4 


C940 :01 

^ ^FIV • ^ 


FF 


80 


00 


55 


80 


00 


FF 


11 


C948 :00 

%^ — ^ A ^— ^ « IV IV 


00 


PF 


00 


00 


PP 


00 


00 


DB 


C950 :FF 


00 


00 


AF 


00 


00 


0A 


00 


F2 


C958 :00 


0A 


00 


00 


0A 


00 


00 


0A 


C8 


C960 :00 


00 


00 


00 


00 


00 


00 


00 


F3 


C968 :00 


3C 


00 


00 


FF 


00 


00 


EB 


F6 


C970 :00 


00 


FF 


00 


00 


3C 


00 


02 


F6 


C978 : FF 


80 


02 


FF 


80 


02 


FF 


80 


F8 


C9a0 S02 


FF 


80 


01 


55 


00 


01 


FF 


El 


C988 :00 


00 


FF 


00 


00 


FF 


00 


00 


IC 


C990 :PF 


00 


00 


FA 


00 


00 


A0 


00 


15 


C998 :00 


A0 


00 


00 


A0 


00 


00 


A0 


F9 


C9A0 :00 


00 


00 


00 


00 


00 


00 


00 


34 


po Aft • (90 


F0 


00 


00 


PC 


00 


00 


BC 


ID 


^ 7 Die ■ IC K/ 


XJKJ 


FC 


00 


00 


3C 


00 


00 


D4 


^7 ISO • f 13 


KlKl 


1 A 
x*± 


FA 


00 


06 


FE 


80 


13 


v.* 7 V_>jC/ mXJKJ 


FF 


80 


00 


56 


00 


00 


P8 


10 


PQPft -00 


00 


FF 


00 


03 


CF 


00 


0F 


C2 


C9D0 :0F 


00 


0C 


0F 


00 


08 


03 


A8 


2D 


C9D8 :08 


00 


08 


08 


00 


08 


28 


00 


62 


C9E0 :00 


FF 


00 


00 


00 


00 


00 


00 


74 


C9 E8 : 00 


F0 


00 


00 


PC 


00 


00 


BC 


5D 


C9F0 :00 


00 


FC 


00 


00 


3C 


00 


00 


15 


C9F8 : PB 


00 


00 


FB 


00 


02 


AB 


00 


A9 


CA00 :00 


FF 


00 


00 


54 


00 


00 


FC 


35 


CA08 : 00 


00 


FC 


00 


00 


3C 


00 


00 


2E 


CA10:3C 


00 


00 


3C 


00 


00 


28 


00 


D7 


CA18:00 


28 


00 


00 


28 


00 


00 


A8 


Al 


CA20:00 


FF 


00 


00 


00 


00 


00 


00 


B5 


CA28 :00 


0F 


00 


00 


3F 


00 


00 


3E 


B9 


CA30 :00 


00 


3F 


00 


00 


3C 


00 


00 


9E 


CA38:EF 


00 


00 


AF 


20 


02 


BF 


80 


C9 


CA40:02 


FF 


00 


00 


95 


00 


00 


27 


AA 


CA48 : 00 


00 


F5 


00 


00 


F3 


C0 


00 


ED 


CA50:F0 


P0 


00 


F0 


30 


2A 


C0 


20 


75 



Chapter 2 



CA58 : 20 


00 


20 


20 


00 


20 


00 


00 


84 


CA60 :28 


FF 


00 


00 


00 


00 


00 


00 


0A 


CA68:00 


0F 


00 


00 


3F 


00 


00 


3E 


F9 


CA70:00 


00 


3F 


00 


00 


3C 


00 


00 


DE 


CA78:EF 


00 


00 


EF 


14 


00 


EA 


90 


0C 


CA80:00 


FF 


00 


00 


15 


00 


00 


3F 


FD 


CASS: 00 


00 


3F 


00 


00 


3C 


00 


00 


F6 


CA90:3C 


00 


00 


3C 


00 


00 


28 


00 


58 


CA98 :00 


28 


00 


00 


28 


00 


00 


2A 


A3 


CAA0 :00 


FF 


00 


00 


00 


00 


00 


00 


36 


CAA8:00 


00 


00 


00 


AA 


00 


02 


AA 


42 


CAB0:S0 


0A 


5A 


A0 


09 


5A 


A0 


29 


7A 


CAB8:6A 


AS 


29 


AA 


AS 


2A 


AA 


AS 


69 


CAC0:2A 


AA 


AS 


2A 


AA 


AS 


2A 


AA 


C4 


C ACS: AS 


2A 


AA 


A8 


0A 


AA 


A0 


0A 


63 


CAD0 :AA 


A0 


02 


AA 


80 


00 


AA 


00 


28 


CADS: 00 


00 


00 


00 


00 


00 


00 


00 


6E 


CAE0:00 


00 


78 


A9 


33 


85 


01 


A9 


7B 


CAES :00 


85 


02 


A9 


38 


85 


03 


A9 


42 


CAF0 :00 


85 


04 


A9 


D0 


85 


05 


A2 


4C 


CAF8:0S 


A0 


00 


Bl 


04 


91 


02 


88 


CS 


CB00:D0 


F9 


E6 


05 


E6 


03 


CA 


D0 


55 


CB0S : F2 


A9 


37 


85 


01 


A9 


IE 


8D 


3B 


CB10:18 


D0 


A0 


3F 


B9 


IF 


CB 


99 


6B 


CB18 :08 


39 


88 


10 


F7 


58 


60 


80 


76 


CB20:C0 


D8 


E7 


E7 


D8 


C0 


80 


FF 


94 


CB28 :7E 


18 


24 


24 


18 


18 


18 


01 


IE 


CB30:03 


IB 


E7 


E7 


IB 


03 


01 


18 


SA 


CB3S:18 


18 


24 


24 


18 


7E 


FF 


7F 


E2 


CB40:3F 


2A 


IF 


15 


0F 


0A 


07 


FF 


E5 


CB4S : FF 


A5 


FF 


52 


FF 


A5 


FF 


F8 


FD 


CB50:F0 


50 


E0 


A0 


C0 


40 


80 


IC 


BE 


CB58:14 


ID 


3F 


5C 


3C 


14 


36 


AD 


3B 


CB60:1E 


D0 


29 


01 


F0 


65 


A2 


07 


D9 


CB68:A9 


FF 


85 


10 


A9 


09 


85 


A4 


A7 


CB70 :BD 


96 


03 


D0 


39 


AD 


50 


03 


IE 


CB7S : DD 


50 


03 


D0 


31 


AD 


3C 


03 


3C 


CBS0:3S 


FD 


3C 


03 


10 


05 


49 


FF 


92 


CBS8:1S 


69 


01 


C9 


0F 


B0 


IF 


85 


42 


CB90:A5 


AD 


46 


03 


38 


FD 


46 


03 


AS 


CB9S:10 


05 


49 


FF 


18 


69 


01 


C9 


D4 


CBA0:0F 


B0 


0B 


18 


65 


A5 


C5 


10 


2C 


CBA8 : B0 


04 


85 


10 


86 


A4 


CA 


D0 


78 


CBB0 :BF 


A6 


A4 


E0 


09 


F0 


14 


A9 


52 


CBBS : 02 


9D 


96 


03 


86 


A6 


E4 


A7 


FB 


CBC0:D0 


0A 


BD 


27 


D0 


29 


0F 


C9 


80 


CBC8:01 


D0 


01 


60 


A9 


05 


85 


10 


B7 


CBD0 :A9 


14 


SD 


0B 


D4 


A9 


00 


8D 


7F 


CBD8 :08 


D4 


A9 


0A 


SD 


0C 


D4 


A9 


6F 


CBE0:15 


8D 


0B 


D4 


A2 


00 


AC 


IB 


9E 



102 



Type It In 



CBE8 : D4 


A9 


00 


99 


00 


33 


99 


00 


EE 


CBF0 :34 


8E 


08 


D4 


99 


80 


34 


20 


EB 


CBF8 : 31 


CC 


CA 


D0 


E9 


C6 


10 


D0 


IE 


CC00 :E5 


68 


68 


20 


CA 


CC 


CE 


B3 


90 


CC08:02 


F0 


03 


4C 


B8 


C0 


A9 


00 


20 


CC10:8D 


15 


D0 


A2 


0B 


A0 


0F 


18 


0B 


CC18 : 20 


F0 


FF 


A9 


20 


8D 


E0 


07 


98 


CC20:A9 


0F 


A0 


CD 


20 


IE 


AB 


AD 


CI 


CC28:00 


DC 


29 


10 


D0 


F9 


4C 


05 


2B 


CC30:C0 


A0 


64 


88 


D0 


FD 


60 


A5 


4C 


CC38 :A9 


0A 


0A 


0A 


18 


69 


17 


CD 


6D 


CC40:46 


03 


B0 


0F 


AD 


50 


03 


D0 


4A 


CC48 :0A 


AD 


3C 


03 


C9 


2A 


B0 


03 


65 


CC50:4C 


CC 


CB 


60 


A2 


00 


8A 


9D 


8A 


CC58 :00 


D4 


E8 


E0 


lA 


D0 


F8 


A9 


02 


CC60:14 


8D 


01 


D4 


A9 


42 


8D 


05 


4B 


CC68 : D4 


A9 


08 


8D 


03 


D4 


A9 


05 


74 


CC70 :8D 


0C 


D4 


A9 


05 


8D 


0A 


D4 


50 


CC78 : A9 


FF 


8D 


0F 


D4 


A9 


0F 


8D 


82 


CC80 :18 


D4 


60 


00 


00 


CE 


AA 


02 


F9 


CC88 : D0 


lA 


A9 


32 


8D 


AA 


02 


A5 


2A 


CC90:A9 


C9 


lA 


F0 


0F 


C6 


A9 


10 


BA 


CC98:06 


A9 


00 


85 


A9 


F0 


05 


A0 


B3 


CCA0 :07 


20 


A5 


CC 


60 


84 


10 


A8 


25 


CCA8 :A9 


D8 


85 


02 


A9 


D7 


85 


03 


D8 


CCB0 :A5 


02 


18 


69 


28 


85 


02 


A5 


38 


CCB8 : 03 


69 


00 


85 


03 


88 


D0 


F0 


53 


CCC0 :A5 


10 


A0 


02 


91 


02 


88 


10 


IB 


CCCa : FB 


60 


A9 


01 


8D 


B4 


02 


20 


21 


CCD0 :48 


CI 


A5 


A2 


C5 


A2 


F0 


FC 


75 


CCDS sA5 


0A 


D0 


EE 


60 


9E 


92 


4C 


BF 


CCE0 :20 


41 


20 


53 


20 


45 


20 


52 


BC 


CCE8 :00 


42 


20 


45 


20 


41 


20 


4D 


FE 


CCF0 :96 


11 


11 


11 


9D 


9D 


9D 


9D 


89 


CCF8 :9D 


9D 


9D 


4C 


45 


56 


45 


4C 


9B 


CD00 i20 


20 


11 


11 


11 


9D 


9D 


9D 


BE 


CD08 :9D 


9D 


9D 


9D 


9D 


9D 


9D 


12 


18 


CD10 :9F 


48 


49 


54 


20 


46 


49 


52 


FA 


CD18 :45 


42 


55 


54 


54 


4F 


4E 


00 


53 


CD20:9E 


4C 


45 


56 


45 


4C 


20 


43 


0B 


CD 28 :4F 


4D 


50 


4C 


45 


54 


45 


44 


D7 


CD30:11 


11 


9D 


9D 


9D 


9D 


9D 


9D 


62 


CD38:9D 


9D 


9D 


9D 


9D 


9D 


42 


4F 


CE 


CD40:4E 


55 


53 


20 


00 


AD 


B7 


02 


EC 


CD48 : F0 


2D 


CE 


B6 


02 


D0 


28 


CE 


5F 


CD50 :B8 


02 


D0 


23 


A2 


03 


8E 


B8 


0C 


CD58:02 


CE 


37 


02 


AD 


B7 


02 


D0 


E0 


CD60 :10 


A9 


18 


85 


A9 


A9 


01 


A2 


62 


CD68 i06 


9D 


28 


D0 


CA 


10 


FA 


A9 


B6 


CD70 :00 


AA 


A9 


20 


9D 


C0 


07 


60 


4C 



103 



Chapter 2 



CD78 :A2 


18 


A0 


lA 


18 


20 


F0 


FF 


44 


CDS 0: AD 


BA 


02 


C9 


FF 


F0 


07 


AE 


FE 


CD88 : B9 


02 


20 


CD 


BD 


60 


A9 


98 


BD 


CD90:A0 


CD 


20 


IE 


AB 


68 


68 


60 


06 


CD98:93 


11 


11 


11 


20 


43 


4F 


4E 


70 


CDA0:47 


52 


41 


54 


55 


4C 


41 


54 


94 


Ca3A8 :49 


4F 


4E 


53 


2C 


20 


59 


4F 


9F 


CDB0:55 


20 


41 


52 


45 


20 


4F 


4E 


E3 


CDB8:45 


20 


4F 


46 


20 


54 


48 


45 


75 


CDC0 :20 


46 


45 


57 


20 


54 


4F 


20 


2D 


CDC8:57 


49 


4E 


20 


41 


54 


20 


4C 


16 


CDD0 :41 


53 


45 


52 


20 


42 


45 


41 


85 


CDD8 :40 


2E 


00 


00 


00 


00 


00 


00 


A6 



104 



Program 6 

Whirlybird 



Load and run MLX. When the prompts appear, answer them 
with 

Starting address: 0801 
Ending address: 1458 

Save a copy of the game to tape or disk once you're fin- 
ished typing in all the data. 

Whirlybird 

For mistake-proof program entry, use "MIX: Machine Language Entry Program" to type in 



this program. 


















0801 'IB 


08 


00 


00 


9E 


32 


30 


38 


F6 


0809 1 30 


3A 


8F 


22 


14 


14 


14 


14 


01 


0811 :14 


20 


57 


48 


49 


52 


40 


59 


28 


0819 : 42 


49 


52 


44 


00 


00 


00 


A9 


D4 


0821 S93 


20 


D2 


FF 


A2 


00 


8E 


21 


B0 


0829 :D0 


8E 


20 


D0 


E8 


8E 


IB 


D0 


DE 


0831 :A9 


03 


8D 


86 


02 


A2 


10 


A9 


55 


0839:00 


9D 


00 


D0 


CA 


10 


FA 


A2 


EC 


0841 :18 


9D 


00 


D4 


CA 


10 


FA 


A2 


41 


0849 : 18 


BD 


3B 


14 


9D 


00 


D4 


CA 


DE 


0851:10 


F7 


A9 


7F 


8D 


0D 


DC 


A9 


98 


0859:33 


85 


01 


A9 


00 


85 


FB 


A9 


D6 


0861:D0 


85 


FC 


A9 


00 


85 


ED 


A9 


31 


0869 : 38 


85 


FE 


A0 


00 


Bl 


FB 


91 


31 


0871 :FD 


E6 


FB 


D0 


02 


E6 


FC 


E6 


53 


0879 :FD 


D0 


02 


E6 


FE 


38 


AS 


FC 


8C 


0881 :C9 


D8 


90 


E9 


A9 


37 


85 


01 


93 


0889 :A9 


81 


8D 


0D 


DC 


A2 


08 


BD 


90 


0891 :D0 


13 


9D 


D0 


3A 


BD 


D8 


13 


ID 


0899 :9D 


50 


33 


BD 


E0 


13 


9D 


50 


AE 


08A1 :39 


CA 


10 


EB 


A9 


IF 


8D 


18 


BE 


08A9 : D0 


A9 


11 


85 


FB 


A9 


11 


85 


35 


08 Bl :FC 


A9 


00 


85 


FD 


A9 


3C 


85 


97 


08B9 :FE 


A0 


00 


Bl 


FB 


91 


FD 


E6 


95 


08C1 :FB 


D0 


02 


E6 


FC 


E6 


FD 


D0 


03 


08C9:02 


E6 


FE 


38 


AS 


FB 


E9 


D0 


B9 


08D1 :A5 


FC 


E9 


13 


90 


E5 


78 


A9 


19 


08D9:DB 


8D 


14 


03 


A9 


0F 


8D 


15 


A7 


08E1 :03 


58 


A9 


00 


8D 


69 


03 


A9 


80 


08 E9 :F0 


8D 


3C 


03 


A9 


00 


8D 


57 


4D 


08F1 :03 


8D 


58 


03 


20 


3C 


0A 


A9 


Dl 



105 



Chapter 2 



08F9:14 


8D 


0B 


D4 


A9 


15 


8D 


0B 


ED 


0901 :D4 


20 


C6 


0E 


AD 


62 


03 


F0 


2D 


0909 :F8 


CE 


62 


03 


A9 


01 


8D 


51 


85 


0911 :03 


A9 


00 


8D 


5F 


03 


AD 


57 


Al 


0919:03 


0D 


58 


03 


E9 


0A 


90 


14 


D7 


0921:38 


AD 


57 


03 


E9 


0A 


8D 


57 


BF 


0929:03 


AD 


58 


03 


E9 


00 


8D 


58 


26 


0931 :03 


20 


2E 


0E 


20 


CA 


10 


AD 


6D 


0939:00 


DC 


29 


10 


D0 


F6 


20 


F8 


44 


0941 :0B 


20 


E7 


0C 


20 


9F 


FF 


20 


3E 


0949:E4 


FF 


C9 


85 


F0 


06 


C9 


88 


IB 


0951 :F0 


0A 


D0 


0D 


A9 


01 


8D 


69 


IF 


0959:03 


4C 


45 


09 


A9 


00 


8D 


69 


0B 


0961 :03 


AD 


69 


03 


D0 


DE 


AD 


46 


61 


0969:03 


D0 


08 


A9 


00 


8D 


68 


03 


D6 


0971 :4C 


7E 


09 


AD 


68 


03 


D0 


05 


3B 


0979 :A9 


01 


8D 


68 


03 


20 


97 


0E 


AE 


0981 :AD 


5B 


03 


D0 


12 


20 


02 


0E 


Dl 


0989:20 


02 


0E 


20 


02 


0E 


20 


02 


7A 


0991 :0E 


20 


02 


0E 


4C 


02 


09 


AD 


FD 


0999:55 


03 


F0 


32 


20 


39 


0D 


20 


78 


09 Al :ED 


0B 


AD 


00 


DC 


29 


0F 


C9 


96 


09 A9 :0B 


F0 


07 


C9 


07 


F0 


0B 


4C 


59 


09 Bl :C0 


09 


A9 


00 


8D 


53 


03 


4C 


A7 


09B9:C0 


09 


A9 


01 


8D 


53 


03 


20 


93 


09C1 :02 


0E 


20 


51 


0A 


A2 


01 


8E 


DC 


09C9:51 


03 


8A 


4C 


Dl 


09 


A9 


00 


61 


09D1:8D 


56 


03 


20 


51 


0A 


20 


38 


CD 


09D9:0C 


AD 


63 


03 


F0 


03 


4C 


05 


2B 


09E1 :09 


AD 


00 


DC 


29 


0F 


C9 


0B 


D5 


09 E9 :C9 


0B 


F0 


24 


C9 


07 


F0 


18 


68 


09F1 :AD 


46 


03 


D0 


03 


4C 


45 


09 


B6 


09 F9 :CE 


64 


03 


AD 


64 


03 


D0 


2D 


C5 


0A01 :A9 


03 


8D 


64 


03 


4C 


2B 


0A 


4C 


0A09 :AD 


41 


03 


D0 


08 


4C 


26 


0A 


79 


0A11 :AD 


41 


03 


D0 


10 


AD 


46 


03 


80 


0A19 :C9 


0C 


90 


03 


4C 


45 


09 


EE 


CF 


0A21 :46 


03 


4C 


45 


09 


AD 


46 


03 


85 


0A29:F0 


06 


CE 


46 


03 


4C 


45 


09 


52 


0A31 :AD 


41 


03 


49 


01 


8D 


41 


03 


25 


0A39:4C 


45 


09 


A9 


93 


8D 


07 


D4 


76 


0A41 :A9 


03 


8D 


08 


D4 


A9 


0B 


8D 


0E 


0A49 :00 


D4 


A9 


07 


8D 


01 


D4 


60 


B2 


0A51 :EE 


47 


03 


AD 


47 


03 


D0 


F8 


CA 


0A59:EE 


48 


03 


AD 


48 


03 


C9 


0F 


23 


0A61 :90 


EE 


A9 


00 


8D 


48 


03 


60 


A2 


0A69 :A9 


C0 


8D 


49 


03 


A9 


07 


8D 


23 


0A71 :4A 


03 


A9 


50 


85 


03 


A9 


04 


35 


0A79 :85 


04 


A9 


6A 


8D 


4B 


03 


A9 


76 


0A81 :0D 


8D 


4C 


03 


20 


90 


0B 


A9 


3C 



106 



0A89: 


E7 


8D 


49 


03 


A9 


07 


8D 


4A 


ID 


0A91 ; 


03 


A9 


77 


85 


03 


A9 


04 


85 


25 


0A99 : 


04 


A9 


6A 


8D 


4B 


03 


20 


90 


77 


0AA1 : 


0B 


A9 


F9 


85 


03 


A9 


06 


85 


8D 


0AA9 i 


04 


A9 


IE 


8D 


49 


03 


A9 


07 


77 


0AB1 : 


8D 


4A 


03 


A9 


5A 


8D 


4B 


03 


BC 


0AB9i 


A9 


07 


8D 


4C 


03 


20 


C2 


0B 


04 


0AC1 


A9 


21 


85 


03 


A9 


07 


85 


04 


4C 


0AC9: 


A9 


46 


8D 


49 


03 


A9 


07 


8D 


E4 


0AD1 


4A 


03 


A9 


06 


8D 


4C 


03 


20 


25 


0AD9. 


C2 


0B 


A9 


49 


85 


03 


A9 


07 


6E 


0AE1 


85 


04 


A9 


6E 


8D 


49 


03 


A9 


17 


0AE9- 


07 


8D 


4A 


03 


A9 


05 


8D 


4C 


27 


0AF1 


03 


20 


C2 


0B 


A9 


71 


85 


03 


B9 


0AF9! 


A9 


07 


85 


04 


A9 


96 


8D 


49 


Al 


0B01 


03 


A9 


07 


8D 


4A 


03 


A9 


07 


75 


0B09 


8D 


4C 


03 


20 


C2 


0B 


A9 


99 


8A 


0B11 


•85 


03 


A9 


07 


85 


04 


A9 


BE 


9E 


0B19 


8D 


49 


03 


A9 


07 


8D 


4A 


03 


49 


0B21 


A9 


06 


8D 


4C 


03 


20 


C2 


0B 


2D 


0B29 


•A9 


CI 


85 


03 


A9 


07 


85 


04 


DD 


0B31 


!A9 


E6 


8D 


49 


03 


A9 


07 


8D 


76 


0B39 


4A 


03 


A9 


03 


8D 


4C 


03 


20 


5E 


0B41 


!C2 


0B 


A9 


57 


8D 


02 


07 


8D 


36 


0B49 


!l5 


07 


8D 


77 


07 


8D 


90 


07 


6B 


0B51 


iSD 


C4 


07 


8D 


CA 


07 


8D 


D0 


77 


0B59 


!07 


8D 


58 


07 


8D 


60 


07 


8D 


5B 


0B61 


!D7 


07 


8D 


DD 


07 


8D 


E3 


07 


Fl 


0B69 


!A9 


01 


8D 


02 


DB 


8D 


15 


DB 


81 


0B71 


!8D 


77 


DB 


8D 


90 


DB 


8D 


C4 


54 


0B79 


:DB 


8D 


CA 


DB 


8D 


D0 


DB 


8D 


EC 


0B81 


!D7 


DB 


8D 


58 


DB 


8D 


60 


DB 


63 


0B89 


i8D 


DD 


DB 


8D 


E3 


DB 


60 


A0 


22 


0B91 


!00 


AD 


4B 


03 


91 


03 


A5 


03 


93 


0B99 


:85 


05 


18 


A5 


04 


69 


D4 


85 


06 


0BA1 


:06 


AD 


4C 


03 


91 


05 


18 


A5 


56 


0BA9 


:03 


69 


28 


85 


03 


A5 


04 


69 


19 


0BB1 :00 


85 


04 


38 


AD 


49 


03 


E5 


AB 


0BB9:03 


AD 


4A 


03 


E5 


04 


B0 


Dl 


A8 


0BC1 :60 


A0 


00 


AD 


4B 


03 


91 


03 


97 


0BC9:A5 


03 


85 


05 


18 


A5 


04 


69 


3D 


0BDltD4 


85 


06 


AD 


4C 


03 


91 


05 


E5 


0BD9tE6 


03 


D0 


02 


E6 


04 


38 


AD 


03 


0BE1 :49 


03 


E5 


03 


AD 


4A 


03 


E5 


CC 


0BE9:04 


B0 


D8 


60 


A9 


20 


A0 


00 


5E 


0BF1 :91 


FB 


A9 


01 


91 


FD 


60 


20 


7A 


0BF9 


:34 


0C 


C9 


23 


B0 


F9 


8D 


4F 


70 


0C01 :03 


18 


A9 


CA 


6D 


4F 


03 


85 


B6 


0C09:FB 


A9 


04 


69 


00 


85 


FC 


18 


C8 


0C11:A5 


FB 


69 


00 


85 


FD 


A5 


FC 


94 



Chapter 2 



0C19 :69 


D4 


85 


FE 


A9 


01 


80 


51 


79 


0C21 :03 


20 


34 


0C 


30 


07 


A9 


00 


FA 


0C29:8D 


53 


03 


F0 


05 


A9 


01 


80 


AA 


0C31 :53 


03 


60 


AD 


IB 


D4 


60 


A9 


31 


0C39:00 


8D 


63 


03 


20 


ED 


0B 


AO 


CD 


0C41:53 


03 


D0 


16 


20 


71 


0C 


A0 


BE 


0C49:00 


Bl 


FB 


C9 


6A 


F0 


02 


00 


05 


0C51:3B 


20 


7F 


0C 


20 


20 


00 


4C 


A7 


0C59:38 


0C 


20 


7F 


0C 


A0 


00 


Bl 


21 


0C61 :PB 


C9 


6A 


F0 


02 


D0 


25 


20 


04 


0C69:71 


0C 


20 


20 


00 


4C 


38 


0C 


59 


0C71:38 


A5 


FB 


E9 


01 


85 


FB 


A5 


E8 


0C79 :FC 


E9 


00 


85 


FC 


60 


18 


AS 


22 


0C81 :FB 


69 


01 


85 


FB 


A5 


PC 


69 


44 


0C89:00 


85 


FC 


60 


A5 


FB 


85 


AA 


7B 


0C91 :A5 


FC 


85 


AB 


AO 


51 


03 


00 


B0 


0C99:1B 


38 


A5 


FB 


E9 


51 


A5 


FC 


9E 


0CA1 :E9 


04 


90 


5A 


38 


A5 


FB 


E9 


Al 


0CA9:2B 


85 


FB 


A5 


FC 


E9 


00 


85 


26 


0CB1 :FC 


4C 


CD 


0C 


38 


A5 


FB 


E9 


10 


0CB9 :C0 


A5 


FC 


E9 


07 


B0 


4D 


18 


87 


0CC1 :A5 


FB 


69 


28 


85 


FB 


A5 


FC 


BP 


0CC9:69 


00 


85 


FC 


Bl 


FB 


C9 


57 


7P 


0CD1 :D0 


03 


4C 


54 


00 


C9 


5A 


F0 


17 


0CD9:07 


C9 


6A 


P0 


42 


4C 


E7 


0C 


63 


0CE1 :20 


15 


0D 


20 


83 


0E 


A0 


00 


88 


0CE9:A9 


2A 


91 


FB 


18 


A5 


FB 


69 


0C 


0CP1 :00 


85 


FD 


A5 


FC 


69 


04 


85 


42 


0CF9 :FE 


A9 


01 


91 


FD 


60 


A9 


01 


FA 


0D01 :8D 


51 


03 


8D 


63 


03 


A9 


00 


E9 


0D09:8D 


46 


03 


60 


A9 


00 


80 


51 


9B 


0D11 :03 


4C 


39 


00 


AO 


51 


03 


49 


B9 


0D19:01 


8D 


51 


03 


4C 


39 


00 


AO 


80 


0D21 :53 


03 


49 


01 


80 


53 


03 


4C 


EA 


0D29:39 


0D 


38 


A5 


FB 


E9 


28 


85 


El 


0D31 :FB 


A5 


FC 


E9 


00 


85 


FC 


60 


61 


0D39:A9 


40 


8D 


04 


D4 


20 


CA 


10 


F6 


0D41 :A9 


B4 


8D 


5E 


03 


A9 


01 


80 


43 


0D49 :5D 


03 


BD 


5F 


03 


A9 


41 


80 


49 


0D51:04 


D4 


60 


20 


3C 


0A 


A9 


03 


11 


0D59 :8D 


46 


03 


A9 


02 


80 


20 


O0 


IE 


0D61:8D 


21 


D0 


20 


ED 


0B 


20 


CA 


40 


0D69:10 


EE 


01 


00 


EE 


01 


00 


AD 


3F 


0D71:01 


D0 


8D 


01 


D4 


C9 


E9 


90 


34 


0D79:02 


B0 


05 


AO 


55 


03 


F0 


E6 


BB 


0D81 :20 


39 


0D 


20 


34 


0C 


C9 


20 


23 


0D89:B0 


F9 


8D 


4F 


03 


A9 


AC 


85 


BE 


0D91 :B0 


A9 


06 


85 


Bl 


A0 


00 


18 


AF 


0D99:A5 


B0 


6D 


4F 


03 


85 


B0 


A5 


8A 


0DA1 :B1 


69 


00 


85 


Bl 


Bl 


B0 


C9 


C6 



108 



0DA9s6A F0 D8 C8 
0DB1:A0 02 A9 6A 
0DB9:B0 69 00 85 
0DC1:D4 85 Bl A9 
0DC9:00 A9 03 91 
0DD1 :01 D0 C9 3C 
0DD9:10 CE 01 D0 
0DE1 :01 D0 8D 01 
0DE9:AD IF D0 A9 
0DF1 :8D 21 D0 8D 
0DF9:0D 68 68 20 
0E01:09 18 AD 57 
0E09:57 03 AD 58 
0E11 :58 03 38 AD 
0E19:14 AD 58 03 
0E21:0C AD 57 03 
0E29:58 03 8D 55 
0E31:D2 FF A2 0B 
0E39:04 CA 10 FA 
0E41 :FF A9 ID 20 
0E49:03 AD 58 03 
0E51:20 20 D2 FF 
0E59:20 IE AB AE 
0E61:14 20 CD BD 
0E69:FF A9 18 A0 
0E71:AE 62 03 A9 
0E79:A9 20 20 D2 
0E81 :D2 FF 18 AD 
0E89:8D 57 03 AD 
0E91:8D 58 03 4C 
0E99:8D 5B 03 85 
0EA1 :AB A0 00 Bl 
0EA9:16 C9 57 F0 
0EB1 :02 E6 AB 38 
0EB9:A5 AB E9 07 
0EC1:01 8D 5B 03 
0EC9:AD 56 14 8D 
0ED1:8D 64 03 A9 
0ED9:A9 00 8D 15 
0EE1 :20 2E 0E A9 
0EE9:A9 3D 8D 01 
0EF1:F8 07 8D 3C 
0EF9:3E 03 A9 02 
0F01:01 8D 51 03 
0F09:50 8D 3F 03 
0F11:00 8D 40 03 
0F19:41 03 A2 08 
0F21:4D 05 A9 03 
0F29:06 14 9D 75 
0F31:75 D9 BD 0F 



C0 05 D0 F5 8E 
91 B0 18 A5 9D 
B0 A5 Bl 69 C7 
03 91 B0 A0 D8 
B0 A0 00 AD 7D 
90 12 20 CA 75 
CE 01 D0 AD A6 
D4 4C D0 0D F8 
00 8D 20 D0 9E 
55 03 20 39 3E 
3C 0A 4C 35 9B 
03 69 0A 8D 32 
03 69 00 8D 18 
57 03 ED 54 F2 
ED 55 14 90 63 
8D 54 14 AD 5D 
14 A9 13 20 06 
A9 20 9D 00 C4 
A9 ID 20 D2 90 
D2 FF AE 57 B8 
20 CD BD A9 EA 
A9 E8 A0 13 25 
54 14 AD 55 11 
A9 20 20 D2 06 
14 20 IE AB 06 

00 20 CD BD 52 
FF A9 20 4C D6 

57 03 69 01 7F 

58 03 69 00 IF 

13 0E A9 00 D3 
AA A9 04 85 95 
AA C9 5A F0 F8 
12 E6 AA D0 8F 
A5 AA E9 E6 14 
90 E5 60 A9 C7 
60 20 3C 0A 63 
62 03 A9 03 23 
93 20 D2 FF 8B 
D0 20 69 0A Bl 

01 8D ID D0 3F 
D0 A9 F3 8D 8E 
03 A9 06 8D lA 
8D 46 03 A9 80 
8D 53 03 A9 C6 
8D 00 D0 A9 82 
8D 10 D0 8D A6 
BD FD 13 9D 17 
9D 4D D9 BD 20 
05 A9 03 9D CC 

14 9D 9D 05 80 



Chapter 2 



0P39:A9 03 9D 9D 
0F41 :A9 22 80 44 
0F49:45 03 A9 20 
0F51:01 8D 43 03 
0P59:CA 10 AD 00 
0F61:0E F0 07 C9 
0F69:7D 0F EE 62 
0F71:4C 77 0F CE 
0F79:0E 20 51 0A 
0F81 :F0 0B C9 05 
0F89:F0 49 4C 58 
0F91 :5C 03 A9 01 
0F99:B9 0F A9 01 
0FA1 :00 8D ID D0 
0FA9:03 A9 00 8D 
0FB1:8D 42 03 A9 
0FB9:A2 08 A9 20 
0FC1 :75 05 9D 9D 
0FC9:A9 00 8D 57 
0FD1;4C 2E 0E A9 
0FD9:C6 00 AD 69 
0FE1 :31 EA EE 5D 
0FE9:C9 01 90 33 
0FF1:03 AD 5F 03 
0FF9:03 EE 5E 03 
1001: FA B0 02 90 
1009 :5F 03 4C 20 
1011 :CE 5E 03 AD 
1019 :B0 05 A9 00 
1021 :5E 03 8D 16 
1029 :8D 55 03 AD 
1031 :3E 03 AD 3D 
1039 :B0 06 EE 3D 
1041 :A9 00 8D 3D 
1049 :C9 F9 B0 0C 
1051 :3C 03 8D P8 
1059 :A9 F0 8D 3C 
1061:41 03 P0 2B 
1069: ED 42 03 AD 
1071:03 B0 15 18 
1079:46 03 8D 3F 
1081:69 00 8D 40 
1089 :A9 00 8D 41 
1091 :AD 44 03 ED 
1099:03 ED 40 03 
10A1 :38 AD 3F 03 
10A9:3F 03 AD 40 
10B1 :40 03 4C BB 
10B9:41 03 AD 3F 
10C1:AD 40 03 8D 



D9 CA 10 DC 71 
03 A9 00 8D FE 
8D 42 03 A9 27 
8D 15 D0 20 6E 
DC 29 0F C9 0A 
0D F0 0C 40 D0 
03 20 6A 0E 89 
62 03 20 6A 2C 
A5 C5 C9 04 4D 
F0 14 C9 03 D2 
0F A9 00 8D 2E 
8D ID D0 4C B2 
8D 5C 03 A9 2B 
A9 20 8D 44 01 

45 03 A9 37 4D 
01 8D 43 03 E9 
9D 4D 05 9D 20 
05 CA 10 F4 Dl 
03 8D 58 03 E5 
00 85 06 40 ED 
03 F0 03 4C D5 
03 AD 5D 03 93 
A9 00 8D 5D 38 
D0 17 EE 5E 38 
AD 5E 03 09 08 
lA A9 01 8D IB 
10 CE 5E 03 A0 
5E 03 09 32 30 
8D 5F 03 AD A5 
D4 AD IF D0 B0 

46 03 4A 8D 01 
03 CD 3E 03 89 
03 40 60 10 FE 
03 AD 30 03 06 
EE 3C 03 AD BF 
07 40 60 10 OB 
03 D0 ED AD E4 
38 AD 3F 03 AD 
40 03 ED 43 79 
AD 3F 03 6D 41 
03 AD 40 03 75 
03 40 BB 10 DC 
03 F0 2B 38 AE 
3P 03 AD 45 7F 
P0 17 B0 15 49 
ED 46 03 8D 7D 
03 E9 00 8D 31 
10 A9 01 8D AE 
03 8D 00 00 04 
10 00 40 31 8F 



110 



10 C9 :EA 


A2 


17 


A0 


00 


A9 


50 


85 


CI 


10D1 :B0 


A9 


D8 


85 


Bl 


A9 


77 


85 


D0 


10D9 :B4 


A9 


D8 


85 


B5 


AD 


IB 


D4 


Al 


10E1 :29 


0F 


C9 


00 


F0 


F7 


C9 


02 


90 


10E9 :F0 


F3 


C9 


0B 


F0 


EF 


91 


B0 


84 


10F1 :91 


B4 


18 


A5 


80 


69 


28 


85 


66 


10F9:B0 


AS 


Bl 


69 


00 


85 


Bl 


18 


3A 


1101:A5 


B4 


69 


28 


85 


B4 


A5 


B5 


D2 


1109:69 


00 


85 


B5 


CA 


10 


CE 


60 


80 


1111 :00 


00 


00 


00 


00 


00 


00 


00 


33 


1119 :00 


00 


00 


00 


00 


00 


00 


00 


3B 


1121:00 


00 


00 


18 


00 


08 


18 


10 


25 


1129:1E 


18 


78 


3F 


99 


FC 


67 


FF 


F2 


1131 :E6 


40 


FF 


02 


80 


3C 


01 


00 


ED 


1139:3C 


00 


00 


18 


00 


00 


18 


00 


2B 


1141 :01 


FF 


80 


00 


00 


00 


00 


00 


F3 


1149 :00 


00 


00 


00 


00 


00 


00 


00 


6B 


1151 :00 


00 


00 


00 


00 


00 


00 


00 


73 


1159 :00 


00 


00 


00 


00 


00 


00 


00 


7B 


1161:00 


00 


00 


IC 


00 


04 


18 


20 


A5 


1169 :0E 


18 


70 


IF 


99 


F8 


37 


FF 


B7 


1171 :EC 


60 


FF 


06 


40 


3C 


02 


00 


79 


1179 :3C 


00 


00 


18 


00 


00 


18 


00 


6B 


1181 :00 


FF 


00 


00 


00 


00 


00 


00 


A3 


1189 :00 


00 


00 


00 


00 


00 


00 


00 


AB 


1191 :00 


00 


00 


00 


00 


00 


00 


00 


B3 


1199:00 


00 


00 


00 


00 


00 


00 


00 


BB 


llAl :00 


00 


00 


IC 


00 


02 


18 


00 


BD 


11A9 :07 


18 


E0 


0F 


D9 


F0 


IF 


FF 


33 


llBl :F8 


38 


FF 


IC 


30 


3C 


0C 


00 


AA 


11B9 :3C 


00 


00 


18 


00 


00 


18 


00 


AB 


llCl :00 


7E 


00 


00 


00 


00 


00 


00 


83 


11C9:00 


00 


00 


00 


00 


00 


00 


00 


EB 


11D1:00 


00 


00 


00 


00 


00 


00 


00 


F3 


11D9:00 


00 


00 


00 


00 


00 


00 


00 


FB 


llEl :00 


00 


00 


IE 


00 


03 


18 


00 


22 


11E9 :07 


98 


80 


0F 


DB 


B0 


0F 


FF 


37 


11 Fl :F0 


IC 


7E 


38 


18 


3C 


18 


00 


C8 


11F9:3C 


00 


00 


18 


00 


00 


18 


00 


EB 


1201 :00 


3C 


00 


00 


00 


00 


00 


00 


34 


1209 :00 


00 


00 


00 


00 


00 


00 


00 


2D 


1211 :00 


00 


00 


00 


00 


00 


00 


00 


35 


1219:00 


00 


00 


00 


00 


00 


00 


00 


3D 


1221 :00 


00 


00 


IE 


00 


00 


5C 


00 


DF 


1229:00 


F9 


00 


01 


FF 


80 


03 


FF 


E3 


1231 :C0 


07 


7E 


E0 


06 


3C 


E0 


00 


38 


1239 :3C 


00 


00 


18 


00 


00 


18 


00 


2D 


1241 :00 


08 


00 


00 


00 


00 


00 


00 


67 


1249:00 


00 


00 


00 


00 


00 


00 


00 


6D 


1251:00 


00 


00 


00 


00 


00 


00 


00 


75 



Chapter 2 



1259:00 


00 


00 


00 


00 


00 


00 


00 


7D 


1261 :00 


00 


00 


18 


00 


00 


18 


00 


37 


1269 :00 


3C 


00 


00 


3C 


00 


00 


7E 


FC 


1271 :00 


00 


7E 


00 


00 


7E 


00 


00 


5F 


1279:3C 


00 


00 


18 


00 


00 


18 


00 


6D 


1281 :00 


18 


00 


00 


00 


00 


00 


00 


AB 


1289:00 


00 


00 


00 


00 


00 


00 


00 


AD 


1291 :00 


00 


00 


00 


00 


00 


00 


00 


B5 


1299:00 


00 


00 


00 


00 


00 


00 


00 


BD 


12A1 :00 


00 


00 


78 


00 


00 


3A 


00 


CI 


12A9:00 


9F 


00 


01 


FF 


80 


03 


FF 


CD 


12B1 :C0 


07 


7E 


E0 


07 


3C 


60 


00 


BF 


12B9:3C 


00 


00 


18 


00 


00 


18 


00 


AD 


12C1:00 


10 


00 


00 


00 


00 


00 


00 


E9 


12C9:00 


00 


00 


00 


00 


00 


00 


00 


ED 


12D1:00 


00 


00 


00 


00 


00 


00 


00 


F5 


12 D9 :00 


00 


00 


00 


00 


00 


00 


00 


FD 


12E1 :00 


00 


00 


78 


00 


00 


18 


C0 


7E 


12E9:01 


19 


E0 


07 


DB 


F0 


0F 


FF 


22 


12F1 :F0 


IC 


7E 


38 


18 


3C 


18 


00 


OA 


12F9:3C 


00 


00 


18 


00 


00 


18 


00 


ED 


1301:00 


3C 


00 


00 


00 


00 


00 


00 


36 


1309:00 


00 


00 


00 


00 


00 


00 


00 


2F 


1311:00 


00 


00 


00 


00 


00 


00 


00 


37 


1319:00 


00 


00 


00 


00 


00 


00 


00 


3F 


1321:00 


00 


00 


38 


00 


00 


18 


40 


3B 


1329:07 


18 


E0 


0F 


9B 


F0 


IP 


FF 


C4 


1331 :F8 


38 


FF 


IC 


30 


3C 


0C 


00 


2E 


1339:3C 


00 


00 


18 


00 


00 


18 


00 


2F 


1341 :00 


7E 


00 


00 


00 


00 


00 


00 


07 


1349:00 


00 


00 


00 


00 


00 


00 


00 


6F 


1351:00 


00 


00 


00 


00 


00 


00 


00 


77 


1359:00 


00 


00 


00 


00 


00 


00 


00 


7P 


1361:00 


00 


00 


38 


00 


04 


18 


20 


6B 


1369 :0E 


18 


70 


IF 


99 


F8 


37 


FF 


BB 


1371 :EC 


60 


FF 


06 


40 


3C 


02 


00 


7D 


1379 :3C 


00 


00 


18 


00 


00 


18 


00 


6F 


1381:00 


FF 


00 


00 


00 


00 


00 


00 


A7 


1389:00 


00 


00 


00 


00 


00 


00 


00 


AF 


1391:00 


00 


00 


00 


00 


00 


00 


00 


B7 


1399:00 


00 


00 


00 


00 


00 


00 


00 


BF 


13A1 :00 


00 


00 


18 


00 


08 


18 


10 


A9 


13A9:1E 


18 


78 


3F 


99 


FC 


67 


FF 


77 


13B1 :E6 


40 


FF 


02 


80 


3C 


01 


00 


72 


13B9:3C 


00 


00 


18 


00 


00 


18 


00 


AF 


13C1 :01 


FF 


80 


00 


00 


00 


00 


00 


78 


13C9:00 


00 


00 


00 


00 


00 


00 


FF 


EF 


13D1:FF 


C3 


C3 


C3 


C3 


FF 


FF 


FF 


BB 


13D9:3C 


18 


18 


18 


18 


3C 


FF 


00 


5A 



112 



13E1 :3C 
13E9: ID 
13P1 :1D 
13P9:48 
1401 :0F 
1409:05 
1411 :20 
1419:1D 
1421:1D 
1429: ID 
1431 :1D 
1439 : 20 
1441 :00 
1449 :FF 
1451:64 



7E FF 
ID ID 
ID ID 
3A 20 
12 0D 
18 10 
11 15 
ID ID 
ID ID 
ID ID 
ID ID 
00 0B 
9B 03 
PF 00 
F3 3P 



FF 7E 
ID ID 
ID ID 

00 06 

01 0C 
05 12 
09 14 
ID ID 
ID ID 
ID ID 
45 47 
07 05 
05 C8 
00 80 
00 00 



3C 00 
ID ID 
48 49 
31 20 
06 33 
14 06 
20 20 
ID ID 
ID ID 
ID ID 
47 53 
C8 40 
14 0P 
00 00 
0A 00 



13 BD 
ID 10 
47 47 
0E lA 
20 E5 
37 30 
13 35 
ID 41 
ID 49 
ID 51 
3A 5F 
0A 19 
F0 A6 
00 75 
00 B8 



Program 7 

Miami Ice 



Load and run your copy of MLX from tape or disk. When you 
first run MLX, you'll be asked to supply a starting address and 
an ending address for Miami Ice. The addresses you'll need are 

Starting address: 0801 
Ending address: 1320 

After entering all the data from the listing below, be sure 
• to save at least one copy before you exit MLX. 

Miami Ice 

For mistake-proof program entry, use "MLX: Machine Language Entry Program" to type in 
this program^ 



0801 :0C 


08 


0A 


00 


9E 


20 


32 


30 


64 


0809:36 


32 


00 


00 


00 


20 


E0 


0E 


11 


0811:20 


BC 


0D 


A9 


00 


A0 


18 


B9 


09 


0819 :A2 


08 


99 


00 


D4 


88 


10 


F7 


90 


0821:20 


C4 


08 


20 


75 


0A 


AD 


01 


A5 


0829: DC 


29 


10 


F0 


F9 


A2 


00 


A0 


FD 


0831 :10 


18 


20 


F0 


FF 


A9 


E2 


A0 


6F 


0839 :0B 


20 


IE 


AB 


A6 


B4 


E8 


A9 


D8 


0841 :00 


20 


CD 


BD 


A9 


C8 


85 


F8 


63 


0849 :A9 


00 


85 


F9 


20 


D6 


0D 


20 


15 


0851 :52 


0A 


20 


95 


0E 


A2 


64 


88 


B6 


0859 :D0 


FD 


CA 


D0 


FA 


AD 


IF 


D0 


55 


0861: AD 


IE 


D0 


AD 


01 


DC 


29 


10 


A2 


0869 :D0 


E8 


A9 


40 


8D 


04 


D4 


A9 


25 


0871:41 


8D 


04 


D4 


20 


ID 


09 


20 


FA 


0879:48 


09 


CE 


21 


13 


D0 


09 


AD 


77 


0881:22 


13 


8D 


21 


13 


20 


95 


0E 


7D 


0889 :CE 


25 


13 


D0 


0C 


AD 


26 


13 


30 


0891 :8D 


25 


13 


20 


16 


0E 


20 


4F 


8E 


0899 :0D 


A0 


00 


88 


D0 


FD 


4C 


75 


6D 


08A1 :08 


00 


05 


00 


01 


00 


19 


F0 


81 


08 A9 :00 


IE 


00 


00 


00 


89 


00 


00 


67 


08B1 :0A 


00 


00 


00 


2B 


00 


00 


05 


25 


08B9 :F1 


4F 


20 


CD 


BD 


A9 


20 


20 


6C 


08C1 :D2 


FF 


60 


A9 


00 


85 


C3 


85 


05 


08C9 :C4 


A9 


00 


85 


B4 


A9 


03 


85 


D6 


0801 :BD 


A9 


93 


20 


D2 


FF 


A2 


03 


7E 


08D9 :8E 


21 


D0 


E8 


8E 


20 


D0 


A2 


5B 


08E1 :07 


A0 


0B 


18 


20 


F0 


FF 


A9 


EE 


08 E9 :EC 


A0 


0B 


20 


IE 


AB 


A5 


B4 


9B 



114 



Type It In 



08F1 :18 


69 


31 


8D 


A7 


05 


A9 


0A 


16 


08F9 :20 


45 


0A 


AD 


01 


DC 


4A 


B0 


48 


0901 :0A 


A5 


B4 


C9 


06 


F0 


E7 


E6 


5F 


0909 :B4 


10 


E3 


4A 


B0 


08 


A5 


B4 


40 


0911 :F0 


DC 


C6 


B4 


10 


D8 


4A 


4A 


B9 


0919 :4A 


B0 


D3 


60 


06 


F7 


D0 


26 


DA 


0921 :A9 


C8 


85 


F7 


A5 


F8 


05 


F9 


7F 


0929 :F0 


IC 


A5 


F8 


38 


E9 


01 


85 


EF 


0931 :F8 


AS 


P9 


E9 


00 


85 


F9 


A2 


B3 


09 39 : 18 


A0 


07 


18 


20 


F0 


FF 


A6 


4D 


0941 :F8 


AS 


F9 


20 


BB 


08 


60 


AD 


E6 


0949:23 


13 


10 


05 


49 


FF 


18 


69 


E7 


0951 :01 


85 


02 


AD 


24 


13 


10 


05 


P2 


0959:49 


FF 


18 


69 


01 


18 


65 


02 


DE 


0961 :8D 


00 


D4 


AD 


IF 


D0 


29 


08 


46 


0969 :D0 


14 


AD 


IE 


D0 


85 


02 


29 


4A 


0971 :0A 


C9 


0A 


F0 


09 


AS 


02 


29 


57 


0979 :0C 


C9 


0C 


F0 


3A 


60 


A9 


40 


7B 


0981 :8D 


04 


D4 


A9 


80 


8D 


12 


D4 


03 


0989 :A9 


81 


8D 


12 


D4 


A9 


08 


8D 


BE 


0991:20 


13 


A9 


05 


20 


45 


0A 


AD 


D5 


0999:20 


13 


C9 


0D 


F0 


06 


EE 


20 


28 


09 Al :13 


4C 


93 


09 


A9 


07 


8D 


15 


EC 


09 A9 : D0 


A9 


64 


20 


45 


0A 


06 


BD 


BA 


09B1 :F0 


5A 


68 


68 


4C 


4D 


08 


A9 


B7 


0989:40 


8D 


04 


D4 


A9 


00 


85 


02 


77 


09C1 :A5 


F8 


05 


F9 


F0 


32 


AS 


F8 


B9 


09C9:38 


E9 


01 


85 


F8 


A5 


F9 


E9 


27 


0901 :00 


85 


P9 


A5 


B4 


85 


03 


E6 


87 


09D9:C3 


D0 


02 


E6 


04 


20 


52 


0A 


06 


09E1 :E6 


02 


A5 


02 


8D 


01 


D4 


A9 


80 


09E9:40 


8D 


04 


D4 


A9 


41 


8D 


04 


BE 


09F1 :D4 


C6 


03 


10 


E2 


40 


01 


09 


56 


09F9:A9 


40 


8D 


04 


D4 


E6 


B4 


A9 


38 


0A01 :64 


20 


45 


0A 


A9 


05 


8D 


01 


16 


0A09 : D4 


4C 


24 


08 


20 


52 


0A 


A9 


A7 


0A11:00 


8D 


15 


D0 


A2 


0C 


A0 


05 


03 


0A19:18 


20 


F0 


FF 


A9 


9E 


A0 


0B 


73 


0A21:20 


IE 


AB 


A2 


0B 


20 


38 


0A 


BF 


0A29:A2 


0D 


20 


38 


0A 


AD 


01 


DO 


3F 


0A31 :29 


10 


D0 


P9 


40 


21 


08 


A0 


2F 


0A39:05 


18 


20 


F0 


FF 


A9 


01 


A0 


B3 


0A41 :0B 


4C 


IE 


AB 


85 


02 


A9 


00 


F3 


A49 : 85 


A2 


AS 


A2 


05 


02 


D0 


FA 


7A 


0A51:60 


A9 


9F 


20 


D2 


FF 


A2 


18 


E9 


0A59:A0 


17 


18 


20 


F0 


FF 


A6 


03 


21 


0A61:A5 


C4 


20 


BB 


08 


A2 


18 


A0 


D4 


0A69 : 26 


18 


20 


F0 


FF 


A6 


BD 


A9 


69 


0A71 :00 


4C 


CD 


BD 


A9 


93 


20 


D2 


DO 


0A79:FF 


A9 


01 


8D 


21 


D0 


A9 


03 


93 



115 



Chapter 2 



0A81 iQD 


20 


D0 


A2 


18 


A0 


00 


18 


04 


0A89 : 20 


F0 


FF 


A9 


71 


A0 


0B 


20 


C8 


0A91 : 1 E 


AB 


A0 


27 


A9 


A0 


99 


00 


29 


0A99 :04 


99 


98 


07 


A9 


04 


99 


00 


2A 


0AA1 : D8 


99 


98 


DB 


88 


10 


ED 


A9 


63 


0AA9 :00 


85 


FB 


85 


FD 


A9 


04 


85 


IB 


0AB1 :FC 


A9 


D8 


85 


FE 


A2 


18 


A0 


75 


0AB9 : 00 


A9 


A0 


91 


FB 


A0 


27 


91 


A7 


0AC1 sPB 


A9 


04 


91 


FD 


A0 


00 


91 


DB 


0AC9 : PD 


AS 


FB 


18 


69 


28 


85 


FB 


3A 


0AD1 -AS 


FC 


69 


00 


85 


PC 




U'l \ 

E U 


O 111 


AD9 • 18 


69 


28 


85 


FD 


A5 


FE 


fl<i 
\J ^ 


9F 


0AE1 :00 


85 


FE 


CA 


D0 


Dl 


A9 


00 


05 


0AE9 • 85 


FB 


A9 


It/** 


RS 


Pf 








0AP1 -EB 


07 


90 


02 


A2 


06 


BD 


09 


IC 


0AF9 :0D 


0A 


AA 


BD 


FB 


0C 


85 


03 


66 


B0 1 : BD 


FC 


0C 


85 


04 


A0 


FF 


C8 


7A 


0B09 : Bl 


03 


D0 


19 


C8 


Bl 


03 


8D 


05 


0B11 :02 


D0 


8D 


04 


D0 


8D 


00 


D0 


DB 


0B19 • CS 


Bl 


03 


BD 


03 


D0 


8D 


05 


B4 


0B21 :D0 


8D 


01 


D0 


60 


84 


02 


48 


91 


0B29 :48 


29 


IF 


8D 


28 


13 


68 


4A 


13 


0B31 :4A 


4A 


4A 


29 


06 


AA 


A0 


00 


F6 


0B39 :68 


10 


02 


A0 


A0 


8C 


29 


13 


6E 


0B41 :A5 


FB 


18 


7D 


37 


0C 


85 


FB 


F4 


0B49 :A5 


FC 


7D 


38 


0C 


85 


FC 


A0 


B5 


0B51 :00 


AD 


29 


13 


F0 


11 


91 


FB 


14 


0B59 : A5 


FB 


85 


FD 


A5 


FC 


18 


69 


8C 


0B61 :D4 


85 


PE 


A9 


04 


91 


FD 


A4 


C4 


0B69 :02 


CE 


28 


13 


D0 


D2 


F0 


97 


B5 


0B71 ;12 


9F 


54 


49 


4D 


45 


52 


3A 


F5 


0B79 :20 


20 


20 


20 


20 


20 


20 


20 


8F 


0B81 :20 


20 


53 


43 


4F 


52 


45 


3A 


D6 


0B89 :20 


20 


20 


20 


20 


20 


20 


20 


9F 


0B91 :20 


20 


43 


41 


52 


53 


3A 


20 


B0 


0B99 :20 


9D 


94 


20 


00 


12 


9F 


20 


63 


0BA1 :92 


47 


41 


4D 


45 


20 


4F 


56 


6F 


0BA9 :45 


52 


20 


2D 


20 


50 


52 


45 


F9 


0BB1 I 53 


53 


20 


46 


49 


52 


45 


42 


0F 


0BB9 : 55 


54 


54 


4F 


4E 


12 


20 


00 


0A 


0BC1 :12 


9F 


20 


20 


20 


20 


20 


20 


B0 


0BC9 :20 


20 


20 


20 


20 


20 


20 


20 


DP 


0BD1 :20 


20 


20 


20 


20 


20 


20 


20 


E7 


0BD9 :20 


20 


20 


20 


20 


20 


20 


20 


EF 


0BE1 :00 


9C 


12 


53 


43 


52 


45 


45 


C9 


0BE9 :4E 


20 


00 


92 


9C 


4D 


20 


49 


FB 


0BF1 :20 


41 


20 


4D 


20 


49 


20 


20 


C7 


0BF9:20 


49 


20 


43 


20 


45 


11 


11 


F3 


0C01 :11 


9D 


9D 


9D 


9D 


9D 


9D 


9D 


D2 


0C09:9D 


9D 


9D 


9D 


9D 


IF 


53 


43 


38 



116 



0C11 :52 


45 


45 


4E 


20 


31 


11 


11 


2A 


0C19:11 


90 


9D 


9D 


9D 


9D 


9D 


90 


EA 


0C21 :9D 


90 


9D 


9D 


9D 


50 


52 


45 


15 


0C29:53 


53 


20 


46 


49 


52 


45 


42 


88 


0C31 :55 


54 


54 


4F 


4E 


00 


D8 


FF 


AC 


0C39:FF 


FF 


28 


00 


01 


00 


4B 


FF 


F4 


0C41 :86 


CD 


00 


37 


B4 


6A 


01 


A3 


lA 


0C49:E6 


66 


C6 


90 


A3 


E6 


65 


86 


5A 


0C51 :C5 


E3 


CC 


A3 


E6 


00 


FB 


42 


8A 


0C59:45 


EC 


47 


25 


EE 


88 


6A 


43 


48 


0C61 :CD 


AA 


C2 


02 


B4 


45 


65 


00 


09 


0C69:2D 


C8 


68 


C3 


45 


A7 


EB 


C3 


F7 


0C71:83 


E4 


83 


C3 


E6 


C3 


83 


E2 


61 


0C79:A1 


04 


83 


47 


E6 


83 


C3 


E3 


F8 


0C81 :C3 


45 


E5 


AB 


83 


C6 


83 


AA 


20 


0C89:83 


C6 


83 


AA 


83 


C6 


45 


65 


57 


0C91 :83 


00 


FA 


BC 


66 


C6 


Al 


E3 


0C 


0C99:A2 


CB 


El 


27 


E2 


Al 


65 


C4 


11 


0CA1 :45 


24 


El 


63 


05 


EA 


C2 


82 


B3 


0CA9:EA 


81 


CI 


E5 


46 


81 


05 


E3 


54 


0CB1 :06 


E4 


Al 


C2 


82 


AD 


81 


CI 


F5 


0CB9 :A6 


C2 


82 


A4 


84 


El 


Al 


82 


El 


0CC1 :A1 


El 


81 


68 


05 


C3 


Al 


El 


36 


0CC9:C3 


EA 


CI 


81 


E2 


06 


CI 


00 


81 


0CD1:DC 


46 


65 


03 


E9 


64 


E2 


81 


FB 


0CD9:C1 


EE 


BE 


A2 


24 


AA 


24 


A4 


43 


0CE1 :C9 


KB 


64 


EC 


00 


73 


89 


46 


9B 


0CE9 :F2 


82 


El 


C2 


EC 


C5 


E2 


CI 


8A 


0CF1 :A2 


C4 


AC 


C2 


Al 


82 


Bl 


00 


C8 


0CF9 :2D 


C8 


3F 


0C 


46 


0C 


59 


0C 


A4 


0001 :6B 


0C 


95 


0C 


03 


0C 


E8 


0C 


F3 


0D09:00 


06 


01 


05 


02 


04 


03 


CE 


0A 


0011:27 


13 


00 


39 


A9 


07 


80 


27 


DC 


0019:13 


CE 


2A 


13 


00 


0F 


A9 


4B 


48 


0021 :8D 


2A 


13 


AD 


26 


13 


C9 


07 


El 


0029 :F0 


03 


EE 


26 


13 


AD 


23 


13 


65 


0031 :F0 


03 


10 


06 


EE 


23 


13 


4C 


5F 


0039 :3E 


00 


CE 


23 


13 


AO 


24 


13 


6C 


0041 :F0 


0B 


10 


06 


EE 


24 


13 


4C 


73 


0049 :4E 


00 


CE 


24 


13 


60 


AE 


20 


81 


0051:13 


AD 


23 


13 


18 


70 


77 


0O 


A8 


0059 :C9 


46 


90 


04 


C9 


B9 


90 


03 


95 


0061:80 


23 


13 


AD 


24 


13 


18 


70 


63 


0069 :7F 


00 


C9 


46 


90 


04 


C9 


B9 


06 


0071:90 


03 


80 


24 


13 


60 


01 


00 


A4 


0079 :FF 


FF 


FF 


00 


01 


01 


FF 


FF 


9F 


0081 :FF 


00 


01 


01 


01 


00 


A9 


01 


28 


0089:80 


19 


00 


AO 


IB 


13 


80 


06 


EB 


0091 :D0 


AD 


IE 


13 


80 


07 


D0 


AD 


4C 


0099 :1C 


13 


0A 


0A 


0A 


80 


10 


00 


OF 



Chapter 2 



0DA1 :AD 20 
0DA9:07 A9 
0DB1:DC 29 
0DB9:4C BC 
0DC1:A9 7F 
0DC9:14 03 
0DD1:81 8D 
0DD9:1C 13 
0DE1 :A9 26 
0DE9:1E 13 
0DF1:A2 C5 
0DF9:15 D0 
0E01:22 13 
0E09:26 13 
0E11:37 8D 
0E19:AD 23 
0E21 :13 8D 
0E29:00 8D 
0E31 :00 8D 
0E39:FF 69 
0E41:38 E5 
0E49:13 E9 
0E51:13 E9 
0E59:13 30 
0E61:1D 13 
0E69:1E 13 
0E71:1F 13 
0E79:85 02 
0E81:8D ID 
0E89:8D IE 
0E91:8D IF 
0E99:4A 4A 
0EA1:20 13 
0EA9I05 A2 
0EB1:0D 20 
0EB9:05 A2 
0EC1 :10 AD 
0EC9:CE 26 
0ED1:13 60 
0ED9:A9 81 
0EE1 :00 B9 
0EE9:5A 10 
0EF1:99 00 
0EF9:38 A9 
0F01:E0 A0 
0F09:39 88 
0F11:99 00 
0F19:F7 A0 
0F21:88 88 
0F29:5C 39 



13 


18 


69 


D4 


FA 


8D 


12 


D0 


01 


F0 


03 


4C 


FE 


A9 


IB 


8D 


8D 


0D 


DC 


A9 


A9 


0D 


8D 


15 


lA 


D0 


60 


A9 


8D 


23 


13 


8D 


8D 


IB 


13 


A9 


A9 


07 


8D 


20 


A2 


F0 


FC 


A9 


A9 


64 


8D 


21 


A9 


07 


8D 


25 


A9 


07 


8D 


27 


2A 


13 


60 


20 


13 


30 


lA 


18 


lA 


13 


AD 


IB 


IB 


13 


AD 


IC 


IC 


13 


4C 


57 


01 


85 


02 


AD 


02 


8D 


lA 


13 


00 


8D 


IB 


13 


00 


8D 


IC 


13 


18 


18 


6D 


ID 


AD 


IE 


13 


69 


AD 


IF 


13 


69 


60 


49 


FF 


18 


AD 


ID 


13 


38 


13 


AD 


IE 


13 


13 


AD 


IF 


13 


13 


60 


AD 


01 


B0 


12 


20 


D3 


AE 


20 


13 


E0 


00 


8E 


20 


13 


D3 


0E 


CE 


20 


07 


8E 


20 


13 


26 


13 


C9 


02 


13 


AD 


26 


13 


48 


A9 


80 


8D 


8D 


0B 


D4 


68 


5A 


0F 


99 


00 


99 


00 


36 


B9 


37 


B9 


5A 


12 


00 


99 


00 


39 


3F 


B9 


DA 


12 


10 


F7 


A0 


02 


39 


99 


3C 


39 


36 


A9 


80 


99 


88 


10 


F8 


A9 


8D 


62 


39 


A2 



8D 


FB 


34 


AD 


0D 


26 


31 


EA 


4A 


H 


D0 


A5 


87 


8D 


3D 


03 


A9 


25 


00 


8D 


97 


24 


13 


D4 


30 


8D 


03 


13 


A5 


36 


0F 


8D 


6C 


13 


8D 


F2 


13 


8D 


4D 


13 


A9 


7B 


10 


0D 


53 


6D 


lA 


60 


13 


69 


08 


13 


69 


AA 


0E 


49 


8A 


lA 


13 


36 


AD 


IB 


9F 


AD 


IC 


DE 


AD 


24 


F6 


13 


8D 


23 


00 


8D 


34 


00 


8D 


CC 


69 


01 


B6 


E5 


02 


A7 


E9 


00 


F9 


E9 


00 


4A 


DC 


4A 


lA 


0E 


EE 


FF 


08 


D0 


67 


4A 


B0 


6C 


13 


10 


E4 


4A 


B0 


5D 


F0 


09 


88 


8D 


25 


Dl 


0B 


D4 


58 


60 


A0 


37 


35 


B9 


99 


5A 


11 


C8 


99 


00 


AB 


88 


D0 


FC 


99 


80 


0E 


A9 


FF 


C7 


88 


10 


A4 


03 


39 


66 


0C 


8D 


CB 


E4 


8E 


48 



118 



0F31 :F9 


07 


E8 


8E 


FA 


07 


E8 


8E 


wo 


0F39 ; F8 


07 


A0 


03 


39 


56 


0F 


99 


B8 


0F41 i27 


D0 


88 


10 


F7 


A9 


08 


8D 


3D 


0F49 :1C 


D0 


A9 


00 


8D 


25 


D0 


A9 


23 


0F51 :07 


8D 


26 


D0 


60 


02 


00 


02 


35 


0F59 :02 


00 


00 


00 


00 


00 


00 


00 


78 


0F61 :00 


00 


00 


00 


10 


00 


00 


60 


60 


0F69 : 00 


00 


28 


00 


00 


A9 


04 


02 


3D 


0F71 :84 


14 


8A 


00 


52 


A8 


00 


4B 




0F79 • E0 


00 


2F 


A0 


00 


2A 


84 


00 


A9 


0F81 :0A 


14 


00 


02 


50 


00 


00 


40 


fir 


0F89 :00 


00 


00 


00 


00 


00 


00 


00 


A7 


0F91 :00 


00 


00 


00 


00 


00 


00 


00 


AP 


0F99 : 00 


00 


00 


00 


01 


21 


00 


01 


45 


0PA1 SA9 


00 


01 


21 


00 


00 


20 


00 


07 


0FA9 : 00 


20 


00 


00 


20 


00 


00 


20 


F0 


0FB1 :00 


00 


20 


00 


00 


A8 


00 


00 


76 


0FB9 : B8 


00 


00 


B8 


00 


04 


B3 


40 


81 


0FC1 :05 


A9 


40 


05 


A9 


40 


04 


A8 


24 


0FC9 :40 


00 


00 


00 


00 


00 


00 


00 


08 


0FD1 :00 


00 


00 


00 


00 


00 


00 


00 


EF 


0FD9 :00 


00 


00 


00 


00 


00 


00 


00 


F7 


0FE1 :00 


00 


04 


00 


00 


09 


00 


00 


A4 


0FE9 : 28 


00 


00 


6A 


00 


00 


12 


80 


67 


0FF1 :10 


00 


A2 


14 


00 


23 


85 


00 


65 


FF9 : B 


El 


00 


0A 


E8 


00 


12 


A8 


CA 


1001 :00 


14 


A0 


00 


05 


80 


00 


01 


65 


1009 :00 


00 


00 


00 


00 


00 


00 


00 


29 


1011 :00 


00 


00 


00 


00 


00 


00 


00 


31 


1019 :00 


00 


00 


00 


00 


00 


00 


00 


39 


1021 :00 


00 


00 


00 


00 


00 


00 


00 


41 


1029 :00 


00 


00 


00 


00 


54 


00 


00 


9A 


1031 :54 


40 


00 


10 


40 


0A 


A8 


AA 


B2 


1039 :AB 


E8 


AA 


AB 


E8 


40 


0A 


A8 


7E 


1041 :40 


00 


10 


00 


00 


54 


00 


00 


D4 


1049 : 54 


00 


00 


00 


00 


00 


00 


00 


93 


1051 :00 


00 


00 


00 


00 


00 


00 


00 


71 


1059:00 


00 


00 


00 


00 


00 


00 


00 


79 


1061 :00 


00 


00 


00 


00 


00 


00 


00 


81 


1069:00 


00 


00 


00 


01 


00 


00 


05 


96 


1071:80 


00 


14 


A0 


00 


12 


E8 


00 


78 


1079:03 


E8 


00 


0B 


Al 


00 


2A 


85 


F0 


1081 :00 


A2 


14 


12 


80 


10 


6A 


00 


07 


1089:00 


28 


00 


00 


09 


00 


00 


04 


FF 


1091 :00 


00 


00 


00 


00 


00 


00 


00 


31 


1099 :00 


00 


00 


00 


00 


00 


00 


00 


B9 


10A1 t00 


00 


00 


00 


00 


00 


00 


00 


CI 


10A9t00 


00 


00 


04 


A8 


40 


05 


A9 


04 


10B1 :40 


05 


A9 


40 


04 


38 


40 


00 


EF 


10B9:B8 


00 


00 


38 


00 


00 


A8 


00 


13 



Chapter 2 



10C1 :00 


AS 


00 


00 


20 


00 


00 


20 


2D 


10C9:00 


00 


20 


00 


00 


20 


00 


01 


6F 


10D1:21 


00 


01 


A9 


00 


01 


21 


00 


83 


10D9:00 


00 


00 


00 


00 


00 


00 


00 


F9 


10E1 :00 


00 


00 


00 


00 


00 


00 


00 


02 


10E9:00 


00 


00 


00 


40 


00 


02 


50 


60 


10F1 t00 


0A 


14 


00 


2B 


84 


00 


2B 


AD 


10F9:E0 


00 


4A 


E0 


00 


52 


A8 


00 


7C 


1101:14 


8A 


00 


04 


02 


84 


00 


00 


32 


1109 :A9 


00 


00 


28 


00 


00 


60 


00 


43 


1111:00 


10 


00 


00 


00 


00 


00 


00 


37 


1119:00 


00 


00 


00 


00 


00 


00 


00 


3B 


1121:00 


00 


00 


00 


00 


00 


00 


00 


43 


1129:00 


00 


00 


15 


00 


00 


15 


00 


C6 


1131 :00 


04 


00 


01 


2A 


A0 


01 


2B 


65 


1139 :EA 


AA 


2B 


EA 


AA 


2A 


A0 


01 


CF 


1141 :04 


00 


01 


15 


00 


00 


15 


00 


01 


1149:00 


00 


00 


00 


00 


00 


00 


00 


6B 


1151 :00 


00 


00 


00 


00 


00 


00 


00 


73 


1159:00 


00 


00 


00 


00 


00 


00 


00 


7B 


1161:01 


00 


00 


07 


40 


10 


07 


40 


05 


1169:10 


01 


00 


01 


30 


28 


08 


80 


96 


1171 :38 


02 


80 


C0 


04 


A2 


03 


00 


FC 


1179 :98 


01 


0C 


AB 


01 


02 


A8 


80 


46 


1181 :04 


22 


80 


03 


00 


60 


0C 


10 


IE 


1189:00 


28 


C0 


40 


20 


01 


D0 


C0 


39 


1191 :01 


D0 


00 


00 


40 


00 


00 


00 


6A 


1199:00 


00 


00 


00 


00 


01 


00 


40 


FF 


llAl :07 


40 


40 


07 


40 


00 


31 


00 


34 


11A9:04 


00 


0A 


20 


00 


0E 


00 


80 


C9 


llBl :00 


02 


88 


C0 


42 


2A 


83 


00 


33 


11B9 : A8 


00 


30 


2B 


20 


02 


A8 


0C 


4F 


llCl :10 


20 


80 


00 


00 


28 


03 


00 


AA 


11C9 :40 


30 


00 


00 


00 


10 


10 


83 


FB 


llDl :00 


74 


A0 


00 


74 


00 


00 


10 


08 


11D9:00 


00 


07 


40 


40 


01 


00 


00 


E6 


llEl :00 


00 


04 


30 


00 


00 


00 


00 


87 


11E9:80 


00 


00 


02 


80 


00 


00 


8A 


FA 


llFl :80 


00 


2A 


0C 


42 


08 


03 


02 


94 


11F9:8B 


00 


C0 


20 


E0 


CA 


28 


03 


81 


1201 :D0 


A8 


00 


02 


00 


28 


30 


20 


F8 


1209:02 


0C 


00 


40 


C0 


00 


00 


00 


3B 


1211 :10 


01 


03 


00 


07 


80 


00 


07 


IF 


1219:00 


00 


01 


00 


10 


30 


00 


00 


9E 


1221:00 


00 


00 


00 


00 


02 


88 


00 


5E 


1229:02 


20 


00 


00 


32 


A0 


00 


0A 


74 


1231:03 


00 


00 


80 


00 


82 


00 


02 


EA 


1239 :A8 


00 


20 


08 


E0 


3A 


00 


00 


26 


1241 :28 


02 


08 


40 


02 


02 


00 


20 


37 


1249:00 


00 


00 


00 


30 


00 


10 


00 


0F 



120 



1251 :00 


00 


00 


10 


00 


03 


00 


01 


83 


1259:00 


40 


30 


00 


00 


00 


00 


08 


9B 


1261:00 


00 


0A 


00 


00 


00 


08 


00 


D6 


1269:00 


30 


2A 


00 


00 


A0 


00 


00 


61 


1271:00 


0A 


00 


20 


02 


00 


80 


00 


2B 


1279:08 


A0 


20 


00 


B8 


CC 


00 


00 


C6 


1281 :28 


00 


00 


20 


00 


02 


00 


02 


C5 


1289:00 


00 


22 


00 


00 


00 


00 


C0 


B2 


1291 :00 


00 


00 


00 


01 


00 


10 


00 


DD 


1299:00 


08 


30 


00 


28 


00 


00 


00 


07 


12A1 :00 


00 


00 


02 


00 


00 


0C 


00 


FD 


12A9:00 


00 


0A 


A0 


00 


00 


80 


00 


lA 


12B1 :00 


00 


00 


02 


00 


00 


08 


00 


06 


12B9:00 


0A 


80 


00 


0B 


30 


00 


20 


A9 


12C1 :00 


00 


00 


00 


00 


00 


00 


00 


E5 


12C9:00 


00 


00 


00 


00 


00 


00 


00 


ED 


12D1 :00 


00 


08 


02 


01 


00 


12 


00 


43 


12D9:00 


00 


00 


00 


3F 


FF 


FC 


5F 


51 


12E1 :FF 


FA 


5F 


FF 


FA 


6F 


FF 


F6 


3D 


12E9:6F 


FF 


F6 


77 


FF 


EE 


77 


FF 


C6 


12F1 :EE 


7B 


FF 


DE 


7B 


F3 


DE 


7C 


40 


12F9:00 


3E 


7B 


F3 


DE 


7B 


FF 


DE 


20 


1301:77 


FF 


EE 


77 


FF 


EE 


6F 


FF 


D2 


1309 :F6 


6F 


FF 


F6 


5F 


FF 


FA 


5F 


46 


1311 :FF 


FA 


3F 


FF 


FC 


00 


00 


00 


C5 


1319 :FF 


00 


00 


00 


00 


00 


00 


00 


3P 



An Introduction 
to Assemblers 

Todd Heimarck 



If you plan to get into machine language, you need 
an assembler. Here's an overview of features to con- 
sider before purchasing one — and an up-to-date list 
of commercially available assemblers. 



A machine language assembler turns source code written by a 
programmer into object code, the program which can be exe- 
cuted by the computer. (Source code is sometimes referred to 
as assembly language because it's a language for communicat- 
ing with assemblers.) 

If you're in the market for a machine language (ML) as- 
sembler, here's a brief introduction to the features you should 
expect to find. 

Two Parts 

Many assemblers have at least two parts — the assembler itself 
and an editor program. A standard editor allows you to enter 
source code, insert lines, delete lines, print out the program, 
and save a file to disk. It may be a separate program, or it 
may be built into the assembler. 

An editor program is similar to a word processor, and, in 
some cases, you can substitute your favorite word processor if 
its files — usually sequential ASCII — are compatible with the 
files used by the assembler. The advantage of this is that you 
don't have to learn a new set of commands for using the as- 
sembler's text editor. 

But there's a disadvantage as well. If the editor and as- 
sembler are separate programs, writing an ML program takes 
several steps. You have to load the editor before typing in the 
program. Once the program's finished, you have to save it to 
disk, then load the assembler, and finally assemble the file 
into pbject code. To make changes to the program — if there 
are bugs, for example — you have to go back to the editor, load . 
the file, and edit it. 

125 



u 

Chapter 3 

u 
u 

An integrated editor/assembler gives you both programs 
in memory at the same time. It's not necessary to go through U 
the process of loading one, then loading the other, switching 
back and forth as you develop a program. Having both avail- 1_J 
able saves time, especially for programmers who like to write 
a few lines, assemble them, test the program, make a few Ll 
changes, and continue from there. One disadvantage of an in- 
tegrated package is that two programs take up more memory 
than a single program; you may have less memory available 
for storing the source code. 

In addition to separate editors and integrated editor/ 
assemblers, there's a third type. Some assemblers let you cre- 
ate source code with the built-in BASIC editor. You write and 
edit the source code with line numbers, as if it were a BASIC 
program. To look at the program, you LIST it. To save to disk, 
just SAVE. Relying on the BASIC editor means it's not neces- 
sary to load a separate program that takes up valuable mem- 
ory. With this kind of assembler, you can usually have your 
favorite programming utilities (like COMPUTE! Publications' 
"BASIC Aid" and "MetaBASIC," or Commodore's "DOS 
Wedge") in memory at the same time as the assembler and 
thus have such additional conveniences as automatic line 
numbering. 

When you're writing ML programs, you'll be spending a 
lot of time in the editor, so it's important to find one you feel 
comfortable with. Some programmers prefer an editor that's 
like a word processor, while others lean to assemblers that let 
you write with the built-in BASIC editor. 

Remember the Mnemonics 

The source code for an ML program is made up of mnemonics, 
English-like abbreviations for ML instructions. On eight-bit 
Commodore machines, including the 64 and 128, all mnemon- 
ics are three letters (an exception is CP/M mode on the 128). |_J 

The three-letter abbreviation for "LoaD the Accumulator 
with a number" is LDA. In source code, for example, the line ^ 
LDA #0 means load the number into the accumulator, a 
register inside the main chip. When the file is assembled, the u 
source code instruction LDA #0 is turned into the object code 



(numbers) 169 and 0. The primary task of an assembler is this IJ 
translation from mnemonics to numbers. 

A disk-based assembler requires the source code to be i_j 

126 U 



The Source Code 



stored on disk. When it comes time to assemble, you save the 
file and tell the assembler to start creating the object code 
from the source code on disk. RAM-based assemblers (which 
almost always have a disk option as well) read through the 
source code in memory. RAM-based assemblers are much 
faster than disk-based assemblers, which are hampered by 
Commodore's traditionally slow serial communications. 

Depending on your instructions to the assembler, the ob- 
ject code (the executable ML program) can be sent to a disk 
file or to memory. When a program is assembled to disk, you 
have to load the program before testing it. If the assembler 
places the object code directly in memory, you can SYS to it 
immediately after assembly. 

In BASIC, GOTO and GOSUB require a line number ref- 
erence — GOTO 500, for instance. The corresponding ML in- 
structions JMP (jump) and JSR (jump to subroutine) are 
followed by memory addresses, which serve the same function 
as line numbers in a BASIC program. But in a source code file, 
the current memory location (also known as the program 
counter) is not usually evident (the source code listings in this 
book are an exception — the memory location of each instruc- 
tion is at the far left of the column). You may have a general 
subroutine for reading the joystick, but if you don't know the 
exact starting address, you can't JSR to it in the program. 

Labeling 

Assemblers solve this problem by allowing labels within your 
source code. You place the label at the beginning of a subrou- 
tine, and elsewhere in the program you can call it by name. 
You might label the joystick routine something like READJOY 
and then JSR READJOY when you need to use it. Labels are 
also used extensively within loops and branches. 

Equates are another sort of label. At the start of the pro- 
gram, you can give names to important memory locations, so 
you can use a name instead of a number. The screen back- 
ground color on the 64 is stored in 53281, which could be 
called BACKGROUND. To modify the screen color, you would 
store a value into BACKGROUND. When the assembler got to 
that line, it would know that BACKGROUND stands for loca- 
tion 53281. 

Assemblers that allow labels and equates are usually ad- 
vertised as two-pass, three-pass, or label-based. In the first pass 

127 



Chapter 3 



through the source file, the assembler sets up a list of labels 
and the equivalent memory locations or values. During the fi- 
nal pass, the file is assembled and the numbers are substituted 
for the labels. 

The Commodore 128 includes the MONITOR command, 
which enables the built-in machine language monitor. Al- 
though the 64 doesn't come with a monitor, programs like 
Micromon and Supermon are widely available. 

Monitors generally have a simple assembler, which is suit- 
able for writing short routines, but lacking many features 
found in a full-fledged assembler. Simple assemblers don't 
support labels, for one thing, leaving it up to the programmer 
to calculate the addresses where subroutines start and end. 
Another shortcoming is that iji's often difficult to insert new 
lines or make corrections; if an assembler/editor is like a word 
processor, then a monitor is like a typewriter — to add a sen- 
tence may require retyping the whole page. 

The commands for disassembly and memory display 
make ML monitors useful for debugging, though, so some as- 
semblers for the 64 include a monitor to complement the other 
programs in the package. 

What to Look For 

At the very least, a stripped-down assembler should include 
the following features: 

• A way to type, save, and load source files, whether it's a sep- 
arate editor or the built-in BASIC editor. 

• Assembly from disk or memory, with object files written to 
disk or memory. 

• Labels and equates. 

• Error checking, to flag misspelled labels, duplicate labels, and 
syntax mistakes. 

In addition, many assemblers offer additional features like 
macro-instructions — usually called macros for short. A macro is 
essentially a fill-in-the-blanks miniprogram. A macro that 
opens a sequential file for reading, for example, might call sev- 
eral ROM routines and leave a blank for the filename. Within 
your source code, you would provide the name of the OPEN 
macro and tell it the name of the file to be opened for reading. 
When the assembler assembled that line, it would find the 



128 



The Source Code 



macro in the library and insert as many instructions as neces- 
sary in the object code; it would also fill in the name of the se- 
quential file you wanted to open for reading. Macros, however, 
are often rather cumbersome to use — the complexities of pass- 
ing parameters to them can make them more trouble than 
they're worth. 

Most assemblers allow you to insert comments in the 
source file. These notes to yourself are like REM statements in 
BASIC. Some assemblers offer conditional assembly, which is 
helpful if you're writing for several different systems, a 64 and 
a 128, for example. Like macros, however, conditional assem- 
bly is an additional level of complexity (and thus an additional 
potential source of bugs). Writing dual-purpose source code is, 
many programmers think, of dubious value. 

Some also include utility programs. An unassembler, for 
example, reads an object file and turns it into source code 
which can be loaded, edited, and reassembled. You may also 
find a disk disassembler, which reads a machine language file 
directly from disk and lists it out as mnemonics. Occasionally, 
an assembler package will include the source code for the as- 
sembler itself. This is valuable because you can study the pro- 
gram (if you're just learning ML) or change the program, 
adding new features (if you're beyond the beginner's stage). 
That's why we've included the complete source code for the 
seven games in this book. 

One final note: In many cases, source files are not com- 
patible between different assemblers. If you plan to trade 
source code with a friend, it would be a good idea to use the 
same assembler. This is also true if you're studying ML in a 
class sponsored by a college or a user group. 

What follows is a list of commercial assemblers for the 
Commodore 64 and 128. For more information, contact the 
manufacturer. 



129 



Chapter 3 



Abacus Software 
■^tP.O.Box 7211 
" Grand Rapids, MI 49510 
(616) 241-5510 
. Assembler. Monitcr 64 (64) 
$39.95 

Aquarian Software 
P.O. Box 22184 
Portland, OR 97222 
(503) 654-2641 

Total Software Development System • 
_(64 and 128 versions on same disk) 
$49.95 

Instant Editor Assembler (64) 
$17.95 

. Commodore Business Machines 

1200 Wilson Drive 

West Chester, PA 19380 

(215) 431-9100 
li^ommodare 64 Macro Assembler 

development System (64) 
. $49.95 

.'COMPUTE! Publications 

P.O. Box 5038 

F.D.R. Station 

New York, NY 10150 

(800) 346-6767 

(212) 887.-8575 (in NY) 

LADS (64/128) 
, $12.95-$16.95, depending on 
- version (plus shipping) 

Eastern House Software 
3239 Linda Drive 
Winston-Salem, NC 27106 
(919) 748r8446 

MAE Macro Assembler /Text Editor 
(64) 

$19.95 (plus shipping) 

FS! Software 
P.O. Box 635 
Faribault, MN 55021 
(507) 332-8122 
. The Machine Shop (64) 
$'39^.95 




I lughfi .\-.!jOi.uitesi 
45341 Marmcnv Lane 
Belleville, Ml 48111 
(313) 699-1931., - 
Freedom Assembler - 
$39.95 (64) 
S4Q.95 (128) 

Micol Systems 
9 Lynch Road 
Toronto, Ontario 
Canada M2r 2Vh 
(416) 495-6864 
M-20Q0 Machine -La 
ment System (64) 
$49.95 

Nu-Age Software 
■ 2311-28th Street N. 
St. Petersburg, FL 33713 
(813) J23-8389 
Rebel Assembler Editor (64) 
S29.'55 

Pio-1 ine Software, Ltd. 
755 The Queensway East 

Mi>.si~- K'^j, .Ontario 
Canada L4Y 4r=i 
(416) 273-6350 
PAL (64) J - . ^ 
$49.95 . 
Biiddu US Assembler (128) 
$69 95 _ 

Kub n's Sottwdii' 
10349 Zinrar Circle 
' Bloomington, MN" 55438 
(612) 944-8654 
Instant Editor Assembler (64) 
$5.00 plus $2.00- shipping and 
handling 

Rogct Wagner Publishing , 
P.O. Box 582 -"' 
Santee, CA 92071 
(619) 562-3221 

Merlin 64 Macro Assembl'ei^-{M) *■ 
$49.95 




130 



The Source 
Code 



The source code for each of the seven games m COMPUTEI's 
Machine Language Games for the Commodore 64 was originally 
developed at COMPUTE! Publications using the PAL assem- 
bler from Pro-Line Software. 

PAL uses several pseudo-ops, such as .ASC and .WORD, 
that aren't found in most other assemblers. Most pseudo-ops, 
however, are in standard MOS 6502 notation: *= updates the 
program counter (some assemblers use .ORG instead); .BYT or 
.BYTE assembles a list of numbers (some assemblers use .DB 
or .DW); .WOR or .WORD assembles a list of addresses into 
low-byte/high-byte format; .ASC is used to assemble an ASCII 
character string (many assemblers use .BYTE for this also); the 
pseudo-op < extracts the low byte of a 16-bit expression, while 
> extracts the high byte of the low byte of a 16-bit expression 
(some assemblers reverse the use of < and >, and others use 
$255 and /256 for the same effect); and = is used to assign 
an expression to a label (some assemblers use .EQU). 

You'll find comments in almost every game's source code, 
though some are more heavily commented than others. You 
needn't type them in (if that's what you're using the source 
code for), but if you do, remember to precede each comment 
with a semicolon (;). 

Since all source code was written with PAL, it's not sur- 
prising that the listings which follow are also in PAL format. 
The listings aren't source code in the strictest sense, but rather 
source code that has been assembled by PAL. Your assembler 
may display things differently. 

Here's a typical line from the listing for "CUT-OFF!" (the 
boldface headings indicate each column's content). Note that 
pseudo-ops like .ASC and .BYT don't have a final operand, 
but instead list the ASCII string or a series of numbers. 

Address Opcode Operand Label Mnemonic Operand 

C006 AD 42 03 MAINLOOP LDA STEPS 



131 



Chapter 3 



Notes on the Code 

As mentioned above, the listings that follow show the assem- 
bled source code, not the raw source code you would actually 
enter for your assembler. Thus, you can't type the listings in 
the format shown. To enter the code so that you can assemble 
it yourself, you'll need to know the source code format your 
assembler expects. For example, for Commodore's Macro As- 
sembler Development System you would type in just the labels, 
mnemonics, and operands (the three rightmost columns of the 
listings). PAL, on the other hand, requires a line number (just 
like BASIC) before every line, but allows you to use the colon 
to combine more than one instruction per line. 

You'll come across some odd-looking characters in several 
of the games' listings. These characters, limited to the .ASC 
pseudo-op, are found only within quotation marks ("). They're 
not meant to be typed in as shown, but instead represent 
key(s) you should press. 

Words within braces are the most common such charac- 
ters: {DOWN} means to press the cursor-down key; {5 LEFT} 
means to press the cursor-left key five times. 

To indicate that a key should be shifted (hold down the 
SHIFT key while pressing another key), the character is under- 
lined. For example, A means hold down the SHIFT key and 
press A. You may see strange characters on your screen, but 
that's to be expected. If you find a pair of braces enclosing a 
number followed by an underlined key, for instance, {8 A}, 
type the key as many times as indicated (in the example, enter 
eight SHIFTed A's). 

If a key is enclosed in special brackets, foj, hold down 
the Commodore key (at the lower-left comer of the keyboard) 
and press the indicated character. 

Refer to the following table: 



132 



The Source Code 



When>bu 
Read: 

{CLR} 

{HOME} 

{UP} 

{DOWN} 

{LEFT} 

{RIGHT} 

{RVS} 

{OFF! 

{BLK} 

{WHT} 

{RED} 

{CYN} 

{PUR} 

{CRN} 

{BLU} 

{YEL} 



Press: 



SHIFT 



aR/HOME 



CLR/HOME 



SHIFT 



t CRSR I 



t CRSR I 



SHIFT 



<-CRSR-. 



— CRSR— ► 



CTRL 




9 


CTRL 







CTRL 




1 


CTRL 


2 


CTRL 




3 


CTRL 


4 


CTRL 


5 


CTRL 


6 


CTRL 


7 


CTRL 




8 



See: 

n 

M 

m 
m 
m 

Q 

m 



WhenYbu 
Read: 

i 4i 
i si 

{ Fl } 

{ F2 } 

{ F3 } 

{ W } 

{ F5 } 

{ F6 } 

{ F7 ) 

{ F8 } 

r 



Press: 



COMMODORE 



COMMODORE 



COMMODORE 



COMMODORE 



COMMODORE 



COMMODORE 



COMMODORE 



COMMODORE 



ma 
mis 

QS 

HH 
HE 

h:: 



SHIFT 



SHIFT 



SHIFT 



SHIFT 



SHIFT 



133 



Source Code 

Source code by Tom R. HalfhlU 



cooo 






SCOOO 


C040 C9 00 




CMP 


#0 


cooo 


NEXTPOS 


_ 


$F7 


C042 FO 4C 




BEQ 


OUTLOOP 


cooo 


SRAM 


_ 


$FD 


C044 20 BE CO 




JSR 


NEWSCREEN 


cooo 


CRAM 





$FB 


C047 20 43 C4 




JSR 


SETUP 


GOOD 


BLACK 


_ 





C04A 4C 06 CO 




JMP 


MAINLOOP 


cooo 


RED 


_ 


2 


C04D 20 93 C3 


N0HIT1 


JSR 


MOVE 


cooo 


GREEN 


_ 


5 


C050 A9 00 




LDA 


#0 


cooo 


BLUE 






C052 8D 41 03 




STA 


PLAYER 


cooo 


GRAYS 





15 


C055 20 C4 C3 




JSR 


READJOY 


cooo 


LEVEL 




828 


C058 A2 00 




LDX 


#0 


cooo 


SC0RE1 


_ 


829 


C05A A1 F7 




LDA 


(NEXTPOS X) 


cooo 


SC0RE2 




831 


C05C C9 20 




CMP 


#32 


cooo 


PLAYER 




833 


C05E FO 20 




BEQ 


N0HIT2 


cooo 


STEPS 


_ 


834 


C060 20 93 C3 




JSR 


MOVE 


cooo 


LIVES1 




836 


C063 20 66 C5 




JSR 


CRASH 


cooo 


LIVES2 


_ 


837 


C066 20 DO C2 




JSR 


SCORE 


cooo 


POS 




838 


C069 AD 44 03 




LDA 


LIVES1 


cooo 


LATCH2 


_ 


842 


C06C C9 00 




CMP 


#0 


cooo 


LATCH1 




843 


C08E FO 20 




BEQ 


OUTLOOP 


cooo 


SHAPE2 


_ 


844 


C070 AD 45 03 




LDA 


LIVES2 


cooo 


SHAPE1 




845 


C073 C9 00 




CMP 


#0 


cooo 


J0Y1 




56321 


C075 FO 19 




BEQ 


OUTLOOP 


cooo 


J0Y2 


_ 


56320 


C077 20 BE CO 




JSR 


NEWSCREEN 


cooo 


CHROUT 


_ 


$FFD2 


C07A 20 43 C4 




JSR 


SETUP 


cooo 


PLOT 


_ 


$FFFO 


C07D 4C 06 CO 




JMP 


MAINLOOP 


cooo 


PRNLM 


_ 


SBDCD 


COBO 20 93 C3 


N0HIT2 


JSR 


MOVE 


cooo 


VOLUME 


_ 


54298 


COBS AD 01 DC 




LDA 


J0Y1 


cooo 


WWEFORM 




54276 


C086 2D 00 DC 




AND 


J0Y2 


cooo 


ATTACK 




54277 


C089 29 10 




AND 


#16 


cooo 


RELEASE 


_ 


54278 


C08B FO 06 




BEQ 


FREEZE 


cooo 


V1L0 


_ 


54272 


C08D 4C 06 CO 




JMP 


MAINLOOP 


cooo 


VI HI 


_ 


54273 


C090 4C F4 C4 


OUTLOOP 


JMP 


ENDGAME 


cooo 


BORDER 


_ 


53280 


C093 AD 01 DC 


FREEZE 


LDA 


J0Y1 


cooo 20 C1 CI 




JSR 


NEWGAME 


C096 2D 00 DC 




AND 


J0Y2 


C003 4C 06 CO 




JMP 


MAINLOOP 


C099 29 10 
C09B FO F6 




AND 
BEQ 


#16 
FREEZE 


; niain loop 








C09D A2 fA 




LDX 


#250 








C09F 20 8A C3 




JSR 


DEUY 


C008 AD 42 03 


MAINLOOP 


LDA 


STEPS 


C0A2 AD 01 DC 


PAUSE 


LDA 


J0Y1 


C009 18 




CLC 




C0A6 2D 00 DC 




AND 


J0Y2 


COOA 69 01 




ADC 


#1 


C0A8 29 10 




AND 


#16 


CODC 80 42 03 




STA 


STEPS 


COAA DO F6 




BNE 


fiHUSE 


COOF AD 43 03 




LDA 


STEPS+1 


COAC AD 01 DC 


RIUJSE2 


LDA 


J0Y1 


C012 69 00 




ADC 


#0 


COAF 2D 00 DC 




AND 


J0Y2 


C014 8D 43 03 




STA 


STEPS+1 


C0B2 29 10 




AND 


#16 


C017 AE 3C 03 




LDX 


LEVEL 


C0B4 FO F6 




BEQ 


R*USE2 


C01A 20 8A C3 




JSR 


DELAY 


C0B6 A2 FA 




LDX 


#250 


C01D A9 01 




LDA 


#1 


COBS 20 8A C3 




JSR 


DELAY 


COIF 8D 41 03 




STA 


PLAYER 


COBB 4C 06 CO 




JMP 


MAINLOOP 


C022 20 C4 C3 




JSR 


READJOY 










C025 A2 02 




LDX 


#2 


;newscreen routine 






C027 A1 F7 




LDA 


(NEXTPOS,X) 










C029 C9 20 




CMP 


#32 


COBE A9 93 


NEWSCREEN 


LDA 


#147 


C02B FO 20 




BEQ 


N0HIT1 


COCO 20 D2 FF 




JSR 


CHROUT 


C02D 20 93 C3 




JSR 


MOVE 


C0C3 A9 OF 




LDA 


#GRAY3 


C030 20 66 C5 




JSR 


CRASH 


C0C5 8D 20 DO 




STA 


53280 


C033 20 DO C2 




JSR 


SCORE 


COCO 8D 21 DO 




STA 


53281 


C036 AD 44 03 




LDA 


LIVES1 


COCB A2 00 




LDX 


#0 


C039 C9 00 




CMP 


#0 


C0CDA9 AO 


L00P1 


LDA 


#160 


C03B FO 53 




BED 


OUTLOOP 


COCF 90 00 04 




STA 


1024,X 


C03D AD 45 03 




LDA 


LIVES2 


C0D2 A9 00 




LDA 


#BLACK 



134 



The Source Code 



C004 90 00 08 




STA 


55296,X 


C0O7 E8 




INX 


CODS EO 26 




CPX 


#40 


CODA 00 F1 




BNE 


L0DP1 


C0DCA2 00 




LDX 


#0 


COOE A9 AO 


L00P2 


IDA 


#160 


COEO 9D CO 07 




STA 


1984,X 


C0E3 A9 00 




LOA 


#BLACK 


C0E5 9D CO DB 




STA 


562S6,X 


C0E8 E8 




INX 


C0E9 EO 28 




CPX 


#40 


C0E8 DO F1 




BNE 


IjOOP2 


COED A9 00 




LDA 


#0 


COEF 85 FD 




STA 


SRAM 


C0F1 A9 04 




LOA 


#4 


C0F3 85 FE 




STA 


SRAM+1 


C0F5 A9 00 




LDA 


#0 


C0F7 85 FB 




STA 


CRAM 


C0F9 A9 D8 




LDA 


#216 


COFB 85 FC 




STA 


CRAM+1 


C0FDA2 00 




LOX 


#0 


COFF A9 AO 


LD0P3 


LDA 


#160 


Ciai AO 00 




LOV 


#0 


C103 91 FD 




STA 


{SRAM).Y 


CI 05 A9 00 




LDA 


#BLACK 


C107 91 FB 




STA 


(CRAM),Y 


C109 AO 27 




LOT 


#39 


C10B A9 AO 




LDA 


#160 


C10D 91 FO 




STA 


(SRAM),Y 


CI OF A9 00 




LDA 


#BLACK 


cm 91 FB 




STA 


(CRAM),Y 


C113 18 




CLC 


C114 A5 FD 




LDA 


SRAM 


C116 69 28 




ADC 


#40 


C1 18 85 FD 




STA 


SRAM 


C11A A5 FE 




LDA 


SRAM+1 


C11C 69 00 




ADC 


#0 


CUE 85 FE 




STA 


SRAM+1 


C120 18 




CLC 




C121 A5 FB 




LOA 


CRAM 


CI 23 69 28 




ADC 


#40 


CI 25 85 FB 




STA 


CRAM 


C127 A5 FC 




LDA 


CRAM+1 


C129 69 00 




ADC 


#0 


C12B 85 FC 




STA 


CRAM+1 


CI 2D E8 




INX 




C12E EO 19 




CPX 


#25 


C130 DO CD 




BNE 


L00P3 


C132 A9 05 




LDA 


#6REEN 


C134 A2 10 




LOX 


#16 


C136 9D 00 D8 


ID0P4 


STA 


552g6,X 


C139 E8 




INX 


C13A EO 18 




CPX 


#24 


C13C DO F8 




BNE 


L00P4 


C13E A9 83 




LDA 


#131 


Clio 8D 10 04 




STA 


1040 


C143 A9 95 




LDA 


#149 


C145 80 11 04 




STA 


1041 


C148A9 94 




LOA 


#148 


C14A 8D 12 04 




STA 


1042 


CUD A9 AO 




LOA 


#173 


C14F 80 13 04 




STA 


1043 


C1S2 A9 8F 




LDA 


#143 


C154 80 14 04 




STA 


1044 


C157 A9 86 




LDA 


#134 


C159 8D 15 04 




STA 


1045 


C15C 8D 16 04 




STA 


1046 


C15F A9 A1 




LDA 


#161 


C161 80 17 04 




STA 


1047 


C164 A9 OS 




LDA 


#BLUE 


C168 80 C7 D9 




STA 


55751 



CI 69 A9 02 




LDA 


#REO 


CI 68 8D 01 09 




STA 


55761 


C16E A9 51 




LDA 


#81 


C170 80 C7 05 




STA 


1479 


C173 A9 57 




LDA 


#87 


C175 80 01 05 




STA 


1489 


C178 A9 00 




LDA 


#0 


C17A 8D 42 03 




STA 


STEPS 


C17D 80 43 03 




STA 


STEPS +1 


C180 A9 07 




LOA 


#7 


C182 80 48 03 




STA 


LATCH1 


C185 A9 OB 




LDA 


#11 


C187 80 4A 03 




STA 


UTCH2 


C18A A9 D1 




LDA 


#$D1 


C18C 80 46 03 




STA 


PCS 


C18F AS 05 




LDA 


#$s 


C191 80 47 03 




STA 


POS+1 


C194 A9 C7 




LOA 


#$C7 


C196 80 48 03 




STA 


POS+2 


C199 A9 05 




LDA 


^5 


C19B 80 49 03 




STA 


POS+3 


C19E 18 




CLC 




C19F A2 00 




LDX 


#0 


C1A1 AO 07 




LDY 


#7 


C1A3 20 FO FF 




JSR 


PLOT 


C1Ad AE 3D 03 




LOX 


SC0RE1 


C1A9 AD 3E 03 




LDA 


SC0RE1+1 


C1AC 20 CO 80 




JSR 


PRNUM 


C1AF 18 




CLC 




C1B0 A2 00 




LDX 


#0 


C1B2A0 ID 




LOY 


#29 


C1B4 20 FO FF 




JSR 


PLOT 


C1B7 AE 3F 03 




LDX 


SC0RE2 


C1BA AD 40 03 




LDA 


SC0RE2+1 


C1BD 20 CO BD 




JSR 


PRNUM 


C1C0 60 




RTS 




inewgame routine 








C1C1 A9 00 


NEWGAME 


LDA 


#0 


C1C3 8D 3D 03 




STA 


SC0RE1 


C1C6 8D 3E 03 




STA 


SC0RE1+1 


C1C9 8D 3F 03 




STA 


SC0RE2 


C1CC8D 40 03 




STA 


SC0RE2+1 


C1CF A9 51 




LDA 


#81 


C1D1 8D 4D 03 




STA 


SHAPE1 


C1D4 A9 57 




LDA 


#87 


C106 80 4C 03 




STA 


SHAPE2 


C1D9 20 BE CO 




JSR 


NEWSCREEN 


C1DCA9 05 




LDA 


#GREEN 


C10E A2 09 




LDX 


#9 


C1E0 90 FO 08 


LOOPS 


STA 


55536,X 


C1E3 E8 




INX 


C1E4 EO IE 




CPX 


#30 


C1E6 DO F8 




BNE 


LOOPS 


C1E8 A2 09 




LDX 


#9 


C1EA 90 40 09 


LD0P6 


STA 


5561 S,X 


CI ED E8 




INX 




C1EE EO IE 




CPX 


#30 


C1F0 DO F8 




BNE 


L00P6 


C1F2 80 A3 09 




STA 


55715 


C1F5 A2 00 




LDX 


#0 


C1F7 8D M C2 


L00P7 


LDA 


TABLE1,X 


C1B\ FO 06 




BEQ 


NEXT1 


C1FC 90 F9 04 




STA 


1273,X 


C1FF E8 




INX 


C200 DO F5 




BNE 


L00P7 


C202 A2 00 


NEXT1 


LDX 


#0 


C204 BD BA C2 


LOOPS 


LDA 


TABLE2,X 


C207 FO 06 




BEQ 


NEXT2 


C209 90 49 05 




STA 


1353.x 



Chapter 3 



C20C E8 




INX 




0204 13 OB 09 




.BYT 


19,11,9,12,12,32,12. 


C20D DO F5 




BNE 


L00P8 








5,22,5,12,0 


C20F A9 30 


NEXT2 


LDA 


#48 










C211 8D 3C 03 




STA 


LEVEL 


; score routine 








C214 8D A3 05 




STA 


1443 










C217 A2 64 


L00P9 


LOX 


#100 


C2D0 AD 46 03 


SCORE 


LDA 


POS 


C219 20 8A C3 




JSR 


DELAY 


02D3 00 48 03 




OMP 


POS+2 


C21C AD 01 DC 




LDA 


J0Y1 


02D6 FO 03 




BEQ 


OHEKHI 


C21F 29 OF 




AND 


#15 


02D8 40 50 03 




JMP 


NOHEADON 


C221 C9 OE 




OMP 


#14 


02DB AO 47 03 


OHEKHI 


LDA 


POS+1 


C223 FO 21 




BEQ 


LEVUP 


C20E CD 49 03 




CMP 


POS+3 


C225 C9 CD 




OMP 


#13 


C2E1 DO 79 




BNE 


NOHEADON 


C227 FO OA 




BEQ 


LEVDOWN 


02E3 AD 4B 03 




LDA 


LAT0H1 


C229 AD 01 DC 




LDA 


J0Y1 


02E6 AE 4A 03 




LDX 


UT0H2 


C22C 29 10 




AND 


#16 


02E9 09 OE 




OMP 


#14 


C22E FO 3F 




BEQ 


SETLEV 


02EB FO 00 




BEQ 


NOOLL 


C230 40 17 C2 




JMP 


L00P9 


C2E0 C9 07 




CMP 


#7 


C233 AD 3C 03 


LEVOOWN 


LDA 


LEVEL 


C2EF FO OF 




BEQ 


ECOLL 


C236 38 




SEC 




C2F1 09 OD 




OMP 


#13 


C237 E9 01 




SBC 


#1 


C2F3 FO 12 




BEQ 


SCOLL 


C239 C9 2F 




CMP 


#47 


02F5 09 OB 




CMP 


#11 


C23B FO 1C 




BEQ 


LOW 


C2F7 FO 15 




BEQ 


WCOLL 


C23D 8D 3C 03 




STA 


LEVEL 


C2F9 EO OD 


NOOLL 


CPX 


#13 


0240 8D A3 05 




STA 


1443 


C2FB FO 18 




BEQ 


HEADON 


C243 4C 17 C2 




JMP 


L0OP9 


C2F0 40 50 03 




JMP 


NOHEADON 


C246 AD 30 03 


LEVUP 


LDA 


LEVEL 


0300 EO OB 


ECOLL 


CPX 


#11 


C249 18 




OLO 




C302 FO 11 




BEQ 


HEADON 


C24A 69 01 




ADC 


#1 


0304 40 50 03 




JMP 


NOHEADON 


C24C C9 3A 




OMP 


#58 


C307 EO OE 


SOOLL 


CPX 


#14 


024E FO 14 




BEQ 


HIGH 


C309 FO OA 




BEQ 


HEADON 


C250 8D 30 03 




STA 


LEVEL 


C30B 40 50 03 




JMP 


NOHEADON 


C253 BD A3 05 




STA 


1443 


030E EO 07 


WOOLL 


OPX 


#7 


C256 4C 17 C2 




JMP 


L00P9 


0310 FO 03 




BEQ 


HEADON 


0259 A9 39 


LOW 


LOA 


#57 


0312 40 50 C3 




JMP 


NOHEADON 


025B 80 3C 03 




STA 


LEVEL 


C315 AO 3D 03 


HEADON 


LDA 


S0ORE1 


025E 80 A3 05 




STA 


1443 


0318 18 




CLC 




0261 40 17 02 




JMP 


L0OP9 


0319 6D 42 03 




ADO 


STEPS 


0264 A9 30 


HIGH 


LDA 


#48 


031C 8D 3D 03 




STA 


SC0RE1 


0266 8D 3C 03 




STA 


LEVEL 


031F AD 3E 03 




LDA 


SC0RE1+1 


0269 80 A3 05 




STA 


1443 


0322 69 00 




ADO 


#0 


0260 40 17 02 




JMP 


L00P9 


C324 80 3E 03 




STA 


SC0RE1+1 


026F AD 01 DC 


SETLEV 


LOA 


J0Y1 


C327 AO 43 03 




LDA 


STEPS+1 


0272 29 10 




AND 


#16 


C32A 18 




OLO 




0274 FO F9 




BEQ 


SETLEV 


C32B 6D 3E 03 




ADC 


SC0RE1+1 


0276 A2 FA 




LDX 


#250 


032E 80 3E 03 




STA 


S0ORE1+1 


0278 20 8A 03 




JSR 


DELAY 


0331 AE 44 03 




LOX 


LWESI 


027B AD 30 03 




LDA 


LEVEL 


0334 OA 




DEX 




027E 38 




SEC 




0335 8E 44 03 




STX 


LIVES1 


027F E9 30 




SBC 


#48 


C33B AO 3F 03 




LDA 


SC0RE2 


0281 AA 




TAX 




C33B 18 




CLC 




C282 A9 32 




LDA 


#50 


0330 6D 42 03 




ADC 


STEPS 


C284 8D 30 03 




STA 


LEVEL 


C33F 8D 3F 03 




STA 


S00RE2 


0287 EO 00 


LEVLOOP 


CPX 


#0 


0342 AD 40 03 




LDA 


SC0RE2+1 


0289 FO OD 




BEQ 


START 


0345 69 00 




ADC 


#0 


028B AO 3C 03 




LDA 


LEVEL 


0347 8D 40 03 




STA 


SC0RE2+1 


C28E 38 




SEC 




C34A AD 43 03 




LOA 


STEPS+1 


C28F E9 05 




SBC 


#5 


C34D 18 




OLO 




0291 8D 30 03 




STA 


LEVEL 


034E 60 40 03 




ADO 


S0ORE2+1 


0294 OA 




DEX 




0351 8D 40 03 




STA 


S00RE2+1 


0295 40 87 02 




JMP 


LEVLOOP 


0354 AE 45 03 




LDX 


LIVES2 


0298 20 BE CO 


START 


JSR 


NEWSOREEN 


0357 OA 




OEX 




C29B A9 OA 




LOA 


#10 


C358 8E 45 03 




STX 


LIVES2 


C29D 8D 44 03 




STA 


LIVES1 


C35B 60 




RTS 




C2A0 8D 45 03 




STA 


LIVES2 


C35C AD 41 03 


NOHEADON 


LDA 


PLAYER 


C2A3 60 




RTS 




C35F OA 




ASL 




C2A4 OD OF 16 


TABLE1 


BYT 


13.15,22,5,32,10,15, 
25,19,20 


0360 AA 
C361 BD 3D 03 




TAX 
LDA 


SOORELX 


02AE 09 03 OB 




.BYT 


9,3,11,32,21,16,47,4 
,15,23,14,0 


C364 18 
0365 6D 42 03 




OLO 
AOC 


STEPS 


C2BA 14 OF 20 


TABLE2 


.BYT 


20,15,32.3,8,15,15,1 
9,5,32 


0368 9D 3D 03 
036B BD 3E 03 




STA 
LOA 


S0ORE1,X 
SC0RE1+1,X 



136 



The Source Code 



C36E 69 00 




ADC 


#0 


C3EC E9 28 




SBC 


#40 


C370 9D 3E 03 




STA 


SC0RE1+1,X 


C3EE 95 F7 




STA 


NEXTPOS.X 


C373 AD 43 03 




LDA 


STEPS +1 


C3F0 BD 47 03 




LDA 


P0S + 1,X 


C376 18 




CLC 




C3F3 E9 00 




SBC 


#0 


C377 7D 3E 03 




ADC 


SC0RE1+1,X 


C3F5 95 F8 




STA 


NEXTP0S+1,X 


C37A 9D 3E 03 




STA 


SC0REH-1,X 


C3F7 4C 42 C4 




JMP 


JOYEXIT 


C37D AE 41 03 




LDX 


PLAYER 


C3fH 9D 4A 03 


EAST 


STA 


LATCH2,X 


C380 BD 44 03 




LDA 


LIVESrX 


C3FD 8A 




TXA 


C383 38 




SEC 




C3FE OA 




ASL 




C384 E9 01 




SBC 


#1 


C3FF AA 




TAX 




C386 9D 44 03 




STA 


LIVESrx 


C400 18 




CLC 




C389 60 




RTS 




C401 BD 46 03 
C404 69 01 




LDA 
ADC 


POS.X 

#1 


; delay routine 








C406 95 F7 
C408 BD 47 03 




STA 
LDA 


NEXTPOS.X 
P0S+1,X 


C3eAA0 00 


DEUY 


LDY 


#0 


C40B 69 00 




ADC 


#0 


C38CCB 


1J0P10 


INY 




C40D 95 F8 




STA 


NEXTP0S+1,X 


C3eD DO FD 




8NE 


LOOP10 


C40F 4C 42 C4 




JMP 


JOYEXIT 


C38F CA 




DEX 




C412 9D 4A 03 


SOUTH 


STA 


LATCH2,X 


C390 DO F8 




BNE 


DELAY 


C415 8A 




TXA 


C392 60 




RTS 




C416 OA 
C417 AA 




ASL 
TAX 




;move routine 








C418 18 
C419 BD 46 03 




OLO 
LDA 


POS.X 


C393 AE 41 03 


MOVE 


LDX 


PLAYER 


C41C 69 28 




ADC 


#40 


C396 BC 4C 03 




LDY 


SHAPE2,X 


C41E 95 F7 




STA 


NEXTPOS,X 


C399 8A 




TXA 




C420 BD 47 03 




LDA 


P0S+1,X 


C39A OA 




ASL 




C423 69 00 




ADC 


#0 


C39B AA 




TAX 




C425 95 F8 




STA 


NEXTP0S+1,X 


C39C 85 F7 




LDA 


NEXTPOS.X 


C427 4C 42 C4 




JMP 


JOYEXIT 


C39E 9D 46 03 




STA 


POS,X 


C42A 90 4A 03 


WEST 


STA 


LATCH2,X 


C3A1 B5 F8 




LDA 


NEXTP0S+1,X 


C42D8A 




TXA 


C3A3 9D 47 03 




STA 


P0S+1,X 


C42E OA 




ASL 




C3A6 98 




TYA 




C42F AA 




TAX 




C3A7 81 F7 




STA 


(NEXTPOS,X) 


C430 38 




SEC 




C3A9 B5 F8 




LDA 


NEXTP0S+1,X 


C431 BD 46 03 




LDA 


POS,X 


C3AB 18 




CLC 




0434 E9 01 




SBC 


#1 


C3AC 69 D4 




ADC 


#212 


C436 95 F7 




STA 


NEXTPOS.X 


C3AE 95 F8 




STA 


NEXrP0S+1,X 


0438 BD 47 03 




LDA 


P0S+1.X 


C3B0 EO 02 




CPX 


#2 


C43B E9 00 




SBC 


#0 


C3B2 DO 08 




BNE 


MOVERED 


C43D 95 F8 




S1A 


NEXTP0S+1,X 


C3B4 A9 06 




LDA 


#BLUE 


C43F 40 42 C4 




JMP 


JOYEXIT 


C3B6 81 F7 




STA 


(NEXTPOS,X) 


C442 60 


JDYEXIT 


RTS 




C3B8 20 99 C5 




JSR 


BEEP 










C3BB 60 




RTS 




: setup routine 








C3BC A9 02 


MOVERED 


LDA 


#RED 










C3BE 81 F7 




STA 


(NEXTP0S,X) 


C443 A2 00 


SETUP 


LDX 


#0 


C3C0 20 99 C5 




JSR 


BEEP 


0445 BD D4 04 


U)OP20 


LDA 


TABLE3.X 


C3C3 60 




RTS 




0448 FO 06 




BEQ 


NEXT21 










C44A 9D FF 04 




STA 


1279.x 


readpy routine 








C44DE8 




INX 


C3C4 AE 41 03 








C44E DO F5 




BNE 


IOOP20 


READJOY 


LDX 


PUYER 


C450 A2 00 


NEXT21 


LDX 


#0 


C3C7 BD 00 DC 




LDA 


J0Y2.X 


C452 BD El C4 


L00P21 


LDA 


TABLE4.X 


C3CA 29 OF 




AND 


#15 


0455 FO 06 




BEQ 


NEXT22 


C3CC C9 OE 


READIT 


CMP 


#14 


0457 9D 4F 05 




STA 


1359.x 


C3CE FO 12 




BEQ 


NORTH 


045A EB 




INX 


C3D0 C9 07 




CMP 


#7 


045B DO F5 




BNE 


L00P21 


C3D2 FO 26 




BEQ 


EAST 


C45D A2 00 


NEXT22 


LDX 


#0 


C3D4 C9 OD 




CMP 


#13 


C45F BD ED 04 


L0OP22 


LDA 


TABLE5,X 


C3D6 FO 3A 




BEQ 


SOUTH 


0462 FO 08 




BEQ 


NEXT23 


C3DB C9 OB 




CMP 


#11 


0464 9D 11 06 




STA 


1553.x 


C3DA FO 4E 




BEQ 


WEST 


0467 EB 




INX 


C3DC BD 4A 03 




LDA 


LATCH2,X 


0468 DO F5 




BNE 


U)0P22 


C3DF 4C CC C3 




JMP 


READIT 


046A A2 00 


NEXr23 


LDX 


#0 


C3E2 9D 4A 03 


NORTH 


STA 


LATCH2,X 


0460 BD ED 04 


L00P23 


LDA 


TABLE5,X 


C3E5 8A 




TXA 




046F FO 06 




BEQ 


NEXT24 


C3E6 OA 




ASL 




0471 9D 21 06 




STA 


1589.X 


C3E7AA 




TAX 




0474 E8 




INX 




C3E8 38 




SEC 




0475 DO F5 




BNE 


L00P23 


C3E9 BD 46 03 




LDA 


POS,X 


0477 A9 05 


NEXT24 


LDA 


#GREEN 



Chapter 3 



C479 A2 09 

C47B 9D FO 08 L00P24 
C47E E8 
C47F EO IE 
C481 DO F8 
0483 A2 09 

C485 9D 40 D9 LJ00P25 
C488 E8 
C489 EO 1E 
C48B DO F8 
C48D A2 01 

C48F 9D 08 DA IjOOP26 

C492 E8 

C493 EO 25 

C495 DO F8 

C497 18 

C498 A2 OD 

C49A AO OF 

C49C 20 FO FF 

C49F AE 45 03 

C4A2 A9 00 

C4A4 20 CD BD 

C4A7 18 

C4A8 A2 OD 

C4AA AO IF 

C4AC 20 FO FF 

C4AF AE 44 03 

C4B2 A9 00 

C4B4 20 CD BD 

C4B7 AO 01 OC WAIT 

C4BA 2D 00 DC 

C4B0 29 10 

C4BF DO F6 

C4C1 AO 01 DC WAIT1 

C4C4 20 00 DC 

C4C7 29 10 

C4C9 FO F6 

C4CBA2 00 

C4CD 20 8A C3 

C4D0 20 BE CO 

C4D3 60 

C404 10 12 OS TABLE3 

C4E1 14 OF 20 TABLE4 

C4E0 OC 09 16 TABLES 

; endgame routine 

C4F4 20 BE CO ENDGAME 
C4F7 A2 00 

C4F9 BO 41 05 LJ00P30 
C4FC FO 06 
C4FE 90 00 05 
C501 E8 
C502 DO F5 

C504 A2 00 NEXT31 
C506 BO 4B C5 L00P31 
C509 FO 08 
C50B 9D 47 05 
C50E E8 
C50F DO F5 

C511 A9 05 NEXT32 
C513 A2 01 

C515 90 FO 08 U)0P32 
C5ie E8 
C519 EO IE 
C51B DO F8 
C51D A2 01 

C51F 90 40 09 L00P33 
C522 E8 



LDX #9 

STA 55536,X 
INX 

CPX #30 

BNE L00P24 

LDX #9 

STA 55616,X 
INX 

CPX #30 

BNE L00P25 

LDX #1 

STA 55816,X 
INX 

CPX #37 

BNE U)0P26 
CLC 

LDX #13 

LDY #15 

JSR PLOT 

LDX LIVES2 

LDA #0 

JSR PRNUM 
CLC 

LDX #13 

LDY #31 

JSR PLOT 

LDX LIVES1 

LDA #0 

JSR PRNUM 

LDA J0Y1 

AND J0Y2 

AND #16 

BNE WAIT 

LDA J0Y1 

AND J0Y2 

AND #16 

BEQ WAIT1 

LDX #0 

JSR DELAY 

JSR NEWSCREEN 
RTS 

■BYT 16,18,5,19,19,32,2,2 
1,20,20,15,14,0 

.BYT 20,15,32,3.15,14,20, 
9,14,21,5,0 

.BYT 12,9,22,5,19,61,0 



JSR NEWSCREEN 

LDX #0 

LDA TABLE6,X 

BEQ NEXT31 

STA 1280,X 
INX 

BNE L00P30 

LDX #0 

LDA TABLE7,X 

BEQ NEXT32 

STA 1351,X 
INX 

BNE L00P31 

LDA #GREEN 

LDX #1 

STA 55536,X 
INX 

CPX #30 

BNE L00P32 

LOX #1 

STA 55616,X 
INX 



C523 EO 25 
CS25 DO F8 

C527 AD 01 OC LO0P34 
C52A 20 00 OC 
C520 29 10 
C52F DO F6 

C531 AO 01 DC L00P35 

0534 20 00 OC 

0537 29 10 

0539 FO F6 

053B 20 01 01 

053E 40 06 CO 

0541 07 01 OD TABLE6 

C54B 10 12 05 TABLE7 

0559 OF 20 10 



; crash routine 

C566 A9 OF CRASH 
0568 80 18 04 
0568 A9 81 
0560 80 04 04 
0570 A9 09 
0572 80 05 04 
0575 A9 64 
0577 80 00 04 
057A A9 00 
C57C 80 01 04 
C57F A9 OF 

0581 8D 20 00 BOOIW 
0584 A2 28 
0586 20 8A 03 

0589 38 
058A E9 01 
0580 09 00 
058E DO F1 

0590 A9 00 
0592 80 04 04 
0595 8D 05 04 

0598 60 

; beep routine 

0599 A9 08 BEEP 
C59B 80 18 04 
C59E A9 10 

05AO 80 OS 04 
OSA3A9 80 
05A5 80 06 04 
OSA8A9 0A 
05AAA2 00 

05AC 18 BEEPSFT 

C5A0 60 41 03 

C5B0E8 

05B1 EO OA 

C5B3D0F7 

C5BS 80 01 D4 

C5B8 A9 25 

C5BA 80 00 04 

OSBD A9 21 

OSBF 80 04 04 

0502 AE 30 03 
0505 20 8A 03 
C508 A9 00 
OSCA 80 04 04 
0500 80 OS 04 
0500 8D 08 04 

0503 60 



CPX 


#37 


BNE 


L0OP33 


LDA 


J0Y1 


AND 


J0Y2 


AND 


#16 


BNE 


IJ0OP34 


t HA 


invi 

JUT 1 


AND 


J0Y2 


AND 


#16 


BEQ 


L00P35 


JSR 


NEWGAME 


JMP 


MAINLOOP 


.BYT 


7,1,13,5,32,15,22,5, 




18,0 


.BYT 


16,18,5,19,19,32,2,2 




1,20,20,15,14,32,20 


.BYT 


15,32,16,12.1,25,32, 




1,7,1,9,14,0 


LDA 


#15 


STA 


VOLUME 


LDA 


#129 


STA 


WAVEFORM 


LDA 


#9 


STA 


ATTACK 


LDA 


#100 


STA 


VI LO 


LDA 


#12 


STA 


V1HI 


1 nA 


#15 


STA 


BORDER 


LDX 


#40 


JSR 


DELAY 


SEC 




SBC 


#1 


OMP 


#0 


BNE 


BOOM 


LOA 


#0 


STA 


m/EFORM 


STA 


AHACK 


RTS 




LDA 


#8 


STA 


VOLUME 


LOA 


#16 


STA 


AHACK 


LOA 


#128 


STA 


RELEASE 


LDA 


#10 


LDX 


#0 


CLC 




AOC 


PUYER 


INX 




CPX 


#10 


BNE 


BEEPSET 


STA 


V1HI 


LDA 


#37 


STA 


V1L0 


LDA 


#33 


STA 


VWVEFORM 


LOX 


LEVEL 


JSR 


DELAY 


LOA 


#0 


STA 


M/EFORM 


STA 


ATTACK 


STA 


RELEASE 


RTS 





138 



n 



Source code by Charles Brannon 



cooo 






$CO00 


C04A 80 IB DO 


STA 


53275 










C04D A2 05 


LDX 


#5 


COflO 


BITS 




7 


C04F 20 BD CI 


MAKEBEAST JSR 


INITDIR 


cooo 


V 


— 


53248 


C052 A9 80 


LDA 


#128 


cooo 


SPRITES 




$3800 


C054 9D CD CB 


STA 


XPOSL,X 


cooo 


INPTR 


= 


$FB 


C057 9D 03 CB 


STA 


YPOS.X 


cooo 


OUTPTR 




$FD 


C05A A9 00 


LDA 


#0 


cooo 


SID 


= 


$D400 


C05C 9D C7 CB 


STA 


XPOSH.X 


cooo 


RANDOM 




$D41B 


C05F BD 18 C7 


LDA 


C0LTAB+2,X 


cooo 


SPREX 




V 


C062 90 29 DO 


STA 


SPROCOL +2,X 


cooo 


SPRY 


S3 


V+1 


C065 BD 20 C7 


LDA 


PTRS+2,X 


cooo 


SXMSB 


= 


V+16 


C088 90 m 07 


STA 


2042,X 


cooo 


ENABLE 




V+$15 


C06B8A 


TXA 


cooo 


SEXY 




V+$17 


C06C0A 


ASL 




cooo 


MSPRITE 




V+$1C 


C06DA8 


TAY 




cooo 


SEXX 




V+$1D 


C06E A9 00 


LDA 


#0 


cooo 


SBCOLZ 




V+$1F 


C070 99 05 DO 


STA 


SPRY+4,Y 


cooo 


SSCOU 




V+$1E 


C073 CA 


DEX 


cooo 


V60RDER 




V+$20 


C074 10 09 


BPL 


MAKEBEAST 


cooo 


VBACKGR 


— 


V+$21 


C076 AD 16 C7 


LDA 


COLTAB 


cooo 


SPMCO 


— 


V+$25 


C079 8D 27 DO 


STA 


SPROCOL 


cooo 


SPMC1 




V+$26 


C07C AD 17 C7 


LDA 


COLTAB+1 


cooo 


SPROCOL 




V+$27 


C07F 80 28 DO 


STA 


SPROCOL+1 


cooo 


STROUT 




$AB1E 


C082 AD IE C7 


LDA 


PTRS 


cooo A9 47 


INIT 


LDA 


#<SHAPES 


C085 80 F8 07 


STA 


2040 


C002 85 FB 




STA 


INPTR 


C088 AD 1F C7 


LDA 


PTRS+1 


C004 A9 C7 




LDA 


#>SHAPES 


COSB 8D F9 07 


STA 


2041 


COOO 85 FC 




STA 


INPTR+1 


C08E A9 00 


LDA 


#0 


COOS A9 00 




LDA 


#<SPRITES 


C090 80 EC CB 


STA 


CRXMSB 


COOA 85 FO 




STA 


OUTPTR 


C093 A9 AO 


LDA 


#160 


COOC A9 38 




LDA 


#>SPRITES 


C095 80 EB CB 


STA 


CROSSX 


CODE 85 FE 




STA 


OUTPTR+1 


C098 8D 00 DO 


STA 


SPREX 


C010 A2 04 




LDX 


#4 


C09B 80 02 DO 


STA 


SPREX+2 


001 2 AO FF 




LDY 


#255 


C09E A9 80 


LOA 


#128 


C014 B1 FB 


MOVSHAP 


LDA 


(INPTR),Y 


COAO 8D ED CB 


STA 


CROSSY 


C016 91 FD 




STA 


(OUTPTR),Y 


C0A3 BD 01 DO 


STA 


SPRY 


coie 88 




DEY 




C0A6 80 03 DO 


STA 


SPRY+2 


C019 CO FF 




CPY 


#255 


C0A9 A9 FF 


LDA 


#255 


C01B DO F7 




6NE 


MOVSHAP 


COAB 80 15 DO 


STA 


ENABLE 


C01D E6 FC 




INC 


INPTR+1 


COAE 80 1C DO 


STA 


MSPRITE 


COIF E6 FE 




INC 


OUTPTR+1 


C0B1 A9 03 


LDA 


#3 


C021 CA 




DEX 




COBS 8D 10 DO 


STA 


SEXX 


C022 30 07 




BMI 


OUT 


COBS 80 17 DO 


STA 


SEXY 


C024 DO EE 




BNE 


MOVSHAP 


C0B9 A9 06 


LDA 


#6 


C026 AO 7F 




LDY 


#127 


COBB 8D 20 DO 


STA 


VBORDER 


C028 4C 14 CO 




JMP 


MOVSHAP 


COBE 80 21 DO 


STA 


VBACKGR 


C02B C6 FE 


OUT 


DEC 


OUTPTR+1 


C0C1 A9 05 


LDA 


#5 


C02D AO 80 




LDY 


#128 


C0C3 80 25 DO 


STA 


SPMCO 


C02F AO 00 




LDA 


#0 


C0C6 A9 04 


LDA 


#4 


C031 91 FD 


CLOOP 


STA 


(OUTPTR),Y 


COCO 8D 26 DO 


STA 


SPMC1 


C033 C8 




INY 




COCB A9 01 


LDA 


#1 


C034 DO FB 




BNE 


CLOOP 


COCO 80 F6 CB 


STA 


DUR 


C036 A9 FF 




LDA 


#255 


COOO 20 E7 C1 


JSR 


INITGAME 


C038 8D OE D4 




STA 


$D40E 


C0D3 78 


SEI 




C03B 8D OF D4 




STA 


$D40F 


C0D4 A9 76 


LDA 


#<IRQ 


C03E A9 80 




IDA 


#128 


C0D6 8D 14 03 


STA 


$314 


C040 8D 12 D4 




STA 


$0412 


C0D9 A9 C4 


LOA 


#>IRQ 


C043 A9 00 




LDA 


#0 


CODB 80 15 03 


STA 


$315 


C045 8D 18 D4 




STA 


$0418 


CODE SB 


CLI 


C048 A9 FC 




LDA 


#252 







139 



Chapter 3 



CODF AO 00 


MAIN 


LDY 


#0 


0183 29 03 




AND 


#3 


C0E1 84 07 




STY 


BITS 


0185 05 07 




ORA 


BITS 


C0E3 98 


CREATURE 


m 




0187 8D 10 DO 




STA 


SXMSB 


C0E4 OA 




ASL 




01 8A AE F5 08 




LDX 


SPEED 


C0E5 AA 




TAX 




C18D FO 08 




BEQ 


NODELAY 


C0E6 B9 C7 CB 




LDA 


XPOSH.Y 


01 8F AO 00 




LDY 


#0 


C0E9 4A 




LSR 




0191 88 


DELAY 


DEY 




COEA 66 07 




ROR 


BITS 


0192 DO FD 




BNE 


DELAY 


COEC 89 CD CB 




LDA 


XPOSL,Y 


0194 OA 




OEX 




COEF 9D 04 DO 




STA 


SPREX+4,X 


C195 DO ft 




BNE 


DELAY 


C0F2 89 D3 CB 




LDA 


YPOS.Y 


0197 AD 18 04 


NOOELAY 


LDA 


RANDOM 


C0F5 90 05 DO 




STA 


SPRY+4,X 


019A 09 80 




OMP 


#128 


C0F8 C9 32 




CMP 


#50 


01 9C 90 08 




800 


NOCHANGE 


coa 90 07 




BOC 


N0K1 


C19E AD IB D4 


ANOTHER 


LDA 


RANDOM 


COFC C9 E5 




CMP 


#229 


01 A1 C9 06 




OMP 


#6 


COPE 80 03 




BOS 


N0K1 


01 A3 BO F9 




BCS 


ANOTHER 


C100 4C OE CI 




JMP 


CHECK2 


C1A5 AA 




TAX 




C103 89 E5 CB 


N0K1 


LDA 


YDIR,Y 


01 A6 20 BD CI 




JSR 


INITDIR 


C106 49 FF 




EOR 


#255 


01A9 20 E4 FF 


NOCHANGE 


JSR 


$FFE4 


C108 18 




CLO 




01AC FO OC 




BEQ 


NOFREEZE 


01 09 69 01 




ADC 


#1 


C1AE 09 88 




CMP 


r{F7}' 


CI OB 99 E5 CB 




STA 


YDIR,Y 


01 BO DO 03 




BNE 


FREEZE 


C10E 89 C7 CB 


CHECK2 


LDA 


XPOSH.Y 


01 82 40 DO C5 




JMP 


REGAME 


cm FO OA 




BEQ 


CHECKS 


C1B5 20 E4 FF 


FREEZE 


JSR 


$FFE4 


C113 89 CDCB 




LDA 


XPOSL,Y 


C1B8 FO FB 




BEQ 


FREEZE 


C116 C9 40 




CMP 


#$40 


C1BA 40 DF 00 


NOFREEZE 


JMP 


MAIN 


C118 BO OD 




BOS 


N0K2 


C18DA9 00 


INITDIR 


LDA 


#0 


C11A 4C 3E CI 




JMP 


OVERNOK 


C18F 90 OF 08 




STA 


XOIRH,X 


C11D 89 CD C8 


CHECKS 


LDA 


XPOSUY 


0102 AO 18 04 




LDA 


RANDOM 


C120 C9 18 




CMP 


#$18 


C1C5 29 03 




ANO 


#3 


CI 22 90 03 




BCC 


N0K2 


0107 A8 




TAY 




CI 24 4C 3E CI 




JMP 


OVERNOK 


0108 B9 30 C7 




LDA 


MOVY.Y 


CI 27 A9 00 


N0K2 


LDA 


#0 


CI 08 9D 09 08 




STA 


XDIR.X 


C129 99 DF CB 




STA 


XDIRH,Y 


C10E 09 FF 




CMP 


#255 


C12C 89 09 CB 




LDA 


XDIR,Y 


CI DO DO 03 




BNE 


NOTNEG 


Clff 49 FF 




EOR 


#255 


01 02 90 OF 08 




STA 


XDIRH.X 


0131 18 




CLO 




C1D5 AD IB 04 


NOTNEG 


LDA 


RANDOM 


0132 69 01 




ADO 


#1 


01 08 29 03 




AND 


#3 


C134 99 09 CB 




STA 


XDIR,Y 


C1DAA8 




TAY 




C137 C9 FF 




OMP 


#255 


01 08 B9 30 07 




LDA 


MOVY.Y 


C139 DO 03 




BNE 


OVERNOK 


01 OE 90 E5 08 




STA 


YDIR.X 


C13B 99 DF CB 




STA 


XDIRH.Y 


C1E1 ID D9 OB 




ORA 


XDIR,X 


C13E 89 ft 07 


OVERNOK 


LDA 


2042,Y 


C1E4 FO 07 




BEQ 


INITOIR 


0141 49 01 




EOR 


#1 


G1E6 60 




RTS 




0143 99 ft 07 




STA 


2042,Y 


01 E7 A9 00 


INITGAME 


LDA 


#0 


C146 89 09 OB 




LDA 


XDIR,Y 


C1E9 80 EF 08 




STA 


SCORE 


0149 AA 




TAX 




01 EC 80 FO 08 




STA 


SOORE+1 


C14A 89 ft 07 




LOA 


2042,Y 


01 EF 8D FT OB 




STA 


TIMER 


C14D 09 02 




ORA 


#2 


C1F2 80 F2 08 




STA 


TIMER +1 


014F 99 ft 07 




STA 


2042,Y 


C1F5 80 F3 08 




STA 


LENS 


0152 EO 01 




CPX 


#1 


C1F8 80 40 CO 




STA 


GAME 


CI 54 FO 05 




BEQ 


NOTURN 


C1F8 A9 14 




LDA 


#20 


0156 49 02 




EOR 


#2 


C1FD 80 F4 CB 




STA 


FILM 


0158 99 ft 07 




STA 


2042,Y 


0200 A9 05 




LOA 


#5 


C15B 18 


NOTURN 


OLO 




0202 80 F5 08 




STA 


SPEED 


C15C 89 CD CB 




LDA 


XPOSL.Y 


0205 A9 BF 




LDA 


#<TOPLIN 


C15F 79 D9 08 




ADO 


XDIR,Y 


0207 AO C2 




LDY 


#>TOPLIN 


0162 99 CO CB 




STA 


XPOSUY 


C209 20 IE A8 




JSR 


CToni IT 
bIHUUI 


0165 B9 C7 08 




LDA 


XPOSH.Y 


C20C A9 FO 




LOA 


#<OPTMSG 


0168 79 OF OB 




ADC 


XDIRH,Y 


C20E AO 02 




LDY 


#>OPTMSG 


C16B 99 07 08 




STA 


XPOSH,Y 


0210 20 IE AB 




JSR 


STROUT 


C16E 18 




OLO 




0213 20 E4 FF 


GETAKEY 


JSR 


$FFE4 


016F 89 D3 CB 




LDA 


YPOS,Y 


0216 FO FB 




BEQ 


GETAKEY 


0172 79 E5 CB 




ADO 


YOIR,Y 


C218 09 85 




CMP 


r{F1}- 


0175 99 D3 08 




STA 


YPOS,Y 


C21A DO 12 




BNE 


NQTFI 


0178 08 




INY 




C210 A9 EO 




LOA 


#$E0 


C179 CO 06 




CPY 


#6 


C21E 80 F8 07 




STA 


2040 


0178 FO 03 




BEQ 


DONEX 


0221 A9tE1 




LDA 


#$E1 


0170 40 E3 CO 




JMP 


CREATURE 


0223 8b F9 07 




STA 


2041 


0180 AO 10 DO 


DONEX 


LDA 


SXMSB 


0226 A9 00 




LDA 


#0 



140 



The Source Code 



C228 8D F3 CB 

C22B 4C 13 C2 

C22E C9 86 NOTFI 

C230 DO 12 

C232 A9 E2 

C234 8D F8 07 

C237 A9 E3 

C239 8D F9 07 

C23C A9 01 

C23E 8D F3 CB 

C241 4C 13 C2 

C244 C9 87 NOTES 

C246 00 IE 

C248 EE F5 CB 

C24B AD F5 CB 

C24E 10 05 

C250 A9 09 

C252 8D F5 CB 

C255 C9 OA NOTNINE 

C257 90 05 

C259 A9 00 

C25B 8D F5 CB 

C25E 09 30 OVERIT 

C260 8D 06 04 

C263 4C 13 C2 

C266 C9 88 NOTES 

C268 FO 33 

C26A C9 8C 

C26C DO A5 

C26E EE 4C CC 

C271 20 9D 02 

C274 A2 32 

C276 AO 28 

0278 AD IB D4 NOGOOD 

027B C9 A7 

027D BO F9 

C27F 85 FD 

0281 AD IB D4 

0284 29 03 

0286 18 

C287 69 04 

C289 85 FE 

C28B A9 AO 

C28D 91 FD 

028F A5 FE 

C291 69 D4 

C293 85 FE 

0295 A9 00 

0297 91 FD 

0299 OA 

C29A DO DO 

C29C 60 

029D A9 BF GOGAME 
C29F AO 02 
C2A1 20 IE AB 
C2A4 AD F5 OB 
C2A7 09 30 
C2A9 8D 06 04 
C2AC38 
C2AD A9 09 
02AF ED F5 OB 
C2B2 8D F5 OB 
C2B5 OE F5 OB 
02B8 OE F5 OB 
02BB OE F5 OB 
C2BE 60 

02BF 93 92 OE TOPLIN 



STA 


LENS 


JMP 


GETAKEY 


CMP 


r{F3}" 


ONE 


N0TF3 


LDA 


#$E2 


STA 


2040 


LDA 


#$E3 


STA 


2041 


LDA 


#1 


STA 


LENS 


JMP 


GETAKEY 


CMP 


r{F5}- 


BNE 


N0TF5 


INC 


SPEED 


LDA 


SPEED 


BPL 


NOTNINE 


LDA 


#9 


STA 


SPEED 


CMP 


#10 


BCC 


OVERIT 


LDA 


#0 


STA 


SPEED 


ORA 


#48 


STA 


1030 


JMP 


GETAKEY 


CMP 


r{F7}" 


BEQ 


GOGAME 


CMP 


r{F8}' 


BNE 


GETAKEY 


INC 


GAME 


JSR 


GOGAME 


LDX 


#50 


LDY 


#40 


LDA 


RANDOM 


OMP 


#167 


BCS 


NOGOOD 


STA 


OUTPTR 


LDA 


RANDOM 


AND 


#3 


CLC 




ADO 


#4 


STA 


OUTPTR+1 


LDA 


#160 


SIA 


(0UTPTR),Y 


LDA 


OUTPTR+1 


ADO 


#$D4 


STA 


OUTPTR+1 


LDA 


#0 


STA 


(0UTPTR),Y 


DEX 




BNE 


NOGOOD 


RTS 




LDA 


#<T0PLIN 


LDY 


#>TDPLIN 


JSR 


STROUT 


LDA 


SPEED 


ORA 


#48 


STA 


1030 


SEC 




LDA 


#9 


S60 


SPEED 


STA 


SPEED 


ASL 


SPEED 


ASL 


SPEED 


ASL 


SPEED 


RTS 





■ASC ■{CLR}{OFF}{N}{ 
CYN}Sp6ed:{YEL} 
5 [<7>]Nessie [<8 
^Im Left:{YEL}20 



C2EE OD 00 

C2F0 99 12 46 OPTMSG 



C30F 20 12 46 

C31A OD 
C31B 12 46 37 



C338 00 

C339 AD 00 DC JOYMOVE 

C33C48 

C33D 29 10 

C33F 8D EE CB 

0342 68 

C343 29 OF 

C345 49 OF 

C347 AA 

C348 18 

0349 AD EB CB 

C34C 7D 31 07 

C34F 8D EB CB 

0352 8D 00 DO 

0355 8D 02 DO 

0358 AD EC CB 

C35B 7D 26 C7 

C35E 8D EC CB 

C361 4A 

0362 08 

C363 AD 10 DO 

0366 4A 

0367 4A 

0368 28 

0369 08 
036A2A 
036B 28 
0360 2A 
C36D 8D 10 DO 
C370 18 

0371 AD ED CB 
0374 7D 30 07 
0377 BD ED CB 
037A 8D 01 DO 
037D 8D 03 DO 
0380 AO EE CB 
0383 FO OD 
0385 A9 00 
0387 8D F7 CB 
038A A9 01 
C38C 8D F6 CB 
C38F 40 AO C3 
C392 AD F7 CB FRAME 
C395 FO 17 
C397 AD F6 CB 
C39A FO 04 
C39C CE F6 CB 
C39F60 

C3A0 A9 08 EXPIRED 
C3A2 BD 20 DO 
C3A5 8D 21 DO 
C3A8A9 80 
03AA8D 04 D4 
03AD60 

03AE OE 26 04 DOFR 
03B1 AD 26 04 
03B4 09 30 
03B6 BO 14 



.BYT 13,0 

.ASC " [<6:H{RVS)F1{0 
FF}:TELEPH0T0 {R 
VS}F3{0FF}:Wi(l 
e Angle 

.ASC " {RVS}F5{0FF}:S. 
PEED- 

.BYT 13 

JiSC •{RVS}F7{0FF):EA 
SY GAME {RVS}F8 
{OFF}:Hatd Game" 



.BYT 





LDA 


56320 


PHA 




AND 


#16 


STA 


FIRE 


PLA 




AND 


#15 


EOR 


#15 


TAX 




CLC 




LDA 


CROSSX 


ADO 


LMOVX,X 


STA 


CROSSX 


STA 


SPREX 


STA 


SPREX+2 


LDA 


ORXMSB 


ADC 


HMOVX,X 


STA 


ORXMSB 


LSR 




PHP 




LDA 


SXMSB 


LSR 




LSR 




PLP 




PHP 




ROL 




PLP 




ROL 




STA 


SXMSB 


CLC 




LDA 


CROSSY 


ADC 


MOVY,X 


STA 


CROSSY 


STA 


SPRY 


STA 


SPRY+2 


LDA 


FIRE 


BEQ 


FRAME 


LDA 


#0 


SW 


YESFIRE 


LDA 


#1 


STA 


DUR 


JMP 


EXPIRED 


LDA 


YESFIRE 


BEQ 


DOFR 


LDA 


DUR 


BEQ 


EXPIRED 


DEC 


DUR 


RTS 




LDA 


#6 


STA 


VBORDER 


STA 


VBACKGR 


LDA 


#128 


STA 


SID+4 


RTS 




DEC 


1062 


LDA 


1062 


CMP 


#■0- 


BCS 


OK 



141 



Chapter 3 



C3B8 A9 39 




LOA 


#"9' 


C46C 


C3BA oD 26 04 




STA 


1062 


C46E 


C3BD CE 25 04 




DEC 


1061 


C470 


C3C0 AD 25 04 




LOA 


1061 


C472 


C3C3 C9 31 




CMP 


#"1" 


C475 


C3C5 BO 05 




BCS 


OK 


C476 


C3C7 A9 20 




LOA 


#32 


C479 


popn on oc n^i 
(/3U9 oD 25 04 




STA 


1061 


C47C 


CXCA9 1F 


OK 


LDA 


#$1F 


C47F 


Pipr on ftc nA 

C3CE 8D 05 D4 




STA 


SID+5 


C482 


Pon-4 on 4 nA 

C3D1 8D 18 04 




STA 


SID +24 


C485 


Pin J Aft ni 

C304 A9 03 




LDA 


#3 


C487 


C3D6 8D 06 D4 




STA 


SIO+6 


C489 


nonn An rf 

C3D9 A9 FF 




LDA 


#255 


C48C 


C3DB 8D 00 04 




STA 


SIO 


C48E 


C3DE 8D 01 D4 




STA 


SID+1 


C491 


C3E1 8D 04 D4 




STA 


SIO +4 


C492 


nor A Aft A A 

C3E4 A9 04 




LOA 


#4 


C494 


C3E6 8D 4A CC 




STA 


MASK 


C497 


C3E9 A2 06 




LOX 


#6 


C499 


C3E6 AC F4 CB 




LOY 


FILM 


C49C 


C3EE 88 




DEY 




C49F 


nnrr a n nn 

C3EF A9 00 




LDA 


#0 


C4A0 


nnr4 nn nn nn 

C3F1 99 20 CC 




STA 


BORDER.Y 


C4A2 


nnrA An a a nn 

C3F4 AO 4A CC 


6C0LZ 


LDA 


MASK 


C4A5 


nor? nn nn 

C3F7 09 02 




ORA 


#2 


C4A7 


norn nn ^ c nn 

C3r9 80 15 DO 




STA 


ENABLE 


C4AA 


oocn An nn 

C3FC AD 1E DO 




LDA 


SSCOLZ 


C4AC 


norr nn ^r n a 

C3FF 20 7F C4 




JSR 


WttlT60 


C4AF 


n Ann An Ar nn 

C402 AD 1E DO 




LDA 


SSCOLZ 


C4B1 


PAnc nn r"n 

C405 29 FO 




AND 


#253 


C4B4 


PAft? ^n nn nn 

C407 19 20 CC 




ORA 


BORDER,Y 


C466 


p AftA nn nn nn 

C40A 99 20 CC 




STA 


BOROER.Y 


C4B9 


P jvnn nr a a nn 

C40D OE 4A CC 




ASL 


KMSK 


C4BB 


C410 CA 




DEX 




C4BE 


Pii-iH nn r-t 

C411 DO El 




BNE 


BCOLZ 


C4C0 


PA4 Aft n^ 

C413 A9 01 




LOA 


#1 


C4C3 


PAic on nn nn 

u415 oD 20 DO 




STA 


vBOROER 


C4C5 


PA-10 on n^ nn 

C418 8D 21 DO 




STA 


VBACKGR 


C4C8 


nA^D on C7 no 

C41B 8D r7 CB 




STA 


YESFIRE 


C4CA 


f\AAr An nA 

C41E A9 04 




LOA 


#4 


C4C0 


OAnn nn a a nn 

C420 80 4A CC 




STA 


MASK 


C4CF 


p>inn An n^ 

C423 A2 06 




LDX 


#6 


C4D2 


PAoc An nn 

C425 A9 00 




LOA 


#0 


C4D5 


n AftT nn n a nn 

C427 99 34 CC 




STA 


HAIR,Y 


C4D7 


n An A An a a nn 

C42A AO 4A CC 


HCOLZ 


LDA 


MASK 


C40A 


C42D 09 01 




ORA 


#1 


C40C 


C42F 80 15 00 




STA 


ENABLE 


C4DD 


nAnn An nn 

C432 AO 1E DO 




LDA 


SSCOLZ 


C40E 


0435 20 7F C4 




JSR 


WAIT60 


C40F 


C438 AD IE DO 




LDA 


SSCOLZ 


C4E0 


nAnn nn rr 

C43B 29 Ft 




AND 


#254 


C4E1 


n Ann 4 n n a nn 

C43D 19 34 CC 




ORA 


HAIR,Y 


C4E2 


C440 99 34 CC 




STA 


HAIR.Y 


C4E3 


C443 OE 4A CC 




ASL 


MASK 


C4E4 


C446 CA 




DEX 




C4E5 


PAA7 nn 

C447 DO El 




BNE 


HCOLZ 


C4E7 


PAAQ An ic nn 
Kj'm)} ftu ir uu 






CDrni 7 
oDUJL^ 


u4tA 


C44C 20 7F C4 




JSR 


WAIT60 


C4EC 


C44F AD IF 00 




LDA 


SBCOLZ 


C4EF 


C452 99 F8 CB 




STA 


GARBAGE,Y 


C4F0 


C455 AD 00 DC 




LDA 


56320 


C4F2 


C458 29 OF 




AND 


#15 


C4F4 


C45A 49 OF 




EOR 


#15 


C4F5 


C45C 99 OC CC 




STA 


BLUR,Y 


C4F7 


C45F A9 FF 




LOA 


#255 


C4F9 


C461 80 15 DO 




STA 


ENABLE 


C4FC 


C464 CE F4 CB 




DEC 


FILM 


C4FE 


C467 AD F4 CB 




LDA 


FILM 


C501 


C46A FO 26 




BEQ 


GAMEOVER 


C503 



142 



u 
u 
u 



C9 05 CMP #5 

DO 05 BNE NOYEL ; ( 

A9 07 LOA #7 1 — ' 

80 28 00 STA SPROCOL+1 

60 NOYEL RTS , , 

20 89 C4 IRQ JSR INCTIM 1 I 

20 39 C3 JSR JOYMOVE 

4C 31 EA JMP $EA31 

20 82 C4 VWrSO JSR VWT I I 

AD 12 DO VWT LDA $0012 ' — 

C9 FF CMP #255 

DO F9 BNE WAIT 

EE F1 CB INCTIM INC TIMER 

DO 03 BNE NOINC 

EE F2 CB INC TlMER+1 

60 NOINC RTS 

A9 93 GAMEOVER LDA #"{CLR}" 

20 02 FF JSR $FFD2 

A9 00 LDA #0 

80 20 DO STA VBOROER 

80 21 DO STA VBACKGR 

78 SEI 

A9 OF LDA #<RASTER 

80 14 03 STA $314 

A9 C6 LDA #>RASTER 

8D 15 03 STA $315 

A9 01 LDA #1 

80 1A 00 STA $001A 

A9 18 LDA #27 

80 11 DO STA $0011 

A9 32 LOA #50 

80 12 00 STA $0012 

A9 7F LDA #127 

80 OD OC STA $DC0D 

A9 FF LDA #255 

8D IB DO STA 53275 

A9 00 LDA #0 

80 4B CC STA WHICH 

A9 IF LOA #31 

80 15 DO STA ENABLE 

A9 FF LDA #255 

80 10 DO STA SEXX 

80 17 DO STA SEXY 

A9 10 LDA #16 

80 10 DO STA SXMSB 

A2 00 LDX #0 

8A INITIX TXA 

OA ASL 

A8 TAY 

OA ASL 

OA ASL 

OA ASL 

OA ASL 

OA ASL 

18 CLC 

69 ID ADC #29 ll 

99 00 DO STA SPREX,Y 

A9 09 LOA #9 

9D 27 DO STA SPROCOL,X j 1 

E8 INX ' — ' 

EO 05 CPX #5 

D0E8 BNE INITIX 1 ; 

58 CLI \ I 

A2 13 LOX #19 

AO 00 LOY #0 

BO F8 CB TALLY LDA GARBAGE.X I 

29 03 AND #3 

10 OC CC ORA BLUR,X 

FO OA BEQ NOTBLUR I ] 

A9 F1 LDA #$F1 » — ' 



LJ 



The Source Code 



2505 99 85 C6 




STA 


WHAT.Y 


C50B A9 00 




LOA 


#0 


C50A 4C 56 C5 




JMP 


XXX 


C50D BD 34 CC 


NOTBLUR 


LDA 


HAIR.X 


C510 2') 40 




AND 


#64 


C512 DO 2C 




BNE 


NESSIE 


C514 BD 34 CC 




LDA 


HAIR,X 


C517 DO OA 




BNE 


NOTBLANK 


C519 A9 F2 




LDA 


#$F2 


C51B 99 65 C6 




STA 


WHAT.Y 


C51E A9 00 




LDA 


#0 


C520 4C 56 C5 




JMP 


XXX 


C523 8E 48 CC 


NOTBLANK 


STX 


TEMP 


C526 BD 34 CC 




LDA 


HAIR,X 


C529 A2 00 




LDX 


#0 


C52B 4A 


BLQOP 


LSR 




C52C BO 04 




BCS 


FBIT 


C52E E8 




INX 




C52F 4C 2B C5 




JMP 


SLOOP 


C532 BD IE C7 


FBIT 


LDA 


PTRS.X 


C535 99 65 C6 




STA 


WHAT.Y 


C538 AE 48 CC 




LDX 


TEMP 


C53B A9 05 




LDA 


#5 


C53D 4C 56 C5 




JMP 


XXX 


C540 BD 20 CC 


NESSIE 


LDA 


BORDER,X 


C543 FO OA 




BEQ 


TRUENESS 


C545 A9 FO 




LDA 


#$F0 


C547 99 65 C6 




STA 


WHAT.Y 


C54A A9 OA 




LDA 


#10 


C54C 4C 56 C5 




JMP 


XXX 


C54F A9 EC 


TRUENESS 


LDA 


#$EC 


C551 99 65 C6 




STA 


WHAT.Y 


C5S4 A9 C8 




LDA 


#200 


C556 18 


XXX 


CLC 




C557 6D EF CB 




ADC 


SCORE 


C55A 8D EF CB 




STA 


SCORE 


C55D AD FO CB 




LDA 


SCORE+1 


C560 69 00 




ADC 


#0 


C562 8D FO CB 




STA 


SCORE+1 


C565 CA 




DEX 




C566 C8 




INY 




C567 CO 14 




CPY 


#20 


C569 DO 8E 




BNE 


TALLY 


C56B 20 79 C6 




JSR 


BOXES 


C56E AD EF CB 




LDA 


SCORE 


C571 OD FO CB 




ORA 


SCORE+1 


C574 FO ID 




BEQ 


PRSCORE 


C576 38 




SEC 




C577 AD EF CB 




LDA 


SCORE 


C57A ED F2 CB 




SBC 


TIMER +1 


C57D 8D EF CB 




STA 


SCORE 


C580 AD FO CB 




LDA 


SCORE+1 


C583 E9 00 




SBC 


#0 


C585 8D FO CB 




STA 


SCORE+1 


C588 AD 4C CC 




LDA 


GAME 


C5eB FO 06 




BEQ 


PRSCORE 


C56D OE EF CB 




ASL 


SCORE 


C590 2E FO CB 




ROL 


SCORE+1 


C593 A2 18 


PRSCORE 


LDX 


#24 


C595 AO 00 




LDY 


#0 


C597 18 




CLC 




C598 20 FO FF 




JSR 


$FFF0 


C59B A9 EC 




LDA 


#<SCORWORD 


C59D AO C5 




LDV 


#>SCORWORD 


C59F 20 IE AB 




JSR 


STROUT 


C5A2 AE EF CB 




LDX 


SCORE 


C5A5 AD FO CB 




LDA 


SCORE+1 


C5A8 20 CD BD 




JSR 


$BDCD 


C5A6 A9 30 




LDA 


#"0" 


C5AD 20 D2 FF 




JSR 


$FFD2 



C5B0 AD F3 CB 




LDA 


LENS 


C5B3 DO 05 




BNE 


FBO 


C5B5 A9 30 




LDA 


ro" 


C5B7 20 D2 FF 




JSR 


$FFD2 


C5BA A2 78 


FBO 


LDX 


#120 


C5BC 20 7F C4 


DELAY2 


JSR 


WUT60 


C5BF CA 




DEX 




C5C0 DO W 




BNE 


DELAY2 


C5C2 AD 00 DC 


FBI 


LDA 


56320 


C5C5 29 10 




AND 


#16 


C5C7 FO F9 




BEQ 


FBI 


C5C9 AD 00 DC 


FB2 • 


LDA 


56320 


C5CC29 10 




AND 


#16 


C5CE DO F9 




BNE 


FB2 


C5D0 78 


REGAME 


SEI 




CSD1 A9 00 




LDA 


#0 


C5D3 80 1A DO 




STA 


$D01A 


C5D6 A9 FF 




LDA 


#255 


C5D8 8D OD DC 




STA 


$DCOD 


C5DBA9 31 




LDA 


#$31 


C5DD8D 14 03 




STA 


$314 


C5E0 A9 EA 




LDA 


#$EA 


C5E2 80 15 03 




STA 


$315 


C5E5 58 




CLI 




C5E6 A2 FF 




LDX 


#255 


C5EB 9A 




TXS 




C5E9 40 00 CO 




JMP 


INIT 


C5EC 9F DO 4C 


SCORWORD 


J«C 


•{CYN}PUY A( 
:SNAP SHUTTEI 








7>JSC0RE:{YEl 
VS}" 








C60E 00 




.BYT 





C60F AD 12 DO 


RASTER 


LDA 


$0012 


0612 18 




CLC 




C613 69 02 




ADC 


#2 


C615 8D 01 DO 




STA 


SPRY 


C618 8D 03 DO 




STA 


SPRY +2 


C61B 8D 05 DO 




STA 


SPRY +4 


C61E 8D 07 DO 




STA 


SPRY+6 


C621 8D 09 DO 




STA 


SPRY+8 


C624 8D OB DO 




STA 


SPRY+10 


C627 AE 4B CC 




LDX 


WHICH 


C62A BD 61 C6 




LDA 


LAST.X 


C62DA8 




TAY 




C62E A2 00 




LDX 


#0 


C630 B9 65 C6 


WLOOP 


LDA 


WHAT.Y 


C633 9D F8 07 




STA 


2040.x 


C636 C8 




INY 




C637 E8 




INX 




C638 EO 05 




CPX 


#5 


C63A DO F4 




BNE 


WLOOP 


C63C EE 4B CC 




INC 


WHICH 


C63F AD 4B CC 




LDA 


WHICH 


C642 09 04 




CMP 


#4 


C644 DO 05 




BNE 


RX 


C646 A9 00 




LDA 


#0 


C648 80 4B CC 




STA 


WHICH 


C64BAA 


RX 


TAX 




C64C BD 5D C6 




LDA 


VPOS.X 


C64F 80 12 DO 




STA 


$0012 


0652 A9 01 


REXIT 


LDA 


#1 


0654 8D 19 DO 




STA 


$D019 


0657 68 




PLA 




C658 A8 




TAY 




C659 68 




PLA 




C65AAA 




TAX 




C65B 68 




PLA 




C65C40 




RTI 




C65D 31 61 92 


VPOS 


.BYT 


49.97.146.194 


C661 00 05 OA 


LAST 


■BYT 


0.5,10.15 



143 



Chapter 3 



C665 EO E1 E2 


WHAT 


.BYT 


$E0,$E1,$E2,$E3,$E 


C66A E4 E3 E1 




.BYT 


4 

$E4,$E3,$E1,$E2,$E 
4 


C66F El E3 E2 




.BYT 


$E1,$E3,$E2,$E4,$E 



C674 El E3 E1 




.BYT 


$E1,$E3,$E1,$EC,$E 
5 


; 

C679 A2 00 


BOXES 


LDX 


#0 


C67B A9 07 




LDA 


#7 


C67D 9D 00 D8 


OFILL 


STA 


SD800,X 


C680 9D 00 D9 




STA 


$O900,X 


C683 9D GO DA 




STA 


$DAOO,X 


0666 9D 00 DB 




STA 


$OB00.X 


C689 E8 




INX 




CeOA DO F1 




BNE 


CFILL 


C68C A9 00 




LDA 


#0 


C68E 85 FD 




STA 


OUTPTR 


C690 A9 04 




LDA 


#4 


C692 80 49 CC 




STA 


TEMP+1 


C695 85 FE 




STA 


OUTPTR+1 


C697 A9 05 


BOXROW 


LDA 


#5 


C699 8D 48 CC 




STA 


TEMP 


C69CA0 00 




LDY 


#0 


C69E A9 70 


TOPBOX 


LDA 


#112 


C6A0 91 FD 




STA 


(OUTPTR),Y 


C6A2 08 




INY 


06A3A2 06 




LDX 


#6 


C6A5A9 40 




LDA 


#64 


C6A7 91 FD 


BAR1 


STA 


(OUTPTR),Y 


C6A9 08 




INY 


C6AACA 




DEX 




C6ABD0 FA 




BNE 


BAR1 


C6ADA9 6E 




LDA 


#110 


C6AF91 FD 




STA 


(OUTPTR),Y 


C6B1 08 




INY 




C6B2 OE 48 CC 




DEC 


TEMP 


C6BSAD4B CC 




LDA 


TEMP 


C6B8 DO E4 




BNE 


TOPBOX 


C6BA A2 04 




LDX 


#4 


C6B0 20 08 C7 


SIDES 


JSR 


140 


C6BFA0 00 




LDY 


#0 


C601 18 




OLO 




C602 AO 5D 


SIDE 


LDA 


#93 


0604 91 FD 




STA 


(OUTPTR),Y 


0606 98 




TYA 


C607 69 07 




ADC 


#7 


0609 A8 




m 




C60A A9 5D 




LDA 


#93 


C60C91 FD 




STA 


(OUTPTR),Y 


C60E 08 




INY 




C60F CO 28 




CPY 


#40 


C6D1 90 EF 




BCC 


SIDE 


C6D3 0A 




DEX 




C6D4 DO E6 




BNE 


SIDES 


C6D6 20 08 C7 




JSR 


L40 


C6D9 A9 05 




LDA 


#5 


C6DB8D48 CC 




STA 


TEMP 


C6DE AO 00 




LDY 


#0 


C6E0 A9 6D 


BOTBOX 


LDA 


#109 


C6E2 91 FD 




STA 


(OUTPTR),Y 


C6E4 08 




INY 


C6E5A2 06 




LDX 


#6 


C6E7A9 40 




LDA 


#64 


C6E9 91 FD 


BAR2 


STA 


(OUTPTR),Y 


C6EB08 




INY 


C6EC0A 




DEX 




CeEDDOH^ 




BNE 


BAR2 


C6EF A9 7D 




LDA 


#125 



C6F1 91 FD 




STA 


(OUTPTR),Y 


C6F3 08 




INY 


C6F4 OE 48 00 




DEC 


TEMP 


C6F7 AD 48 OC 




LDA 


TEMP 


(m DO E4 




BNE 


BOTBOX 


C6FC 20 08 07 




JSR 


L40 


C6FF CE 49 CO 




DEC 


TEMP+1 


0702 AD 49 00 




LDA 


TEMP+1 


0705 DO 90 




BNE 


BOXROW 


0707 60 




RTS 




0708 A5 FD 


L40 


LDA 


OUTPTR 


C70A18 




CLC 




C70B 69 28 




ADO 


#40 


070D 85 FD 




STA 


OUTPTR 


U(Ur no rc 




1 riA 


ni ITPTR-H 
uUlrmT 1 


0711 69 00 




ADO 


#0 


0713 85 FE 




STA 


OUTPTR+1 


0715 60 




RTS 




P71R OA np no 

U( 10 UM UC \J3 


rni TAR 


RVT 
.DT 1 


1fl 1^ Q Q 1 1 7 

lu, t'i.y.y, 1, 1,1,3 


071E EO El E4 


PTRS 


.BYT 


$E0.$E1,$E4,$E4,$E 








8,$E8,$E0,$E4 


0726 00 00 00 


HMOVX 


.BYT 


0,0,0,0,255,255,255, 








0,0,0,0 


0731 00 00 00 


LMOVX 


.BYT 


0,0,0,0,255,255,255, 








0,1,1,1 


0730 00 FF 01 


MOVY 


.BYT 


0,255,1,0,0,255,1,0, 








0,255,1 


0747 00 00 00 


SHAPES 


.BYT 


0,0,0,0,0,0,0,0 


C74F 00 00 80 




.BYT 


0,0,128,0,0,128,0,2 


0757 AO 00 00 




.BYT 


160,0,0,128,0,0,128, 


075F 00 00 00 




.BYT 




0,0,0,0,0,0,0,0 


0767 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


C76F 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


0777 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


C77F 00 00 00 




.BYT 


0,0,0,0,0,0,0,147 


0787 AA AA 80 




.BYT 


170,170,128,128,0,1 








28,128,0 


078F 80 80 00 




.BYT 


128,128,0,128,128,0 








,128,128 


0797 00 80 80 




.BYT 


0,128,128,0,128,128 








,0,128 


079F 80 00 80 




.BYT 


128,0,128,128,0,128 








,128,0 


07A7 80 AA AA 




.BYT 


128,170,170,128,0,0 








,0,0 


07AF 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


07B7 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


C7BF 00 00 00 




.BYT 


0,0,0,0,0,0,0,147 


0707 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


070F 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


07D7 08 00 00 




.BYT 


008,0,0,8,0,0,8,0 


TTHF nn AA (in 

UfUr UU nn OU 




RVT 
.DT 1 


U, 1 lU, t(:D,U,0,U,U,0 


07E7 00 00 08 




.BYT 


0,0,8,0,0,0,0,0 


C7EF 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


07F7 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


07FF 00 00 00 




.BYT 


0,0,0,0,0,0,0,48 


0807 2A AA AA 




.BYT 


042,170,170,32,0,2, 








32,0 


080F 02 20 00 




.BYT 


002,32,0,2,32,0,2,32 


0817 00 02 20 




.BYT 


0,2,32,0,2,32,0,2 


081F 20 00 02 




.BYT 


032,0,2,32,0,2,32,0 


0827 02 20 00 




.BYT 


002,32,0,2,32,0,2,32 


082F 00 02 20 




.BYT 


0,2,32,0,2,32,0,2 


0837 2A AA AA 




.BYT 


042,170,170,0,0,0,0, 



083F 00 00 00 




.BYT 


0,0,0,0,0,0,0,48 


0847 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


C84F 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 



144 



The Source Code 



C857 00 


00 


00 


•BYT 


0,0,0,0,0,0,0,0 


C8SF 00 


00 00 


.BYT 


0,0,0,80,170,0,118,1 


0867 AO 


56 AE 


.BYT 


70 

160,86,174,168,22,2 










34,186,6 


C86FAE 


AAOB 


.BYT 


174,170,11,170,233, 










1U,1rU,14a 


C877 05 


40 


14 


.BYT 


005,64,20,1,0,80,0,6 


C87F 40 


00 


00 


.BYT 


4 

064,0,0,0,0,0,0,233 


C887 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C88F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C897 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C89F 00 


00 


00 


.BYT 


0,0,0,0,170,0,82,170 


C8A7A0 


76 


AE 


.BYT 


160,118,174,168,86, 










234,186,22 


C8AFAE 


AA 


OB 


.BYT 


174,170,11,170,233, 










10,170,148 


C8B7 01 


40 


14 


.BYT 


001,64,20,0,80,5,0,1 


C88F 00 


00 


00 


.BYT 


6 

0,0,0,0,0,0,0,233 


C8C7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C8CF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C8D7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C8DF 00 


00 


00 


.BYT 


0,0,0,0,170,5,10,170 


C8E7 90 


2A 


BA 


.BYT 


157,42,186,149,174, 










171,148,170 


CBEF BA 


90 


6B 


.BYT 


186,144,107,170,22 










4,86,170,160 


C8F7 14 


01 


50 


.BYT 


020,1,80,5,0,64,1,1 


C8FF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,233 


C907 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C90F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C917 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C91F 00 


00 


00 


.BYT 


0,0,0,0,170,0,10,170 


C927 85 


2A 


BA 


.BYT 


133,42,186,157,174, 










171,149,170 


C92F BA 


94 


6B 


.BYT 


186,148,107,170,22 










4,22,170,160 


C937 14 


01 


40 


.BYT 


020,1,64,80,5,0,0,4 


C93F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,22 


C947 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C94F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,16 


C957 00 


00 


74 


.BYT 


0,0,116,0,0,20,0,0 


C95F 05 


00 


00 


.BYT 


005,0,0,1,0,0,1,68 


C967 40 


01 


95 


.BYT 


064,1,149,144,1,89, 










80,0 


C96F 44 


64 


00 


.BYT 


068,100,0,0,20,0,0,5 


G977 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C97F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C987 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C98F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C997 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C99F 00 


00 


00 


.BYT 


0,0,0,16,0,0,116,145 


C9A7 01 


15 


56 


.BYT 


001,21,86,85,9,101, 










148,0 


C9AF 11 


40 


00 


.BYT 


017,64,0,0,0,0,0,0 


C9B7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


COBFOO 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C9C7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C9CF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C9D7 00 


04 


00 


.BYT 


0,4,0,0,29,0,0,20 


C9DF 00 


00 


50 


.BYT 


0,0,80,0,0,64,1,17 


C9E7 80 


OS 


95 


.BYT 


128,5,149,64,9,89,6 










4,21 


C9EF 11 


00 


24 


.BYT 


017,0,36,0,0,80,0,0 


C9F7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C9FF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CA07 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CAOF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 



CA17 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CA1F 00 


00 


00 


.BYT 


0,0,0,0,0,4,64,69 


CA27 ID 


65 


65 


.BYT 


029,101,101,84,22,8 










D.M, 1 


CA2F 44 


00 


00 


.BYT 


068,0,0,0,0,0,0,0 


CA37 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CA3F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CA47 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CA4F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,20 


CA57 00 


00 


5D 


.BYT 


0,0,93,0,0,37,0,0 


PACE 


nn 


nn 
UU 


DVT 


UU D , U , U, D I DniUiDi DO 


CA67 40 


01 


55 


.BYT 


054,1,85,80,2,86,80, 


CAOF 65 


54 


05 


.BYT 


5 

101,84,5,85,149,1,8 










5,80 


CA77 01 


40 


50 


.BYT 


001,64,80,0,80,20,0, 



CA7F 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,255 


CA87 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CAOF 00 


00 


00 


.BYT 


0,0,0,0,20,0,0,93 


CA97 00 


00 


25 


.BYT 


0,0,37,0,0,5,0,0 


CAOF 05 


00 


00 


.BYT 


005,0,0,5,64,0,1,68 


CAA7 40 


01 


55 


.BYT 


064,1,85,80,2,86,84, 


CAAF 65 


55 


05 


.BYT 


5 

101,85,5,85,144,1,8 










5,80 


CAB7 01 


01 


40 


.BYT 


001,1,64,1,1,64,0,64 


CABF 50 


00 


00 


.BYT 


080,0,0,0,0,0,0,255 


CAC7 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CACF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CAD7 00 


14 


00 


.BYT 


0,20,0,0,117,0,0,88 


CADFOO 


00 


50 


.BYT 


0,0,80,0,1,80,1,17 


PAC7 Rn 


uo 


OD 


DVT 
.DT 1 


UoU,J,OD,tM,D, 149, 1 










28,21 


l/Atr Do 


DU 


Do 


OVT 
.DT 1 


AflQ fln flR flA '\ ft 










5,64 


CAF7 05 


01 


40 


.BYT 


005,1,64,20,5,0,0,0 


CAFF 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CB07 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


C80F 00 


00 


00 


.BYT 


0,0,0,0,0,0,20,0 


CB17 00 


75 


00 


. .BYT 


0,117,0,0,88,0,0,80 


CB1F 00 


00 


50 


.BYT 


0,0,80,0,1,80,1,17 


CB27 40 


05 


55 


.BYT 


064,5,85,64,21,149, 










128,85 


CB2F 59 


50 


06 


.BYT 


089,80,6,85,80,5,85, 


CB37 01 


40 


40 


.BYT 


64 

001,64,64,1,64,64,5, 
1 


CB3F00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CB47 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 


CB4F00 


00 


00 


.BYT 


0,0,0,0,0,0,0,0 




00 


00 


.BYT 


U,U,U,u,U,U,U,U 


CB5F00 


00 


00 


!byt 


0,0,0,0,0,0,0,0 


CB67 00 


00 


00 


.BYT 


0,0,0,0,0,0,0,64 


CB6F00 


00 


50 


.BYT 


0,0,80,0,0,81,16,0 


CB77 55 


54 


00 


.BYT 


085,84,0,89,100,0,8 










5,85 


CB7F 00 


56 


59 


.BYT 


0,86,89,0,85,84,0,12 


CB87 00 


00 


00 


.BYT 


5 

0,0,0,0,0,0,0,42 


CB8FA0 


00 


00 


.BYT 


160,0,0,0,0,0,0,255 


CB97 FF 


FF 


00 


.BYT 


255,255,0,170,165,1 










5,255,255 


CB9F 00 


00 


50 


.BYT 


0,0,80,42,129,64,1,1 


C8A7 50 


05 


5A 


.BYT 


7 

080,5,90,160,240,63 










,255,21 


CBAF59 


50 


56 


.BYT 


089,80,86,170,170,5 










,85,64 


CBB7 FF 


FF 


40 


.BYT 


255,255,64,20,5,0,1 










70,40 



145 



u 

Chapter 3 ^ 

u' 
u 
u 
u 



CBBF 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


CBCD 


XPOSH 


*= 


*+6 


CBD3 


XPOSL 


*= 


•+6 


CBD9 


YPOS 


*_ 


*+6 


CBDF 


XDIR 


*B=I 


*+6 


CBE5 


XDIRH 


*_ 


*+6 


CBEB 


YDIR 


* = 


•+6 


CBEC 


CROSSX 




*+1 


CBED 


CRXMSB 


* = 


*+1 


CBEE 


CROSSY 


* = 


•+1 


CBEF 


FIRE 




*+1 


CBF1 


SCORE 




*+2 


CBF3 


TIMER 


* = 


*+2 


CBF4 


LENS 




*+1 


CBF5 


FILM 




*+1 


CBF6 


SPEED 




*+1 


CBF7 


DUR 


* = 


*+1 


CBF8 


YESFIRE 


*__ 


*+1 


CCOC 


GARBAGE 




*+20 


CC20 


BLUR 


*_ 


*+20 


CC34 


BORDER 




*+20 


CC48 


HAIR 




*+20 


CC4A 


TEMP 




•+2 


CC4B 


MASK 




*+1 


CC4C 


WHICH 




*+1 


CC4D 


GAME 




*+1 



u 
u 
u 
u 
u 



Campaign Manager 
Source Code 

Source code by Todd Heimarck 



0801 






2049 


08A9 2F E1 23 




.BYTE 


47 225 35 127 D 1 
















3,255 


: bkcm (file 1) 








08B1 00 60 00 




.BYTE 


096 07176 00 










08B9 7E 00 00 




.BYTE 


126 211 58011 


0801 


DEMCOL 




$43 








2,0 


0801 


REPCOL 




$82 


08C1 02 00 00 




.BYTE 


£o,0,0,1,250,0,16 


0801 


Z1 




$F7 


08C9 00 AO 00 




.BYTE 


ojeo.o.d.o.OAo 


0801 


72 




$F9 


08D1 00 01 20 




.BYTE 


oil ,32,0,0,0,0,0 


0801 


Z3 




$FB 










; zero-page locations 






; ** newchrsel 








0801 


Z4 




$FD 


08D9 20 E3 08 


NEWCHRSET 


JSR 


NEWCHR1 




LEANTABlf 




$37C0 


08DC 20 29 09 




JSR 


NFWCHR2 


0801 


MSGPLACE 




$9800 


08DF 20 4E 09 




JSR 


NEWCHR3 


0801 


MAPTABLE 




$3600 


08E2 60 




RTS 




0801 


REGUMEN 




$8000 










0801 


RAND 




$D41B 


; ** newctirl -- relocate ctirs 0-64 




; translates to sys 


2061 






08E3 AD OE DC 


NEWCHR1 


LDA 


$DCOE 


0801 OB 08 OA 




.BYTE 


11,8,10,0,158,50,48 


08E6 29 FE 




AND 


#$FE 


0808 36 31 00 




.BYTE 


54,49,0,0,0 


08E8 8D OE DC 




STA 


$DCOE 


; main routines 








08EB AS 01 




LDA 


$01 


080O 20 6E OC 




JSR 


PRELIM 


08ED 29 FB 




AND 


#SFB 


0810 20 F1 OC 




JSR 


PiCKCAND 


08EF 85 01 




olA 


$01 


0813 20 7A 11 




JSR 


CONTROL 


08F1 A9 D1 




LDA 


#$D1 


0816 20 6C IF 




JSR 


ELECTIONDAY 


08F3 85 FC 




STA 


$FG 


; crtbl - crunched table (for map) 




08F5 A9 39 




LDA 


#$39 


0819 45 FA CC 


CRTBL 


.BYTE 


69,250,204,204,204, 


08F7 85 FE 




STA 


$FE 








204,220,192 


08F9 AO 00 




LDY 


#$00 


0821 DO 00 00 




.BYTE 


0,0,0,5,229,255,167, 


08FB 84 FB 




STY 


$FB 








255 


08FD 84 FD 




STY 


$FD 


0829 FF FF FF 




.BYTE 


255,255,255,178,30, 


08FF B1 FB 


NEW1 


LDA 


($FB),Y 








128,0,0 


0901 91 FD 




STA 


($FD)Y 


0831 DB 5F f^ 




.BYTE 


219,95,250,31,255,2 


0903 88 




DEY 








55,255,255' 


0904 DO F9 




BNE 


NEW1 


0839 8F 2D 00 




.BYTE 


143,45!o,4,245,37,2 


0906 C6 FC 




DEC 


$FC 








55,255 


0908 C6 FE 




DEC 


$FE 


0841 IF FF FF 




.BYTE 


31,255,255,255,241, 


090A A9 37 




LDA 


#$37 








197,250,76 


090C C5 FE 




CMP 


$FE 


0849 FF F8 5F 




.BYTE 


255,248!95,95,255,2 


090E DO EF 




BNE 


NEW1 








55255255 


0910 A5 01 




LDA 


$01 


0851 8F BF AF 




.BYTE 


143,191.175,245,25 


0912 09 04 




ORA 


#$04 








5,115,37,245 


0914 85 01 




STA 


$01 


0859 FF FF FF 




.BYTE 


255,255,255,252,20 


0916 AD OE DC 




LDA 


$DC0E 








4,254,250,247 


0919 09 01 




ORA 


#1 


0861 23 4C 20 




.BYTE 


35.76,32.15,247,255 


0918 8D OE OC 




STA 


SDCOE 








,255,255 


091E AD 18 DO 




LDA 


$0018 


0869 FF ft FE 




.BYTE 


255,250.254,162,25 


0921 29 FO 




AND 


#$F0 








0,47,18.0 


0923 09 OE 




ORA 


#$0E 


0871 5F 15 FF 




.BYTE 


95,21,255,255,227,2 


0925 8D 18 00 




STA 


$0018 








55,92,252 


0928 60 




RTS 




0879 CC 3C CC 




.BYTE 


204,60,204,0,0,127, 
















175,255 


; " newchr2 ~ punctuation 






0881 FF FF (A 




.BYTE 


255.255,250,255,20 


0929 A9 39 


NEWCHR2 


LDA 


#$39 








4,60,207,176 


092B 85 FC 




STA 


$FC 


0889 00 01 F2 




.BYTE 


0,1,242,255.255,191 


092D 85 FE 




STA 


$FE 








255 239 


092F A9 50 




LDA 


#$50 


0891 AF (A F7 




.BYTE 


175,250,247,224,0,0 


0931 85 FB 




STA 


$FB 








,0,1 


0933 A9 DO 




LDA 


#$D0 


0899 33 7F FF 




.BYTE 


51,127,255,255,242, 


0935 85 FD 




STA 


$FD 








255,255,240 


0937 20 44 09 




JSR 


NEW2 


08A1 00 00 4F 




.BYTE 


0,0,79,160,128,0,11 
















9,255 











147 



Chapter 3 



093A A9 18 LDA 

093C 85 FB STA 

093E A9 D8 LDA 

0940 85 FD STA 

0942 C6 FE DEC 

0944 AO 27 NEW2 LDY 

0946 B1 FB NEWS LDA 

0948 91 FD STA 

094A 88 DEY 

094B 10 F9 BPL 

094D 60 RTS 

; *' newchrS -- quarter square graphics 

094E A9 FF NEWCHR3 LDA 

0950 8D 03 38 STA 

0953 A9 FO LDA 

0955 8D 02 38 STA 

0958 A9 OF LDA 

095A 8D 01 38 STA 

095D A2 00 LDX 

095F 8E 00 38 STX 

0962 86 FB STX 

0964 8A NEW6 TXA 

0965 20 75 09 JSR 

0968 8A TXA 

0969 20 72 09 JSR 
096C E8 INX 
096D EO 10 CPX 
096F DO F3 BNE 

0971 60 RTS 

0972 EA NEW4 NOP 

0973 4A LSR 

0974 4A LSR 

0975 29 03 NEWS AND 

0977 A8 TAY 

0978 B9 00 38 LDA 
0978 AO 03 LDY 

0970 91 FB NEW? STA 
097F 88 DEY 
0980 10 FB BPL 
0982 E6 FB INC 
0984 E6 FB INC 
0986 E6 FB INC 
0988 E6 FB INC 
098A 60 RTS 



' uncrunchr - set up table at $3600 for map 



#$16 


09AD 91 FB 




STA 


($FB),Y 


SFB 


09AF 20 B5 09 




JSR 


UNCI 


#$D6 


09B2 E8 




INX 




$FD 


09B3 DO EO 




BNE 


CRUN1 


$FE 


09B5 C9 20 


UNCI 


CI^/IP 


#$20 


#$27 


09B7 DO 04 




BNE 


UNC2 


($FB),Y 


09B9 09 CO 




ORA 


#$C0 


($FO)',Y 


09BB 91 FB 




STA 


(SFB),Y 


09BD C8 


IINC2 


INY 




NEWS 


09BE CO 19 




CPY 


#$19 




09CO FO 01 




BEQ 


UNC3 




; main rts of unci 










09C2 60 




RTS 




#$FF 


09C3 A9 00 


UNC3 


LDA 


#0 


$3803 


08C5 91 FB 




STA 


($FB),Y 


#$F0 


09C7 A8 




TAY 




^3802 


09C8 18 




CLC 




#$0F 


09C9 A9 1A 




LDA 


#$1A 




09CB 65 FB 




AOC 


SFB 


#0 


09CD85 FB 




STA 


SFB 




09CF 90 02 




BCC 


UNC4 


$FB 


09D1 E6 FC 




INC 


$FC 




09O3 60 


UNC4 


RTS 




NEWS 












; '* colortogi 








NEW4 


; color registers 










09D4 


COLREG 




$0020 


#$10 


09D4 OC 01 03 


COLORS 


.BYTE 


12,1,3,2,14 


NEW6 


09D9 AO 04 


COLORTOGL 


LDY 


#4 




09D6 B9 04 09 


C0L1 


LOA 


COU)RS,Y 




09DE 99 20 DO 




STA 


COLfiEG,Y 




09E1 88 




DEY 






09E2 10 F7 




BPL 


C0L1 


#3 


09E4 AD 11 00 




LDA 


$D011 




09E7 09 40 




ORA 


#S40 


$3800,Y 


; enable extended 


b/g color mode 




#3 


09E9 80 11 DO 




STA 


$0011 


($FB),Y 


09EC 60 




RTS 




NEWT 


; ** makemap 








$FB 


09ED 20 F7 09 


MAKEIVIAP 


JSR 


CLRSCRCOL 


SFB 


09F0 20 6E OA 




JSR 


CHRMAPPUT 


SFB 


09F3 20 B9 OA 




JSR 


SETCOLK/IEIVI 


SFB 


09F6 60 




RTS 





098B A9 36 UNCRUNCHR 


LDA 


#$36 


098D 85 FC 


STA 


$FC 


098F A9 00 


LOA 


#0 


0991 85 FB 


STA 


SFB 


0993 A8 


TAY 




0994 AA 


TAX 




0995 EO BC CRUN1 


CPX 


#SBC 


0997 DO 01 


BNE 


CRUN2 


; main rts of uncrunclir 
0999 60 


RTS 




; - crunclied table (nybbles) 






099A BP 19 08 CRUN2 


LDA 


CRTBL,X 


099D 48 


PHA 




099E 4A 


LSR 




099F 38 


SEC 




09A0 6A 


ROR 




09A1 4A 


LSR 




09A2 4A 


LSR 




09A3 91 FB 


STA 


(SFB),Y 


09AS 20 BS 09 


JSR 


UNCI 


09A8 68 


PLA 




09A9 29 OF 


AND 


#$0F 


09AB 09 20 


ORA 


#S20 



; " cirscrcol 
09F7 A9 93 
09F9 20 02 FF 
09FC AO 03 
09FE 20 57 OA 
0A01 Ag 90 
0A03 20 02 FF 
0A06 A9 AB 
0A08 20 D2 FF 
0A0BA9A3 
OAOO 20 65 OA 
0A10 A9 A7 
0A12 20 02 FF 
0A15 A2 OF 
0A17 AO 03 
0A19 20 52 OA 
0A1C A9 AA 
0A1E 20 02 FF 
0A21 A9 9A 
0A23 20 02 FF 
0A26 A9 AO 
0A28 20 65 OA 
0A2B A9 90 
0A2D 20 02 FF 
0A30 A9 AS 



clear screen and 
CLRSCRCOL 



set colors 
LOA #$93 



JSR 
LDY 
JSR 
LOA 



$FFD2 
#3 

CLSfW;E2 
#S90 



JSR $FFD2 



LDA 
JSR 
LDA 
JSR 



#$AB 
$FF02 
#$A3 
SFSCE25 



LOA #$A7 
JSR $FFD2 



BARSRCE 



#$0F 
#3 

CLSRACE1 

#$AA 

$FFD2 



LDX 
LDY 
JSR 
LOA 
JSR 
LDA 
JSR $FF02 
LDDA #$A0 
JSR SPACE2S 
LDA #S90 
JSR $FFD2 
LOA #$AS 



148 



The Source Code 



0A32 20 D2 FF 




JSR 


$FFD2 


0A35 CA 




OEX 




0A36 DO DF 








0A38 AO 03 




LDY 


#3 


0A3A 20 52 OA 




JSR 


CLSRCEI 


0A3D AO AE 




LDA 


#$AE 


0A3F 20 D2 FF 




JSR 


$FF02 


0A42 A9 AC 




LDA 


#$AC 


OA'M 20 65 OA 




JSR 


SF1CE25 


0A47 A9 AD 




LDA 


#$AD 


0A49 20 D2 FF 




JSR 


$FFD2 


0A4C A9 92 




LDA 


#146 


0A4E 20 D2 FF 




■CD 

Jon 




; main rts of clrscrcol 






0A51 60 




RTS 




bA52 A9 OD 


CLSFWCEI 


LDA 


#13 


0A54 20 D2 FF 




JSR 


$FFD2 


0A57 A9 20 


CLSPACE2 


LDA 


#32 


0A59 20 D2 FF 


CLSPCLOOP 


JSR 


$FFD2 


0A5C88 




DEY 




0A5D DO FA 




BNE 


CLSPCLOOP 


0A5F A9 12 




LDA 


#18 


0A61 20 02 FF 




JSR 


$FFD2 


0A64 60 




RTS 




()A65 AO 19 


SPACE25 


LDY 


#25 


0A67 20 02 FF 


SPCLP 


JSR 


$FF02 


0A6A 88 




DEY 




0A6B DO RA 




BNE 


SPCLP 


0A6D60 




RTS 




; ** chrmapput 








0A6E A9 04 


CHRMAPPUT 


LOA 


#4 


0A70 85 FE 




STA 


$FE 


0A72 A9 2C 




LDA 


#$2C 


: location for screen 






0A74 85 FD 




STA 


$FD 


0A76 A9 36 




LDA 


#>IWIAPTABLE 


0A78 85 FC 




STA 


$FC 


0A7A A9 00 




LDA 


#<MAPTABLE 


0A7C 85 FB 




STA 


$FB 


0A7E A9 00 




LDA 


#0 


0A80 AS 




TAY 




0A81 A2 OF 




LOX 


#$0F 


0Ae3 B1 FB 


MPPUT1 


LOA 


($FB),Y 


0A85 DO 07 




BNE 


MPPUT2 


0A87 20 AO OA 




JSR 


MPSR1 


0A8A CA 




DEX 




0A8B DO F6 




BNE 


MPPUT1 


0A8D6O 




RTS 




0A8E 91 FD 


MPPUT2 


STA 


($FD),Y 


0A9D C6 




INY 


0A91 DO FO 




BNE 


MPPUT1 


0A93 29 3F 


UNSECT 


AND 


^F 


0A95 AA 




TAX 




0A96 BD CO 37 




LDA 


LEANTABLE,X 


0A99 29 CO 




AND 


mx 


0A9B 11 F7 


BLIX 


ORA 


($F7),Y 


0A9D 91 F7 




STA 


($F7),Y 


0A9F 60 




RTS 


OAAO 18 


MPSR1 


CLC 




0AA1 A9 1A 




LDA 


#S1A 


0AA3 65 FB 




ADC 


$FB 


0AA5 85 FB 




STA 


$FB 


0AA7 90 02 




BCC 


MPS2 


0AA9 E6 FC 




INC 


$FC 


0AABA9 28 


MPS2 


LOA 


#$28 


OAAO 18 




CLC 




OAAE 65 FD 




ADC 


$FD 



OABO 85 FD 




STA 


$FD 


0AB2 90 02 




BCC 


MPS3 


0AB4 E6 FE 




iNC 


$FE 


0AB6 AO 00 


MPS3 


LDY 


#0 


0AB8 60 




RTS 




; 

; " setcolmem 








OABO A9 OF 


SETCOLMEM 


LDA 


#15 


0A6B 85 F9 




STA 


$F9 


0A6DA9 D8 




LOA 


#$D8 


0A6F 85 FE 




STA 


$FE 


0AC1 A9 2C 




LDA 


#$2C 


0AC3 85 FD 




STA 


SFD 


0AC5 85 F7 




STA 


$F7 


0AC7 A9 04 




LOA 


#4 


0AC9 85 F8 




STA 


$F8 


0ACBA9 22 




LDA 


#>MAWMAP 


OACO 85 FC 




STA 


$FC 


OACF A9 AO 




LDA 


#<MAmMAP 


0AO1 85 FB 




STA 


$F8 


0AD3 AO 18 


SLECT 


LDY 


#24 


0AO5 81 FB 


SFrCLOOP 


LDA 


($F8),Y 


0AO7 C9 00 




CMP 


#0 


0AD9 FO 2B 




BEQ 


SETC1 


OAOB 85 02 




STA 


$02 


OAOD 29 3F 




AND 


#$3F 


OADF AA 




TAX 




OAEO 80 CO 37 




LOA 


LEANTABLE,X 


0AE3 29 OF 




AND 


#$0F 


0AE5 91 FD 




STA 


($FD),Y 


0AE7 A9 CO 




LOA 


#$C0 


0AE9 24 02 




BIT 


$02 


0AE8 FO 19 




BEQ 


SETC1 


OAEO 30 08 




m\ 


SETC2 


OAEF 80 78 22 




LOA 


SECTABLE,X 


DAF2 20 93 OA 




JSR 


UNSECT 


0AF5 DO OF 




BNE 


SETC1 


0AF7 50 07 


SETC2 


BVC 


SETC3 


0AF9 A9 CO 




LDA 


#$C0 


OAFB 20 9B OA 




JSR 


BLiX 


OAFE DO 08 




BNE 


SETC1 


OBOO BD 79 22 


SETC3 


LDA 


TERTABLE,X 


0B03 20 93 OA 




JSR 


UNSECT 


0B08 EA 


SETC1 


NOP 




0807 88 




DEY 




0808 10 CB 




8PL 


SETCLOOP 


OBOA A9 19 


ENDLiNEM 


LOA 


#25 


OBOC 18 




CLC 




OBOD 65 FB 




ADC 


$F8 


OBOF 85 FB 




STA 


$F8 


0811 90 02 




BCC 


ENDL1 


0813 E6 FC 




INC 


$FC 


0815 C6 F9 


ENDL1 


DEC 


$F9 


0817 DO 01 




BNE 


ENDL2 


; exit setcolmem 








0819 60 




RTS 




081A A9 28 


ENDL2 


LDA 


#$28 


081C 18 




CLC 




0810 65 F7 




ADC 


$F7 


081F 85 F7 




STA 


$F7 


0821 90 02 




BCC 


ENDL3 


0B23 E6 F8 




INC 


$F8 


0625 A9 28 


ENDL3 


LDA 


#$28 


0827 18 




CLC 




0828 65 FD 




ADC 


$FD 


082A 85 FD 




STA 


$F0 


082C 90 A5 




BCC 


SLECT 


082E E6 FE 




INC 


$FE 


0830 DO A1 




BNE 


SLECT 



Chapter 3 



■ ** dorainbow 






; = = republicans 




$F8 


0632 AD 12 DO OORAINBOW 


LDA 


$0012 


0886 85 F8 




STA 


0B35 48 


PHA 




0888 AO 02 




LDY 


#2 


0836 65 A2 


ADC 


$A2 


OBBA 20 E6 08 




JSR 


PUCKER 


0B38 4A 


LSR 




0BBDA5 F7 




LDA 


$F7 


0B39 4A 


LSR 




OBBF AO 01 




LDY 


#1 


0B3A 4A 


LSR 




08C1 20 E6 OB 




JSR 


PUCKER 


0B3B A8 


TAY 




08C4 A9 FF 




LDA 


#$FF 


OBX 68 


PLA 




08C6 AO 05 




LDY 


#5 


0B3D E5 A2 


SBC 


$A2 


0BC8 91 FD 




STA 


($FD),Y 


0B3F 4A 


LSR 




OBCA A9 05 




LDA 


#5 


0B40 80 20 DO 


STA 


$D020 


0BCC18 




CLC 




0B43 8C 24 DO 


STY 


$D024 


OBCD 65 FD 




ADC 


$FD 


; exit dorainbow 






OBCF 85 FD 




STA 


$F0 


0846 60 


RTS 




0BD1 40 9F 08 




JIWP 


PVIWLOOP 


0B47 1F 43 41 CAMMGR 


.ASC 


'{BLU}CAMmiG 
N MANAGER' 


; patch - set up stevote table/electoral voles 






0BD4 AO 00 


EVDOT 


LDA 


#0 


0B58 OD 00 


.BYTE 


13,0 


0BD6AA 




TAX 




085A A2 12 CMLOGOPUT 


LDX 


#18 


0BD7A8 




TAY 




OBSC AO 08 


LDY 


#8 


0BD8 B9 44 22 


EVOLUT 


LDA 


CREVOTE,Y 


0B5E 18 


ac 




OBDB 9D 00 78 




STA 


STEVOTE,X 


; ternal plot 






OBOE E8 




INX 




0B5F 20 FD FF 


JSR 


$FFFO 


08DF EB 




INX 




0862 A2 00 


LDX 


#0 


OBEO C8 




INY 




0864 BD 47 OB LOGGIjOOP 


LDA 


CAIVIMGR,X 


0BE1 CO 34 




CPY 


#52 


0B67 FO 08 


BEQ 


0UTDLDG6 


0BE3 DO F3 




BNE 


EVOLUT 


0B69 20 D2 FF 


JSR 


$FFD2 


0BE5 60 




RTS 




086C E8 


INX 




0BE6 91 FD 


PUCKER 


STA 


($FD),Y 


086D DO F5 


BNE 


LOGGLOOP 


0BE8 C8 




INY 




086F AO 05 OUTOIOGG 


LDY 


#5 


l)BE9 C8 




INY 




0B71 A9 01 


LDA 


#1 


OBEA 91 FD 




STA 


($FO),Y 


0B73 8D 86 02 


STA 


646 


OBEC 60 




RTS 




0876 A9 12 


LDA 


#18 


; ** now initialize 


issues for eac 


1 state 




; reverse on 






OBED A9 91 


INITISS 


LDA 


#>STISSUES 


0878 20 D2 FF 


JSR 


$FFD2 


OBEF 85 F8 




STA 


Z1+1 


0B7B A2 28 OUTPIOGG 


LDX 


#40 


0BF1 A9 00 




LDA 


#<STISSUES 


0B7D AD 86 02 


LDA 


646 


0BF3 85 F7 




STA 


Z1 


0880 49 03 


EOR 


#3 


0BF5 E6 F7 




INC 


Z1 


; toggle red and white 






0BF7 85 FE 




STA 


Z4+1 


0882 8D 86 02 


STA 


646 


0BF9 AA 




TAX 




0B85 A9 A3 


LDA 


#163 


2l is indirect pointer/z4+1 is statenumber 


0B87 20 D2 FF FLAGLER 


JSR 


$FFD2 


OBRA A2 00 




LDX 


#0 


0B8A CA 


DEX 




OBFC BD BD 24 


BGINTISS 


LDA 


ISSULX 


0B8B DO W 


BNE 


FLAGLER 


OBFF 85 F9 




STA 


Z2 


0B8D88 


DEY 




0C01 4A 




LSR 




0B8E DO EB 


BNE 


OUFLOGG 


0C02 4A 




LSR 




0B90 A9 92 


LDA 


#146 


0C03 4A 




LSR 




; exit cmlogoput via jump 






0C04 4A 




LSR 


Z2+1 
ISSU2,X 


0B92 4C D2 FF 


JMP 


$FFD2 


0C05 85 f^ 
0C07 BD FO 24 




STA 
LDA 


; *' initpv - sets up stpvoles table at 


$9100/popular votes 


OCOA 85 FB 




STA 


Z3 


0B95 A9 92 INITPV 


LDA 


#>STPVDTES 


OCOC 4A 




LSR 




0B97 85 FE 


STA 


$FE 


OCOD 4A 




LSR 




0B99 A9 00 


LDA 


#<STPVDTES 


OCOE 85 FC 




STA 


Z3+1 


0B9B 85 FD 


STA 


$F0 


0C10 4A 




LSR 




089D A2 00 


LDX 


#0 


0C11 4A 




LSR 




0B9F EB PVMLOOP 


INX 




0C12 85 FD 




STA 


Z4 


OBAG EC 89 24 


CPX 


PVCRUNCH 


0C14 AO 04 




LDY 


#4 


0BA3 FO 2F 


BEQ 


EVDOT 


0C16 A2 04 




LDX 


#4 


08A5 BD 89 24 DOPVM 


LDA 


PVCRUNCH.X 


0C18 85 F9 


UNDPLOOOP 


LDA 


Z2,X 


0BA8 85 F9 


STA 


$F9 


0C1A48 




PHA 




OBAA 29 07 


AND 


#$07 


0C1B 29 03 




AND 


#3 


; = = democrats 






0C1D 18 




CLC 




OBAC 85 F7 


STA 


$F7 


0C1E 69 01 




ADC 


#1 


OBAE A5 F9 


LDA 


$F9 


; dems 








OBBO 4A 


LSR 




OC20 91 F7 




STA 


(Z1),Y 


08B1 4A 


LSR 




0C22 68 




PLA 




0BB2 4A 


LSR 




0C23 4A 




LSR 




0BB3 4A 


LSR 




0C24 4A 




LSR 




0BB4 29 07 


AND 


#$07 


0C25 29 03 




AND 


#3 



u 
u 
u 
u 
u 
u 



U 

u 



150 



The Source Code 



0C27 18 




CLC 




0C28 69 03 




ADC 


#3 


0C2A OA 




ASL 




0C2o DA 




ASL 




0C2C OA 




ASL 




0C2D OA 




ASL 




0C2E 11 F7 




ORA 


(Z1).Y 


; reps 

0C30 91 F7 




STA 


(Z1),Y 


A^AA AA 

0C32 88 




DEY 


n^AA 

0C33 CA 




DEX 




A^A J 4 A m 

0C34 10 E2 




BPL 


UNOPLOOOP 


A^A0 r'A r~~T 

0C3o to F7 




INC 


Z1 


A^AA A A AA 

0C38 AO 02 




LDY 


#2 


A/^4 A A A Ar 

DC3A A9 Or 


UNDP 


LDA 


#$0F 


0C3C 31 F7 




AND 


(Z1),Y 


0C3E AA 




TAX 


0C3F E8 




INX 




0C4O 8A 




TXA 




0C41 OA 




ASL 




0C42 OA 




ASL 




0C43 OA 




ASL 




0C44 OA 




ASL 




0C4S 85 02 




STA 


$02 


0C47 8A 




TXA 




0C48 05 02 




ORA 


$02 


0C4A 91 F7 




STA 


(Z1),Y 


0C4C 88 




DEY 


0C4O DO EB 




BNE 


UNDP 


A^ AF f*A »"t 

0C4F E6 F7 




INC 


Z1 


0C51 Eo F7 




INC 


Z1 


nr>EA cff 

0C53 CO F7 




INC 


Z1 


OCoo to F7 




INC 


Z1 


UUor bb rb 




INC 


24-M 


Ad FE 




LOX 


Z4+1 


nACD CA OA 

DCdd eo 33 




CPX 


#51 


0C5D DO 9u 




BNE 


BGINTISS 


0C5F 60 




RTS 




A AC A A A ff" 

OCoO A9 FF 


RANDON 


LDA 


#$FF 


0C62 8D OF D4 




STA 


$040F 


AACC A A OA 

0Cd5 A9 80 




LDA 


#$80 


n^fyt ftr\ ha t\A 

0C67 BD 12 04 




STA 


$0412 


0C6A 8D 18 D4 




STA 


$D418 


0C6D 60 




RTS 




; ** prelim - sets 


up tables 






AACr A A AA 

0C6E A2 40 


PRELIM 


LDX 


#64 


0C70 A9 GO 




LDA 


#0 


0C72 9D 00 8F 


PREUP 


STA 


OAY.X 


0C75 9D 40 8F 




STA 


OTHERCAND.X 


0C78 CA 




DEX 




0C79 DO F7 




BNE 


PRELPP 


0C7B A9 80 




LDA 


#$80 


0C7D 8D 8A 02 




STA 


650 


0C80A9 08 




LDA 


#8 


; set repeat key & 


disable c=shift 




0C82 20 D2 FF 




JSR 




0C85 20 95 08 




JSR 


INITPV 


0C88 20 fk 1A 




JSR 


CKDEMREP 


: sets up Initial leanings 






0C8B 20 6C 1B 




JSR 


TRANSLEANCOLR 


; sets up menu ta 


ble at $8000 






0C8E 20 80 17 




JSR 


SETREGMENU 


0C91 20 8B 09 




JSR 


UNCRUNCHR 


0C94 20 IE 1C 




JSR 


SETSa 


0097 20 D9 08 




JSR 


NEWCHRSET 


0C9A 20 ED OB 




JSR 


INITISS 


0C9D 20 D9 09 


PREUMXX 


JSR 


COLORTOGL 


0CA0 20 ED09 




JSR 


MAKEKMP 



OCAS A9 9E 




LDA 


#$9E 


0CA5 20 D2 FF 




JSR 


$FFD2 


0CA8 20 5A OB 




JSR 


CMLOGOPUT 


OCAS 20 1E 14 




JSR 


SETUPMENU 


OCAE 20 32 OB 


PI 


JSR 


DORAINBOW 


0CB1 20 1A 1F 




JSR 


IJKL 


0CB4 AD 6B IF 




LDA 


JB 


0CB7 FO F5 




BEQ 


PI 


0CB9 20 D9 09 




JSR 


COLORTOGL 


OCBC 20 60 OC 




JSR 


RANDON 


; ** poneparty - 


party ol playe 


one 




OCBF A2 04 


PONEPARTY 


LDX 


#4 


0CC1 AO 05 




LDY 


#5 


0CC3 20 A3 1C 




JSR 


SELECT 


0CC6 80 15 8F 




STA 


FVWTY 


0CC9 80 23 25 




STA 


FIRSTCAN 


: ** bincum - check lor incumbent 




0CCCA2 07 


BINCUM 


LDX 


#7 


OCCE AO 09 




LDY 


#9 


OCOO 20 A3 1C 




JSR 


SELECT 


0CO3 A2 00 




LDX 


#0 


0CD5 AO 00 




LDY 


#0 


0CD7 C9 00 




CMP 


#0 


0CD9 FO 07 




BEQ 


NONINCUM 


OCDB 29 01 




AND 


#1 


OCDOFO 02 




BEQ 


TWOINCUM 


OCDFCA 




DEX 




OCEO C8 




INY 




0CE1 88 


TWOINCUM 


DEY 




0CE2 8E OF 8F 


NONINCUM 


STX 


INCUMB 


0CE5 8C 4F 8F 




STY 


OTINCUMB 


OCEB 20 2E 11 


OKSTPAR 


JSR 


PRESSFIRE 


OCEB DO 03 




BNE 


GONNGY 


OCEO 4C 9D OC 




JMP 


PREUMXX 


OCFO 60 


GONNGY 


RTS 





bkcm.pick 



*** plckcand -- routine to pick a candidate 
lirst generate live candidates 



0CF1 A9 00 


PICKCAND 


LDA 




0CF3 80 24 25 




STA 


WEEKNO 


OCFO A9 80 




LDA 


#<CANSTACK 


0CF8 85 F7 




STA 


Z1 


OCtt A9 8F 




LDA 


#>CANSTACK 


; holding area 








OCFC 85 F8 




STA 


Z1+1 


OCFE A9 05 




LDA 


#5 


: number of candidates generati 


■d 




ODOO 85 02 




STA 


$02 


0D02 AO 05 


ANIDLOOP 


LDY 


#5 


OD04 A2 03 


ANID5 


LDX 


#3 


0D06 AD 1B D4 


ANODLOOP 


LDA 


RAND 


0009 29 03 




AND 


#3 


ODOB 95 F9 




STA 


Z2,X 


OOOOCA 




DEX 




OOOE DO F6 




BNE 


ANOOLOOP 


0010 A9 01 




LDA 


#1 


0012 25 RA 




AND 


Z2+1 


0D14 18 




CLC 




0D15 69 01 




ADC 


#1 


0017 65 FB 




ADC 


Z3 


0D19 65 FC 




ADC 


Z3+1 


0D1B 91 F7 




STA 


(Z1),Y 


0D10 88 




DEY 


0D1E DO E4 




BNE 


ANID5 


: (attributes are d 


ine) 






0020 AO 06 




LDY 


#6 


0022 AO IB 04 


ANNNLOOP 


LDA 


RAND 


0025 29 03 




AND 


#3 



Chapter 3 



0D27 AA 




TAX 




0D28 CO 08 




CPY 


#8 


0D2A FO OA 




BEQ 


UPANN 


0D2C CO 09 




CPY 


#9 


0D2E FO 06 




BEQ 


URANN 


0O30 AD 15 8F 




LDA 


RARTY 


0D33 FO 02 




BEQ 


URANI2 


0D35 E8 




INX 




0D36 E8 


URANN 


INX 




0D37 E8 


UmNI2 


INX 




0D38 8A 




TXA 




0D39 91 F7 




STA 


(Z1).Y 


0D3BC8 




INY 




0O3C CO 08 




CPY 


#11 


0D3E DO E2 




BNE 


ANNNLOOP 


; (issues are set up) 






0040 AD IB D4 


STRNNN 


LDA 


RAND 


0D43 29 3F 




AND 


#63 


0D45 FO F9 




BEQ 


STRNNN 


0D47 C9 34 




CMP 


#52 


0D49 BO F5 




BCS 


STRNNN 


0D4B 91 F7 




STA 


(Z1).Y 


0D4D C8 




INY 




; (and the home s 


tate) 






0D4E AD OF 8F 




LDA 


INCUMB 


0D51 91 F7 




STA 


(Z1).V 


0D53 DO 09 




BNE 


COTHII 


0D55 AD 1B D4 




LDA 


RAND 


0D58 29 07 




AND 


#7 


ODSAOA 




ASL 




OOSB OA 




ASL 




; (and current job) 






0D5C91 F7 




STA 


(Z1).Y 


0D5E 20 DCOE 


COTHil 


JSR 


UPTZ1 


0D61 C6 02 




DEC 


$02 


0D63 DO 9D 




BNE 


ANIOLOOP 


; now print to screen 






0D65 AO 00 


FRIlS 


LDY 


#0 


0D67 8C 2D 11 




STY 


CANNRO 


0D6A A9 80 


NEXN9 


LDA 


#<CANSTACK 


0D6C 85 F7 




STA 


Z1 


0D6E A9 8F 




LDA 


#>CANSTACK 


0D70 85 F8 




STA 


Z1+1 


0D72 AD 2D 11 




LDA 


CANNRO 


0D75 C9 05 




CMP 


#5 


0D77 BO EC 




BCS 


FRIlS 


0D79AA 




TAX 




0D7A FO 06 




BEQ 


XFERX 


0D7C 20 DC OE 


NUKKL 


JSR 


UPTZ1 


0D7F CA 




DEX 




0D80 DO fk 




BNE 


NUKKL 


0D82 EE 2D 11 


XFERX 


INC 


CANNRO 


0D85 AO 05 




LDY 


#5 


0D87 B1 F7 


ARTIB 


LDA 


(Z1).V 


0D89 99 OF 8F 




STA 


INCUMB,Y 


0D8C88 




DEY 




; xter attributes 








0D8D DO F8 




BNE 


ARTIB 


0D8F AO 06 




LDY 


#6 


0091 A2 00 




LDX 


#0 


0D93 B1 F7 


ISIST2 


LDA 


(Z1).Y 


0D95 90 IB 8F 




STA 


STAN00.X 


0D98 C8 




INY 




0D99 E8 




INX 




0D9A EO 05 




CPX 


#5 


: xter issues 








0D9C DO F5 




BNE 


ISIST2 


0D9E B1 F7 




LDA 


(Z1).Y 


ODAO 8D OC 8F 




STA 


HOMESTATE 



152 



0DA3 80 OA 8F 




STA 


LASTSTATE 


0DA6 C8 




INY 




0OA7 B1 F7 




LDA 


(21).' 


; home&job 








0DA9 80 00 8F 




STA 


JOB 


ODAC 20 E4 OE 




JSR 


eCTI IDATTDID 


ODAF 20 EE OE 




JSR 


DIPI/nKIC 

rll/KUNh 


0DB2 DO 03 




BNE 


DUMPR 


; not selected 








0DB4 4C 6A OD 




JMP 


NEXN9 


; a candidate has been chosen 






; now make up a name 






0087 20 2E 11 


DUMPR 


JSR 


PncSSrlnt 


OOBA FO A9 




BEQ 


FRIlS 


ODBC A2 00 


REDUUT 


LDX 


#0 


ODBE 86 F8 




STX 


21 + 1 


ODCO AO 06 




LDY 


#6 


0OC2 18 




CLC 




0DC3 20 FO FF 




JSR 


$FrrO 


0OC6 AD 15 8F 




LDA 


RWTY 


0DC9 CO 23 25 




CMP 


FlnSTCWI 


ODCC FO 02 




BEQ 




ODCE A2 OC 




LDX 


#12 


ODOO 86 F7 


PICKANAME 


STX 


Z1 


0DD2 60 9E 14 


PICKLED 


LDA 


P1NAME.A 


ODDS FO 06 




BEQ 


QMARK 


0007 20 02 FF 




JSR 


S^D2 


ODOA E8 




INX 




ODDS DO F5 




BNE 


PICKLED 


0DOOA9 3F 


QMARK 


LDA 


#63 


ODOF 20 02 FF 




JSR 


»FF0D2 


0DE2 A6 F7 




LDX 


Z1 


0OE4 AO OA 




LDY 


#10 


0OE6 A9 2C 




LDA 


#44 


0DE8 90 9E 14 


LPP69 


STA 


P1NAMc,X 


ODEB E8 




INX 




ODEC 88 




DEY 




ODEO DO F9 




BNE 


LPP69 


ODEF 20 E4 FF 


GRENOL 


JSR 


$FFE4 


0OF2 FO FB 




BEQ 


bntNUL 


0DF4 C9 00 




CMP 


#13 


0DF6 FO 27 




BEQ 


DDOUS 


0DF8 09 20 


POOUS 


CMP 


#32 


ODfiH FO 08 






rncNAMtt 


ODFC C9 41 




CMP 


#65 


ODFE 90 EF 




BCC 


GRcNuL 


OEOO C9 5B 




CMP 


#91 


0E02 BO EB 




BCS 


bncNUL 


0E04 E6 F8 


PRENAMEE 


INC 


Z1 + 1 


0E06 A& F8 




LUA 


71 J. 1 
£1+1 


OEOO EO OB 




CPX 


#11 


OEOA FO 13 




BEQ 


DDOUS 


OEOC A4 F7 




LDY 


Z1 


OEOE 99 9E 14 




STA 


r INAMb,! 


0E11 29 3F 




AND 


#63 


0E13 90 05 04 




blA 




0E16 E6 F7 




INC 


Z1 


0E18 A9 2F 




1 n& 

LUM 


#47 


0E1A 90 06 04 




STA 


1030,X 


0E1O DO DO 




BNE 


GRENDL 


0E1F 20 26 OF 


DDOUS 


JSR 


DQAHRIB 


0E22 20 2E 11 




JSR 


PRESSFIRE 


; name is all set 








0E25 FO 95 




BEQ 


REDUUT 


: now translate other attributes 






0E27 AO OF 8F 




LDA 


INCUMB 


0E2A 29 02 




AND 


#2 


0E2C 18 




CLC 




0E2D 60 10 8F 




ADC 


CHAR 



The Source Code 



0E30 OA 




nOL 




0E31 fin 1? RF 




Ann 




I 6ff6CtiV6n8SS 








0534 8D 16 8F 




STA 


PAUPFFF 


0E37 AD 11 8F 




LDA 


STAM 


0E3A OA 




ASL 




0E36 OA 




ASL 




0E3C 69 09 




ADC 




0E3E 38 




SEC 




0E3F ED 13 8F 






CArH 


' ^trnnnth 








0E42 8D 17 OF 




STA 




0F4S AD 1R rw 




1 HA 




0E48 29 IF 




AND 


#31 


0E4A OA 








nF4R RD 17 OF 
utno ULf 1 1 or 




Anf 


CTDCM 


0E4E 69 20 




Anp 


frOc 


; seedhealth 
0E50 8D 08 8F 




STA 


HEALTH 


OF'i^ An OF ftp 
uL-ou ML/ uf or 




1 nA 


IKIPI IMR 






AKin 


MA 


OFSA fin 1^ RF 




Anr 


CArn 


0E5B OA 




ASL 




0E5C 6D 13 8F 




ADC 


EXPR 


OESF 6D 14 SF 






APPI 


' fiiniiraKinn 








QE62 BD 18 8F 

Ukwb vij 1 D or 




QTA 


FllkirtR 
rUHun 


0E65 OA 




AQI 




0E66 6D 12 8F 




ADC 


ihtn 
iniL 


0E69 69 30 




ADC 


#48 


1 OGvUIIIUMCjF 

0E6B 8D 09 SF 

vuwu v%J w or 




STA 




0E6E AD 14 8F 




LDA 


APPL 


0E71 09 08 




ORA 


#8 


0E73 6D 10 BE 




ADC 


CHAR 


; tv ads 

0E76 8D 19 8F 




STA 


TW\DS 


0E79 AD OF 8F 




LDA 


INPI lUR 


0E7C 29 07 




AND 


#7 


0E7E 18 




CLC 




0E7F 6D 12 8F 




ADC 


INTL 


0E82 6D 11 SF 

ui-Ub uw 1 1 or 




Anr 


Oinlvi 


1 last W66k 








0E85 8D 1A 8F 




STA 


1 A^JTWK 
LnO 1 Wf\ 


0E86 A2 00 




LOX 


ffU 


0E8A AD OC 8F 




LDA 


unMCCTATF 
nuivico iMi c 


0E8D E8 


CI KHHN 


INX 




OFflF nn 7F 94 

vL.Ot UU 1 r £.1 




PUP 


ncurlno 1 , A 


0E91 BO n 








0E93 8E 20 8F 




STX 




0E96 8E OB 8F 




Sl^ 




0E99 8E 21 8F 




STX 


HOMFRFRI 
nuivicncul 


' all ffnnp nrpatrnn 

1 OH UUIIC WCQUIIU 








; now do the olliei 


candidate 






0E9C 20 84 IB 




JSR 


Tfil PARTY 


0E9F AO 15 8F 




LDA 


FARTY 


0EA2 CD 23 25 




CMP 


FIRSTCAN 


0EA5 FO 03 




BEQ 


DONEWITM 


0EA7 4C F1 OC 




JMP 


PtCKCAND 


OEAA AD OF BE 


DONEWITH 


LDA 


INCUMB 


DEAD 29 03 




AND 


#3 


OEAF 8D 81 8F 




STA 


CANSTACK+1 


; initial campaign 








0EB2 20 F3 IB 




JSR 


CAMPONCE 


0EB5 A9 00 




LDA 


#0 


: and ttie liome region 






0EB7 8D 81 BE 




STA 


CANSTACK+1 


OEBA AE 21 BE 




LDX 


HOMEREGI 


OEBD BO 7F 24 




LDA 


REGFIRST.X 


0EC0A8 




TAY 



0EC1 CA 




DEX 




ncoo Dn 7c ia 




LDA 


REGFIRST,X 


UcUj AA 




TAX 


ncre pa 




DEX 








JSR 


CAmPREGK 


ncpA on Qx ID 
UtUA ci w Id 




JSR 


TOI HAHTW 

TGLPARTY 


ftcpn An ic DC 
UtUU AU ID or 




LDA 


PARTY 


UCuU XAJ CO dX) 




CMP 


FIRSTCAN 


UCUO UU U3 




^E 


DUNcWITn 


ncnc on CA ia 
UtUd £U m 1A 




JSR 


CKDEMREP 


OEDS 20 6C IB 




JSR 


TRANSIiANCOLR 


OEDB 60 




RTS 




ncno AO in 
UtUu Aa 1U 


UPTZ1 


LDA 


#16 


ncnc io 
UtUt ID 




CLC 




UtUr DO rf 




ADC 


Z1 


nCCI QC C7 




STA 


Z1 


AECQ en 
utco DU 




RTS 




i do tti8 attrib & ! 


Stands 






nFFj on Fn no 

UCCt £U CU U9 


CCTI IDATTD 


inn 
JSR 


ft it A l/Cft UAH 

MAKclvIAP 


ncc? on pn ic 




JSR 


IMENUITIN 


nccA on OC nc 
UttA oi Ur 




JSR 


OQATTRIB 


nccn cn 
UttU DU 




RTS 




ficcc AQ nc 
Uttt Ay Ur 


DIPI/rtMC 


LDA 


#15 


UcrU 03 rU 




STA 


$FD 


ncco AO 1ft 
Utr»; Ay 10 




LDA 


#22 


Utr^ OD rt 




STA 


$FE 


nPFR AQ in 




LDA 


#29 


nccQ flt; A7 

Utro 00 A ( 




STA 


$A7 


flFM AO Fn 




LDX 


It ^ACl/inT 

#<AbKlnl 


nppp An in 

ULrU nU lU 




LDY 


#>ASKIRT 


nPFF on Rn u 

UCrC DO l*( 




JSR 


PRINIT 


npm An 1R fic 

UrU 1 rtU 1 J OP 




LOA 


RftRTY 


npn^ cn nn 

UrU*! rU UU 




BEQ 


PXZ9 


flfOR AO nA 
UrUD nC Un 




LDX 


#10 


0F08 BD 75 14 


OLLALE 


LDA 


pADMAMCI y 

rrtnl"lnlVIC 1 ,A 


OFOB 29 3F 




AND 


#63 


OFOD 90 9C 06 




STA 


1692,X 


0F10 CA 




DEX 


0F11 DO F5 




BNE 


OLUiLE 


0F13 AD 15 8F 


PXZ9 


LDA 


RMITY 


0F16 CD 23 25 




CMP 


FIRSTCAN 


0F19 FO 03 




BEQ 


SELCN4 


0F1B EE 7D 06 




INC 


1661 


0F1E A2 14 


SELCN4 


LOX 


#20 


0F20 AO 15 




LDY 


#21 


0F22 20 A3 IC 




JSR 


SELECT 


0F25 60 




RTS 





; " doattrib (sr for printing general info aliout candidate) 



0F26 AE 15 8F DQAHRIB 


LDX 


RARTY 


0F29 BO 28 25 


LDA 


PRTCO,X 


: cyan (dems) or red (reps) 




0F2C 20 D2 FF 


JSR 


$FF02 


0F2F A9 11 


LDA 


#17 


0F31 85 FD 


STA 


$F0 


0F33 A9 19 


LDA 


#25 


0F35 85 FE 


STA 


$FE 


0F37 A9 00 


LOA 


#0 


DF39 85 A7 


STA 


$A7 


0F3B A2 51 


LDX 


#<AnRIB 


0F3D AO 10 


LDY 


#>ATrRIB 


0F3F 20 B8 14 


JSR 


PRINIT 


0F42 A9 IF 


LOA 


#31 


; blue color 






0F44 20 D2 FF 


JSR 


$FFD2 


0F47 A9 14 


LDA 


#20 


0F49 85 FO 


STA 


$FD 


0F4B A9 19 


LDA 


#25 



Chapter 3 



0F4D 85 FE 




STA 


$FE 


DFD9 DO F6 




BNE 


DOREPTIL 


0F4F A9 09 




LDA 


#9 


OFDB AO 15 8F 


CHECKREPS 


LDA 


PARTY 


0F51 85 A7 




QTA 
Oin 


9nl 


fIFDF FO 20 




BEQ 


ENDOFIT 


0F53 A2 AB 




1 nv 








LDX 


#10 


0F55 AO 10 




1 nv 

LUI 




flFF? RD 7S 14 


MRNAU 


LDA 


PARNAMEI.X 


0F57 20 B8 14 




don 


PRINIT 


0FE5 29 3F 




AND 


#63 


; print list ol issues 






nFE7 9D F8 06 




STA 


1784,X 


0F5A A2 13 




LDX 


#19 


OFEA CA 




DEX 




0F5C E8 


ONSTXL 


INV 




HFFR DD FS 




BNE 


FARIMU 


0F5D AO OF 




LDY 


#$0F 


OFED A9 14 




LDA 


#20 


0F5F 18 




CLC 




OFEF 85 FD 




STA 


$FD 


; plot to print the sliding scale 






0FF1 A9 16 




LDA 


#22 


0F60 20 FO FF 




JSR 


$FFFO 


0FF3 85 FE 




STA 


$FE 


0F63 A2 31 




LDX 


#$31 


0FF5 A9 09 




LDA 


#9 


0F65 BA 


nm mill i 

PRLYWH 


TXA 




0FF7 85 A7 




STA 


$A7 


0F66 20 D2 FF 




JSR 


$FFD2 


0FF9 A2 D2 




LDX 


#<RCANISS 


0F69 E8 




INX 




OFFB AO 10 




LDY 


#>RCANISS 


0F6A EO 37 




CPX 


#$37 


OFFD 20 B8 14 




JSR 


PRINIT 


; print 1-6 








1000 A2 04 


ENDOFIT 


LDX 


#4 


0F6C DO F7 




BNE 


PRLYWH 


1002 AO AO 




LDDY 


#160 


0F6E 38 




SEC 




1004 BD 10 8F 


AYYI 


LDA 


CHAR,X 


0F6F 20 FO FF 




don 


$FFFO 


1007 09 30 




ORA 


#$30 


0F72 EO 18 




CPX 


#$18 


' attributB #s 








; screen is almost 


set up 






1009 99 27 07 




STA 


1831 ,Y 


0F74 DO E6 


RNP 


nwQTVi 

UIVO 1 AL 






T>A 




0F76 AD OC 8F 




LDA 


HQMESTATE 


100D 38 




SEC 




0F79 OA 




AQI 
noL 




100E F9 28 




SBC 


#40 


0F7A AA 




TAX 




1010 A8 




TAY 




0F7B BD DC 21 




LDA 




1011 CA 




DEX 




0F7E 29 3F 




AND 


#63 


1012 10 FO 

1 U 1 ^ 1 U 1 U 




BPL 


AYYI 


0F80 8D AB 06 




STA 


1707 


1014 A2 04 




LDX 


#4 


0F83 E8 




INX 




1016 AO AO 




LDY 


#160 


0F84 BD DC 21 




LDA 




1018 98 

IV IV wV 


STNRO 


T\A 




0F87 29 3F 




AND 


#63 


1019 18 




CLC 




0F89 8D AC 06 




STA 


1708 


101A 7D 18 8F 




ADC 


STAND0,X 


0F8C A2 12 




LDX 


#16 


101D A8 




TAY 




0F8E AO 02 




1 nv 




101E B9 2E 07 




LDA 


1838,Y 


IM*nA 4 ft 

0F90 18 








1021 09 40 




ORA 


#$40 


0F91 20 FO FF 




JSR 


SFFFO 


: issues 








0F94 A£ 15 8F 




LDX 


PARTY 


1023 99 2E 07 




STA 


1838,Y 


0F97 BD 28 25 




LDA 




1026 98 




TYU 




0F9A 20 D2 FF 




JSR 


$FFD2 


1027 38 




SEC 




0F9D AE OD 8r 




LDX 


JOB 


1028 E9 28 




SBC 


#40 


ORAO 30 OE 




BM) 


Or LOIIPVw 


102A 29 F8 




AND 


#$F8 


0FA2 AO 04 




LDY 


#4 


102C A8 




TAY 






LSTIO 


LDA 


TITLES.X 


102D CA 




DEX 




m 20 D2 FF 




JSR 


JFFD2 


102E 10 E8 




BPL 


STNRO 


<m E8 




INX 




1030 60 




RTS 




oi?e 88 




DEY 




: data tables for these routines 






OBC DO F6 




BNE 


LSTLO 


1031 53 45 4E 


TITIfS 


.ASC 


"SEN GOV REP RE 


OFAE FO OD 




BEG 


CBMIUI 

wDiVIIVI 








V MS DR> V= 


OFBO A2 00 


SPECIINS 


LDX 


#0 








PGEN" 


0FB2 BD E4 10 


PRESLOPH 


LDA 


ERPPX 


1050 20 




.BYTE 


32 


0FB5 FO 06 




BEQ 




1051 1B 2C 00 


AHRIB 


■BYTE 


27,44,0,27,44,0 


0FB7 20 D2 FF 




JSR 


$FFD2 


1057 FF 




.BYTE 


255 


OFBA E8 




INX 




1058 2C 44 45 




.ASC 


".DEMOCRATIC CAN 


OFBB DO F5 




BNE 


PRF<;i nPH 








DIDATE 


OFBD A9 9E 


CBMM 


LDA 


#<P1NAME 


1074 00 FF 




.BYTE 


0,255 


OFBF 85 F7 




STA 


Z1 


1076 9C 2F 20 




.ASC 


"{PUR}/ CHAR X' 


0FC1 A9 14 




LDA 


#>P1NAME 


107F 00 FF 




.BYTE 


0,255 


0FC3 85 F8 




STA 


Z1+1 


1081 2F 20 53 




.ASC 


7 STAM X" 


0FC5 AO 00 




LDY 


#0 


1089 00 FF 




.BYTE 


0,255 


0FC7 AD 15 8F 




LDA 


F»RTY 


108B 2F 20 49 




.ASC 


•/ INTL X" 


OFCA CD 23 25 




CMP 


FIRSTCAN 


1093 00 FF 




.BYTE 


0,255 


OFCD FO 02 




BEQ 


DOREPTIL 


1095 2F 20 45 




.ASC 


7 EXPR X" 


OFCF AO OC 




LDY 


#12 


109D 00 FF 




.BYTE 


0,255 


0FD1 B1 F7 


DOREPTIL 


LDA 


(Z1),Y 


109F 2F 20 41 




.ASC 


7 APPL X" 


0F03 FO 06 




BEQ 


CHECKREPS 


10A7 00 00 00 




.BYTE 


0,0,0,0 


0FD5 20 D2 FF 




JSR 


$FFD2 


10AB FF 


CANISS 


.BYTE 


255 


0FD8 C8 




INY 




10AC IF 55 4E 




m, 


■{BLU}UNEMP- 



u 
u 
u 



u 
u 



154 



The Source Code 



10B2 00 FF 




BYTE 


0,255 








10B4 50 4F 56 




.ASC 


"POVTY" 


1182 EE 24 25 

1 1 Ufc U& £v 


INC 


WFFKMn 


1089 00 FF 




■BYTE 


0,255 


1185 AO 24 25 


LDA 


WEEKNO 


10BB 41 47 52 




.ASC 


"AGRIC 


1188 C9 OA 


CMP 


#10 


10C0 00 FF 




.BYTE 


0,255 


118A DO 01 


BNE 


RECON 


10C2 45 44 55 




.ASC 


"EDUCN" 


i main rts out of campaign 






10C7 00 FF 




.BYTE 


0,255 


118C 60 


RTS 




10C9 44 46 45 




.ASC 


"OFENS" 


118D 20 ED 09 RECON 


JSR 


MAKFMAP 


10CE 00 00 00 




.BYTE 


0.0,0.0 


1190 20 CO 15 


JSR 


IVItllUII 111 


1002 FF 


RCANISS 


.BYTE 


255 


1193 20 26 OF 


JSR 


DOATTRIB 


10D3 IF 49 4E 




.ASC 


■{BLU}INFLN" 


1196 A9 07 


LDA 


#7 


10D9 00 FF 




.BYTE 


0,255 


1198 80 00 8F 


STA 


DAY 


10DB 43 52 49 




.ASC 


'CRIME" 








10E0 00 00 00 




.BYTE 


0,0,0,0 


; (main menu is on screen now 






10E4 9D 50 52 


ERPP 


•ASC 


"{LEFT}PRESIDENT 


119B 20 F4 14 DEFAULT 


JSR 


MENUMAIN 








119E A2 05 GOAGAINQ 


LDX 


#5 


10EE 20 00 




.BYTE 


32,0 


11A0 AO OC 


LOY 


#12 


ioFO FF 








; (cursor on screen 






ASKIRT 


.BYTE 


255 


11A2 20 A3 1C 


JSR 


SELECT 


10F1 97 50 4C 




.ASC 


" [<4HPLAYER [r 


11A5 AA NQO 


TAX 




10FB 00 FF 




.BYTE 


0,255 


11A6 00 03 


BNE 


NQ1 


10FD 44 45 4D 




JSC 


'DEMOCRATIC 


: (campaign at 200= pick a state 




1107 00 FF 




.BYTE 


0.255 


11Aft AT Cn 19 


JWlr 


CAMFVUGN 


1109 43 4F 4E 




.ASC 


'CONVENTION' 


11AR CJt Mm 


UCA 




1113 00 




.BYTE 





11 AC nn n^ 




NQ2 


1114 OA A6 00 




.BYTE 


10,166,0,5,32,0,255 


' rtu aric at Ann 






111B 1E 20 2F 




.ASC 


'{GRN} / NO' 


11AE 4C 1)1 1? 


JMP 


TVDAY 


1121 00 FF 




.BYTE 


0,255 


11B1 CA NQ2 


OEX 




1123 20 2F 20 




.ASC 


" / YES" 


11R2 nn 

I \ uC UU UJ 




NQ3 


113 00 00 00 




.BYTE 


0.0.0,0 


; (fundrais at line 600 

11R4 AT pii 19 

I ID*I 10 UJ IL 


IMD 


FUNORAIT 


il2D00 


CANNRO 


.BYTE 





11R7 r^ nty^ 


UCA 




; firebutton to continus routine 






11)30 nn M 
I IDO UU UO 


RMP 

one 


NQ4 


112E AD 05 04 


PRESSFIRE 


LDA 


1029 


. (fcdi louiine ai ouu 






1131 48 




PHA 




11RA iC FF 19 
1 IDA HO Cr l£ 


JMr 


REST 


1132 A9 00 




LDA 


#0 


11BD CA NQ4 


DEX 




1134 85 A2 




STA 


$A2 


11BE DO 06 


BNE 


NQ5 


1136 85 C6 




STA 


$C6 


11C0 20 2B ID 


JSR 


MAPMAGIC 


1138 A9 20 




LDA 


#$20 


; (goto the map routine 






113A C5 A2 


DELPOL 


CMP 


$A2 


lies 4C 9B 11 


JMP 




113C DO FC 




BNE 


DELPOL 


11C6 CA NQ5 


DEX 




113E A2 17 




LOX 


#23 


11C7 DO 08 


BNE 


NQ7 


1140 80 62 11 


PRINLU 


LDA 


FIREMSG,X 


11C9 20 16 13 


JSR 


POLLSTER 


1143 29 3F 




AND 


#63 


11CC DO CD 


BNE 


DEWULT 


1145 90 04 04 




STA 


1028,X 


; (poll routine at 1200 






1148 CA 




OEX 




11CE 4C 03 12 


JMP 


CAMPAIGN 


1149 10 F5 




BPL 


PRINLU 


1101 CA NQ7 


DEX 




114B 20 1A IF 


WPf 


JSR 


UKL 


1102 DO OE 


BNE 


NQO 


114E AD 68 IF 




LDA 


JB 


1104 20 2E 11 


JSR 


PRESSFIRE 


1151 FO F8 




BEQ 


LPPF 


11D7 FO C5 


BEQ 


GOAGAINQ 


1153 A2 17 




LDX 


#23 


1109 AD OB 8F RESETREG 


LDA 


LASTREGI 


1155 66 




PLA 




11DC 80 20 8F 


STA 


CURREG 


1156 9D 04 04 


RESTRM 


STA 


1028,X 


; reconsider/try again 






1159 CA 




OEX 




11DF 4C 80 11 


JMP 


RECON 


115A 10 FA 




BPL 


RESTRM 


11E2 CA NQ8 


OEX 




115CAD6B IF 




LDA 


JB 


11E3 FO 03 


BEQ 


NQEND 


115F 29 10 




AND 


#16 


11E5 4C 9B 11 


JMP 


OEFftULT 


1161 60 




RTS 




; (travel routine at 1600 






1162 3A 


FIREH/ISG 


.BYTE 


58 


11E8 4C C8 13 NQEND 


JMP 


TRWEL 


1163 46 49 52 




.ASC 


'FIREBUTTON TO CO 








1179 3A 






NTINUE" 


: campaign 








.BYTE 


58 


11EB A2 00 OREET 
11ED A9 80 


LDX 
LDA 


#<REGUMEN 
#>REGUMEN 


; bkcm.control 








11EF 18 
11F0 60 20 8F 


CLC 
AOC 


CURREG 


: ttiis is tile main routine for sel( 


x;ting campaign stops and 


11F3 A8 


TAY 




playing the game 






11F4 A9 00 


LDA 


#0 


117A AD 23 25 


CONTROL 


LDA 


FIRSTCAN 


11F6 85 FO 


STA 


SFD 


1170 CO 15 8F 




CMP 


FARTY 


11F8 A9 OE 


LDA 


#14 


1180 DO OB 




BNE 


RECON 


UFA 85 FE 


STA 


$FE 



155 



Chapter 3 



11FC A9 IE 


LDA 


#30 


1288 CE 00 8F 


DEC 


DAY 


11FE 85 A7 


STA 


$A7 


1288 00 03 


8NE 


NEXIIX 


; menu for current region/imply rts 






JMP 


EWLEND 


lonn jIP do i/I 
1200 A\j bo Ifl 


JlVlr 


PRWIT 


1280 4C 07 14 


iCvO cV to It LinlVlrnlolN 


Jon 


OREET 


1290 4C 08 12 NEXIIX 


JMP 


RESLG 


lonc AC on qc dccip 
l^Uu At cv or ntbUb 


1 nv 


CtJRREG 








1209 BD 7F ZA 


LUA 


regfirst;( 


; Iv ads routine 






iOnP PA 


UtA 




; $10 = Iv ads 






ionn 00 

l£W 00 






1293 AE 00 8F TVDAY 


LOX 


DAY 


lOAC cn 7C OA 
l(iUt rU /r £fl 




REGFIRSTX 


1296 A9 FO 


LDA 


#$F0 


1011 AQ 


PMA 

rnn 




1298 90 00 8F 


STA 


DAY,X 


1010 CQ rtO 




#3 


129B 86 FC 


STX 


$FC 


ioiii &n 

ItR no 


TAY 




1290 20 FA 13 


JSR 


ITINPLOr 


loic AO no 
iciQ rid. Uo 


1 ny 


#3 


12A0 A9 81 


LDA 


#129 


1017 on AO IP 

Mil cxj Ao 10 


Jon 


SELECT 


12A2 20 02 FF 


JSR 


$FFD2 


121 A C9 00 




#0 


12A5 A2 00 


LOX 


#0 


HHP nn A? 

i21C DO 07 


DMP 
DNt 


CRR 


12A7 BD 70 15 TVROUL 


LOA 


REGLCUX 


121E 20 2B ID 


JSR 


MAPMAGIC 


12AA FO 08 


8EQ 


TV67 


1221 DO 


PLA 




12AC 20 02 FF 


JSR 


$FF02 


1222 K OS 12 


JWlr 


RESLG 


12AF E8 


INX 


TVROUL 


H one Qc rto POO 

1225 85 02 CRR 


CTA 

olA 


$02 


12B0 DO F5 


BNE 


1227 68 


Dl A 

rLA 




1282 AO 20 8F TV67 


LDA 


CURREG 


■i no PC AO 

1<:2o Ub 




$02 


12B5 09 30 


ORA 


#$30 


HOI A nA AO 

122A BO 03 


ore 


CRR2 


12B7 20 02 FF 


JSR 


$FF02 


H onn *(P AD 1H 

122C 4C 98 11 


JMr 


DEIftULT 


12BA CE 00 8F 


DEC 


DAY 


■1 nr PC m PDDO 
122r Lb Unnt 


ncp 
ucu 


$02 


1280 00 03 


BNE 


TV68 


-ton AC OA OC 

1231 AE 20 or 


1 nv 
LUA 


CURREG 


12BF 4C 07 14 


JMP 


EWLENO 


1234 CA 


ncv 

UCa 




12C2 4C 9B 11 TV68 


JMP 


DEFAULT 


1235 BD 7F 24 


1 DA 

LUA 


REGFIRSTX 








123o I0 


PI p 
OLu 




; lundrals - adds money (lieef 


up later) 




; state numter in .a 






; $ff = tundraising needed (in itinerary) 




itoA cc no 

1239 65 02 


Anr 
AUu 


$02 


12C5 AE 00 8F FUNORAIT 


LOX 


W 


100Q AP nn OC 
icOD nc uu or 


LOX 


DAY 


12C8 A9 FF 


LOA 


#$FF 


100c on nn rf 

w MM or 


STA 


DAY,X 


12CA 90 00 8F 


STA 


OAYX 


10J1 cn 


STA 


$FB 


12CD 86 FC 


STX 


$FC 


, Siaicff Udy 






12CF 20 FA 13 


JSR 


ITINPLOT 


10X0 OA CP 


STX 


$FC 


1202 A9 9A 


LOA 


#154 


ioj(r on ca 10 


IQR 
JOn 


ITINPUJT 


1204 20 D2 FF 


JSR 


$FF02 


IOjIQ AQ 1C 
liiTO AS It 


LUft 


#30 


1207 A2 00 


LDX 


#0 


io>iA on no cc 
iZflA CM \Jl rr 


Jon 


$FF02 


1209 BD 70 15 FUNN6 


LDA 


REGLCM,X 


loxn AR CD 
12*IU AD ro 


1 nA 

LUn 


$FB 


120c FO 06 


BED 


ENFUN6 


124F OA 


ACI 
AOL 




12DE 20 02 FF 


JSR 


$FFD2 


1250 AA 


TAY 
lAA 




12E1 E8 


INX 




lom on np 01 


1 DA 
LUH 


STNAME,X 


12E2 DO F5 


BNE 


FUNN6 


1 Qr66n, 1st letter 






12E4 CE 00 8F ENFUN6 


DEC 


DAY 


locx on no cc 
1254 2U vl rr 


ICR 
Jon 


$FF02 


12E7 00 03 


BNE 


ENFUN7 


lORT on nn 91 

XCQI DU UU £ 1 


LDA 


STNAME+1,X 


12E9 4C 07 14 


JMP 


EWLEND 


10RA on no cc 
1^5A CM \jc rr 


ICR 

Jon 


$FFD2 


12EC 4C 98 11 ENFUN7 


JMP 


DEFAULT 


locn AO on 
12jU as cm 


1 nA 

LUn 


#32 








', 2nd letter, spac6 






; rest 






10CC on no cc 
12or 2U vc rr 


ICR 

Jon 


$FFD2 


12EF AE 00 8F REST 


LDX 


DAY 


iofto on nn 7fl 
\c\ic DU uu '0 


1 nA 

LUn 


STEVOTE.X 


12F2 A9 00 


LDA 


#0 


1 0CC Atl 

\coo flo 


QUA 

rnM 




12F4 90 00 8F 


STA 


OAY,X 


1266 AA 


TAV 
IAa 




12F7 86 FC 


STX 


$FC 


19R7 AO ftn 


LOA 


#0 


12F9 20 FA 13 


JSR 


ITINPLOT 


; print # of electoral votes 






12FC A9 9B 


LDA 


#155 


1269 20 CD BD 


JSR 


$BDCD 


12FE 20 02 FF 


JSR 


$FF02 


126C 68 


PLA 




1301 A9 5A 


LOA 


#90 


126D C9 OA 


CMP 


#10 


1303 A2 05 


LOX 


#5 


126F BO 05 


BCS 


CREGI 


1305 20 02 FF ZPLOT 


JSR 


$FFD2 


1271 A9 20 


LOA 


#32 


1308 CA 


DEX 




1273 20 D2 FF 


JSR 


$FF02 


1309 DO FA 


BNE 


ZPLOT 


1276 A9 20 CREGI 


LDA 


#32 


130B CE 00 8F 


DEC 


DAY 


1278 20 02 FF 


JSR 


$FFD2 


130E DO 03 


BNE 


ENRSTX 


127B A9 98 


LDA 


#152 


310 4C 07 14 


JMP 


EWLENO 


127D 20 D2 FF 


JSR 


$FFD2 


; stiould be evalend Tt 






1280 AD 20 8F 


LDA 


CURREG 


1313 4C 98 11 ENRSTX 


JMP 


DEFAULT 


1283 09 30 


ORA 


#$30 








1285 20 02 FF 


JSR 


$FFD2 


1316 AO 09 8F POLLSTER 


LOA 


MONEY 






1319 C9 OA 


CMP 


#10 



156 



The Source Code 



131B BO 01 


BCS 


OKTOPOLL 


1310 60 


RTS 




131E CE 09 8F OKTOPOLL 


DEC 


MONEY 


: prints header 






1321 20 99 21 


JSR 


CONSULHD 


1324 AE 20 8F 


LOX 


CURREG 


1327 BD 7F 24 


LDA 


REGFIRST,X 


132A 85 F8 


STA 


Z1+1 


132C CA 


DEX 




132D BD 7F 24 


LDA 


REGFIRST,X 


1330 85 F7 


STA 


Z1 


; firsts last zl/zl+1 






1332 A9 98 


LDA 


#150 


1334 85 F9 


STA 


22 


1336 A9 04 


LDA 


m 


; z2= indirect lor storing grapli 






1338 85 FA 


STA 


Z2+1 


133A A9 2F PSTLOOPI 


LDA 


#47 


133C 85 FB 


STA 


Z3 


; solids Into z3/+1 






133E 85 FC 


STA 


Z3+1 


1340 A6 F7 


LOX 


Z1 


1342 E4 F8 


CPX 


Z1+1 


1344 DO 03 


BNE 


CNPST 


: end of poll routine 






1346 4C 2E 11 


JMP 


PRESSFIRE 


1349 A5 F9 CNPST 


LDA 


Z2 


134B 18 


CLC 




134C 69 28 


ADC 


#40 


134E 85 F9 


STA 


Z2 


1350 90 02 


BCC 


CNPST1 


1352 E6 ft 


INC 


Z2+1 


1354 BO 00 90 CNPST1 


LOA 


REALLEAN,X 


1357 85 FO 


STA 


Z4 


1359 85 FE 


STA 


Z4+1 


135B A2 04 


LOX 


#4 


1350 06 FE SMIL 


ASL 


Z4+1 


135F CA 


DEX 




1360 DO FB 


BNE 


SMIL 


1362 08 FE 


ASL 


Z4+1 


1364 BO 1C 


BCS 


PRTDEMM 


1366 A9 25 


LOA 


#37 


1368 85 FB 


STA 


Z3 


136A 06 FE 


ASL 


Z4+1 


136C BO 14 


BCS 


PRTDEMM 


136E A9 20 


LDA 


#32 


1370 85 FB 


STA 


Z3 


1372 06 FE 


ASL 


Z4+1 


1374 BO OC 


BCS 


PRTDEMM 


1376 A9 25 


LOA 


#37 


1378 85 FC 


STA 


Z3+1 


137A 06 FE 


ASL 


Z4+1 


137C BO 04 


BCS 


PRTDEMM 


137E A9 20 


LOA 


#32 


1380 85 FC 


STA 


Z3+1 


13B2 AO 00 PRTDEMM 


LOY 


#0 


1384 A9 20 


LDA 


#32 


1386 91 F9 


STA 


(Z2).Y 


1388 C8 


INY 


1389 A5 FB 


LDA 


Z3 


138B 91 F9 


STA 


(Z2),Y 


1380 C8 


INY 


138E A5 FC 


LDA 


Z3+1 


1390 91 F9 


STA 


(Z2).Y 


1392 A9 2F PSTREPUB 


LDA 


#47 


1394 85 FB 


STA 


23 


; solid blocks into z3/+1 






1396 85 FC 


STA 


Z3+1 


^m 06 FO 


ASL 


Z4 



139A BO 1C 




BCS 


ENREPUB 


139C A9 2A 




LOA 


#42 


139E 85 FC 




STA 


Z3+1 


13A0 06 FD 




ASL 


Z4 


13A2 BO 14 




BCS 


ENREPUB 


13A4 A9 20 




LDA 


#32 


13A6 85 FC 




STA 


23+1 


13A8 06 FD 




ASL 


Z4 


13AA BO OC 




BCS 


ENREPUB 


13AC A9 2A 




LOA 


#42 


fit: pp 
■one oj ro 




STA 


7^ 

Lo 


13B0 06 FD 




ASL 


lA 


13B2 BO 04 




BCS 


ENREPUB 


13B4 A9 20 




LDA 


#32 


13B6 85 FB 




STA 


Z3 


13B8 AO 07 


ENREPUB 


LDY 


#7 


13BA A5 FB 




LDA 


Z3 


13BC 91 F9 




STA 


(Z2),Y 


13BE C8 




INY 


13BF A5 FC 




LDA 


Z3+1 


13C1 91 F9 




STA 


(Z2),Y 


13C3 E6 F7 




INC 


Z1 


13C5 4C 3A 13 




JMP 


PSTLOOPI 


; ** travel 








; regional main menu on screen 






13C8 20 67 17 


TRWEL 


JSR 


REGURUEN 


13CB AE 20 8F 




LOX 


CURREG 


13CE E8 




INX 




13CF E8 




INX 




1300 E8 




INX 




13D1 AO 1F 




LDY 


#31 


13D3 18 




CLC 




1304 20 FO FF 




JSR 


$FFF0 


1307 A9 3A 




LDA 


#$3A 


1309 20 02 FF 




Jon 




130C A2 03 




LDX 


#3 


130E AO 00 




LDY 


#13 


13E0 20 A3 1C 




JSR 


SELECT 


13E3 C9 00 




CMP 


#0 


13E5 DO 06 




BNE 


TRA 


13E7 20 2B 10 




JSR 


MAPMAGIC 


13EA 4C C8 13 




JMP 


TRfl/EL 


13E0 C9 OA 


TRA 


CMP 


#10 


13EF DO 03 




BNE 


GOREGG 


13F1 4C 9B 11 




JMP 


DEfi^ULT 


13F4 80 20 8F 


GOREGG 


STA 


CURREG 


13F7 4C 9B 11 




JMP 


DEfftULT 


iSft A9 16 


ITINPLOT 


LDA 


#22 


13FC 38 




SEC 




13FD E5 FC 




SBC 


$FC 


13FF AA 




TAX 




1400 AO 20 




LOY 


#32 


1402 18 




ac 




1403 20 FO FF 




JSR 


$FFFO 


1406 60 




RTS 




; evalend ** alter 


week Is done, 


evaluate 


results 


1407 20 2E 11 


EWLEND 


JSR 


PRESSFIRE 


140A DO 03 




BNE 


EWLUIT 


140C 4C D9 11 




JMP 


RESETREG 


140F 20 68 19 


EWLUIT 


JSR 


EWVOTES 


1412 20 FA 1A 




JSR 


CKDEMREP 


1415 20 6C IB 




JSR 


TRANSLEANCOLR 


; toggle the party.. 








1418 20 84 IB 




JSR 


TGLPARTY 


; and jump t)acl< to the lieglnning ol this 




141B 4C 7A 11 




JMP 


CONTROL 



; bkcm.menu 



Chapter 3 



141t Ay UU 


CCTI IDftilCMI 1 

bt i UrivltNU 


1 nA 


ffU 


' *fircl lino nf lAvt 
, lllsl Mile Ul (CAl 








•iAon fit; PD 




STA 


$FD 


■iAOO AQ HA 




LDA 


#10 


, Idol rllic 








l^£*t OJ rt 




STA 


IFF 


R^O fvJ IE 




Lun 


TfOU 


, uOlulllll nuiiiuci 








1/OQ QC A7 




STA 


$A7 


149A A9 ^1 




LDX 




iAor An 1/ 




1 nv 


jj^MCMI 11 
ff>IVICI"IU 1 


■iAOC DO 1^ 
llit *IU DO 14 




\hA0 
JlVlr 


PRINIT 
rnll"ll 1 


1/131 FF 


MENU1 


.BYTE 


255 


1432 12 90 AO 




.AS 


"{RVS}{BLK){SHIF 








T QPAPFHIQF/QHIF 
l-OnnUt;Uot\Onir 








T CPAPFX inv Lr-V 








-J/QHIFT CPAPF1" 


llot UU 




■DT IC 


n 
u 


143F FF 




DVTC 
-DT It 


OKR 


1440 AO 03 D4 




.ASC 


"fCUICT CDAPCIOTI 

|bnlrl-bnftut|ijll 








CK{SHIFr-SRACE}0 








R{SHIFr-SPACE}" 


14*1A UU 




DVTC 
.DT it 


U 


144B FF 




DVTC 
.Dl lb 


one 

at) 


■iAAr PQ PA PD 

Us Un Ud 




ACP 


"1 U(\ /nFF\li/l/RWc;\ 

IJI\H Urr 1 IVII nv o / 








/QHIFT QPAPFXkFV 
C" 


i>i(;d nn 
list) UU 




RYTF 

■Di IC 


O 

u 


1*133 rr 




.BYTE 


255 


ijICA 10 QD Rn 
Id 9D uU 




ACP 










1 PARTV/OFFl" 
1 rnnl T |Urr| 


■\AR7 nn 

1 'ID f UU 




BYTE 


Q 


1468 FF 


DADMAMCn 


DVTC 
.DT It 


CO'} 






AQP 


" / Rl 1 1 1 nFMfirRATI 
\ DLU / UCIVIUUnnI 1 

C 


iA7A nn 
14/4 UU 




RVTF 
.Dl It 


\j 
n 
U 


1/17(1 CC 

14ia rr 




RVTF 
.DT IC 


255 


1476 52 45 50 




.ASC 


"REPUBLICAN" 


1480 00 




.BYTE 





1481 FF 




BYTE 


255 


lAtio 19 OS on 






|nvo| 1^0^ it<iou 








MRFNT/flFFr 


■\Atic nn 

l*HJr UU 




RVTF 
.DT 1 C 


n 
u 


1490 FF 




DVTC 


ORR 
CM 


■t AM -ic on on 
14yi Ir aJ 




ACP 


"/Dl 1 1\ KIPMC " 
|DLU/ INUINt 


1/1QP nn 
l4yL. UU 




DVTC 
■DT 1 1 


n 
U 


149D FF 




RVTF 
.DT 1 L 


CUD 


^AQC on un >1P 
l4yb tU DU 41/ 


D1M&MC 
r in/WlE 


ACP 


" PI iVFR 1 " 


i^AO nn CC 
14Ao UU rr 




DVTC 
■DT 1 1 


n Of^t: 
U/Oj 


i>iAA on cn AP 
14AA tU OU 4U 


DOMAMC 
rtNAWIC 


ACP 


" PI AYFR ■ 
rLftltn C 


^ADA nn nn nn 
14d4 UU UU UU 




DVTC 
.DT It 


u,u,u,u 


; pnnit sr 








iAOQ OC CD 
l*iDO 00 rD 


PRINIT 


STX 


$FB 


; (Isb/msb ol text 


address) 






14BA 84 FC 




STY 


$FC 


14BC DO OB 




BNE 


MNPRIN 


14BE C8 


RESETMPTR 


INY 




14BF 98 




m 




14C0 18 




CLC 




14C1 65 FB 




ADC 


$FB 


14C3 85 FB 




STA 


$FB 


14C5 90 02 




BCC 


MNPRIN 


14C7 E6 FC 




INC 


$FC 


14C9 A6 FD 


MNPRIN 


LDX 


$FD 


14CB E4 FE 




CPX 


$FE 


14CD DO 01 




BNE 


CNPRIN 



; main ris of prinll 



l^pc cn 




RTS 




i^nft Ffi Fn 
i*iuu CD ru 


ulvrnllN 


INC 


$FD 


, l«UIUIIIII W 








\adO la A7 




LDY 


$A7 


^ATlA 10 

\mjH 10 








i^rfi 9n Fn ff 

itUtj cv ru rr 




JSR 


$FFF0 


idHA Aft nn 

ISUO nU UU 




LDY 


#0 


, nclllal piUl 








14nA A? FF 
InUA nC rr 




LDX 


#$FF 


14nP R1 FR 
1 D 1 rD 




LDA 




UDF 10 in 




BPL 


REPT 


l/cn no 




INY 




iJCI Dl CD 
I4CI Dl rD 




LDA 


nca\ Y 
\'trDi, I 


i^co cn nn 




BEQ 


RF^FTMPTR 
ncoc t ivir 1 n 


A Ape. on no CC 
i*tco Cv uc rr 


PRNT 


JSR 


$FFD2 


14E8 CA 




DEX 




14E9 10 f^ 




RPI 
DrL 


PRNT 


14EB FO Dl 




DCU 


RCCCTUPTR 

ncoc 1 ivir 1 n 


14ED C8 




IMV 




14EE DO F1 




BNE 




14F0 AA 


REPT 


TAV 




14F1 CB 




IMV 




14F2 DO ED 




RMP 
DINt 


II IMPIM 

JUIVlrm 


; ** menumain 








14F4 A9 00 


MENUIUIAIN 


1 DA 


ffU 


14F6 85 FD 




STA 




14F8 A9 OE 




LDA 


#14 


: first and last lines 






141ft 85 FE 




STA 


$FE 


MFC A9 92 




IDA 


#146 


14FE 20 D2 FF 




JSR 


$FFD2 


1501 A9 90 




LDA 


#144 


: set unreverse 8i black chr color 






1503 20 02 FF 




JSR 


$FFD2 


1506 A9 IE 




LDA 


#30 


1508 85 A7 




STA 


$A7 


1S0A A2 48 




LDX 


Tr ^IVI t I^U iVI 


150C AO 15 




LDY 




150E 20 B8 14 




JSR 


PRINIT 


1511 AE 15 8F 




LDX 


FARTY 


1514 BD 25 25 




LDA 


PRTIS X 


1517 29 3F 




AND 


#63 


1519 8D 47 04 




STA 


1095 


151C AD 24 25 




LDA 


WFFKNO 


151F 09 30 




ORA 


#$30 


1521 8D 4E 04 




STA 


1102 


; party (d or r) and week number 




1524 AD 20 8F 




LDA 


n IRRFR 
uunncu 


1527 OA 




ASL 




1528 OA 




ASL 




1529 OA 




ASL 




152A 18 




CLC 




152B 6D 20 8F 




ADC 


PI IRRFR 


152E AA 




TAX 




152F AD 20 8F 




LDA 


n IRRFR 


1532 09 30 




ORA 


#S30 


1534 8D 96 04 




STA 


1174 


1537 AO 00 




LDY 


#0 


1539 BD 25 24 


RGGGLOP 


LDA 


REGIONAME.X 


153C 29 3F 




AND 


#63 


153E FO 07 




BEQ 


OUTRR 


1540 99 98 04 




STA 


1176,Y 


1543 E8 




INX 




1544 C8 




INY 




1545 DO F2 




BNE 


RGGGLOP 


1547 60 


OUTRR 


RTS 




1548 09 3A 00 


It/IENUM 


.BYTE 


9,58,0 


154B FF 




.BYTE 


255 


1S4C 20 20 20 




.ASC 


" WEEK " 


1556 00 09 3A 




.BYTE 


0,9,56.0 



158 



The Source Code 



15SA 09 20 00 




.BYTE 


9,32,0 


162D 20 D2 FF 


JSR 


$FF02 


15SD 09 20 00 




.BYTE 


9,32,0 


1630 60 


RTS 




1560 FF 




.BYTE 


255 


1631 A9 00 MNPR9 


LDA 


#0 


1561 IF 20 20 




.ASC 


•{BLU} CAMPAIGN 


1633 20 CD BD 


JSR 


$BDCD 


156C 00 FF 20 




.BYTE 


0,255,32,32 


1636 AO B8 07 


LDA , 


1976 


1570 54 56 20 


REGLCL 


.ASC 


"TV ADS ■ 


; add one for comma 






1578 9D 00 FF 




.BYTE 


157,0,255,32,32 


1639 80 B9 07 


STA 


1977 


157D 46 55 4E 


REGLCM 


.ASC 


"FUNDRAIS" 


163C A2 06 


LDX 


#6 


1585 00 FF 




.BYTE 


0,255 


163E AD IB D4 RNLOOPTP 


LDA 


RAND 


1587 20 20 52 






• REST ■ 


1641 29 OF 


AND 


#$0F 


1591 00 FF 




.BYTE 


0,255 


1643 C9 OA 


CMP 


#10 


1593 12 SB 20 




JSC 


•{RVS} (<8>) MA 
p. 


1645 BO F7 


BCS 


RNLOOPT 








1647 09 30 


ORA 


#$30 


159F 00 FF 




.BYTE 


0,255 


1649 9D 89 07 


STA 


1977,X 


15A1 20 50 4F 




ASC 


" POLL • 


164C CA 


DEX 


15AB 00 FF 




.BYTE 


0,255 


; prints random #s in money slot 




15AD 92 96 52 




.ASC 


■{OFF} [<3>)REC0 
NSIDER" 


1640 DO EF 


BNE 


RNLOOPT 








164F A9 3C 


LDA 


#60 


15B9 00 FF 




.BYTE 


0,255 


1651 80 B8 07 


STA 


1976 


15BB 54 52 41 




.ASC 


"TR/S/EL \<7>r 


; put commas bacl< in 






15C6 00 09 20 




.BYTE 


0,9,32,0,0,0,0 


1654 8D BC 07 

; t)archart -- part of Itin, but aisc 


STA 
works 


1980 
standalone 


; ** menuitin/the itinerary 






game 






15CD A9 OE 


MENUITIN 


LDA 


#14 


1657 20 7A 16 BARCHART 


JSR 


BAR1 


15CF 85 FD 




STA 


$FD 


165A A9 34 


LDA 


#52 


15D1 A9 19 




LDA 


#25 


165C 85 F8 


STA 


$F8 


15D3 85 FE 




STA 


$FE 


165E A9 00 


LDA 


#0 


15D5 A9 1C 




LDA 


#28 


1660 85 F7 


STA 


$F7 


15D7 85 A7 




STA 


$A7 


1662 A8 


TAY 




15D9 A9 IE 




LDA 


#30 


1663 A2 02 


LDX 


#2 


; green 








1665 95 FC FLBARC1 


STA 


$FC,X 


15DB 20 D2 FF 




JSR 


$FFD2 


1667 CA 


DEX 




15DE A2 22 




LDX 


#<ITINT 


1668 10 FB 


BPL 


FLBARC1 


15E0 AO 17 




LDY 


#>ITINT 


166A 20 A6 16 


JSR 


BAR2 


15E2 20 B8 14 




JSR 


PRINIT 


166D A9 20 


LDA 


#32 


15E5 A9 2B 




LDA 


#43 


166F A2 02 


LDX 


#2 


15E7 8D 4C 06 




STA 


1612 


1671 95 F9 FLBARC 


STA 


$F9,X 

FLBARC 


15EA A9 2E 
; screen locations 


comers 


LDA 


#46 


1673 CA 

1674 10 FB 


DEX 

BPL 


15EC 8D 8C 07 




STA 


1932 


1676 20 03 16 


JSR 


BAR3 


15EF AD 24 25 




LDA 


WEEKNO 


1679 60 


RTS 




15F2 DO OB 




BNE 


GRTON 


167A A9 11 BAR1 


LDA 


#17 


15F4 A9 14 




LDA 


#20 


167C 85 FC 


STA 


$FC 


15F6 A2 08 




LDX 


#B 


167E A9 00 


LDA 


#0 


15F8 20 D2 FF 


OUNT 


JSR 


$FFD2 


1680 85 FB 


STA 


$FB 


15FB CA 




DEX 




1682 A6 FB ENBAR1 


LDX 


$FB 


15FC DO FA 




BNE 


OUNT 


1684 E4 FC 


CPX 


$FC 


15FE 60 




RTS 




1686 DO 01 


BNE 


CNBAR1 


15FF AE 08 8F 


GRTON 


LDX 


HEALTH 


1668 60 


RTS 




1602 A9 00 




LDA 


#0 


1689 AO 00 CNBAR1 


LDY 


#0 


: print the health 








168B 18 


CLC 




1604 20 CD BD 




JSR 


$BDCD 


168C 20 FO FF 


JSR 


$FFFO 


1607 A2 17 




LDX 


#23 


168F A2 00 


LDX 


#0 


1609 AO IE 




LDY 


#30 


1691 BD 28 25 LPBAR1 


LOA 


PRTCO,X 


160B 16 




CLC 




1694 20 D2 FF 


JSR 


$FFD2 


160C 20 FO FF 




JSR 


$FFFO 


1697 A9 25 


LOA 


#37 


160F A9 IE 




LDA 


#30 


: bar & color 






; green 








1699 20 02 FF 


JSR 


$FFD2 


1611 20 D2 FF 




JSR 


$FFD2 


169C E8 


INX 




1614 AE 09 8F 




LDX 


MONEY 


169D EO 03 


CPX 


#3 


1617 EO 64 




CPX 


#100 


169F DO FO 


BNE 


LPBAR1 


1619 BO 16 




BCS 


MNPR9 


16A1 E6 FB 


INC 


$FB 


161B A9 20 




LDA 


#32 


16A3 4C 82 16 


JMP 


ENBAR1 


161D 20 D2 FF 




JSR 


$FFD2 


16A6 A6 F7 BAR2 


LDX 


$F7 


1620 EO OA 




CPX 


#10 


16A8 E8 


INX 


1622 BO OD 




BCS 


MNPR9 


16A9 E8 


INX 




1624 20 D2 FF 




JSR 


$FFD2 


16AA 86 F7 


STX 


$F7 


1627 20 02 FF 




JSR 


$FFD2 


16AC C8 


INY 


162A BA 




TXA 




16A0 C4 F8 


CPY 


$F8 


162B 09 30 




ORA 


#$30 


16AF DO 01 


BNE 


ENBAR2 



Chapter 3 



; main rts 








4 7A1^ AA AT\ 

i72C 20 40 


.ASC 


" M" 


16B1 60 




RTS 




4 Af AA rr A A 

172E 00 FF 2A 


■BYTE 


0,255,42 


16B2 BD 00 78 


TLIA A AA 

ENBAR2 


LDA 


STEVQTE.X 


4 744 AA C A 

1731 20 54 


.ASC 


" T" 


16B5 4A 




LSR 




HTQO An CC OA 

1733 00 FF 2A 


.BYTE 


0,255,42 


16B6 85 02 




STA 


$02 


4 TQ0 An CT 

1736 20 57 


.ASC 


" \fi' 


16B8 89 00 90 




LDA 


nr Ai 1 r A hi u 

REALLEAN.Y 


^ffio nn cc A A 

173B 00 FF 2A 


.BYTE 


0,255,42 


16BB A2 02 




LDX 


#2 


■i Tin AA CA 

173B 20 54 


.ASC 




loBD 29 EE 




AND 


#$EE 


<7on nn cc a* 

173D 00 FF 2A 


.BYTE 


0,255,42 


16BF FO 06 




BEQ 


^Tn A nA 

STBAR2 


47jin An lie 

1740 20 46 


.ASC 


" F' 


16C1 CA 




DEX 




4 7AA AA CC A A 

1742 00 FF 2A 


.BYTE 


0,255,42 


16C2 29 OE 




AND 


#$0E 


AT AC nn CO 

1745 20 53 


.ASC 


" S" 


16C4 FO 01 




BEQ 


ATA AAA 

STBAR2 


4 AA nn A/^ 

1747 00 OB 20 


.BYTE 


0,11,44,0 


16C6 CA 




DEX 




1746 FF 


.BYTE 


255 


16C7 B5 FC 


STBAR2 


LDA 


$FC,X 


A^A^ nn OA 

174C 5C 20 30 


.ASC 


"E 00<000<000' 


16C9 18 




CLC 




1758 00 FF 


.BYTE 


0,255 


16CA 65 02 




ADC 


$02 


175A 9A 20 48 


.ASC 


" [<7>j HEALTH" 


16CC BO 08 




BCS 


BAR2 


H 7^A AA AA AA 

1762 20 00 00 


.BYTE 


OA n n n n 

32,0,0,0,0 


16CE 95 FC 




STA 


$FC,X 


1767 A9 1C REGLARMEN 


LDA 


#26 


16D0 4C A6 16 




JMP 


BAR2 


1769 20 D2 FF 


JSR 


.$FFD2 


16D3 A9 04 


BAR3 


LDA 


#4 


AtDf* An nn 

176C A9 00 


LDA 


#0 


16D5 85 F8 




STA 


SFB 


176E 85 FD 


STA 


$FD 


16D7 A9 00 




LDA 


#0 


1770 A9 OF 


LDA 


#15 


16D9 85 F7 




STA 


$F7 


; red & pointers 






16DB AO 02 




LDY 


#2 


1772 85 FE 


STA 


$FE 


16DD A9 OF 




LDA 


#15 


1774 A9 IE 


LDA 


#30 


16DF 65 02 




STA 


$02 


1776 85 A7 


STA 


$A7 


16E1 B9 25 25 


LPHBAR3 


LDA 


PRTIS.Y 


1778 A2 00 


LDX 


#<REGUMEN 


16E4 29 3F 




AND 


#63 


177A AO 80 


LDY 


#>REGUMEN 


16E6 91 F7 




STA 


($F7),Y 


177C 20 B8 14 


JSR 


PRINIT 


16E8 88 




DEY 


177F 60 


RTS 




; d*r*u header 














16E9 10 F6 




BPL 


1 ni in A no 

LPHBAR3 


; ** setregmenu 






16EB A9 28 


ENBAR3 


LDA 


#40 


; sets up menu tables 






16ED 18 




CLC 




; " z1 = indirect for tables at 8000 




IdEE 65 F7 




ADC 


$F7 


; ** z2 = X counter/to regioname 




16F0 85 F7 




STA 


$F7 


; ** z2+1 = compare byte lor end of region 


16F2 A9 00 




LDA 


#0 


; ** z3 = number of e-votes (begin with $30 = zero) 


16F4 65 F8 




ADC 


$F8 


; ** z4 = region # 






16F6 85 F8 




STA 


$F8 


' ** z4+1 = state# 






A ^rA A A f\f\ 

16F8 AO 02 




LDY 


#2 


1780 A9 80 SETREGMEN 


LDA 


#>REGUII^EN 


16ft A2 02 




LDX 


#2 


1782 85 F8 


STA 


Z1+1 


16FC A9 10 


CKBAR3 


LDA 


#16 


1784 A9 00 


LDA 


#<REGUMEN 


16FE 18 




CLC 




1786 85 F7 


STA 


Z1 


16FF 75 FC 




ADC 


$FC,X 


1788 A9 00 


LDA 


#0 


1701 95 FC 




STA 


$FC,X 


178A 85 (A 


STA 


Z2+1 


1703 BO OD 




BCS 


FLIPBAR3 


178C 85 F9 


STA 


22 


1705 B5 F9 




LDA 


$F9,X 


178E A9 00 


LDA 


#0 


1707 91 F7 


BABAR3 


STA 


($F7),Y 


1790 85 FD 


STA 


Z4 


1709 CA 




DEX 


1792 85 FE 


STA 


Z4+1 


170A 88 




DEY 




1794 A8 


TAY 




170B 10 EF 




BPL 


CKBAR3 


1795 A2 01 


LDX 


#1 


170D C6 02 




DEC 


$02 


; header for regional 






170F 10 DA 




BPL 


ENBAR3 


1797 20 F1 17 


JSR 


RHLOP 


; main rts 








179A A2 00 


LDX 


#0 


1711 60 




RTS 




179C AO 04 


LDY 


#4 


1712 48 


FLIPBAR3 


PHA 




179E BD 25 24 RHDR 


LDA 


REGIONAME,X 


1713 A9 25 




LDA 


#37 


17A1 91 F7 


STA 


(Z1),Y 


1/1%) OD n 




OIn 




17A3 C8 


INY 




1717 68 




PLA 




17A4 E8 


INX 




1718 4A 




LSR 




17A5 EO 08 


CPX 


#8 


1719 4A 




LSR 




17A7 DO F5 


BNE 


RHDR 


171A 4A 




LSR 




17A9 A2 08 


LDX 


#8 


171B 29 01 




AND 


#1 


17AB AC 36 19 


LDY 


RHTABL 


171D 09 24 




ORA 


#36 


17AE 88 


DEY 




171F 4C 07 17 




JMP 


BABAR3 


17AF E6 FD NINELX 


INC 


Z4 










17B1 A5 FD 


LDA 


Z4 


1722 OB 23 00 


ITINT 


.BYTE 


11,35,0 


17B3 C9 OA 


CMP 


#10 


1725 FF 2A 




.BYTE 


255,42 


17B5 DO 03 


BNE 


GQAHX 


1727 20 53 




JSC 


■s- 


17B7 4C El 17 


JMP 


RETIVIENU 


1729 00 FF 2A 




.BYTE 


0,255,42 


17BA A9 FF GOAHX 


LDA 


#255 



160 



The Source Code 



17BC 91 F7 




STA 


(Z1).Y 


17BE C8 




INY 


17BF A9 1C 




IDA 


#28 


17C1 91 F7 




STA 




; red 






17C3 C8 




INY 




17C4 A9 2A 




LDA 


#42 


17C6 91 F7 




STA 


(Z1),Y 


: left bar (red) 






17C8 C8 




INY 




17C9 A5 FD 




LDA 


Z4 


17CB 09 30 




ORA 


#$30 


17CD91 F7 




STA 


(Z1),Y 


: region number 






17CF C8 




INY 




17D0 A9 IF 




LDA 


#31 


; now blue 








17D2 91 F7 




STA 


(Z1),Y 


17D4C8 


LUPLO 


INY 


17D5 E8 




INX 




17D6 BD 25 24 




LDA 


RE6I0NAME,X 


17D9 91 F7 




STA 


(Z1),Y 


17DB DO F7 




BNE 


LUPLO 


17DDC8 




INY 




17DE 4C AF 17 




JMP 


NINELX 


17E1 20 02 18 


RETMENU 


JSR 


REMTIN 


17E4 A9 00 




LDA 


#0 


17E6 A2 04 




LDX 


#4 


17E8 91 F7 


SIMCOM 


STA 


(Z1).Y 


17EA C8 




INY 


17EB CA 




DEX 




17EC DO B\ 




BNE 


SIMCOM 


; done with heads 


ir. do the regions 




17EE 4C 11 18 




JMP 


INDIVREGS 


17F1 A2 01 


RHUOP 


LDX 


#1 


17F3 AO 00 




LDY 


#0 


17F5 BD 36 19 


RHSOP 


LDA 


RHTABIX 


17F8 91 F7 




STA 


(Z1),Y 


17FA C8 




INY 


17FB EB 




INX 




17FC EC 36 19 




CPX 


RHTABL 


17FF DO F4 




BNE 


RHSOP 


1801 60 




RTS 




: sets up word 'menu' at end 






1802 A2 01 


REMTIN 


LDX 


#1 


1804 BD 59 19 


LMNPP 


LDA 


MENWRD,X 


1807 91 F7 




STA 


(Z1).Y 


1809 C8 




INY 


180A E8 




INX 




180B EC 59 19 




CPX 


MENWRD 


180E DO F4 




BNE 


LMNPP 


1810 60 




RTS 




; Indivregs do the individual regions 




1811 A9 01 


INDIVREGS 


LDA 


#1 


1813 85 FD 




STA 


Z4 


1815 85 FE 




STA 


Z4+1 


1817 DO 09 




BNE 


EREGT 


1819 E6 FD 


ENTRREG 


INC 


Z4 


181B AS FD 




LDA 


Z4 


181D 09 OA 




CMP 


#10 


181F DO 01 




BNE 


EREGT 


; " main rts 








1821 60 




RTS 




1822 E6 F8 


EREGT 


INC 


Z1+1 


1824 A9 09 




LDA 


#9 


1826 18 




CLC 




1827 65 F9 




ADC 


Z2 


1829 85 F9 




STA 


Z2 


182B A9 GO 




LDA 


#0 


182D 65 m 




ADC 


Z2+1 



182F 85 lA 




STA 


Z2+1 


1831 20 F1 17 




JSR 


RHLOP 


1834 A6 F9 




LDX 


Z2 


1836 AO 04 




LOY 


#4 


1838 A5 FD 




LDA 


Z4 


183A 49 30 




EOR 


#$30 


183C 91 F7 




STA 


(Z1).Y 


183E C8 




INY 


183F C8 




INY 




1840 BD 25 24 


RELOGP 


LDA 


REGIONAME, 


1843 FO 06 




BEQ 


ORELF 


1845 91 F7 




STA 


(Z1).Y 


1847 E8 




INX 


1848 C8 




INY 




1849 DO FS 




BNE 


RELOGP 


184B A6 FD 


ORELF 


LDX 


Z4 


184D BD 7F 24 




LDA 


REGFIRSTX 


1850 85 (A 




STA 


Z2+1 


1852 «; 36 19 




LDY 


RHTABL 


1855 88 




DEY 




1856 A5 FE 


NEXSTH 


LDA 


Z4+1 


1858 OA 




ASL 




1859 AA 




TAX 




185A A9 30 




LDA 


#$30 


185C 85 FB 




STA 


Z3 


185E 85 FC 




STA 


Z3+1 


1860 A9 FF 




LDA 


#255 


1862 91 F7 




STA 


(Z1),Y 


; begin first state 






1864 C8 




INY 




1865 A9 1C 




LDA 


#28 


1867 91 F7 




STA 


(Z1),Y 


; red 






1869 C8 




INY 




186A A9 2A 




LDA 


#42 


186C 91 F7 




STA 


(Z1),Y 


; graphics chr 






1B6E C8 




INY 




186F A9 9A 




LDA 


#154 


1871 91 F7 




STA 


(Z1),Y 


; light blue 








1873 C8 




INY 




1874 A5 FE 




LDA 


Z4+1 


1876 C9 OA 


BACKOR 


OMP 


#10 


1878 90 07 




BCC 


LSBSTN 


187A E6 FC 




INC 


Z3+1 


187C E9 OA 




SBC 


#10 


187E 4C 76 18 




JMP 


BACKOR 


1881 65 FB 


LSBSTN 


ADO 


Z3 


1883 85 FB 




STA 


Z3 


1885 A5 FC 




LDA 


Z3+1 


1887 91 F7 




STA 


(Z1),Y 


1889 C8 




INY 


188A A5 FB 




LDA 


Z3 


188C 91 F7 




STA 


(Z1),Y 


; state number 








188E 08 




INY 




188F A9 20 




LDA 


#32 


1891 91 F7 




STA 


(Z1),Y 


1893 08 




INY 


1894 A9 97 




LDA 


#151 


1896 91 F7 




STA 


(Z1).Y 


; gray 1 








1898 08 




INY 




1899 BD DC 21 




LDA 


STNAME,X 


189C 91 F7 




STA 


(Z1).Y 


189E 08 




INY 


189F E8 




INX 




18A0 BD DC 21 




LDA 


STNAME,X 


18A3 91 F7 




STA 


(Z1).Y 



Chapter 3 



18A5 C8 


INY 




; 2-byte name of stale 






18A6 CA 


DEX 




18A7 A9 20 


LDA 


#32 


18A9 91 F7 


STA 


(Z1).Y 


18AB ce 


INY 


18AC A9 30 


LDA 


#$30 


18AE 85 FB 


STA 


Z3 


; reset z3 for e voles 






18B0 85 FC 


STA 


Z3+1 


1882 6D 00 78 


LDA 


STEVOrE,X 


1885 C9 OA BACKOP 


CUflP 


#10 


1887 90 07 


BCC 


LSBSTE 


1889 E6 FC 


INC 


Z3+1 


18BB E9 OA 


SBC 


#10 


18BD 4C 85 18 


MP 


BACKOP 


1800 65 FB LSBSTE 


ADC 


Z3 


18C2 85 FB 


STA 


Z3 


IBM AD 1^1* 


LDA 


Z3+1 


18C6 91 F7 


STA 


(Z1).V 


18C8 C8 


INY 




18C9 A5 FB 


LDA 


Z3 


18CB 91 F7 


STA 


(Z1),Y 


: electoial votes 






18CD C8 


INY 




^arc AO on 
loot Ay d\j 


1 HA 




18D0 91 F7 


STA 


(Z1).Y 


18D2 C8 


INY 


18D3 A9 00 


LDA 


#0 


18D5 91 F7 


STA 


(Z1),Y 


18D7 C8 


INY 


; end of pass lor this state 






18D8 E6 FE 


INC 


Z4 + 1 


18DA AS FE 


LDA 


Z4 + 1 


18DC C5 FA 


CMP 


Z2+1 


18DE FO 03 


BEQ 


JNUUS 


18E0 4C 56 18 


JMP 


NEXSTTT 


: fill out w/spaces & do next region 




18E3 20 02 18 JNUUS 


JSR 


REMTIN 


18E6 A5 FA 


LDA 


Z2+1 


18E8 85 FE 


STA 


Z4+1 


18EA A6 FD 


LDX 


Z4 


18EC CA 


DEX 




18E0 BD 7F 24 


LDA 


REGFIRSTX 


18F0 85 02 


STA 


$02 


18F2 E8 


INX 




18F3 BD 7F 24 


LDA 


REGFIRSTX 


18F6 38 


SEC 




18F7 E5 02 


SBC 


$02 


18F9 85 02 


STA 


$02 


18FB A9 08 


LDA 


#8 


18FD ES 02 


SBC 


$02 


18FF 85 02 


STA 


$02 


1901 30 26 


BMI 


EXRAT 


1903 A9 09 


LDA 


#9 


1905 91 F7 


STA 


(Z1),Y 


1907 C8 


INY 


1908 A9 23 


LDA 


#35 


190A 91 F7 


STA 


(Z1),Y 


190C ce 


INY 


190D A9 00 


LDA 


#0 


190F 91 F7 


STA 


(Z1).Y 


1911 C8 


INY 


1912 C6 02 


DEC 


$02 


1914 30 13 


BMI 


EXRAT 


1916 A9 09 FILIUV 


LDA 


#9 


1918 91 F7 


STA 


(Z1),Y 


191A C8 


INY 



191B A9 20 




LDA 


#32 


191D 91 F7 




STA 


(Z1),Y 


191F C8 




INY 


1920 A9 00 




LDA 


#0 


1922 91 F7 




STA 


(Z1),Y 


1924 C8 




INY 


1925 C6 02 




DEC 


$02 


1927 10 ED 




BPL 


FILIUV 


1929 A9 00 


EXRAT 


LDA 


#0 


192B A2 04 




LDX 


#4 


192D 91 F7 


EXRLPP 


STA 


(Z1).Y 


192F C8 




INY 


1930 CA 




DEX 




1931 DO fS 




BNE 


EXRLPP 


: go track 








1933 4C 19 18 




JMP 


ENTRREG 


1936 23 09 23 


RHTABL 


.BYTE 


35,9,35,0,255 


193B 20 20 20 




.BYTE 


32,32,32,32,32 


1940 20 20 20 




.BYTE 


32,32,32,32,32 


1945 00 09 2C 




.BYTE 


0,9,44,0,255 


194A 12 9A 25 




.ASC 


•{RVS} [<7>j%{BL 
KIMAP 


1951 AO AO AO 




.BYTE 


160,160,160,160 


1955 AO AO 92 




.BYTE 


160,160,146,0 


1959 DE FF 


MENWRD 


.BYTE 


14,255 


195B 1C 2A 40 




JSC 


"{REO}*MENU 


1981 20 20 20 




.BYTE 


32,32,32,32,32,0,0 



; bl<cm.mcamp 



1968 


REALLEAN 




$9000 


; evalvotes - enter alter setting 


up Itinerary 


1968 AD OB 8F 


EWLVOTES 


LDA 


LASTREGI 


196B 8D 20 8F 




STA 


CURREG 


196E A9 08 




LDA 


#8 


1970 8D 00 8F 




STA 


DAY 


1973 CE 00 8F 


NEXDAY 


DEC 


DAY 


1976 DO 01 




BNE 


CNEWL 


; main rts 








1978 60 




RTS 




1979 AE 00 8F 


CNEWL 


LDX 


DAY 


197C BD 00 8F 




LDA 


OAY,X 


; if zero then Its a 


restday 






197F DO 09 




BNE 


CKMONEY 


; - check # of st 


ates and store in zp $02: 


1981 20 B1 1A 




JSR 


CKNOSTATES 


; - no campaigning, recharge b 


atteries 




1984 20 DO 1A 




JSR 


RESTDAY 


1987 4C 73 19 




JMP 


NEXDAY 


i98A 10 17 


CKMONEY 


BPL 


CKMDOL 


198C 6A 




ROR 




1980 BO 03 




BCS 


RAISBUCKS 


198F 4C A6 1B 




JMP 


TELEVISI 


1992 AO 18 8F 


RAISBUCKS 


LDA 


FUNOR 


1995 OA 




ASL 




1996 60 09 8F 




ADC 


MONEY 


1999 90 02 




BCC 


OVEROM 


1998 A9 FF 




LDA 


#$FF 


1990 80 09 8F 


OVEROM 


STA 


MONEY 


19A0 4C 73 19 




JMP 


NEXDAY 


19A3 AC 09 8F 


CKMDOL 


LDY 


MONEY 


: no money paraly 


rzes campaign 






19A6 FO CB 




BEQ 


NEXDAY 


19A8 48 




PHA 




: check for travel 








19A9 A2 00 




LDX 


#0 


19AB E8 


REGL99 


INX 




19AC DO 7F 24 




CMP 


REGFIRST,X 


19AF BO Rl^ 




BCS 


REGL99 



162 



The Source Code 



19B1 EC 08 8F 


CPX 


LASTRE6I 


1A20 88 


DEY 




; check region 






1A21 00 FC 


BNE 


HLTLOOP 


19B4 FO 09 


BEQ 


PULCON 


1A23 20 57 1A 


JSR 


HflORVOTES 


19B6 8E 20 8F 


STX 


CURREG 


; 4 campaign effectiveness 






19B9 8E OB 8F 


STX 


LASTREGI 


1A26 AD 16 8F DCDCFF 


LOA 


CAMPEFF 


19BC CE 09 8F 


DEC 


IMONEY 


1A29 20 57 1A 


JSR 


MORVOTES 


19BF 68 PULCON 


PU 




; 5 check five issues (indirect from fd/fe) 




19C0 20 CF 19 


JSR 


SETZPP 


1A2C AO 06 ISSCHECK 


LDY 


#6 


: regular campaign day 






1A2E 88 CK5L0OP 


DEY 




19C3 20 E9 19 


JSR 


VWSHUP 


1A2F 00 01 


BNE 


GCANOISSUE 


19C6 20 5D 1A 


JSR 


WTECOUNT 


; main rts 






19C9 20 8C 1A 


JSR 


SUBHNM 


1A31 60 


RTS 




; addvotes 






1A32 B9 1A 8F GCANDISSU 


LDA 


LASTWK,Y 


19CC 4C 73 19 


JIMP 


NEXOAY 


1A35 D1 FD 


CMP 


($FD),Y 








1A37 DO 07 


BNE 


UPOOWN 


: begin main routine for campaign In st 


ate results 


1A39 A9 03 


LDA 


#3 


; accumulator tiolds state # 






1A3B 20 57 1A 


JSR 


MORVOTES 


19CF 85 02 SETZPP 


STA 


$02 


1A3E 00 EE 


BNE 


CK5LD0P 


19D1 85 FB 


STA 


$FB 


1A40 AA UPOOWN 


TAX 




19D3 C8 FB 


DEC 


$FB 


1A41 CA 


OEX 




19Q5 A5 FB 


LDA 


$FB 


1A42 8A 


TXA 




19D7 OA 


ASL 




1A43 01 FD 


CMP 


($FD),Y 


19D8 OA 


ASL 




1A45 DO 07 


BNE 


DOWNUP 


19D9 18 


CLC 




1A47 A9 01 ONLWNE 


LOA 


#1 


19DA 65 FB 


ADC 


$FB 


1A49 20 57 1A 


JSR 


MORVOTES 


19DC 85 FB 


STA 


$FB 


1A4C DO EO 


BNE 


CK5L00P 


19DE 85 FD 


STA 


$FD 


1A4E E8 DOWNUP 


INX 




19E0 A9 92 


LDA 


#>STPWTES 


1A4F E8 


INX 




19E2 85 FC 


STA 


$FC 


1A50 8A 


TXA 




19E4 A9 91 


LDA 


#>STISSUES 


1A51 01 FD 


Cfl^P 


($FD),Y 


19E6 85 FE 


STA 


$FE 


1A53 DO 09 


BNE 


CK5L0OP 


; qi pointers are set 






1A55 FO FO 


BEQ 


ONLYONE 


19E8 60 


RTS 
















; motvotes - adds .a to $ff (counter of vi 


Dtes won) 


: 1 ctiecli healtti 






1A57 18 H^ORVOrES 


CLC 




19E9 AD 08 8F WASHUP 


LDA 


HEALTH 


1A58 65 FF 


ADC 


$FF 


19EC 29 F8 


AND 


#$F8 


1A5A 85 FF 


STA 


$FF 


19EE 00 05 


BNE 


CNLEAN 


1A5C60 


RTS 




19F0 A9 01 


LDA 


#1 








19F2 85 FF 


STA 


$FF 


: votecount (makes votes won permanent 


in state vote cc 


; if healtti < 8 then no go 






1A5D AO 05 VOTECOUNT 


LDY 


#5 


19F4 60 


RTS 




1A5F B1 FB 


LDA 


($FB),Y 








1A61 38 


SEC 


; 2 check leaning 






icheck on votes in pool 






19F5 A9 03 CNLEAN 


LOA 


#3 


1A62 E5 FF 


SBC 


$FF 


19F7 18 


CLC 




1A64 BO 04 


BCS 


SUBTRPOOL 


19F8 6D 15 8F 


ADC 


PARTY 


1A66 C6 FF 


DEC 


$FF 


19FB A8 


TAY 




: subtract one, go back 






19FC B1 FB 


LOA 


($FB),Y 


1A68 DO F3 


BNE 


VOTECOUNT 


: first add basic votes 






1A6A 91 FB SUBTRPOOL 


STA 


($FB),Y 


19FE 85 FF 


STA 


$FF 


1A6C A5 FF 


LDA 


$FF 








1A6E AA 


TAX 




; 2 1/2 check for fish and visitors (3rd 


day doesn't count) 


1A6F AC 15 8F 


LDY 


FARTY 


1A00AD0A8F VISITORS 


LDA 


USTSTATE 


1A72 C8 


INY 




1A03 10 03 


BPL 


NOTnSH 


1A73 18 


CLC 




1A05 E6 FF 


INC 


$FF 


1A74 71 FB 


AOC 


($FB),Y 


1A07 60 


RTS 




1A76 90 02 


BCC 


SBPOL 


1A08 C5 02 NOTFISH 


CH/IP 


$02 


1A78 A9 FF 


LDA 


#$FF 


1A0A 00 09 


BNE 


BIBULO 


: add to party votes (In whatever 


state) 




1A0C A9 02 


LDA 


#2 


1A7A 91 FB SBPOL 


STA 


($FB),Y 


1A0E 20 57 1A 


JSR 


MORVOTES 


1A7C 98 


m 


1A11 A9 FF 


LDA 


#$FF 


1A7D 49 03 


EOR 


#3 


1A13 85 02 


STA 


$02 


1A7F A8 


TAY 










1A80 8A OTHERfWRT 


TXA 




• 3 32 health = +1 






1A81 4A 


LSR 




1A15 A5 02 BIBUUO 


LDA 


$02 


1A82 4A 


LSR 




1A17 80 OA 8F 


STA 


LASTSTATE 


1A83 71 FB 


ADC 


($FB).Y 


1A1A AO 08 8F 


LDA 


HEALTH 


1A85 90 02 


BCC 


QUARTEROO 


1A10 AO 05 


LDY 


#5 


1A87 A9 FF 


LDA 


mf 


1A1F 4A HLTLDOP 


LSR 




1A89 91 FB QUARTEROO 


STA 


($FB),Y 



163 



Chapter 3 



: main rts 








lAfft A9 92 


CKDEMREP 


LDA 


#>STPVOTES 


1A8B 60 




RTS 




1AFC 85 FC 
1AFE A9 00 




STA 
LOA 


$FC 

#<STPVDTES 


; subtract some health and money 




1B00 85 FB 




STA 


$FB 


1A8C 46 FF 


SUBHNItA 


LSR 


$FF 


1B02 A9 00 




LOA 


#0 


1A8E 00 01 




BNE 


HLAHO 


1B04 AA 




TAX 




1A90 60 




RTS 




1B05 FO 07 




BEQ 


STARTCKOR 


1A91 AO 08 8F 


HLAHD 


LDA 


HEALTH 


1B07 AO 05 


CNCKDR 


LOY 


#5 


1A94 38 




SEC 




1B09 E6 FB 


CNCLOOP 


INC 


$FB 


1A95 E5 FF 




SBC 


$FF 


1B0B 88 




DEY 




1A97 BO 02 




BCS 


LESSHEALTH 


1B0C DO FB 




BNE 


CNCLOOP 


1A99 A9 00 




tJ)A 


#0 


1B0E E8 


STARTCKOR 


INX 




1A9B 80 08 8F 


LESSHEALT 


STA 


HEALTH 


1B0F EO 34 




CPX 


#52 


1A9E 46 FF 




LSR 


$FF 


1B11 DO 01 




BNE 


CNSTCK 


1AA0 DO 01 




BNE 


MNAHO 


1B13 60 




RTS 




1AA2 60 




RTS 




1B14 AO 01 


CNSTCK 


LOY 


#1 


1AA3 AO 09 BF 


MNAHO 


LDA 


IMONEY 


1B16 B1 FB 




LOA 


($FB),Y 


1AA6 38 




SEC 




1B18 CB 




INY 


1AA7 E5 FF 




SBC 


$FF 


1B19 38 




SEC 




1AA9 BO 02 




BCS 


LESSHflONEY 


1B1A F1 FB 




SBC 


($FB),Y 


1AAB A9 00 




U)A 


#0 


1B1C DO 08 




BNE 


CKORRESULT 


1AA0 80 09 SF 


LESSIVIONEY 


STA 


MONEY 


; sort of random (flip fk)p) leaning 




1AB0 60 




RTS 




1B1E 20 58 IB 
1B21 4C 07 IB 




JSR 
JMP 


FLIPFLOPVOTE 
CNCKDR 


; cknostales - ge 


neral routine to check 


H of States 


1B24 BO OA 


CKORRESUL 


BCS 


DEMSWIN 


; y will contain # of states won 






1B26 EA 


REPSWIN 


NOP 




1AB1 AO 00 


(a<NOSTATE 


LOY 


#0 


1B27 49 FF 




EOR 


#$FF 


1AB3 A2 OF 




LDX 


#$0F 


1B29 18 




CLC 




1AB5 AD 15 8F 




LDA 


PARTY 


1B2A 69 01 




ADC 


#1 


1AB8 FO 02 




BEQ 


CNCK 


1B2C AO 80 




LOY 


#$80 


1ABAA2 FO 




LDX 


#$F0 


1B2E 00 02 




BNE 


CKFERENCE 


; mask (for checking state leaning) 




1B30 AO 08 


DEMSWIN 


LOY 


#$08 


1ABC 86 FB 


CNCK 


STX 


$FB 


1B32 85 FO 


CKFERENCE 


STA 


$F0 


1ABE A2 34 




LDX 


#52 


1B34 84 FE 




STY 


$FE 


1AC0 CA 


CKNOIjOOP 


DEX 




; is margin 32 or more? 






1AC1 DO 03 




BNE 


CNNOLOOP 


1B38 29 EO 




AND 


#$E0 


1AC3 84 02 




STY 


$02 


1B38 FO 02 




BEQ 


CNFF16 


1AC5 60 




RTS 




1B3A DO 14 




BNE 


OOLEANING 


1AC6 BD 00 90 


CNNObOOP 


LDA 


REALLEAN,X 


1B3C 46 FE 


CNFF16 


LSR 


$FE 


1AC9 25 FB 




AND 


$FB 


1B3E A5 FO 




LDA 


$FD 


1ACB FO F3 




BEQ 


CKNOLDOP 


; is it 16-31? 








1ACDC8 




INY 




1B40 29 10 




AND 


#$10 


1ACE DO FO 




BNE 


CKNOLjOOP 


1B42 FO 02 
1B44 00 OA 




BEQ 
BNE 


CNFF8 
OOLEANING 


; rest (no campaigning) 






1B46 46 FE 


CNFF8 


LSR 


$FE 


: get # of states 








1B48 A5 FD 




LDA 


$FD 


1A00 A5 02 


RESTDAY 


LDA 


$02 


; is it maybe 8-15? 






1AD2 18 




CLC 




1B4A 29 08 




AND 


#$08 


1AD3 6D 17 8F 




ADC 


STREN 


1B4C 00 02 




BNE 


OOLEANING 


: double basic strt 


ngth + # sti 


tes 




1B4E 46 FE 




LSR 


$FE 


1AD6 0A 




ASL 




1B50 A5 FE 


OOLEANING 


LOA 


$FE 


1AD7 60 16 8F 




ADC 


CAMPEFF 


1B52 9D 00 90 




STA 


REALLEAN,X 


; & add campaign 


eff, 2*states, 


tiealth 




1B55 4C 07 IB 




JMP 


CNCKDR 


1ADA 60 08 8F 




ADC 


HEALTH 


1B58 AOOO 90 


FLIPFLOPV 


LOA 


REALLEAN 


1AD0 90 03 




BCC 


NEWHEALTH 


1B5B 29 FO 




AND 


mfo 


1ADF 18 




CLC 




1B50 FO 04 




BEQ 


MAKEREP 


1AE0 A9 FF 




LDA 


#$FF 


1B5F A9 01 


MAKEOEM 


LOA 


#$01 


1AE2 80 08 8F 


NEWHEALTH 


STA 


HEALTH 


1B61 DO 02 




BNE 


STRAND 


1AE5 AO OA 8F 




LOA 


LASTSTATE 


1B63 A9 10 


MAKEREP 


LOA 


#$10 


1AE8 DO OA 




BNE 


ENDOHL 


1B6S 80 00 90 


STRAND 


STA 


REALLEAN 


IAEA A9 10 




LOA 


#16 


1B68 90 00 90 




STA 


REALLEAN,X 


1AEC 6D 08 8F 




ADC 


HEALTH 


1B6B 60 




RTS 


1AEF BO 03 




BCS 


ENDOHL 










1AF1 80 08 8F 




STA 


HEALTH 


; transleancoir - 


translates state leanings to color table 


1AF4 AO 00 


ENDOHL 


LOA 


#0 


1B6C A2 34 


TRANSLEAN 


LDX 


#52 


1AF6 BD OA 8F 




STA 


LASTSTATE 


1B6E CA 


TRANSILOO 


DEX 




1AF9 60 




RTS 




1B6F FO 12 




BEQ 


ENDOTRANS 



; 1B71 BO 00 90 LOA REALLEAN,X 

; " ckdemrep : — dems are bits 0-3; if ne, then dems ate 

; sets stateleanings 1B74 29 OF AND #$0F 



164 



The Source Code 



1B76 FO 04 




BEQ 


REPLEAN 


1B78 A9 43 


DEMLEAN 


LDA 


#67 


1B7A DO 02 




BNE 


STRLEAN 


1B7C A9 82 


REPLEAN 


LDA 


#130 


1B7E 9D CO 37 


STRLEAN 


STA 


LEANTABLE,X 


1B81 DO EB 




BNE 


TRANSILOOP 


1B83 60 


ENDOTRANS 


RTS 




; tglparty - switches banks in and out 




1B84 AD 15 SF 


TGLFftRTY 


LDA 


B\RTY 


1687 48 




PHA 




1686 A2 3F 




LDX 


#63 


1B8A BD 40 6F 


TGLOOP 


LDA 


OTHERCAND,X 


1B8D 9D 80 8F 




STA 


CANSTACK,X 


1B90 BD 00 8F 




LDA 


DAY,X 


1B93 9D 40 8F 




STA 


OTHERCAND,X 


1898 BD 80 8F 




LDA 


CANSTACK,X 


1B99 9D 00 8F 




STA 


DAY,X 


1B9C CA 




DEX 




1B9D DO EB 




BNE 


TGLOOP 


1B9F 68 




PLA 




1BA0 49 01 




EOR 


#1 


1BA2 8D 15 8F 




STA 


BfflTY 


1BA5 60 




RTS 




; do television ad 








1BA6 AD 09 8F 


TELEVISI 


LDA 


MONEY 


1BA9 C9 28 




CMP 


#40 


1BAB 90 43 




BCC 


ENDTVS 


1BADAE 20 8F 




LDX 


CURREG 


1BB0 BD 7F 24 




LDA 


REGFIRST,X 


1BB3 85 FA 




STA 




1BB5 CA 




DEX 




1BB6 BD 7F 24 




LDA 


REGFIRST,X 


1BB9 85 F9 




STA 


$F9 


1BBB C6 F9 




DEC 


$F9 


1BBD AD 24 25 


TLVLOOP 


LDA 


WEEKNO 


1BC0 OA 




ASL 




1BC1 18 




CLC 




1BC2 60 19 8F 




ADC 


TWOS 


1BC5 85 FF 




STA 


$FF 


1BC7 E6 F9 




INC 


$F9 


1BC9 A5 F9 




LDA 


$F9 


1BCB C5 FA 




CMP 




1BCD FO OE 




BEQ 


SUBTRTMON 


1BCF 20 17 1C 




JSR 


GOOYRUM 


1BD2 46 FF 




LSR 


$FF 


1BD4 20 5D 1A 




JSR 


VOTECOUNT 


1BD7 20 8C 1A 




JSR 


SUBHNM 


1BDA 4C BD IB 




JMP 


TLVIDOP 


1BDDAD 09 8F 


SUBTRTMON 


LDA 


MONEY 


1BE0 38 




SEC 




1BE1 ED 19 8F 




SBC 


mas 


1BE4 90 05 




BCC 


ESCPIT 


1BE6 ED 19 8F 




SBC 


TWOS 


1BE9 BO 02 




BCS 


ITCOSTS 


1BEB A9 01 


ESCPIT 


LDA 


#1 


1BED 8D 09 8F 


ITCOSTS 


STA 


MONEY 


1BF0 4C 73 19 


ENDTVS 


MP 


NEXDAY 


: camponce/iirst put trase into canstacl<+1 


1BF3 A2 00 


CAMPONCE 


LDX 


#0 


1BF5 AO 34 




LDY 


#52 


1BF7 86 F9 


CAMPREGK 


STX 


$F9 


1BF9 84 f^ 




STY 




: X = first (-1), y is last (+1) 






1BFB E6 F9 


CAMUNK 


INC 


$F9 


1BFD A5 F9 




LDA 


$F9 


1BFF C5 » 




CMP 


$FA 


1C01 FO 13 




BEQ 


RUMENDL 


1C03 AE 81 8F 




LDX 


CANSTACK+1 



1C06 86 FF 




STX 


$FF 


1C08 20 17 1C 




JSR 


GOOYRUM 


1C0B 20 2C 1A 




JSR 


ISSCHECK 


1C0E 46 FF 




LSR 


$FF 


1C10 20 50 1A 




JSR 


VOTECOUNT 


1C13 4C FB 1B 




JMP 


CAMUNK 


1C16 60 


RUMENDL 


RTS 




1C17 20 CF 19 


GOOYRUM 


JSR 


SETZPP 


1C1A 20 26 1A 




JSR 


DCDCFF 


1C1D 60 




RTS 




: bl(C(n.select 








iciE 


DEFSPO 


= 


$3F00 


1C1E 


DEFSP1 




$3F40 


1C1E 


SPRCOL 




$0027 


1C1E 


SPRHOR 




$0010 


1C1E 


SPRVER 


= 


$D017 


1C1E 


SPRLOC 




$0000 


1C1E 


SPRMSB 




$D010 


1C1E 


SPRTOG 




$D01S 


1C1E 


SPRLOCX 




$0000 


1C1E 


SPRLOCY 


= 


$0001 


; setsel - sets up sprites 






1C1E A2 00 


SETSEL 


LDX 


#0 


1C20 A9 00 




LDA 


#0 


1C22 90 00 3F 


ZEROUT 


STA 


DEFSPO,X 


1C25 CA 




DEX 




1C26 DO FA 




BNE 


ZEROUT 


1C28 A9 00 


FILSPO 


LDA 


#0 


1C2AAA 




TAX 




1C2B A8 




TAY 




1C2C B9 OA 1F 


CNFIL 


LDA 


SPDATO.Y 


1C2F 9D 00 3F 




STA 


OEFSP0,X 


1C32 B9 12 1F 




LDA 


SPOATI.Y 


1C35 90 40 3F 




STA 


DEFSP1,X 


1C38 E8 




INX 




1C39 E8 




INX 




1C3AE8 




INX 




1C3BC8 




INY 




1C3C CO 07 




CPY 


#7 


1C3E DO EC 




BNE 


CNFIL 


1C40 B9 OA IF 




LDA 


SPDATO,Y 


1C43 9D 00 3F 




STA 


DEFSPO,X 


1C46 90 01 3F 




STA 


0EFSP0+1,X 


1C49 90 02 3F 




STA 


DEFSP0+2,X 


1C4C B9 12 IF 




LDA 


SPDATI.Y 


1C4F 90 40 3F 




STA 


DEFSP1,X 


: sprites & 1 are set up 






1C52 A9 FC 




LDA 


#252 


1C54 80 F8 07 




STA 


2040 


1C57 A9 FD 




LDA 


#253 


: set pointers 








1C59 8D F9 07 




STA 


2041 


1C5C A2 07 




LDX 


#7 


; set all colors to medium gray 






1C5E A9 OC 




LDA 


#12 


1C60 9D 27 DO 


COLSPRT 


STA 


SPRCOL.X 


1C63 CA 




DEX 




1C64 10 Rl^ 




BPL 


COLSPRT 


1C66 A9 01 




LDA 


#1 


1C6B 80 ID DO 




STA 


SPRHOR 


1C6B A9 01 




LDA 


#1 


1C6D 8D 10 DO 




STA 


SPRMSB 


1C70 A9 04 




LOA 


#$04 


1C72 8D 00 DO 




STA 


SPRLOCX 


1C75 A9 32 




LDA 


#$32 


1C77 80 01 DO 




STA 


SPRIjOCY 


1C7A A9 36 




LOA 


#54 


1C7C 8D 02 DO 




STA 


SPRLOCX+2 



Chapter 3 



1C7F A9 38 




LOA 


#56 


1015 29 10 




ANO 


#16 


1C81 8D 03 OO 




STA 


SPRLOCY+2 


1017 00 07 




BNE 


SELOONE 


1C84 A9 00 




LOA 


#0 


1019 A9 OC 




LDA 


#12 


1C86 AO 04 




LDY 


#4 


101B 80 27 00 




STA 


SPRCOL 


ices 99 02 IF 


ZRSPR1 


STA 


SPXI.Y 


101E 00 BO 




BNE 


SELLOOP 


1CeB88 




DEY 




1D20 AO 15 00 


SELOONE 


LDA 


SPRTOG 


1CBC 10 ft 




BPL 


ZRSPR1 


1D23 29 FE 




AND 


#254 


ICBE A9 22 




LDA 


#>MAfMW 


1D25 SO 15 00 




STA 


SPRTOG 


1C90 8D 07 1F 




STA 


MAFAI+I 


1D28 A5 FD 




LOA 


$FD 


1C93 A9 AO 




LDA 


#<MARAMAP 


; .a nan liolds select 






1C95 80 06 IF 




STA 


MARM 


1D2A 60 




RTS 




1C98 A9 36 




LOA 


#>MAPTABLE 










1C9A 8D 09 IF 




STA 


MAPT1+1 


i02B A2 07 


MAPMAGIC 


LDX 


m 


1C9D A9 00 




LDA 


#<MAPTABLE 


1020 BO 02 IF 


MAGPIE 


LDA 


SPX1,X 


1C9F 8D 08 IF 




STA 


MAPT1 


1030 95 F7 




STA 


$F7,X 
MAGPIE 


1CA2 60 




RTS 




1032 CA 

1033 10 F8 




OEX 
BPL 


icA3 A9 00 


SELECT 


LDA 


#0 


1035 A9 01 




LDA 


#1 


1CA5 85 FO 




STA 


$FD 


1037 60 28 00 




STA 


SPRCOL+1 


1CA7 A9 04 




LDA 


#4 


1D3A AO 15 00 




LOA 


SPRTOG 


1CA9 8D 00 DO 




STA 


SPRLOCX 


1D3D 09 02 




ORA 


#2 


IOC 98 




TYA 




1D3F SO 15 DO 




STA 


SPRTOG 


1CAD 20 (ft IE 




JSR 


10C50 


; sprite Is turned on 






1CB0 85 FC 




STA 


$FC 


1042 20 1A IF 


GTKEYB 


JSR 


UKL 


1CB2 8A 




TXA 




1045 AD 6B IF 




LDA 


JB 


1CB3 20 FA IE 




JSR 


L0C50 


1048 FO FS 




BEQ 


GTKEYB 


1CB6 85 FB 




STA 


$FB 


104A6A 




ROR 




; sets max & min 








104B BO 14 




BCS 


MAGUP 


ices SO 01 00 




STA 


SPRLOCY 


1040 6A 




ROR 




1CBB A9 OC 




LDA 


#12 


104E BO 43 




BCS 


MAGDN 


1CBD 8D 27 DO 




STA 


SPRCOL 


1050 6A 




ROR 




1CC0 AO 10 DO 




LOA 


SPRMSB 


1051 BO 6E 




BCS 


MAGLF 


1CC3 09 01 




ORA 


#1 


1D53 6A 




ROR 




1CC5 8D 10 DO 




STA 


SPRMSB 


1D54 BO 05 




BCS 


JMRTPL 


1CCS AO 15 00 




LDA 


SPRTOG 


1056 6A 




ROR 




1CCB09 01 




ORA 


#1 


1D57 BO 05 




BCS 


JMDNPL 


1CCD8D 15 00 




STA 


SPRTOG 


1059 90 E7 




BCC 


GTKEYB 


1CD0 20 1A 1F 


SELIjOOP 


JSR 


IJKL 


1D5B 4C FO 10 


JMRTPL 


JMP 


MAGRT 


1CD3 AO 6B IF 




LDA 


JB 


105E 4C E7 IE 


JMONPL 


JMP 


MAGDONE 


1CD8 FO F8 




BEQ 


SELLOOP 


1061 A5 FS 


MAGUP 


LDA 


$F8 


1CDS 29 13 




ANO 


#19 


1063 FO DO 




BEQ 


GTKEYB 


1CDA FO F4 




BEQ 


SELLOOP 


1065 AO 03 DO 




LDA 


SPRLOCY+2 


1CDCAA 




TAX 




106S38 




SEC 




1CDD29 10 




AND 


#16 


1069 E9 04 




SBC 


#4 


1CDF DO 27 




BNE 


SELBUnON 


106B 80 03 00 




STA 


SPRLOCY+2 


1CE1 8A 




TXA 




1D6E C6 F8 




DEC 


$ra 


1CE2 29 01 




ANO 


#1 


1070 A5 F8 




LOA 


$FS 


1CE4 FO 11 




BEQ 


SELDN 


1D72 6A 




ROR 




1CE6 AO 01 00 


SELUP 


LDA 


SPRLOCY 


1D73 BO 03 




BCS 


CONIT 


1CE9 C5 FB 




CMP 


SFB 


1D75 4C 24 IE 




JMP 


STATENE 


1CEB FO E3 




BEQ 


SELIJOOP 


1D78 A5 FD 


CONIT 


LOA 


$FD 


ICED C6 FO 




DEC 


$FD 


107A E9 1A 




SBC 


#26 


1CEF 38 




SEC 




107C 85 FO 




STA 


$FD 


1CF0 E9 08 




SBC 


#$08 


107E BO 02 




BCS 


DNZMAP 


1CF2 SO 01 00 




STA 


SPRLOCY 


10S0 C6 FE 




DEC 


$FE 


1CF5 DO 09 




BNE 


SELUOOP 


1082 A5 FB 


DNZMAP 


LDA 


$FB 


1CF7 AD 01 00 


SELDN 


LDA 


SPRLOCY 


1084 38 




SEC 




ICIA C5 FC 




CMP 


$FC 


1085 E9 19 




SBC 


#25 


1CFC FO 02 




BEQ 


SELLOOP 


1D87 85 FB 




STA 


SFB 


1CFE E6 FD 




INC 


$FD 


1089 90 03 




BCC 


OCF 


1D00 18 




CLC 




1D8B 4C 24 1E 




JMP 


STATENE 


1D01 69 08 




ADC 


#$08 


1D8E C6 FC 


OCF 


DEC 


$FC 


1D03 80 01 00 




STA 


SPRLOCY 


1D90 4C 24 IE 




JMP 


STATENE 


1D06 00 C8 




BNE 


SELIDOP 


1D93 AS FS 


MA6DN 


LOA 


$FB 


1D08 A9 00 


SELBUnON 


LDA 


#0 


1D95 C9 1D 




CMP 


#29 


; Changs to black color 






1097 FO A9 




BEQ 


GTKEYB 


1D0A 80 27 00 




STA 


SPRCOL 


1099 AD 03 DO 




LOA 


SPRLOCY+2 


1D0D 20 1A IF 


SELSURE 


JSR 


IJKL 


109C1S 




CLC 




1010 AD 6B IF 




LDA 


JB 


1090 69 04 




ADC 


#4 


1013 FO FS 




BEQ 


SELSURE 


109F 80 03 00 




STA 


SPRLOCY+2 



166 



The Source Code 



1DA2 E6 F8 




INC 


$F8 


1DM A5 F8 




LDA 


$F8 


1DA6 6A 




ROR 




1DA7 BO 7B 




BCS 


STATENE 


1DA9 AS FD 




LDA 


$F0 


1DAB 69 1A 




ADC 


#26 


1DA0 85 FD 




STA 


$FD 


1DAF 90 02 




BCC 


UPZMAP 


1DB1 E6 FE 




INC 


$FE 


1DB3 A5 FB 


UPZMAP 


LDA 


$F6 


1DB5 18 




CLC 




1DB6 69 19 




ADC 


#25 


1DB8 85 FB 




STA 


$FB 


1DBA 90 68 




BCC 


STATENE 


1DBC E6 FC 




INC 


$FC 


1DBE 4C 24 IE 




JMP 


STATENE 


1DC1 A5 F7 


MAGLF 


LDA 


$F7 


1DC3 DO 03 




BNE 


GHIKK 


1DC5 4C 42 ID 




JMP 


GTKEYB 


1DC8 AD 02 DO 


GHIKK 


LDA 


SPRLOCX+2 


1DCB 38 




SEC 




1DCCE9 04 




SBC 


#4 


1DCE 8D 02 DO 




STA 


SPRlDCX+2 


1DD1 C6 F7 




DEC 


$F7 


1DD3 A5 F7 




LDA 


$F7 


1DD5 6A 




ROR 




1DD6 90 4C 




BCC 


STATENE 


1DD8 A5 FD 




LDA 


$FD 


1DDA E9 01 




SBC 


#1 


1DDC85 FD 




STA 


$FD 


1DDE BO 02 




BCS 


DCZMAP 


1DE0 C6 FE 




DEC 


$FE 


1DE2 A5 FB 


DCZMAP 


LDA 


$FB 


1DE4 38 




SEC 




10E5 E9 01 




SBC 


#1 


1DE7 85 FB 




STA 


$FB 


1DE9 BO 39 




BCS 


STATENE 


1DEB C6 FC 




DEC 


$FC 


1DED 4C 24 IE 




JMP 


STATENE 


1DF0 A5 F7 


MAGRT 


LDA 


$F7 


1DF2 C9 31 




CMP 


#49 


1DF4 DO 03 




BNE 


GHW 


1DF6 4C 42 ID 




JMP 


GTKEYB 


1DF9 AD 02 DO 


GHW 


LDA 


SPRLOCX+2 


1DFC 18 




CLC 




1DFD 69 04 




ADC 


#4 


1DFF 8D 02 DO 




STA 


SPRlJOCX+2 


1E02 E6 F7 




INC 


$F7 


1E04 A5 F7 




LDA 


$F7 


1E06 6A 




ROR 




1E07 90 03 




BCC 


CONRQ 


1E09 4C 24 IE 




JMP 


CTATChIC 


1E0C A5 FD 


CONRQ 


LDA 


$FD 


1E0E 69 01 




ADC 


#1 


1E10 85 FD 




STA 


$FD 


1E12 90 02 




BCC 


INZMAP 


1E14 E6 FE 




INC 


$FE 


1E16 A5 FB 


INZMAP 


LDA 


$FB 


1E18 18 




CLC 




1E19 69 01 




ADC 


#1 


1E1B 85 FB 




STA 


$FB 


1E1D 90 05 




BCC 


STATENE 


1E1F E6 FC 




INC 


$FC 


1E21 4C 24 1E 




JMP 


STATENE 


; now check for character shape, sec & 


ter, and state # 


1E24 A9 01 


STATENE 


LDA 


#1 


1E26 85 F9 




STA 


$F9 


1E28 AS F8 




LDA 


$F8 


1E2A 4A 




LSR 





1E26 90 04 




BCC 


CKXVOSP 


1E2D 06 F9 




ASL 


$F9 


1E2F 06 F9 




ASL 


$F9 


1E31 A5 F7 


CKXVOSP 


LDA 


$F7 


1E33 6A 




ROR 




1E34 60 02 




BCS 


CONSF 


1E36 06 F9 




ASL 


$F9 


; $19 contains matcher 






1E38 AO 00 


CONSF 


LDY 


#0 


1E3A B1 FB 




LDA 


($FB),Y 


1E3C 85 02 




STA 


$02 


1E3E A5 F9 




LDA 


$F9 


1E40 31 FD 




AND 


($FD),Y 


1E42 DO 26 




BNE 


NOMESSTS 


1E44 A9 CO 




LDA 


#$C0 


1E46 24 02 




BIT 


$02 


1E48 30 OD 




BMI 


MAYBOCEAN 


1E4A A5 02 




LDA 


$02 


1E4C 29 3F 




AND 


#$3F 


1E4E AA 




TAX 




1E4F BD 78 22 




LDA 


SECTABLE,X 


1E52 85 02 




STA 


$02 


1ES4 4C 6A IE 




JMP 


NOMESSTS 


1ES7 50 07 


MAYBOCEAN 


BVC 


TERJUNK 


1ES9 A9 00 




LDA 


#0 


1E5B 85 02 




STA 


$02 


1E5D 4C 8A IE 




JMP 


NOMESSTS 


1E60 AS 02 


TERJUNK 


LDA 


$02 


1E62 29 3F 




AND 


#$3F 


1E64 AA 




TAX 




1E65 BD 79 22 




LDA 


TERTABLE,X 


1E68 85 02 




STA 


$02 


; lounil the slate I 


;$02) - print it 






1E6A A2 OF 


NOMESSTS 


LDX 


#15 


1E6C AO 10 




LDY 


#16 


1E6E 18 




CLC 




; plot routine to si 


;l cursor 






1E6F 20 FO FF 




JSR 


$FFFO 


1E72 A9 95 




LDA 


#149 


1E74 20 D2 FF 




JSR 


$FFD2 


1E77 A9 20 




LDA 


#32 


1E79 A2 07 




LDX 


#7 


1E7B 20 D2 FF 


BLNKWDW 


JSR 


$FF02 


1E7E CA 




DEX 




1E7F 10 W 




BPL 


BLNKWDW 


1E81 A9 9D 




LDA 


#157 


1E83 A2 07 




LDX 


#7 


1E85 20 D2 FF 


CURKWDW 


JSR 


$FFD2 


1E88 CA 




DEX 




1E89 10 fH 




BPL 


CURKWDW 


1E8B A5 02 




LDA 


$02 


1E8D DO 03 




BNE 


GHWW 


1E8F 4C 42 ID 




JMP 


GTKEYB 


1E92 29 3F 


GHWW 


AND 


#$3F 


1E94 OA 




ASL 




1E95 AA 




TAX 




1E96 BD DC 21 




LDA 


STNAME,X 


1E99 20 D2 FF 




JSR 


$FFD2 


1E9C BD DD 21 




LDA 


STNAME+1,X 


1E9F 20 D2 FF 




JSR 


$FFD2 


1EA2 A9 20 




LDA 


#32 


1EA4 20 D2 FF 




JSR 


$FFD2 


1EA7 BD 00 78 




LDA 


STEVOTE,X 


1EAAAA 




TAX 




1EAB C9 OA 




CMP 


#10 


1EAD BO 05 




BCS 


EVPX 


1EAF A9 20 




LDA 


#32 


1EB1 20 D2 FF 




JSR 


$FFD2 


1EB4 A9 00 


EVPX 


LDA 


#0 


1EB6 20 CD BD 




JSR 


$BDCD 



Chapter 3 



1EB9 A9 10 




LDA 


#29 


1F40 BO 08 


BCS 


IJKL 


1EBB 20 02 FF 




JSR 


$FFD2 


1F42 8A 


TXA 




1EBE A9 90 




LDA 


#144 


1F43 29 02 


AND 


#2 


1EC0 20 D2 FF 




JSR 


$FF02 


1F45 FO 04 


BEQ 


CLUKL 


1EC3 A9 12 




LDA 


#18 


1F47 8A 


TXA 




; cr/blk/teverseon 








1F48 49 01 


EOR 


#1 


1EC5 20 02 FF 




JSR 


$FFD2 


1F4A AA 


TAX 




1EC8 A9 AO 




LOA 


#160 


1F4B A9 00 CLUKL 


LOA 


#0 


1ECA 20 D2 FF 




JSR 


$FFD2 


1F40 80 SB IF 


STA 


JB 


1ECD A5 02 




LOA 


$02 


1F50 38 


SEC 




1ECF 29 3F 




AND 


#$3F 


1F51 2A MARKIJ 


ROL 




1ED1 A2 00 




LOX 


#0 


1F52 CA 


DEX 




1ED3 E8 


RGNM 


INX 




1F53 DO FC 


BNE 


MARKIJ 


1ED4 OD 7F 24 




CMP 


REGFIRST,X 


1F55 8D 6B IF OEBOUNCE 


STA 


JB 


1ED7 BO FA 




BCS 


RGNM 


1F58 AD 00 DC DEBLOP 


LOA 


$DCOO 


1ED9 8A 




TXA 




1F5B 2D 01 DC 


AND 


$DC01 


1EDA 69 BO 




ADC 


#176 


1F5E 29 10 


AND 


#16 


1EDC 20 D2 FF 




JSR 


$FF02 


1F60 FO F6 


BEQ 


OEBLOP 


1EDF A9 92 




LDA 


#146 


1F62 A9 06 


LOA 


#6 


1EE1 20 D2 FF 




JSR 


$FFD2 


1F64 65 A2 


ADC 


$A2 


1EE4 4C 42 ID 




JMP 


GTKEYB 


1F66 C5 A2 DLP33 


CMP 


$A2 


1EE7 AD 15 DO 


MAGDONE 


LOA 


SPRTOG 


1F68 DO FC 


BNE 


DLP33 


1EEA 29 FO 




AND 


#253 


1F6A 60 


RTS 




1EEC 80 15 DO 




STA 


SPRTOG 


1F6B 00 JB 


.BYTE 


00 


1EEF A2 07 




LOX 


#7 


1F6C 20 EA 1A ELECTIONO 


JSR 


CKOEMREP 


1EF1 85 F7 


MAGPIX 


LDA 


$F7,X 


1F6F 20 81 1A 


JSR 


CKNOSTATES 


1EF3 90 02 IF 




STA 


SPX1,X 


: number of states won 






1EF6 CA 




DEX 




1F72 A5 02 


LOA 


$02 


1EF7 10 FB 




BPL 


MAGPIX 


1F74 C9 1A 


CMP 


#26 


1EF9 60 




RTS 




1F76 90 03 


BCC 


LASTMINCM 


1EB\ EA 


U)C50 


NOP 




1F78 20 84 IB 


JSR 


TGLIWRTY 


1EFB OA 




ASL 




: now do ttie last minute campaigning 




1EFC OA 




ASL 




; tor Hie loser (so far) 






1EFD OA 




ASL 




1F78 20 7A 21 LASTMINCM 


JSR 


NINTHWEEK 


1EFE 18 




CLC 




1F7E 20 84 18 


JSR 


TGUW1TY 


1EFF 69 32 




ADC 


#$32 


; and Itie winner 






1F01 60 




RTS 




IFBI 20 7A 21 


JSR 


NINTHWEEK 


1F02 00 


SPX1 


.BYTE 





: now split Hie undecided voters 






1F03 00 


SPY1 


.BYTE 





1F84 A9 01 


LOA 


#1 


1F04 00 00 


MKR1 


.BYTE 


0,0 


: first states first $fb/stp votes $fd/stlssu 


les 


1F06 00 00 


MAF1A1 


.BYTE 


0,0 


1F86 20 OF 19 


JSR 


SETZPP 


1F08 00 00 


MAPT1 


.BYTE 


0,0 


1F89 AO 05 SPLITLOOP 


LDY 


#5 


1F0A CO CO EO 


SPOATO 


.BYTE 


192,192,224,240,22 


1F88 81 FB 


LDA 


($FB),Y 








4 


1F8D4A 


LSR 


1F0F CO CB FF 




.BYTE 


192,200,255 


1F8E 4A 


LSR 




1F12 FF 99 81 


SPDAT1 


.BYTE 


255,153,129,195 


; undeclded/4 






1F16 C3 81 99 

; 




.BYTE 


195,129,153,255 


1F8F AA 
1F90 AO 02 


TAX 
LDY 


#2 


; bkcm.ljkl 
: 








1F92 8A SPLIT2 
1F93 18 


TXA 
CLC 




1F1A A9 00 


IJKL 


LDA 


#0 


1F94 71 F8 


ADC 


($FB),Y 


1F1C 8D 6B IF 




STA 


JB 


1F96 90 02 


BCC 


PUTTIN1 


1F1F AD 00 DC 


J0YZ1 


LDA 


SDCOO 


1F98 A5 FF 


LOA 


$FF 


1F22 29 IF 




AND 


#$1F 


1F9A 91 FB PUTTIN1 


STA 


($F8),Y 


1F24 49 IF 




EOR 


#$1F 


1F9CB8 


OEY 




1F26 DO 20 




BNE 


OEBOUNCE 


1F90 00 F3 


BNE 


SPLIT2 


1F28 AD 01 DC 


J0YZ2 


LOA 


$OC01 


; now ctisck lor ties 






1F2B 29 IF 




AND 


#$1F 


1F9F AO 02 


LDY 


#2 


1F2D 49 IF 




EOR 


#$1F 


m 01 FB 


CMP 


($FB),Y 


1F2F DO 24 




BNE 


OEBOUNCE 


^m D0 13 


BNE 


NEXLASUNO 


; check inkey 








; resolve Hie tie 






1F31 20 E4 FF 


CHKBL 


JSR 


$FFE4 


1fA5 AO 03 


LDY 


#3 


1F34 DO 01 




BNE 


CNIJKL 


1RA7 81 F8 


LOA 


($F8),Y 


1F36 60 




RTS 




m C8 


INY 


1F37 38 


CNIJKL 


SEC 




IfAA 38 


SEC 




1F38 E9 49 




SBC 


#$49 


IftB F1 FB 


SBC 


($FB),Y 


1F3A 90 OE 




BCD 


UKL 


^m A9 80 


LDA 


#$80 


1F3CAA 




TAX 




IftF 2A 


ROL 


1F30 E8 




INX 




1FB0 A8 


TAY 




1F3E E9 05 




SBC 


#5 


1FB1 C8 


INY 





168 



The Source Code 



1FB2 B1 FB 


LDA 


($FB),Y 


1FB4 E9 01 


SBC 


#1 


1FB6 91 FB 


STA 


($FB),Y 


IFBS A5 FB NEXLASUND 


LDA 


$FB 


1FBA IB 


CLC 




1FB6 69 05 


ADC 


#5 


1FBD 85 FB 


STA 


$FB 


1FBF C9 FF 


CMP 


#255 


1FC1 DO C6 


BNE 


SPLITLOOP 


; and the undecideds are split up 




' rtnw chnw thta rpciiltc 
, iiun aiiun tiic icduiid 






icn on CA 1A 

IrOo tU m IM 


ICD 

Jon 


CKDEMREP 


IFPR on R1 1A 
irUD dU Di In 


Jon 


CKNOSTATES 


icro AO oo 


LDX 


#51 


icrD Qn nn on cuirrvi nn 


LUA 


REALLEAN.X 




nlNU 


#$11 


irUU rU MO 




TRYFEWMORE 


icno ic nn on 


ACI 


REALLEAN,X 


(rUJ intrCWIVlUn 


UCA 




IrUO uu rO 


DDE 


SHIFTYLOOP 


, CiMllllldlCd UllUctflUcUs 






ipnfi 9n (IT iR 

iruo oo ID 


Jon 


TRANSLEANCOLR 


iPDR on pn no 
irUD tu cu uy 


IQR 
Jon 


MAKEMAP 


icnc on IR 

I rut. cU Of ID 


IQR 
Jon 


BARCHART 


1FE1 20 5A OB 


JSR 


CMIOGOPUT 


1FE4 20 CD IS 


JSR 


MENUITIN 


1PF7 A9 nP 


LUA 


#15 


* /fnr hnrriari 
, ^lUI UUlUcI^ 






ircu 00 Ufc 


olA 


$02 


1PPR &n in npni m 

irCD nU lU UCULn 


LUT 


#29 


1FED 16 






1 ncllldl piUl 






1PPP on Pn pp 
ipcc tu ru rr 


IQR 

Jon 


$FFFO 


1PF1 AQ Qft 


LDA 


#152 


; gray 2 






icpo on no cc 
irro 6U vc rr 


Jon 


$FFD2 


1FPR AO on 

IrrO na £U 


LUn 


#32 


1 blsnk sp3C6 






iFFfl A7 nn 


LUA 


#11 


im on no pp qi AMi^rrc 


IQR 
Jon 


$FF02 


IPPn PA 

IrrU tA 


ncv 

UtA 




1CPP nn PA 
Irrt UU m 


RMP 


BLANKITS 


onnn pr no 

eUUU to Ue 


IMP 
lINU 


$02 


?nn? Afi n? 


LDX 


$02 


2004 EO 18 


CPX 


#24 


2008 DO E3 


BNE 


OEOLH 


2008 AD 64 07 


LDA 


1892 


2008 8D 8C 07 


STA 


1932 


200E 8D B4 07 


STA 


1972 


; even up edges 






2011 8D DC 07 


STA 


2012 


2014 AO 20 


LDA 


#32 


2016 A2 OB 


LDX 


#11 


2018 90 DC 07 BLNKBOT 


STA 


201 2,X 


201 B CA 


DEX 




; blanks at t)ottom/for totals 






201C DO m 


BNE 


BLNKBOT 


201E A9 14 


LDA 


#20 


; t for total 






2020 8D E2 07 


STA 


2018 


2023 A9 00 


LDA 


#0 


2025 A2 03 


LDX 


#3 


2027 95 03 ZEREVOT 


STA 


$03,X 


2029 CA 


DEX 




202A 10 FB 


BPL 


ZEREVOT 


202C A9 09 


LDA 


#9 


202E 85 AE 


STA 


$AE 


2030 A9 00 PREPGL 


LDA 


#0 



; prepare for grand loop 






2032 80 20 8F 




STA 


CURREG 


; " region totals 








2035 EE 20 8F 


REGIONTOT 


INC 


CURREG 


2038 AD 20 8F 




LDA 


CURREG 


203B C9 OA 




CMP 


#10 


203D DO 03 




BNE 


GPRIX 


203F 4C 30 20 




JMP 


PREPGL 


2042 20 99 21 


GPRIX 


JSR 


CONSULHD 


2045 A9 00 




LDA 


#0 


2047 85 B2 




STA 


$B2 


2049 85 B3 




STA 


$B3 


204B A2 04 




LDX 


#4 


204D 86 FB 




SIX 


Z3 


204F AO IF 




LOY 


#31 


2051 84 FC 




STY 


Z3+1 


2053 A9 BE 




LDA 


#190 


2055 85 F7 




STA 


Z1 


2057 85 F9 




STA 


Z2 


2059 A9 04 




LDA 


#4 


205B 85 F8 




STA 


Z1+1 


; z page pointers 








205D 85 m 




STA 


Z2+1 


; # of states in region 






205F A6 A7 




LDX 


$A7 


2061 AO 03 


BLUNKOUT 


LDY 


#3 


2063 A9 20 




LDA 


#32 


2065 91 F7 


BLUNKIN 


STA 


(Z1),Y 


2067 88 




OEY 


2068 10 FB 




BPL 


BLUNKIN 


206A AS F7 




LDA 


Z1 


206C 18 




CLC 




208O 69 28 




ADC 


#40 


206F 85 F7 




STA 


Z1 


2071 90 02 




BCC 


DOWNTZZ 


2073 E6 F8 




INC 


Zl+I 


2075 OA 


DOWNTZZ 


DEX 




2076 00 E9 




BNE 




2078 AE 20 8F 




LOX 


CURREG 


207B BO 7F 24 




LDA 


REGHRST,X 


207E 85 FE 




STA 


Z4+1 


2080 CA 




DEX 




2081 BD 7F 24 




LDA 


REGFIRST,X 


2084 85 FD 




STA 


Z4 


2086 A6 FB 


EVPLOT 


LDX 


Z3 


2088 A4 FC 




LDY 


Z3+1 


208A IB 




CLC 




: plot for e-votes 








208B 20 FO FF 




JSR 


$FFFO 


208E A6 FD 


LARGEXLOO 


LDX 


Z4 


2090 BD 00 90 




LDA 


REALLEAN,X 


2093 29 OF 




AND 


#$0F 


2095 DO 03 




BNE 


ABC19 


2097 4C 6F 21 




JMP 


DOTHEREPS 


209A BD 44 22 


ABCig 


LDA 


CREVDTE.X 


209DAA 




TAX 




209E 18 




CLC 




209F 65 B2 




ADC 


$B2 


20A1 85 B2 




STA 


$B2 


20A3 8A 




TXA 




20A4 C9 OA 




CMP 


#10 


20A6 BO 05 




BCS 


PRNEVQT 


20Ae A9 20 




LDA 


#32 


; less tlian ten, print a space 






20AA 20 D2 FF 




JSR 


$FFD2 


20ADA9 9A 


PRNEVQT 


LDA 


#154 


20AF 20 02 FF 




JSR 


$FFD2 



; llgtit blue 



Chapter 3 



20B2 A9 00 




LDA 


#0 


213B 65 03 


ADC 


$03 


; print e-votes 








213D 85 03 


STA 


$03 


20B4 20 CD BD 




JSR 


$BDCD 


213F A9 00 


LDA 


#0 


20B7 A6 FB 




LDX 


Z3 


2141 65 04 


ADC 


$04 


20B9 AO 25 




LBY 


#37 


2143 85 04 


STA 


$04 


20BB 18 




CLC 




2145 A5 B3 


LDA 


$83 


; plot for erase 








2147 65 05 


ADC 


$0S 


20BC 20 FO FF 




JSR 


$FFFO 


2149 85 05 


STA 


$05 


20BF AD 03 




LDY 


#3 


214B A9 00 


LDA 


#0 


20C1 A9 20 




LDA 


#32 


214D 65 06 


ADC 


$06 


20C3 20 D2 FF 


OBLITERT 


JSR 


$FFD2 


214F 85 06 


STA 


$06 


20C6 88 




DEY 




2151 A6 03 


LDX 


$03 


20C7 00 fti 




BNE 


OBLITERT 


2153 AS 04 


LDA 


$04 


20C9 E6 FB 


FINIRU 


INC 


Z3 


21S5 20 CD BD 


JSR 


$BDCD 


20CB Ed FD 




INC 


Z4 


A4FA AA 4A 

2158 A2 18 


LDX 


#24 


20CD C6 A7 




DEC 


$A7 


21 5A AO 24 


LDY 


#36 


AAor r\A 

20CF DO Bd 




BNE 


EVPLOT 


215C 18 


CLC 




20D1 A5 AE 




LDA 


$AE 


21SD 20 FO FF 


JSR 


$FFFO 


mno nn no 

20D3 Du 03 




BNE 


A6C20 


n^^A Af nc 

2160 A6 OS 


LDX 


$0S 


20D3 4C 69 21 




JMP 


PRESREG9 


2162 AS 06 


LDA 


$06 


OAnn An aa ah 

20D8 AD 20 8F 


ABC20 


LDA 


CURREG 


2164 20 CD BD 


JSR 


$BOCD 


20DB 18 




CLC 




2167 C6 AE 


DEC 


$AE 


20DC 69 OE 




ADC 


#14 


2169 20 2E 11 PRESREG9 


JSR 


PRESSFIRE 


20DE AA 




TAX 




216C 4C 35 20 


JMP 


REGIONTOTS 


20DF AO IF 




LDY 


#31 


; the republicans won the state 






20E1 18 




CLC 




216F BD 44 22 DOTHEREPS 


LDA 


CREVOTE,X 


: plot 








2172 18 


CLC 


20E2 20 FO FF 




JSR 


$FFFO 


2173 65 B3 


ADC 


$B3 


20E5 A9 9A 




LDA 


#154 


217S 85 B3 


STA 


$B3 


20E7 20 D2 FF 




JSR 


$FF02 


2177 4C C9 20 


JMP 


FINIRL3 


20EA A5 B2 




LDA 


$B2 


; " ninth week routine 






20EC AA 




TAX 




; add lastvjk, twice issues, & campefl (3/2) to every state 


20EO C9 OA 




CMP 


#10 


21 7A AD 1A 8F NINTHWEEK 


LDA 


LASTWK 


20EF 60 05 




BOS 


DEMRVOT 


217D 8D 81 BF 


STA 


CANSTACK+1 


20F1 A9 20 




LDA 


#32 


; campaign 






20F3 20 D2 FF 




JSR 


$FFD2 


2180 20 F3 IB 


JSR 


CAMPONCE 


20F6 A9 00 


DEMRWT 


LDA 


#0 


2183 A9 00 


LDA 


#0 


; dem voles 








218S 8D 81 8F 


STA 


CANSTACK+1 


20Fe 20 CD BD 




JSR 


SBDCD 


2188 AE 20 BF 


LDX 


CURREG 


20rB Ay 9C 




LDA 


#156 


218B BD 7F 24 


LDA 


REGFIRST,X 


20FD 20 02 FF 




JSR 


$FFD2 


218E A8 


TAY 


2100 A9 20 




LDA 


#32 


21 8F CA 


DEX 




A4AA Aft 

2102 48 




PHA 




2190 BD 7F 24 


LDA 


REGRRSIX 


AA r^A 

2103 20 02 FF 




JSR 


$FFD2 


2193 AA 


TAX 


2106 AD 20 BF 




LDA 


CURREG 


; last region 






2109 09 30 




ORA 


#$30 


2194 CA 


DEX 




HAD OA m cc 

21 Od 20 U2 rr 




JSR 


$FFD2 


219S 20 F7 IB 


JSR 


CAMPREGK 


'MAr CO 

21 OE 68 




PLA 




2198 60 


RTS 




AT AA r\A nn 

210F 20 D2 FF 




JSR 


$FF02 








A A AA f^A nn 

2112 20 D2 FF 




JSR 


$FFD2 


2199 A9 9C CONSULHD 


LDA 


#1S6 


2115 A5 B3 




LDA 


$B3 


219B 20 D2 FF 


JSR 


$FFD2 


2117 AA 




TAX 




; print purple region header 






04 HO on nA 

2118 C9 OA 




CMP 


#10 ' 


219E 20 EB 11 


JSR 


GREET 


o-t ■< A on nc 
211 A BO 05 




BCS 


REP92 


21A1 A2 03 


LDX 


#3 


n IP A n on 

21 1C A9 20 




LDA 


#32 


21A3 AO IE 


LDY 


#30 


one on no cc 
211t 2U U2 rr 




JSR 


$FFD2 


21A5 18 


CLC 




01 OH AO HP 

2121 Aa 1U 


nEr92 


LDA 


#28 


21A6 20 FO FF 


JSR 


$FFFO 


c 1 CO £\i xjc, rr 




Jon 


*pru£ 


; for dem/rep top 




2126 A9 00 




LDA 


#0 


21A9 20 CI 21 


JSR 


HDLLRD 


: rep votes 








21AC AE 20 8F 


LDX 


CURREG 


2128 20 CD BD 




JSR 


SBDCD 


21AF BD 7F 24 


LDA 


REGFIRST,X 


212B A2 18 




LDX 


#24 


21B2 CA 


DEX 


212D AO 1E 




LDY 


#30 


21B3 38 


SEC 




212F 18 




CLC 




21B4 FD 7F 24 


SBC 


REGFIRST,X 


2130 20 FO FF 




JSR 


SFFFO 


21B7 85 A7 


STA 


$A7 


2133 A9 98 




LDA 


#152 


21B9 69 03 


ADC 


#3 


; gray 2 








21BBAA 


TAX 




2135 20 D2 FF 




JSR 


$FFD2 


21BC AO 1E 


LDY 


#30 


2138 AS 82 




LDA 


$B2 


21BE 20 FO FF 


JSR 


SFFFO 


213A 18 




CLC 




21C1 A2 00 HDLLRD 


LDX 


#0 



170 



The Source Code 



21C3 BO CF 21 


HDLLRE 


LDA 


DRHD,X 


21C6 DO 01 




BNE 


BOTFOMQ 


21C8 60 




RTS 




51PQ on n? FP 


DUl lUIVIU 


JSR 


$FFD2 


21CC E8 




INX 




21CD DO F4 




BNE 


HDLLRE 


21CF 9A 44 45 


DRHD 


.ASC 


" [<7HDEM {RED) 








REP" 


21DB 00 




.BYTE 





: bkcm.tables 








21DC 20 20 4D 


STNAME 


.ASC 


■ MENHVTMARICr 


21EA 4E 59 4E 




.ASC 


"NYNJPA" 


21 FO 4F 48 49 




.ASC 


■OHINILMIWr 


21 FA 40 4E 49 




.ASC 


'MNIAMONDSDNEK 


2208 44 45 4D 




.ASC 


S" 

"DEMDDCWVVNCS 








CGAFL" 


221A 48 59 54 




.ASC 


•KYTNALMS" 


2222 41 52 4C 




.ASC 


"ARLAOKTX" 


222A 4D 54 49 




.ASC 


■MTIDWYCONMAZU 








TNV" 


223A 57 41 4F 




.ASC 


"VWORCAAKHr 


; below is crunched electoral vo 


tes 




2244 


STEVOTE 


=> 


$7800 


2244 00 04 04 


CREVOTE 


.BYTE 


0,4,4,3.13,4,8 


224B 24 10 19 




.BYTE 


36,16.25 


224E 17 OC 18 




.BYTE 


23.12,24.20.11 


2253 OA 08 OB 




.BYTE 


10.8.11,3,3,5.7 


225A 03 OA 03 




.BYTE 


3,10,3,12,6.13.8,12, 








21 


2263 09 OB 09 




.BYTE 


9.11,9,7 


2267 08 OA 08 




.BYTE 


6.10,8.29 


226B 04 04 03 




.BYTE 


4,4,3,8.5.7,5,4 


2273 OA 07 2F 




.BYTE 


10,7,47,3,4 


2278 00 


SECTABLE 


.BYTE 





2279 01 03 03 


TERTABLE 


.BYTE 


1,3.3,4,5,8,9,8 


2281 OA 1A IF 




.BYTE 


10.26,31.11,14,16.1 








4.12 


2289 25 OC 13 




.BYTE 


37,12.19.16,17.20.2 








5,9 


2291 20 19 19 




.BYTE 


32,25.25,29,27.30.2 








6,31 


2299 ID 20 11 




.BYTE 


29,32,17,34,38,35,4 








0,40 


22A1 29 2A 26 




.BYTE 


41.42,38,37,46,49,4 








0,40 


22A9 2C 00 00 




.BYTE 


44,0,0,0 


22AD EF EF 2F 


MAmUAP 


.BYTE 


239,239,47,111,231, 








231,231,231 


22B5 E7 D2 D2 




.BYTE 


231,210,210,210,20 








7,207,207.0 


22BD 00 00 00 




.BYTE 


0,0,0.0,0,0,0,193 


22C5 CI EF 2F 




.BYTE 


193,239.47,47,111.1 








03,39.39 


22CD 27 27 12 




.BYTE 


39,39,18.18,18,15,7 








9 79 


22D5 4D CD CD 




.BYTE 


77,205,205,0,0.0,0,0 


22DD CI CI FO 




.BYTE 


193,193,240,48,48,1 








12,103,39 


22E5 27 27 27 




.BYTE 


39,39,39,19.19,19,1 








515 


22ED 4F OE CE 




.BYTE 


79,14,208,205,0.0,0, 








199 


22F5 07 42 C1 




.BYTE 


7,66,193,240,48,48, 








40,40 


22FD 67 29 29 




.BYTE 


103,41,41,41,19,19, 








19,16 


2305 10 4E 8C 




.BYTE 


16,78.140,205,13.20 







5,201,199 


230D 07 07 04 


.BYTE 


7.7,4,196.241,49,11 






0,46 


2315 2E 2D 29 


.BYTE 


46,45,41,41,41,20.2 






0,20 


2310 54 10 50 


.BYTE 


84,16,80,12,76,11.1 






0,73 


2325 09 09 47 


.BYTE 


9,9,71,70,197.241,4 






9,110 


232D 2E 2E 2D 


.BYTE 


46,46,45,45.42,42,4 






2,149 


2335 95 95 11 


.BYTE 


149.149,17,145,12.7 






6.11,138 


2330 4A 89 58 


.BYTE 


74.137,88,151,200.0 






,0,49 


2345 31 6E 2E 


.BYTE 


49,110,46,45,45,42, 






42,42 


234D 15 15 15 


.BYTE 


21,21.21,85,17,145. 






76.75 


2355 IF 5F 5A 


.BYTE 


31.95,90,25,87.214, 






0.0 


235D F1 31 6E 


.BYTE 


241,49,110,172,44,4 






4,43,43 


2365 AB 65 25 


.BYTE 


171,101,37,37.81,99 






,17,96 


236D 60 60 59 


.BYTE 


96,96,89,91 ,91,91,0, 


2375 00 00 F1 


.BYTE 




0.0,241,49.113.44,4 






4.43 


237D 2B 2B 26 


.BYTE 


43,43.38,37,37,165, 






35,35 


2385 62 A1 AO 


.BYTE 


98,161,160,93,156,2 






7,219,0 


238D 00 00 00 


.BYTE 


0,0,0,241,49,113,44, 






44 


2395 2B 2B 6B 


.BYTE 


43,43,107,38,38,38. 






102,35 


239D A3 22 21 


.BYTE 


163,34,33.97,29,92, 






156,0 


23A5 00 00 00 


.BYTE 


0.0,0,0,0.0.0.236 


23AD EC EB E6 


BYTE 


236,235,230,38,38,3 


23B5 24 64 22 


.BYTE 


8,38,38 

36,100,34,33,33,29. 






29,0 


23BD 00 00 00 


.BYTE 


0,0,0,0,242,50,242.0 


23C5 F3 00 00 


.BYTE 


243,0,0,0,230,230,3 






8,38 


23CD E6 24 E4 


.BYTE 


230,36,228,226,225, 






222,222,30 


23D5 00 00 00 


BYTE 


0,0,0,242,50,50 


23DD 00 00 F3 


.BYTE 


0,0,243,0,0,0.0,230 


23E5 E6 00 00 


.BYTE 


230,0,0,0.0.0,0,0 


23ED DE DE 00 


.BYTE 


222,222.0,0,0.0.242, 






242 


23F5 F2 F2 00 


.BYTE 


242,242.0,0,243.0,0, 


23F0 00 E6 00 


.BYTE 




0,230,0,0,0,0,0,0 


2405 00 OE IE 


.BYTE 


n in on oil n n OA 
U,<lt:,l,jU,£:^^,U,U,^4 






2,0 


240D 00 00 F2 


.BYTE 


0,0,242,0,0,0.0,0 


2415 00 00 00 


.BYTE 


0,0,0,0.0,0,0,0 


241D 00 00 00 


.BYTE 


0,0,0.222,222,0,0,25 
5 


2425 20 52 45 


REGIONAME ASC 


• REGIONS' 


242D 00 


.BYTE 





242E 4E 45 57 


.ASC 


"NEW ENGL" 


2436 00 


.BYTE 





2437 55 52 42 


.ASC 


"URBAN NE" 


243F 00 


.BYTE 





2440 48 45 41 


.ASC 


"HEARTLND" 



171 



Chapter 3 





DVTC 
.01 It 


n 
U 


OAAO A7 in an 
t*(*(y m cU ju 


A CP 


T Dl AIMC 


£13 1 UU 


DVTC 


Q 


2452 41 54 4C 


.ASC 


■ATU\NTIC- 


CiDn UU 




Q 


245B 53 4F 55 


.ASC 


■SOUTHERN" 


2463 00 


.BYTE 





2464 41 52 4B 


.ASC 


■ARKLATEXY" 


246C 00 


.BYTE 





246D 4D 4F 55 


.ASC 


FOUNTAIN" 


2475 00 


.BYTE 





2476 50 41 43 


.ASC 


■RACIFiC" 


247D 20 00 


.BYTE 


32,0 


; first state #s in 






247F 01 07 OA REGRRST 


.BYTE 


1,7.10,15,22,31,35.3 






9,47,52 



pvcruncli - 
region 1 

2489 34 DC 

: region 2 

2490 4E E4 
: region 3 
2493 40 E4 
; region 4 
2498 3E F3 



crunciied leanings 
F3 PVCRUNCH 

4D 
E3 
50 



249F 63 3F 2F 



; region 6 
24AB 46 64 
; region 7 
24AC 46 46 
; region 8 
24B0 04 F3 

; region 9 
24B8 EB F2 
24B0 21 3B 

2403 OA BD 
2406 61 59 
240B 76 7A 



E4 

21 ISSU1 



24D2 EE FE CO 



24DB 00 91 
24DF 01 86 
24E3 61 60 

24EB F5 EA 

24F0 6F F7 

24F6 42 IB 
24F9 10 68 
24FE 41 34 



45 
57 
77 

9E 

39 ISSU2 

5F 
A4 
E9 



2505 11 02 42 



250E 39 3D 
2512 3E 2F 
2516 25 3B 



251E F2 08 E6 



2523 00 



FIRSTCAN 



DVTC 


CO OOn OAO 0^9 A7 tt 




3,220 


.BYTE 


78.228.77 


.BYTE 




.BYTE 


62,243,92,227,242,2 




27,243 


.BYTE 


QQ CO A7 vya CO CO 
99,t)o,4r, 2^0,00,09, 




inn inn cn 
(UU, l9U,09 


DVTC 


7n mrt 77 77 


DVTC 
.□lit 


7n 7n 010 7Q 


DVTC 
.DT It 


010 0.10 0.10 107 01 

£l^,£4d,^4o,19f ,£1 




2,228,243,197 


.BYTE 


235,242,228,242,47 


.BYTE 


33,59.33,246,104,12 




6 


.BYTE 


202,189,36 


.BYTE 


97,89.189,220,52 


.BYTE 


118,122,81,38,3,171 




,186 


.BYTE 


238,254,204,171,2,8 




0,70,70,235 


BYTE 


0,145,69,1 


.BYTE 


1,134,87,203 


.BYTE 


97,96,119,223,66,23 




4.170.246 


.BYTE 


245,234,158.124,25 


.BYTE 


4 

111,247,57,67,159,2 




11 


.BYTE 


66.27.95 


.BYTE 


29,104,164,179,5 


.BYTE 


65,52,233,44,56,4,1 




36 


.BYTE 


17,210,66,230,63,16 




9,175,77.154 


.BYTE 


57,61,92,140 


.BYTE 


62,47,120,216 


.BYTE 


37,59,5,145,213,145 




,243,187 


.BYTE 


242,11,230,131,193 


.BYTE 






2524 00 


WEEKNO 


.BYTE 





2525 44 52 55 PRTIS 


.ASC 


"DRU" 


2528 9F 10 


98 PRTCO 


.ASC 


jCYN 


252B 00 00 




DVTC 
.DT It 


>i 
n n 
U,U 


: sat-sun (iMClcwards) 






252D 


DAY 




$8F00 


252D 


HEALTH 




•pOrUtf 


252D 


IWIONEY 




$0rU9 


252D 


U«TSTATE 




CQCnA 

wruA 


252D 


LASTREGI 




tQcno 
$OrUD 


252D 


HOMESTATE 






252D 


JOB 




wrUU 


252D 


INOUMB 




«orUr 


2520 


CHAR 




cacin 
$oriU 


2520 


STAM 




q>ori1 


2520 


INTL 




$8F12 


2520 


EXPR 






2520 


APPL 




$ffi"14 


;0=(lem 1 = 


rep 






2520 


FftRTY 




$8F15 


2520 


CAMPEFF 




$8F16 


2520 


STREN 




$8F17 


2520 


FUNDR 




$8F18 


2520 


TWOS 




$8F19 


2520 


mvm 


= 


$8F1A 


: ttie five stands 






2520 


STANDO 




$8F1B 


2520 


CURREG 




*ocon 


2520 


HOMEREGI 


= 


$8F21 


252D 


OTHERCAN 




$8F40 


252D 


OTDAY 




$8F40 


252D 


OTHEALTH 




•orw 


2520 


OTMONEY 






2520 


OTU«TST 




$8F4A 


252D 


OTUBTRE 






2520 


OTHOH/IEST 




COUP 


2520 


OTJOB 






252D 


OriNCUMB 




$or*lr 


252D 


OrCHAR 






2520 


OrSTAI\^ 




$or31 


2520 


OriNTL 






252D 


OTEXPR 




CQCCQ 


252D 


OTAPPL 




*or34 


;0=dem 1 = 


rep 






252D 


OrmRTY 




$aF55 


2520 


OTCAMPEF 




$8F56 


2520 


OTSTREN 




$8F57 


252D 


OTFUNDR 




$8F58 


252D 


OTTWDS 




$8F59 


252D 


OTLASTWK 




$8F5A 


252D 


OTSTANDO 




SeFSB 


2S2D 


OTCURREG 




$8F60 


252D 


OTHOIWEREG 




$8F61 


252D 


CAI^STACK 




$8F80 


252D 


STISSUES 




$9100 


252D 


STPVDTES 




$9200 



172 



Heat Seeker 
Source Code 

Source code by Tim Victor 



0801 

; — basic program line 
0801 OD 08 01 

OaOA 00 00 00 



$801 



.BYTE $D,8,1,0,$9E,$32,$3 

0,$36,$31 
.BYTE 0,0,0 



bsoD 


SCRPTR 


= 


$FE 


080D 


COIPTR 




$FC 


080D 


SOURCE 




$FE 


0800 


DEST 


= 


$FC 


isprite 0,x 






$0000 


080D 


SPRITEX 

or 111 1 L/\ 




;sprlle 0,y 






$0001 


080D 


SPRITEY 


= 


;sprite 0,x 






SPRITEX 


080D 


PUNEX 




;sp[lte 0,y 








080D 


PUNEY 




SPRITEY 


;sprlte 1,x 








080D 


CHASEX 


= 


SPRITEX +2 


;sprite 1,y 






SPRITEY+2 


080D 


CHASEY 




;sprile bit 9 








080D 


MSB 




$0010 


;spr-spr collisions 








080D 


SSCREG 




$D01E 


ispr-bkg colilslons 

mo 


SBCREG 




$001F 


: sprite enable 








0800 


SPRITEN 




$0015 


0800 


SID 




$D400 


080D 


VI 




SID 


0800 


V2 




SID + 7 


080D 


V3 




SIO + $E 


080D 


J0Y2 




$DC00 


0800 


J0Y1 




$DC01 


; video initialize 








0800 


CINT 




$FFB5 


0800 


SCORE 




$7C8 


0800 


SC0RE2 




$7E1 




********* 


;od8 




0800 


START 




* 


; — set screen colors 






0800 A9 OE 




LDA 


#14 


080F 80 21 DO 




STA 


$D021 


0812 A9 02 




LDA 


#2 


0814 8D 20 00 




STA 


$0020 



******** 



' init sound 



0817 AO 18 

0819 A9 00 

081B 99 FF 03 SNOLUP 
081E 88 
081F DO FA 

0821 A9 02 
0823 80 17 04 
0826 A9 IF 
0828 80 18 04 
082B A9 08 

0820 60 16 04 
0830 A9 03 
0832 80 08 04 
0835 A9 3D 
0837 8D OC 04 

boSA A9 00 
083C 80 OF 04 
083F 80 OE 04 
0842 A9 20 
0844 8D 13 04 
0847 A9 7F 

0849 80 14 04 
084CA9 81 
084E 80 12 04 

0851 A9 01 
0853 8D 03 04 
0856 A9 19 
0858 80 05 04 

boSB A9 00 

0850 80 24 18 

; set difficulties 
0860 20 68 13 
; draw screen 
0863 20 E9 11 
0866 A9 30 
0868 AO 06 

086A 99 C8 07 SINITLUP 
0860 88 
086E DO FA 
0870 8C 20 18 

0873 AC 28 18 
0876 30 12 
0878 AO 06 

087A 99 El 07 S2INIT 

0870 88 

087E 00 » 

0880 A9 32 

0882 80 C6 07 

0885 A9 31 

0887 8D OF 07 

; ~- free all sprites 
088A A9 FC SPFREE 
088C 80 03 18 



LDY 
LDA 
STA 
DEY 
BNE 



#$18 
#0 

SID-1.Y 
SNDLUP 



LDA #2 
STA SID+$17 
LOA <«1F 
STA SI0+$18 
LDA #8 
STA SID+$16 
LOA #$3 
V2+1 
#$3D 
V2+5 



STA 
LOA 
STA 



LOA #$0 

STA V3+1 

STA V3 

LOA #$20 

STA V3+5 

LOA #$7F 

STA V3+6 

LDA #$81 

STA V3+4 

LDA #$1 

STA V1+3 

LOA #$19 

STA VI +5 

LOA #0 

STA aPFREQ 



JSR CONFIG 



JSR 
LOA 



#$30 
LDY #6' 
STA SCORE,Y 
DEY 
BNE 
STY 



LDY 
BMI 



SINITLUP 
PUYNUM 



MULTI 
SPFREE 
LOY #6 
STA SC0RE2.Y 
DEY 

BNE S2INIT 
LOA ^2 
STA $7C6 
LOA #$31 
STA $7DF 



LDA mc 

STA INUSE 



173 



Chapter 3 



nsQc AO nc 






AAA A n/1 Art Al 

09uA 20 6C OA 


JSR 


DISABLE 


LDA 


#11 


0900 OE ID 18 SCL1 


ASL 


MASKTEMP 


nflQi A9 riA 


1 nv 
LUa 


#4 


nfn A CO 

0910 Eo 


INX 




Of^Q^ QD HR 17 IVI IIP 

UOSO 9U UD If IVLUr 


CTA 

Oin 


wPi nrc Y 


no-ii cn nc 
Usil tU Uo 


CPX 


#6 




INV 
UNA 




Usld UU bo 


BNE 


SCLUP 


nftQ7 Ffl 


IMV 
IDA 








0898 EO 10 


CPX 


#$10 


UyiO AO Ai 


UjA 


$A1 


089A DO F7 


BNE 


IVLUP 


vHM OU ir 10 


CMP 


OLOJIF 








091A ru Oo 


BED 


FTEND 


; — start inlettupl 






Ann/^ on ao 

091C BD 1r 16 


STA 


OLDJIF 


089C 20 7F CD 


JSR 


PLANE 


tunc 1A n/y 

091r 20 71 OC 


JSR 


SCORTEN 








0922 FTEND 






baSF A9 08 


LDA 


#8 








Q8A1 8D 21 18 


STA 


QUAN 


; — check chaser ttiner 






08A4 8D 22 18 


STA 


QUAN+1 


nooo API nc 
0922 AU Ot 16 


LDA 


LNCHTIME 


08A7 4C 3D 08 


JMP 


PRESET 


U92d lU 21 


BPL 


CHASEND 








U92r 1/9 OU 


CMP 


#$C0 








0923 ru lu 


BEG 


CHASEND 


; initializations complete 


0926 C9 rr 


CMP 


WFF 








092D FO 19 


BEQ 


CHASEND 








092F 20 F4 OB 


JSR 


CHASLNCH 


; — check sprite collisions 






0932 90 07 


BCC 


LNCHSUCC 


08AA A9 00 MAINENT 


LDA 


#0 


nooA AO f*n 
Uydl A9 KAJ 


LDA 


#$C0 


OBAC 80 01 18 


STA 


HRE 


nooc on nc ho 
0936 oD Oc 1o 


STA 


LNCHTIME 


08AF BD 02 18 


STA 


LASrSHOT 


nrton nA ah 

0939 DO 00 


BNE 


CHASEND 








093B A9 FF LNCHSUCC 


LDA 


#$FF 


0862 20 61 OD MAINLUP 


JSR 


ZIPPER 


AAon on nc ho 

09>3D ou OE 18 


STA 


LNCHTIME 
#$80 


08B5 AD OE 18 


LDA 


LNCHTIME 


n(\ An An on 

0940 A9 BU 


LDA 


08B8 C9 FF 


CMP 


#$FF 


nndi on ha ho 

0942 BD 19 18 


STA 


DELTAX 


08BA DO 22 


BNE 


ML1 


f^f^AC Dn h a 40 

0945 BO 1A 18 


STA 


DELTAY 


08BC 20 3C OD 


JSR 


WHOOSH 


0948 CHASEND 


" 




08BF AD 19 18 


LDA 


DELTAX 








08C2 C9 08 


CMP 


#$8 


; — clieck 11 liases destroyed 






08C4 90 04 


BCC 


CC1 


0948 AO 09 


LDY 


#9 


08C6 C9 F8 


CMP 


#$F8 


094A A9 FF 


LDA 


«FF 


08C8 90 14 


BCC 


ML1 


094C 09 04 18 DBCLUP 


CMP 


BASCmCK,Y 


08CA AD 1A 18 CC1 


LDA 


DELTAY 


094F FO 00 


BEQ 


OBCEND 


08CDC9 0B 


CMP 


#$08 


0951 88 


OEY 


08CF 90 04 


BCC 


CC2 


09S2 00 F8 


BNE 


DBCLUP 


08D1 C9 F8 


CMP 


#$F8 


09S4 AO OE 18 


LOA 


LNCHTIME 


08D3 90 09 


BCC 


ML1 


0957 C9 CO 


CMP 


#$C0 


08D5 20 46 OD CC2 


JSR 


WHOOSHOF 


0959 DO 03 


BNE 


OBCEND 


08D8 20 79 OD 


JSR 


ZIPOFF 


095B 4C 04 OB 


JMP 


ENDROUND 


08D8 4C 14 08 


JMP 


MISSUCC 


095E OBCEND 















; — check sprite 


- tiackground 






; — cneck tire button 






095E AO IF DO 


LOA 


SBCREG 


08DE AO 01 18 


ML1 


LDA 


FIRE 


0981 80 OF 18 




STA 


REGTEMP 


08E1 FO 03 




BEQ 


ML2 


0964 29 01 




AND 


#1 


08E3 20 83 OA 




JSR 


LAUNCH 


0966 FO 09 




BEQ 


SBC1 


; — ctieck pause 








0968 20 39 OA 




JSR 


PLANCRSH 








0968 20 46 OD 




JSR 


WHOOSHOF 


08E6 78 


ML2 


SB 




098E 4C 3D 08 




JMP 


PRESET 


08E7 A9 FO 




LDA 


#$FD 


0971 AD OF 18 


SBC1 


LOA 


REGTEMP 


08E9 80 00 OC 




STA 


$DC00 


0974 29 02 




AND 


#2 


08EC AO 01 DC 




LDA 


$DC01 


0976 FO 03 




BEQ 


SBC2 


08EF 29 80 




AND 


#$80 


0978 20 13 OA 




JSR 


CHASCRSH 


08F1 FO F3 




BEQ 


ML2 


0978 AD OF 18 


SBC2 


LDA 


REGTEMP 


08F3 A9 F7 




LDA 


#$F7 


097E 29 FC 




AND 


#$FC 


08F5 80 00 OC 




STA 


$DC0O 


0980 DO 03 




BNE 


BACKCHECK 


08F8 58 




CLI 




0982 4C 82 08 




JMP 


MAINLUP 


; — check shot clocks 






; — successful shot 






08F9 A9 04 




LOA 


#4 


0985 80 OF 18 


BACKCHECK 


STA 


REGTEMP 


08FB 80 10 18 




STA 


MASKTEMP 


0988 A9 04 




LDA 


#$4 


08FE A2 00 




LOX 


#0 


098A 80 IE 18 




STA 


SHOTMASK 


0900 BO FB 17 


SCLUP 


LDA 


SHOICIOCK,X 


098DAA 




TAX 


0903 C9 7F 




CMP 


#$7F 








0905 90 08 




BCC 


SCL1 


; — which shot 








0907 AD 10 18 




LDA 


MASKTEMP 


098E AD 1E 18 


SCHKLUP 


LDA 


SHGTMASK 



174 



The Source Code 



0991 20 OF 18 




AND 


REGTEMP 


0994 FO 03 




BEQ 


SCH1 


0996 20 AS 09 




JSR 


BASCHK 


0999 OE 1E 18 


SCH1 


ASL 


SHOTUASK 


099C E8 




INX 




099D E8 




INX 




099E EO 10 




CPX 


#$10 


09A0 DO EC 




BNE 


SCHKLUP 


09A2 4C B2 08 




JIUIP 


MAINLUP 


; — which rocket 








09A5 2D 10 DO 


BASCHK 


AND 


MSB 


09A8 FO 02 




BEQ 


BASCHK1 


09AA38 




SEC 




09AB 24 




.BYTE 


$24 


09AC 18 


BASCHK1 


CLC 




09AD 80 00 00 




LDA 


PLANEX,X 


noon 

vHoKi DA 




nun 




09B1 38 




SEC 




09B2 E9 08 




SBC 


#$8 


09B4 BO 02 




BCS 


BC1 


09B6 A9 GO 




LDA 


#0 


09B8 C9 AO 


8C1 


CMP 


#$A0 


09BA 90 02 




BCC 


BC2 


09BC A9 90 




LDA 


#$90 


09BE 4A 


BC2 


LSR 




09BF 4A 




LSR 




09C0 4A 




LSR 




09C1 4A 




LSR 




09C2 A8 








; 

; — is it a rocket 








09C3 89 04 18 




LOA 


BASCLOCK,Y 


09C6 C9 FF 




CMP 


#$FF 


09C8D0 48 




BNE 


NOROCKET 


09CA A9 CO 




LOA 


#$C0 


09CC 99 04 18 




STA 


BASCLDCK,Y 


09CF A9 00 




LDA 


#0 


0901 90 C5 17 




STA 


PXVHLX 


0904 90 C6 17 




STA 


PYVHI,X 


09D7 A9 E2 




LOA 


#226 


09D9 9D 01 DO 




STA 


PLANEY,X 


090C BO 00 DO 




LDA 


PLANEX,X 


09OF 38 




SEC 




09E0 E9 10 




SBC 


#$10 


09E2 29 EO 




AND 


urn 


09E4 18 




CLC 








ADC 


#$1C 


09E7 9D 00 DO 




STA 


PLANEX,X 


09EA 20 8C OC 




JSR 


SCOR50 


09EO8A 




TXA 




09EE 4A 




LSR 




09EF AA 




TAX 




09F0 A9 40 




LOA 


mo 


09F2 90 F9 17 




S1A 


SHOrCLOCK- 


09F5 A9 FF 




LDA 


#$FF 


09F7 9D F8 07 




STA 


2040,X 


(m 8A 




TXA 




09FB OA 




ASL 




09FCAA 




TAX 




; — erase 11 








09FD 20 31 OD 




JSR 


CRASH 


OAOO 98 




TYA 




0A01 OA 




ASL 




0A02 OA 




ASL 




0A03 A8 




TAY 




0A04 A9 60 




LDA 


#$60 


0A06 99 71 07 




STA 


$771,Y 


OAOO 99 72 07 




STA 


$772,Y 



OAOC 99 99 07 




STA 


$799,Y 


OAOF 99 9A 07 




STA 


$79A,Y 


; 

0A12 60 


NOROCKET 


RTS 




; 

; — chaser crash 








0A13 AD OE 18 


CHASCRSH 


LDA 


LNCHTIME 


0A16 C9 FF 




CMP 


#$FF 


0A18 DO IE 




BNE 


CCOUN 


0A1A 20 A7 OC 




JSR 


SC0R100 


0A1D 20 31 OO 




JSR 


CRASH 


0A20 A9 00 




LDA 


#0 


0A22 80 C7 17 




STA 


PXVHI+2 


0A25 8D CB 17 




STA 


PYVHI+2 


0A28 80 OE 16 




STA 


LNCHTIME 


0A2B A9 E2 




LDA 


#226 


0A2D 8D 03 DO 




STA 


CHASEY 


0A30 A9 02 




LDA 


#2 


0A32 80 28 OO 




STA 


$0028 


fiAi'i ?n 4R no 




JSR 


WHOOSHOF 


0A38 60 


CCDUN 


RTS 




; 

0A39 A9 00 


PLANCRSH 


LDA 


#0 


0A3B 80 C5 17 




STA 


PXVHI 


0A3E 80 C6 17 




STA 


PYVHI 


0A41 A9 E2 




LOA 


#226 


0A43 8D 01 DO 




STA 


PLANEY 


0A46 A9 02 




LDA 


#2 


0A4a 80 27 00 




STA 


$0027 


0A4BA9 01 




LDA 


#1 


0A4O 00 1C 00 




ORA 


$D01C 


OASO 80 1C DO 




STA 


$D01C 


bA53 20 79 OO 




JSR 


ZIPOFF 


0A56 20 31 00 




JSR 


CRASH 


0A59 AO CO 




LDY 


#$C0 


0A5B 84 A2 




STY 


$A2 


OASO AO IF OO 


PCVW\IT 


LDA 


SBCREG 


0A60 29 02 




AND 


#2 


0A62 FO 03 




BEQ 


PCFIN 


0A64 20 13 OA 




JSR 


CHASCRSH 


0A67 A4 A2 


PCFIN 


LDY 


$A2 


DA69 DO F2 




BNE 


pcvtwr 


0A6B 60 




RTS 




; — turn off shot 








0A6C OD 03 18 


DISABLE 


ORA 


INUSE 


OAOF 80 03 18 




STA 


INUSE 


0A72 AD ID 18 




LDA 


MASKTEMP 


0A7S 49 FF 




EOR 


#$FF 


0A77 20 15 DO 




AND 


SPRITEN 


0A7A 8D IS DO 




STA 


SPRITEN 


0A7D A9 FE 




LDA 


#$FE 


0A7F 90 FA 07 




STA 


2042,X 


0A82 60 




RTS 




: — launch another shot 






0A83 AD 02 18 


UUNCH 


LDA 


LAbJSHOI 


0A86 C9 1C 




CMP 


#$1C 


0A38 BO OS 




BCS 


LUUNCH 


0A8AA9 00 




LOA 


#0 


OAOC 80 01 18 




STA 


FIRE 


OAOF 60 




RTS 




OAOO AO 03 18 


LLAUNCH 


LDA 


INUSE 


0A93 DO 01 




BNE 


LAUNCH1 


0A95 60 




RTS 




; — find unused 


shot 






0A96 A9 00 


LAUNCH1 


LOA 


#0 


0A98 80 01 18 




STA 


FIRE 



Chapter 3 



0A9B 8D 02 18 




STA 


LASTSHOT 


0B1C 80 C6 17 




STA 


PYVHI 


0A9E A9 04 




LDA 


#4 


0B1F 8D 08 17 




STA 


CYVHI 


OAAO AA 




TAX 




0B22 20 31 OD 




JSR 


CRASH 


0AA1 AB 




TAY 




0B25 AO 1C DO 
0B28 09 01 




LDA 
ORA 


$001 C 
#1 


bAA2 2D 03 18 


LNCHLUP 


AND 


INUSE 


0B2A 80 1C DO 




STA 


$001 C 


0AA5 DOOA 




BNE 


LNCHIT 


0B2D A9 02 




LOA 


#2 


0AA7 98 




T\R 




0B2F 80 27 DO 




STA 


$0027 


OAAB OA 




ASL 




0B32 80 28 00 




STA 


$0028 


0AA9 AB 




TAY 




0B35 A9 CO 




LOA 


#$C0 


OAAA EB 




INX 




0B37 85 A2 




STA 


$A2 


OAABEB 




INX 




0B39 A5 A2 


SUCCVKAIT 


LOA 


$A2 


OAAC EO 10 




CPX 


mo 


0B3B DO FC 




BNE 


SUCCVAIT 


OAAE D0F2 




BNE 


LNCHLUP 










OABO 60 




RTS 




; reset positio 
0B3D 78 


1S 

PRESET 


SEI 




; — mark it and turn it on 






0B3E A9 64 




LOA 


#100 


0A61 BD ID IB 


LNCHIT 


STA 


MASKTcmP 


UB40 BD 00 DO 




STA 


PIANEX 


0AB4 OD 15 DO 




ORA 


SPRITEN 


nnAf% An ^a 

0B43 Ag 64 




LOA 


#100 


0AB7 8D 15 DO 




STA 


SPRiTEN 


nnAC on nA nA 

0B45 BO 01 DO 




STA 


PLANEY 


OABA AD 1D IB 


UWI 


LOA 


MASKTEMP 










OABO 49 FF 




EOR 


#$FF 


0B4B A9 00 




LDA 


#0 


OABF A8 




W 




0B4A 80 10 DO 




STA 


MSB 


OACO 2D 03 18 




AND 


INUSE 


0B40 A9 01 




LOA 


#1 


0AC3 BD 03 18 




STA 


INUSE 


0B4F BD 15 DO 

AncA A A m 

0B52 A9 FO 




STA 
LDA 


SPRITEN 
#240 


; — same side of seam 






0B54 8D F8 07 




STA 


2040 


0AC6 AD 10 DO 




LOA 


MSB 


0B57 A9 OF 




LDA 


«F 


0AC9 29 01 




AND 


#1 


0B59 80 27 DO 




STA 


$0027 


OACB FO DC 




BEQ 


Lil 


0B5C A9 FE 




LOA 


#$FE 


OACD AD ID 18 




LDA 


MASKTEMP 


0B5E 2D 1C DO 




AND 


$D01C 


OADO OD 10 DO 




ORA 


MSB 


0B61 80 1C DO 




STA 


$D01C 


0AD3 8D 10 DO 




STA 


MSB 


1 








0AD6 4C EO OA 




JMP 


LI2 


0B64 A9 00 




LDA 


#0 


0AD9 98 


Lil 


TYA 




0B66 85 AO 




STA 


$A0 


OADA 2D 10 DO 




AND 


MSB 


0B68 85 A1 




STA 


$A1 


OADD BD 10 DO 




STA 


MSB 


0B6A 85 A2 
0B6C 80 IF 18 




STA 
STA 


$A2 
OLDJIF 


; — same place, 


same speed 














OAEO AD C5 17 


LI2 


LDA 


PXVHI 


; — establisti ba 


es 






0AE3 9D C5 17 




STA 


PXvHI.X 


0B6F 20 52 13 




JSR 


DRWSCREEN 


0AE6 AD C6 17 




LDA 


PYVHI 


0B72 A2 09 




LDX 


#9 


0AE9 9D C6 17 




STA 


PYVHI.X 


0B74 A9 FF 




LDA 


#3FF 


OAEC AD 00 DO 




LDA 


PLANEX 


0B76 9D 04 IB 


NEWBASLUP 


STA 


BASCU)CK,X 


OAEF 9D 00 DO 




STA 


Di Akin/ V 

PLANEX,X 


0B79 CA 




OEX 


0AF2 AD 01 DO 




LOA 


PLANEY 


0B7A 10 ft 




BPL 


NEWBASLUP 


OAFS 9D 01 DO 




STA 


PLANEY.X 


bB7C A9 00 




LOA 


#0 


: — set disable timer 






0B7E 8D OE 18 




STA 


LNCHTIME 


OAFS BA 




TXA 




0BB1 AD 1F DO 




LDA 


SBCREG 


0AF9 4A 




LSR 




0BB4 AD 1E DO 




LOA 


SSCREG 


OAR AB 




TAY 










OAFB A9 00 




LDA 


#0 


; — change players 






OAFD 99 F9 17 




CTA 
blA 


onUTCLDCK— 2,Y 


0B87 2C 28 18 
0B8A 30 1C 


CHANGEP 


BIT 
BMI 


MULTI 
LIFELOSS 


0800 58 




CLI 




0B8CA0 09 




LOY 


#9 


0B01 4C 4C OD 




JMP 


ZIP 


0B8E B9 CS 07 


SWITCHLP 


LDA 


SC0RE-3,Y 










0B91 AA 




TAY 


0804 AE 20 18 


ENDROUND 


LDX 


PLAYNUM 


0B92 B9 OE 07 




LOA 


SCORE2-3,Y 


0B07 FE 21 18 




INC 


QUAN,X 


0B95 99 CS 07 




STA 


SC0RE-3,Y 


OBOAAO OA 




LDY 


#10 


0B98 BA 




TXA 


OBOC 20 A7 OC 


BONUSLUP 


JSR 


SCOR100 


0B99 99 OE 07 




STA 


SC0RE2-3,Y 


OBOF 88 




DEY 




0B9C8B 




DEY 


0B10 DO RA 




BNE 


BONUSLUP 


089O DO EF 




BNE 


SWnCHLP 


0B12 FO 29 




BEQ 


PRESET 


0B9F A9 01 
0BA1 38 




LOA 
SEC 


#1 


; — stop motion 








0BA2 ED 20 18 




SBC 


PUYNUM 


0B14 A9 00 


MISSUCC 


LDA 


#0 


0BA5 80 20 18 




STA 


PUVNUM 


0816 BD CS 17 




STA 


PXVHI 








0819 BD C7 17 




STA 


CXVHI 


OBAB AE 20 18 


LIFELOSS 


LDX 


PUV^NUM 



176 



The Source Code 



OBAB BD 21 18 




IDA 


QUAN.X 


OBAE DO 13 




BNE 


PLAYIT 


08BO AO 00 




LOY 


#0 


0B62 2C 28 18 




BIT 


MULTI 


0BB5 30 01 




BMI 


ONEPLAY 


0BB7 C8 




INY 




0BB8 B9 21 18 


ONEPUY 


LDA 


QUAN.Y 


OBBB DO CA 




BNE 


CHANGE? 


0BBD8B 




DEY 




088E 10 F8 




BPL 


ONEPLAY 


OBCG 4C AE OC 




JMP 


ENDALL 


0BC3 DE 21 18 


PUYIT 


DEC 


QUAN,X 


0BC6 BD 21 18 




LDA 


QUAN.X 


0BC9 18 




CLC 




OBCA 69 31 




ADC 


#$31 


OBCC 8D D6 07 




STA 


$7D6 


: — wail for button 






OBCF AD 01 DC 


VWITLUP 


LDA 


J0Y1 


0BD2 2D 00 DC 




AND 


J0Y2 


0BD5 29 10 




AND 


#$10 


0BD7 DO F6 




BNE 


WAITLUP 


0809 AD 01 DC 


WAITLUP1 


LDA 


J0Y1 


OBDC 2D 00 DC 




AND 


J0Y2 


OBDF 29 10 




AND 


#$10 


0BE1 FO F6 




BEQ 


VWTLUP1 


; ~ start again 








0BE3 A9 00 




LDA 


#0 


OBES 8D C6 17 




STA 


PYVHI 


0BE8 8D C7 17 




STA 


cxvm 


OBEB A9 55 




LDA 


#85 


OBED 8D C5 17 




STA 


PXVHI 


OBFO 58 




CLI 




OBFI 4C AA 08 




JMP 


MAINENT 


: — launch chaser 






0BF4 AO 09 


CHASLNCH 


LDY 


#9 


0BF6 B9 04 18 


FBASLUP 


LDA 


BASCLDCK,Y 


OBFO C9 FF 




CMP 


#$FF 


OBFB FO OD 




BEQ 


CHASIT 


OBFD 88 




DEV 




OBFE 10 F6 




BPL 


FBASLUP 


OCOO A9 FD 




LDA 


#$FD 


0C02 2D 15 DO 




AND 


SPRITEN 


0C05 BD 15 DO 




STA 


SPRITEN 


0C08 38 




SEC 




0C09 60 




RTS 




bcOA A9 CO 


CHASIT 


LDA 


#$C0 


OCOC 99 04 18 




STA 


BASCU)CK,Y 


OCOF 98 




TW 




0C10 OA 




ASL 




0C11 OA 




ASL 




0C12 A8 




TAY 




0C13 A9 60 




LOA 


#$60 


0C15 99 71 07 




STA 


$771,Y 


0C18 99 72 07 




STA 


$772,Y 


0C1B 99 99 07 




STA 


$799,Y 


0C1E 99 9A 07 




STA 


$79A,Y 


bc21 98 




T>A 




0C22 OA 




ASL 




0C23 OA 




ASL 




0C24 OA 




ASL 




0C25 48 




PHA 




0C26 90 OA 




BCC 


CMSB1 


0C28 A9 02 




LDA 


#2 



0C2A OD 10 DO 




ORA 


USB 


0C2D 8D 10 DO 




STA 


MSB 


0C30 DO 08 




BNE 


CMSB2 


0C32 A9 FD 


CMSB1 ■ 


LDA 


#$FD 


0C34 20 10 DO 




AND 


MSB 


0C37 8D 10 DO 




STA 


MSB 


bc3A68 


msB^ 


PU 




0C3B 18 




CLC 




0C3C 69 1C 




ADC 


#$1C 


0C3E 8D 02 DO 




SW 


CHASEX 


0C41 A9 E2 




LDA 


#226 


A^j^ An AO nA 

0C43 8D 03 DO 




STA 


OUACCV 

LHAbtr 


bC46 A9 F7 




LOA 


#247 


0C48 8D F9 07 




STA 


2041 


0C4B AO AB 




LDA 


#171 


0C4D 8D C8 17 




STA 


CYVHI 


bC50 AD IF DO 




LDA 


SBCREG 


0C53 2C 11 DO 


RVWMTLUP 


BIT 


$0011 


0C56 30 FB 




BMI 


RWAITLUP 


n/^co Art io nn 
Ut/JO AU Id UU 




LUA 




0C5B C9 F2 




CMP 


#$F2 


0C5O DO F4 




BNE 


RWMTLUP 


bC5F A9 07 




LDA 


#7 


0C61 8D 28 00 




STA 


$0028 


0C64 A9 02 




LDA 


#2 


0C66 OD 15 DO 




ORA 


SPRITEN 


0C69 80 15 DO 




STA 


SPRITEN 


bC6C AO IF 00 




LDA 


SBCREG 


0C6F 18 




CLC 




0C70 60 




RTS 




; — add to score and update 






0C71 48 


SCORTEN 


PHA 




0C72 8A 




TXA 




0C73 48 




PHA 




0C74 A2 05 




LDX 


#0 


0C76 FE C8 07 


CARRYLUP 


INC 


SCORE,X 


0C79 A9 3A 




LDA 


#$3A 


0C7B OD C8 07 




CMP 


SCORE,X 


0C7E DO 08 




BNE 


CARRYEND 


0C80 A9 30 




LDA 


#$30 


0C82 90 C8 07 




STA 


SCORE,X 


0C85 CA 




OEX 




0CB6 DO EE 




BNE 


CARRYLUP 


0CB8 68 


CARRYENO 


PU 




0C89 AA 




TAX 




0C8A 68 




PLA 




0C8B60 




RTS 




bc8C48 


SCOR50 


PHA 




0C8D 8A 




TXA 




OCBE 48 




PHA 




0C8FAOCD07 




LDA 


SCORE+5 


0C92 18 




CLC 




0C93 69 05 




ADC 


#5 


0C95 C9 3A 




CMP 


#$3A 


0C97 BO 05 




BCS 


CARRY50 


0C99 8D CD 07 




STA 


SCORE+5 


0C9C DO EA 




BNE 


CARRYEND 


0C9E E9 OA 


CARRY50 


SBC 


m 


OCAO 80 CO 07 




STA 


SCORE+5 


0CA3 A2 04 




LDX 


#4 


OCAS DOCF 




BNE 


CARRYLUP 


bcA7 48 


SCOR100 


PHA 





Chapter 3 



0CA8 8A 




TXA 




0CA9 48 




PHA 




OCAA A2 04 




LDX 


#4 


OCAC DO C8 




6NE 


CARRYLUP 


; 

; — end of game 








OCAE 78 


ENDALL 


SEI 




OCAF A9 31 




LDA 


m'\ 


0CB1 6D 14 03 




STA 


$314 


0CB4 A9 EA 




LDA 


#$EA 


0CB6 BD 15 03 




STA 


$315 


0CB9 58 




CLI 




0CBAA9 30 




LDA 


#$30 


OCBC 8D D8 07 




STA 


$7D6 


OCBF 20 84 FF 




JSR 


$FF84 


0CC2 AO 10 




LDY 


#MSGEND-MSG 


0CC4 B9 20 OD 


MSGLUP 


LDA 


MSG.Y 


0CC7 C9 40 




OMP 


#$40 


0CC9 90 03 




BOC 


MSGLPUT 


0CCB38 




SEC 




OCCC E9 40 




SBC 


^0 


OCCE 99 OB 04 


MSGLPUT 


STA 


$40B.Y 


0CD1 A9 03 




LDA 


#3 


0CD3 99 OB DB 




STA 


$D80B,Y 


0CD6 88 




DEY 




0CD7 DO E6 




BNE 


MSGLUP 


0CD9 C8 




INY 




OCDA 80 25 18 




STY 


RESP 


0CDDAD25 18 


GETLUP 


LDA 


RESP 


OCEO DO OC 




BNE 


GLTR 


0CE2 A9 2D 




LDA 


#$2D 


0CE4 8D 19 04 




STA 


$419 


0CE7 A9 3E 




LDA 


#$3E 


0CE9 8D 1A 04 




STA 


$41A 


OCEC DO OA 




BNE 


GETLUP2 


OGEE A9 3C 


GLTR 


LDA 


#$3C 


OCFO 8D 19 04 




STA 


$419 


0CF3 A9 2D 




LDA 


#$2D 


0CF5 8D 1A 04 




STA 


$41A 


0CF8 AD 00 DC 


GETLUP2 


LDA 


J0Y2 


OCFB 2D 01 DC 




AND 


J0Y1 


OCFE 4A 




LSR 




OCFF 4A 




LSR 




ODOO 4A 




LSR 




0D01 BO 05 




BOS 


GL1 


0D03 AO 01 




LDY 


#1 


0D05 80 25 18 




STY 


RESP 


0D08 4A 


GL1 


LSR 




0009 BO 05 




BOS 


GL2 


ODOB AO 00 




LDY 


#0 


ODOD 80 25 18 




STY 


RESP 


OD10 4A 


GL2 


LSR 




0D11 BO OA 




BOS 


GETLUP 


0D13 20 81 FF 




JSR 


$FF81 


0D16 AD 25 18 




LDA 


RESP 


0D19 FO 03 




BEQ 


GET1 


0D1B 4C OD 08 




JMP 


START 


0D1E 85 C6 


GFTI 


STA 


$C6 


0D20 00 




8RK 




0021 


MSG 




*-1 


0D21 50 40 41 




.ASC 


'play again? y n' 


0D31 


MSGEND 




•-1 


0031 A9 80 


CRASH 


LDA 


#$80 


0D33 8D 06 D4 




STA 


V2+4 


0D36 A9 81 




LDA 


#$81 


0D38 8D OB D4 




STA 


V2+4 


0D3B60 




RTS 





0D3C A9 FF 


WHODSH 


LDA 


#$FF 


0D3E 38 




SEC 




0D3F ED 03 DO 




SBC 


CHASEY 


0D42 8D OF D4 




STA 


V3+1 


0D45 60 




RTS 




0046 A9 00 


WHOOSHOF 


LDA 


#0 


0D48 8D OF 04 




STA 


V3+1 


004B 60 




RTS 




004C A9 18 


ZiP 


LDA 


#$18 


0O4E 8D 24 18 




STA 


ZIPFREQ 


0D51 A5 A2 




LDA 


$A2 


0DS3 8D 23 18 




STA 


ZIPTIME 


0D56 A9 40 




LDA 


#$40 


0D58 8D 04 D4 




STA 


V1+4 


0O5B A9 41 




LDA 


#$41 


ODSD 8D 04 D4 




STA 


VI +4 


0D60 60 




RTS 




0061 A5 A2 


ZIPPER 


LDA 


$A2 


0063 CD 23 18 




CMP 


ZIPTIME 


0066 FO 10 




BEQ 


ZIPEND 


0068 8D 23 18 




STA 


ZIPTIME 


006B AD 24 18 




LDA 


ZIPFREQ 


0D6E C9 30 




OMP 


#$30 


0D70 80 07 




BCS 


ZIPOFF 


0072 8D 01 D4 




STA 


V1+1 


0075 EE 24 18 




INC 


ZIPFREQ 


0078 60 


ZIPEND 


RTS 




0079 A9 00 


ZIPOFF 


LOA 


#0 


0D7B 8D 01 D4 




STA 


V1+1 


0D7E 60 




RTS 




; — set up internjpt 






0D7F 78 


PUNE 


SEI 




0080 A9 91 




LDA 


#<INTLUP 


0082 80 14 03 




STA 


$314 


0D85 A9 00 




LOA 


#>INTLUP 


0D87 80 15 03 




STA 


$315 


0D8A A9 OE 




LOA 


#14 


ODBC 80 05 00 




STA 


56325 


ODBF 58 




CLI 




0090 60 




RTS 




. ************* 


intermjpl movement code 

*•••***•**«******•**• ***•*•*•] 


0091 


INTLUP 






; — read joystick 








; — & change velocities 






0091 AO 00 00 




LDA 


J0Y2 


0094 20 01 DO 




AND 


J0Y1 


0D97 80 26 18 




STA 


JTEMP 


0D9A AO 05 17 




LDA 


PXVHI 


0090 00 06 17 




ORA 


PYVHI 


OOAO DO 03 




BNE 


PM1 


0OA2 4C 39 OE 




JMP 


CHASE 


bOA5 AO 26 18 


PM1 


LDA 


JTEMP 


0OA8 29 10 




AND 


#$10 


OOAA DO 03 




BNE 


NOTJSTICK 


OOAO EE 01 18 




INC 


FIRE 


boAF AD 26 18 


NOTJSTICK 


LDA 


JTEMP 



178 



0DB2 29 03 




AND 


#3 


0DB4 C9 03 




CK/IP 


#3 


0DB6D0 03 




BNE 


MAKPINCR 


ODBB 4C 39 OE 




JMP 


CHASE 


: — make x velocity increment 






ODBB AD i}9 17 


IMAKPiNCR 


IDA 


PRAOIUS 


ODBE 8D 14 18 




STA 


mump 


0DC1 AD C5 17 




LDA 


PXVHI 


0DC4 80 12 18 




STA 


XI 


0DC7 20 A7 11 




Jon 


Ml 11 TIPIY 


0DCAAD26 18 




LDA 


JTEMP 


0DCD29 02 




AI^O 


#2 


ODCF DO 16 




BNE 


JD0WN1 


; — move up 








WV\ 00 




SEC 




0OD2ADD6 17 




LOA 


PYVLO 


ODDS ED 10 18 




SBC 


PROD 


0DD8 8D D6 17 




STA 


PYVLO 


ODOB AD C6 17 




LUM 


r 1 vni 


ODOE ED 11 18 




SBC 


PROD+1 


0DE1 8D C6 17 




<;ta 

oin 


PYVHI 


()DE4 4C a OD 




JMP 


MAKPYINC 


; — move down 








0DE7 18 


JD0WN1 


CLC 




ODES AD D8 17 




LDA 


PYVLO 


ODES 6D 10 18 




ADC 


PROD 


ODEE 8D D6 17 




STA 


PYVLO 


0DF1 AD C6 17 




LOA 


PYVHi 


0DF4 6D 11 18 




ADC 


PROO+1 


0DF7 8D C6 17 




STA 


PYVHi 


ODIA 


IIMPYINC 


= 


* 


; — make y velocity increment 






!m AD D9 17 




LDA 


PRAOIUS 


ODFD BD 14 18 




STA 


MULTEMP 


OEOO AD C6 17 




LDA 


PYVHI 


0E03 80 12 18 




STA 


XI 


0E06 20 A7 11 




Jon 


IVIULIIrLi 


0E09 AO 26 18 




LOA 


JTEMP 


OEOC 29 02 




AND 


#2 


OEOE 00 16 




BNE 


JO0WN2 


; — move up 








0E10 18 




CLC 




0E11 AD 05 17 




LDA 


PXVLO 


0E14 60 10 18 




ADC 


PROD 


0E17 80 05 17 




STA 


PXVLO 


0E1A AD C5 17 




LDA 


PXVHi 


0E1D 60 11 18 




AOC 


PROO+1 


0E20 80 C5 17 




STA 


PXVHI 


bE23 4C 39 OE 




JMP 


CHASE 


; — move down 








0E26 38 


JD0WN2 


SEC 




0E27 AD 05 17 




LOA 


PXVLO 


0E2A ED 10 18 




SBC 


PROD 


0E2D 80 05 17 




STA 


PXVLO 


0E30 AD C5 17 




LOA 


PXVHI 


0E33 ED 11 18 




SBC 


PROD+1 


0E36 80 C5 17 




STA 


PXVHI 




ctiase plane 


with m 


ssile 


bE39 


CHASE 







The Source Code 



— find vector from 

— chaser to plane 



0E39 AD 00 DO 




LDA 


PLANEX 


0E3C 38 




SEC 




0E3D ED 02 DO 




SBC 


CHASEX 


0E40 90 02 




BCC 


FS1 


0E42 18 




CLC 




0E43 24 




.BYTE 


$24 


0E44 38 


FS1 


SEC 




0E45 6A 




ROR 




0E46 80 19 18 




STA 


DELTAX 


; 

0E49 AD 01 00 




LDA 


PLANEY 


0E4C 38 




SEC 




0E4O ED 03 DO 




SBC 


CHASEY 


0E50 90 02 




BCC 


FS2 


0E52 18 




CLC 




0E53 24 




■BYTE 


$24 


DE54 38 


FS2 


SEC 




0E55 6A 




ROR 




0E56 80 1A 18 




STA 


DELTAY 


; — adjust for se 


am 






0E59 A9 03 




LDA 


#3 


0E5B 20 10 00 




AND 


MSB 


0E5E FO 2E 




BEQ 


SCALIT 


0E60 C9 03 




CMP 


#3 


0E62 FO 2A 




BEQ 


SCALiT 


0E&1 C9 01 




CMP 


#1 


0E66 FO 13 




BEG 


PLUSEAM 


; — adjust for wrap 






0E68 AO 19 18 




LDA 


DELTAX 


0E6B 38 




SEC 




0E6C E9 80 




SBC 


#$80 


OEOE C9 A5 




CMP 


#$A5 


0E70 BO 03 




BCS 


MSNO 


0E72 18 




CLC 




0E73 69 AC 




ADC 


#$AC 


0E75 80 19 18 


IVISNO 


STA 


DELTAX 


0E78 4C A6 OE 




JMP 


SCALOUN 


bE7B AD 19 18 


PLUSEAM 


LDA 


DELTAX 


0E7E 18 




CLC 




0E7F 69 80 




ADC 


#$80 


0E81 C9 55 




CMP 


#$55 


0E83 90 03 




BCC 


PSNO 


0E85 38 




SEC 




0E86 E9 AC 




SBC 


#$AC 


0E88 80 19 18 


PSNO 


STA 


DELTAX 


0E8B 4C A6 OE 




JMP 


SCALDUN 


OESE AD 19 18 


SCALiT 


LOA 


DELTAX 


0E91 30 09 




BMI 


SCMI 


0E93 C9 55 




CMP 


#$55 


0E95 30 OC 




BMI 


SCNO 


0E97 38 




SEC 




0E98 E9 AC 




SBC 


#$AC 


0E9A 90 07 




BCC 


SCNO 


0E9C C9 A5 


SCMi 


CMP 


#$A5 


0E9E 10 03 




BPL 


SCNO 


OEAO 18 




CLC 




0EA1 69 AC 




ADC 


#$AC 


0EA3 80 19 18 


SCNO 


STA 


DELTAX 


bEA6 


SCALOUN 






bEA6 AD OE 18 




LOA 


LNCHTIME 



Chapter 3 



0EA9 30 03 




m\ 


ACTV 


0F25 60 19 18 


ADC 


DELTAX 


OEAB 4C FD OF 




MP 


UPDATPOS 


0F28 80 IB 18 


STA 


XSCALE 


; — decide which way to turn 






bF2B AD 1C 18 


LDA 


YSCALE 


OEAE A9 00 


ACTV 


LDA 


#0 


0F2E 18 


CLC 




OEBO 2C Ce 17 




BIT 


CYVHI 


0F2F 60 1A 18 


ADC 


DELTAY 


0EB3 30 09 




m\ 


QNEG1 


0F32 80 1C 18 


STA 


YSCALE 


0EB5 2C C7 17 




BiT 


CXVHI 








0EB8 10 OE 




BPL 


QVFIN 


bF35 AD 16 18 


LDA 


XSCALE 


OEBA A9 01 




IXIA 


#1 


0F38 38 


SEC 




OEBC DO OA 




BNE 


QVFIN 


0F39 ED C7 17 


SBC 


CXVHI 










0F3C 40 C7 17 


EOR 


CXVHI 


OEBE 2C C7 17 


QNEG1 


BIT 


CXVHI 


0F3F 10 OE 


BPL 


COMMFINI 


0EC1 10 03 




BPL 


QP0S1 


0F41 AD 10 18 


LDA 


YSCALE 


0EC3 A9 02 




LDA 


#2 


0F44 38 


SEC 




0EC5 2C 




.BYTE 


$2C 


0F45 ED CB 17 


SBC 


CYVHI 


OECe A9 03 


QP0S1 


LDA 


#3 


0F48 40 C8 17 


EOR 


CYVHI 










0F4B 30 04 


BMI 


SCALLUP 


DECS 8D 17 18 


QVFiN 


STA 


VQUAD 


0F4D 10 17 


BPL 


COMMFIN 


OECB A9 00 




LDA 


#0 


; — wend 






OECD 2C 1A 18 




BIT 


DELTAY 








OEDO 30 09 




BMI 


QNEG2 


; -- decide which way to go 






0ED2 2C 19 18 




BIT 


DELTAX 


0F4F AD 1C 18 C0MMFIN1 


LDA 


YSCALE 


0ED5 10 OE 




BPL 


QDFIN 


0F52 38 


SEC 




0ED7 A9 01 




LDA 


#1 


0F53 40 C8 17 


EOR 


CYVHI 


0ED9 DO OA 




BNE 


QDFIN 


0F56 30 OB 


BMI 


msm 










0F58 AC 17 18 


LDY 


VQUAD 


OEDB 2C 19 18 


QNE62 


BIT 


DELTAX 


0F5B CC 18 18 


CPY 


DQUAD 


OEDE 10 03 




BPL 


QP0S2 


OFSE DO 03 


BNE 


MOVOK 


OEEO A9 02 




LDA 


#2 


0F60 4C FD OF 


JMP 


UPDATPOS 


0EE2 2C 




.BYTE 


$2C 


0F63 A9 00 MOVOK 


LDA 


#0 


0EE3 AO 03 


QP0S2 


LDA 


#3 


0F65 2C 


•BYTE 


$2C 










0F66 A9 01 COMMFIN 


LDA 


#1 


OEES 8D 18 18 


QOFiN 


STA 


DQUAD 
















; — adjust for various signs 






; — compare qus 


drants 






0F68 SADJ 


= 


* 


0EE8 AD 17 18 




LDA 


VQUAD 


0F68 2C 19 18 


BIT 


DELTAX 


OEEB 38 




SEC 




0F6B 10 02 


BPL 


CMF1 


OEEC ED 18 18 




SBC 


DQUAD 


0F6D 49 01 


EOR 


#1 


OEEF 4A 




LSR 




0F6F 2C 1A 18 CMF1 


BIT 


DELTAY 


OEFO 90 08 




BCC 


COMMORE 


0F72 10 02 


BPL 


CMF2 


0EF2 29 01 




AND 


#1 


0F74 49 01 


EOR 


#1 


0EF4 8D 16 18 




STA 


DIRTEMP 


0F76 AC 17 18 CUf2 


LDY 


VQUAD 


0EF7 4C 83 OF 




JMP 


CMF3 


0p79 CC 18 18 


CPY 


nm iAr\ 

UuUAD 










aF7C FO 05 


BEQ 


CMF3 


OEI* FO 12 


COIVIIVIORE 


BEQ 


NOSimPI 


0F7E 49 01 


EOR 


#1 










0F80 80 16 18 


STA 


DIRTEMP 


: — if in opposite quads 












OEFC A9 00 




LDA 


#0 


; — make x increment 






OEFE 38 




SEC 




0F83 AO DA 17 Cf«F3 


LDA 


CRADIUS 


OEFF ED 19 18 




SBC 


DELTAX 


0F86 80 14 18 


STA 


MULTEMP 


0F02 8D 19 18 




STA 


DELTAX 


0F89 AD C7 17 


LDA 


CXVHI 


0F05 A9 00 




LDA 


#0 


0F8C 80 12 18 


STA 


XI 


0F07 38 




SEC 




OFBF 20 A7 11 


JSR 


MULTIPLY 


0F08 ED 1A 18 




SBC 


DELTAY 


0F92 AO 16 18 


LDA 


DIRTEMP 


OFOB 8D 1A 18 




STA 


DELTAY 


0F95 DO 16 


BNE 


M0VD0WN1 


OFOE A9 00 


N0SW1 


LDA 


#0 


; 

; — move up 






0F10 8D IB 18 




STA 


XSCALE 


0F97 38 


SEC 




0F13 80 1C 18 




STA 


YSCALE 


0F98 AD 08 17 


LDA 


CYVLO 










0F9B ED 10 18 


SBC 


PROD 


OFie AD 19 18 




LDA 


DELTAX 


0F9E 80 08 17 


STA 


CYVLO 


aF19 OD 1A 18 




ORA 


DELTAY 


0FA1 AO C8 17 


LDA 


CYVHI 


0F1C DO 03 




BNE 


SCALLUP 


01*4 ED 11 18 


SBC 


PROO+1 


OFIE 4C FD OF 




JMP 


UPDATPOS 


mr 80 C8 17 


STA 


CYVHI 










OBW 4C CO OF 


JMP 


IMKCINCR 


; — wliiie xscaie<xvei 












; — 8i yscale<yvei 






; — move down 






0F21 AD IB 18 


SCALLUP 


LDA 


XSCALE 


OTAD IVI0VD0WN1 






0F24 18 




CLC 




mo 18 


CLC 





180 



The Source Code 



OfAE AD 08 17 




LDA 


CYVLO 




103E 


NM2 


C3 


* 


0FB1 6D 10 18 




ADC 


PROD 












0FB4 8D 08 17 




STA 


CYVIjO 




i03E 20 13 18 




BIT 


MSBTEMP 


0FB7 AD C8 17 




LDA 


CYVHI 




1041 10 OE 




BPL 


NOTLEFT 


OFBA 60 11 18 




AOC 


PROD+1 




1043 Ag 01 




LOA 


#1 


OFBD 80 C8 17 




STA 


CYVHI 




1045 80 13 18 




STA 


MSBTEMP 












1048 18 




CLC 




; — make y increment 








1049 BO 00 00 




LOA 


SPRiTEX,X 


OFCO AD DA 17 


IViAKCINCR 


LDA 


CRADIUS 




104C 69 58 




ADC 


#$58 


0FC3 80 14 18 




STA 


MULTEMP 




104E 90 00 OO 




STA 


SPRITEX,X 


0FC6 AO C8 17 




LOA 


CYVHI 












0FC9 80 12 18 




STA 


XI 




1051 A9 01 


NOTLEFT 


LOA 


#1 


OFCC 20 A7 11 




JSR 


MULTIPLY 




1053 CD 13 18 




CMP 


MSBTEMP 


OFCF AD 16 18 




LDA 


DIRTEMP 




1056 DO 13 




BNE 


NOTRIGHT 


0FD2 00 16 




BNE 


l«IOVO0WN2 




1058 BO 00 00 




LDA 


SPRITEX,X 












105B C9 58 




CMP 


#$58 


; — move up 










1050 90 OC 




BCC 


NOTRIGHT 


0FD4 18 




CLC 






105F CE 13 18 




DEC 


MSBTEMP 


0FD5 AD D7 17 




LDA 


CXVLO 




1062 38 




SEC 




OFDS 60 10 18 




ADC 


PROO 




1063 BO 00 DO 




LDA 


SPRITEX,X 


OFOB 80 D7 17 




STA 


CXVID 




1066 E9 58 




SBC 


#$58 


OFOE AO C7 17 




LOA 


CXVHi 




1068 90 00 00 




STA 


SPRiTEX,X 


0FE1 6D 11 18 




ADC 


PROO+1 












0FE4 8D C7 17 




STA 


CXVHI 




i06B AO 13 18 


NOTRIGHT 


LDA 


MSBTEMP 












106E DO OC 




BNE 


SETMSB 


bFE7 4C FD OF 




JMP 


UPDATPOS 




1070 BD B6 17 




LDA 


CLRMASK,X 












1073 20 10 00 




AND 


MSB 


; — move down 










1076 80 10 DO 




STA 


MSB 


OFEA 


M0V0aWN2 








1079 4C 85 10 




JMP 


YMOVE 


OFEA 38 




SEC 














OFEB AD 07 17 




LDA 


CXVLO 




i07C BD B5 17 


SETMSB 


LDA 


SETMASK,X 


OFEE ED 10 18 




SBC 


PROD 




107F OD 10 DO 




ORA 


MSB 


0FF1 80 07 17 




STA 


CXVLO 




1082 80 10 DO 




STA 


MSB 


0FF4 AD C7 17 




LDA 


CXVHi 












0FF7 ED 11 18 




SBC 


PROO+1 




; — initialize lactors 






OFffi 80 C7 17 




STA 


CXVHi 




1085 BD OB 17 


YMOVE 


LOA 


VEU)CE,X 












1088 80 14 18 




STA 


MULTEMP 


. ************* 








108B BO C6 17 




LDA 


YVHI,X 




update object positions 




108E 80 12 18 




STA 


XI 












1091 20 A7 11 




JSR 


MULTIPLY 


OFFO 


Ui^ATPOS 








; — update y position 
















1094 18 




CLC 




OFFD A2 00 




LDX 


#0 




1095 BD EC 17 




LOA 


YU),X 












1098 60 10 18 




AOC 


PROD 


; — initialize factors 








109B 90 EC 17 




STA 


YLO,X 


OFFF BO DB 17 




LDA 


VELOCE.X 




109E BD 01 DO 




LDA 


SPRITEY,X 


1002 80 14 18 




STA 


MULTEMP 




10A1 60 11 18 




AOC 


PROO+1 


1005 BD C5 17 




LDA 


XVHi,X 




10A4 C9 1D 




CMP 


#$10 


1008 80 12 18 




STA 


XI 




10A6 BO 02 




BCS 


Y0K1 


100B 20 A7 11 




JSR 


MULTIPLY 




10A8 A9 10 




LOA 


#$10 


; — update x po! 


iition 








10AA 09 fft 


Y0K1 


CMP 


#$RA 


100E A9 00 




LOA 


#$00 




10AC 90 02 




BCC 


YOK 


1010 80 13 18 




STA 


MSBTEMP 




10AE A9 FA 




LDA 


tm 


1013 BD B5 17 




LDA 


SETMASK.X 




10B0 90 01 DO 


YOK 


STA 


SPRITEY,X 


1016 20 10 00 




AND 


MSB 












1019 FO 03 




BEQ 


LEFTSIDE 




i0B3 EB 




INX 




101B EE 13 18 




iNC 


MSBTEMP 




10B4 E8 




iNX 




101E 18 


LEFTSiDE 


CLC 






10B5 EO 10 




CPX 


#$10 


101F BD EB 17 




LOA 


X10,X 




10B7 FO 03 




BEQ 


MFIN2 


1022 60 10 18 




ADC 


PROO 




10B9 4C FF OF 




JMP 


UXMOV 


1025 90 EB 17 




STA 


XLO,X 












1028 BD 00 00 




LDA 


SPRiTEX,X 




; — tick timers 








102B 60 11 18 




AOC 


PROO+1 




10BC 2C 02 18 


MFiN2 


BIT 


LASTSHOr 


102E 90 00 00 




STA 


SPRITEX,X 




10BF 30 03 




BMi 


MFIN3 


1031 90 03 




BCC 


NM1 




10C1 EE 02 18 




INC 


LASTSHOT 


1033 EE 13 18 




INC 


MSBTEMP 












1036 2C 11 18 


NM1 


BIT 


PROO+1 




i0C4A2 05 


MFIN3 


LOX 


#5 


1039 10 03 




BPL 


NM2 




10C6 FE FB 17 


INaUP 


iNC 


SHOICU0CK,X 


103B CE 13 18 




OEC 


MSBTEMP 




10C9CA 




DEX 





Chapter 3 



10CA 10 fh 




BPL 


INCLUP 


1158 C9 23 




CMP 


#35 










115A 90 11 




BCC 


ECHK2 


ioCC AD OE 18 


MFIN4 


LDA 


LNCHTIME 


115C A9 04 




LDA 


#4 


10CF 30 03 




BMI 


MFINS 


115E 80 15 18 




STA 


SPRITMP 


10D1 EE OE 18 




INC 


LNCHTIME 


1161 4C 60 11 
• 




JMP 


ECHK2 


; — change sprite shapes 






1164 C9 EO 


ECHK1 


CMP 


#224 


10D4 AD C7 17 


MFIN5 


LOA 


CXVHl 


1166 BO OS 




BCS 


ECHK2 


10D7 DO OD 




BNE 


MNZ1 


1168 A9 06 




LDA 


#6 


10D9 AD CS 17 




LDA 


CYVHI 


116A 80 IS 18 




STA 


SPRITMP 


100C DO 08 




BNE 


MNZ1 


; 








10DE A9 FF 




LDA 


#$FF 


1160 AO C6 17 


ECHK2 


LOA 


PYVHI 


10EO 8D F9 07 




STA 


2041 


1170 30 10 




BMI 


ECHK3 


10E3 4C 3C 11 




JMP 


MFIN6 


1172 C9 20 




CMP 


#32 










1174 90 19 




BCC 


ECHK4 


i0E6 A9 00 


MNZ1 


LDA 


M 


1176 18 




CLC 




10E8 8D 15 18 




STA 


SPRITMP 


1177 A9 08 




LDA 


#8 


10EB AD C7 17 




LDA 


CXVHl 


1179 6D 15 18 




AOC 


SPRITMP 


10EE 30 OC 




BMI 


DCHK1 


117C 8D 15 18 




STA 


SPRITMP 


10F0 C9 20 




CMP 


#32 


117F 4C 8F 11 




JMP 


ECHK4 


10F2 90 11 




BCC 


DCHK2 










10F4 A9 04 




LDA 


#4 


1182 C9 EO 


ECHK3 


CMP 


#224 


1QF6 8D 15 18 




STA 


SPRITMP 


1184 80 09 




BCS 


ECHK4 


10F9 4C 05 11 




JMP 


0CHK2 


1186 18 




CLC 












1187 A9 09 




LOA 


#9 


ioFC C9 EO 


DCHK1 


CMP 


#224 


1189 6D 15 18 




AOC 


SPRITMP 


10FE BO 05 




BCS 


0CHK2 


118C BD 15 18 




STA 


SPRITMP 


1100 A9 08 




LDA 


#6 










1102 8D 15 18 




STA 


SPRITMP 


il8F AD 15 18 


ECHK4 


LOA 


SPRITMP 










1192 C9 04 




CMP 


#4 


1105 AD C8 17 


DCHK2 


LDA 


CYVHI 


1194 DO 02 




BNE 


ECHKS 


1108 30 10 




BMI 


0CHK3 


1196 A9 OA 




LDA 


#10 


110A C9 20 




CMP 


#32 


1198 C9 06 


ECHKS 


CMP 


#6 


HOC 90 19 




BCC 


0CHK4 


119A DO 02 




BNE 


ECHK6 


110E 18 




CLC 




119C AO OB 




LDA 


#11 


110F A9 08 




LOA 


#8 


119E 18 


ECHK6 


CLC 




1111 6D 15 18 




ADC 


SPRITMP 


119F 69 E6 




AOC 


#230 


1114 8D 15 18 




STA 


SPRITMP 


11A1 80 F8 07 




STA 


2040 


1117 4C 27 11 




JMP 


DCHK4 


















ilA4 4C 31 EA 


MFIN7 


JMP 


SEA31 


il1A C9 EO 


DCHK3 


CMP 


#224 










111C BO 09 




BCS 


0CHK4 








111E 18 




CLC 




; 8 X 8 bit multiply 






111F A9 09 




LDA 


#9 










1121 6D 15 18 




ADC 


SPRITMP 










1124 8D 15 18 




STA 


SPRITMP 


11A7 


MULTIPLY 




• 










11A7 AD 12 18 




LDA 


XI 


1127 AD 15 18 


DCHK4 


LOA 


SPRITMP 


11AA 80 10 18 




STA 


PROD 


112A C9 04 




CMP 


#4 


11A0 30 03 




BMI 


XNEG 


112C DO 02 




BNE 


DCHKS 


11AF A9 00 




LOA 


#0 


112E A9 OA 




LDA 


#10 


; sign extend 








1130 C9 06 


0CHK5 


CMP 


#6 


11B1 2C 




.BYTE 


$2C 


1132 DO 02 




BNE 


DCHK6 


11B2 A9 FF 


XNEG 


LDA 


«$FF 


1134 A9 08 




LDA 


#11 


11B4 80 11 18 




STA 


PROO+1 


1136 18 


0CHK6 


CLC 












1137 69 EE 




ADC 


#238 


; — shift out lea( 


ling zeroes 






1139 8D F9 07 




STA 


2041 


11B7 AO 08 




L0Y 


#$8 










11B9 88 


MAGLUP 


DEY 




il3C AD C5 17 


MFINS 


LDA 


PXVHI 


11BA OE 14 18 




ASL 


MULTEMP 


113F DO OD 




BNE 


MNZ2 


11B0 90 Rl^ 




BCC 


MAGLUP 


1141 AD C6 17 




LDA 


PYVHI 


11BF CO 00 




CPY 


m 


1144 00 08 




BNE 


MNZ2 


11C1 FO 25 




BEQ 


NOMULT 


1146 A9 FF 




LDA 


#$FF 










1148 80 F8 07 




STA 


2040 


: — double product 






114B 4C M 11 




JMP 


MFIN7 


11C3 OE 10 18 


MULLUP 


ASL 


PROD 










11C6 2E 11 18 




ROL 


PROD+1 


il4E A9 00 


MNZ2 


LOA 


#0 










1150 8D 15 18 




STA 


SPRITMP 


; — add factors to products 






1153 AD C5 17 




LDA 


PXVHI 


11C9 OE 14 18 




ASL 


MULTEMP 


1156 30 OC 




BMI 


ECHK1 


11CC 90 17 




BCC 


NCADO 



182 



The Source Code 



lire 1R 








11CF AO 10 18 




IDA 


PROD 


1102 60 12 18 




AOC 


XI 


11D5 80 10 18 




STA 


PROD 


1108 90 03 




BCC 


IMA 


11DA EE 11 18 




INC 


PROO+1 


HDD AD 12 18 


m 


LDA 


XI ■ 


11E0 10 03 




BR 


IM6 


11F9 HF 11 1fl 

1 IK wC 1 1 10 




DEC 


PROD+1 


11E5 


1MB 






ilE5 88 


NOADD 


OEY 




11E6 00 OB 




BNE 


MULLUP 


ilE8 60 


NOMULT 


RTS 






Initialize video 




ilE9 


DIVW 




« 


ilE9 20 B5 FF 




JSR 


CINT 


: — set multicolor mode 






11EC 78 




SEI 




11ED AD 16 00 




LDA 




11F0 09 10 




ORA 


#$10 


11F2 8D 16 DO 




STA 


$0016 


11F5 A9 ID 




LDA 


#$10 


IIFr 80 18 DO 




STA 


$0018 


llfA A9 07 




LDA 


#$7 


11FC 80 23 DO 




STA 


$0023 


11FF A9 00 




LDA 


#0 


1201 80 25 DO 




STA 


$0025 


1204 A9 07 




LDA 


#7 


1206 80 26 DO 




STA 


$0026 


1209 A9 OF 




LOA 


#$F 


120B 8D 27 DO 




STA 


$D027 


; — define sprites 


i 






120E A9 05 




LDA 


#<SPRITES 


1210 85 FE 




STA 


SOURCE 


1212 A9 IS 




LDA 


#>SPRITES 


1214 85 FF 




STA 


SOURCE+1 


1216 A9 80 




LDA 


mo 


1218 85 FC 




STA 


OEST 


121A A9 3B 




LDA 


#$3B 


121C 85 FD 




STA 


OEST+1 


121E AO 00 




LDY 


#0 


1220 81 FE 


SPRILUP 


LDA 


(SOURCE),Y 


1222 DO 18 




BNE 


NOTZEROS 


1224 E6 FE 




INC 


SOURCE 


1226 00 02 




BNE 


ZL1 


1228 E6 FF 




INC 


SOURCE+1 


122A B1 FE 


ZL1 


LDA 


(SOURCE),Y 


122CAA 




TAX 


122D A9 00 


ZEROLOOP 


LDA 


#0 


122F 91 FC 




STA 


(OEST),Y 


1231 E6 FC 




INC 


OEST 


1233 DO 02 




BNE 


ZL3 


1235 E6 FD 




INC 


DEST+1 


1237 CA 


ZU 


OEX 




1238 DO F3 




BNE 


ZEROLOOP 


123A FO 08 




BEQ 


ZNEXT 


i23C 91 FC 


NOTZEROS 


STA 


{DEST),Y 


123E E6 FC 




INC 


OEST 


1240 DO 02 




BNE 


ZNEXT 



1242 E6 FD 




INC 


OEST+1 


1244 E6 FE 


ZNEXT 


INC 


SOURCE 


1246 DO 02 




BNE 


ZN2 


1248 E6 FF 




INC 


SOURCE+1 


124A A5 FC 


ZN2 


LOA 


OEST 


124C C9 40 




CMP 


#$40 


124E DO DO 




BNE 


SPRILUP 


1250 A9 FE 




LOA 


#$FE 


1252 80 1C DO 




STA 


$001C 


; — redefine characters 






1255 A5 01 




LDA 


1:1 


1257 29 FB 




AND 


#$FB 


1259 85 01 




STA 


$1 


125B AO 00 




LDY 


#0 


1250 B9 00 DC 


ROMLUP 


LDA 


$DCOO,Y 


1260 99 00 30 




STA 


$3000,Y 


1263 B9 00 00 




LOA 


$DO00,Y 


1266 99 00 31 




STA 




1269 C8 




INY 




126A DO F1 




BNE 


ROMLUP 


126C AS 01 




LDA 


$1 


126E 09 04 




ORA 


m 


1270 85 01 




STA 


$1 


1272 AO 00 




LDY 


#0 


1274 B9 11 13 


CHARLUP 


LDA 


CHARS,Y 


1277 99 00 32 




STA 


$3200,Y 


127A C8 




INY 




127B CO 20 




CPY 


#$20 


127D 00 F5 




BNE 


CHARLUP 


i27F AO 00 




LDY 


#0 


1281 98 




m 




1282 99 00 33 


BLNKLUP 


STA 


$3300,Y 


1285 C8 




INY 




1286 CO 08 




CPY 


#$8 


1288 00 F8 




BNE 


BLNKLUP 


; — clear text screen 






128A A9 04 




LOA 


#$4 


128C 85 FF 




STA 


SCRPTR+1 


128E A9 08 




LOA 


#$08 


1290 85 FD 




STA 


COLPTR+1 


1292 A9 00 




LDA 


#0 


1294 85 FE 




STA 


SCRPTR 


1296 85 FC 




STA 


COIPTR 


1298 A8 




TAY 




1299 A9 60 


SCRLUP 


LDA 


#$60 


129B 91 FE 




STA 


(SCRPTR),Y 


1290 A9 08 




LDA 


#8 


129F 91 FC 




STA 


(C0LPTR),Y 


12A1 C8 




INY 




12A2 00 F5 




BNE 


SCRLUP 


12A4 E6 FF 




INC 


SCRPTR+1 


12A6 E6 FD 




INC 


COLPTR+1 


12A8 A5 FF 




LDA 


SCRPTR+1 


12AA 09 07 




CMP 


#7 


12AC DO EB 




BNE 


SCRLUP 


i2AE A9 60 


SCRLURA 


LOA 


#$60 


12B0 99 00 07 




STA 


$700.Y 


12B3 A9 08 




LOA 


#8 


12B5 99 00 OB 




STA 


SDBOO.Y 


12B8 C8 




INY 




12B9 CO CO 




CPY 


#$C0 


12BB DO F1 




BNE 


SCRLUm 



Chapter 3 



12BD 20 52 13 




JSR 


DRWSCREEN 


************ 




******** 




; 

12C0 AO 00 




LDY 


#0 


; 

1368 A9 00 


CONFIG 


LDA 


#0 


12C2 A9 FE 


FBLUP3 


LDA 


#$FE 


136D 80 27 18 




STA 


DIFF 


12C4 99 1% 07 




STA 


2042,Y 


; 








1X7 A9 02 




LDA 


#2 


1370 AO 6E 




LDY 


#END1-MSG1 


12C9 99 29 DO 




STA 


$D029,Y 


1372 A2 IE 




LDX 


#<MSG1 


12CC C8 




INY 




1374 A9 14 




LDA 


#>MSG1 


12CD CO 06 




CPY 


#6 


1376 20 BB 14 




JSR 


MESSAGE 


12CF DO F1 




BNE 


FBLUP3 


; 








1201 A9 FF 




LDA 


#$FF 


1379 AD 27 18 


OIFFLUP 


LOA 


DIFF 


12D3 8D F8 07 




STA 


2040 


137C OA 




ASL 




12D6 8D F9 07 




STA 


2041 


137D AA 




TAX 




1 








137E 80 E7 04 




LOA 


$4E7,X 


12D9 AO 00 




LDY 


#0 


1381 49 80 




EOR 


mm 


12DB B9 31 13 


TITLUP 


LDA 


TITLE,Y 


1383 90 E7 04 




STA 


$4E7,X 


12DE C9 40 




CMP 


#$40 


1386 20 C8 14 




JSR 


JOY 


12E0 90 03 




see 


TTL 


1389 FO IE 




BEQ 


DUN1 


12E2 38 




SEC 




138B 80 E7 04 




LDA 


$4E7,X 


12E3 E9 40 




SBC 


#$40 


138E 49 80 




EOR 


#$80 


12E5 99 CO 07 


TTL 


STA 


$7C0,Y 


1390 90 E7 04 




STA 


$4£7,X 


12E8 A9 03 




LDA 


#3 


1393 98 




T\A 




12EA 99 CO DB 




STA 


$OBC0,Y 


1394 18 




CLC 




12ED C8 




INY 




1395 60 27 18 




ADC 


DIFF 


12EE 2C 28 18 




BIT 


ItflULTI 


1398 C9 FF 




CMP 


mf 


12F1 10 06 




BPL 


mi 


139A DO 02 




BNE 


OKI 


12F3 CO 18 




CPY 


#$18 


139C A9 00 




LOA 


#$0 


12F5 DO E4 




BNE 


TITLUP 


139E C9 03 


OKI 


CMP 


#3 


12F7 FO 04 




BEQ 


ENOIT 


13A0 DO 02 




BNE 


OKA 


12F9 CO 21 


MIL 


CPY 


#$21 


13A2 A9 01 




LDA 


#1 


12FB DO DE 




BNE 


TITLUP 


13A4 80 27 18 


OKA 


STA 


DIFF 


; 

12FD A9 03 








13A7 DO DO 




BNE 


OIFFLUP 


ENOIT 


LDA 


#3 


; 








12FF 99 CO DB 




STA 


$DBC0,Y 


13A9 AO 27 18 


DUN1 


LDA 


DIFF 


1302 C8 




INY 




13AC 18 




CLC 




1303 CO 28 




CPY 


<$28 


13A0 69 04 




AOC 


#4 


1305 DO F8 




BNE 


ENDIT+2 


13AF 80 DB 17 




STA 


PSPEEO 


; 








13B2 69 02 




AOC 


#2 


1307 58 




CLI 




13B4 8D OD 17 




STA 


CSPEEO 


1308 60 




RTS 




13B7 69 03 




AOC 


#3 










13B9 8D OA 17 




STA 


CRADIUS 


1309 60 42 40 


MSTRING1 


.BYTE 


96,66.64,96 


13BC 69 01 




ADC 


#1 


130D 60 43 41 


MSTRING2 


.BYTE 


96,67,65,96 


13BE 80 09 17 




STA 


PRADIUS 


: 








1X1 AS 02 




LDA 


#2 


1311 00 00 00 


CHARS 


.BYTE 


0,0,0,0,0,$3,$3,$3 


13C3 CO 27 18 




CMP 


DIFF 


1319 03 03 OB 




.BYTE 


$3,$3,$B.$B,$2B,$2B 


1X6 DO 03 




BNE 


NOINC 








,$28,$28 


13C8 EE 09 17 




INC 


PRADIUS 


1321 00 00 00 




.BYTE 


0,0,0,0,0,$CD,$CO,$ 


; 














CO 


1XBA9 FF 


NOINC 


LOA 


WFF 


1329 CO CO EO 




.BYTE 


$CO,$CO,$EO,$EO,$E 


1X0 80 28 18 




STA 


MULTi 








8,$E8,$28,$28 


13D0 AO 19 




LDY 


#EN02-MSG2 


: 








1302 A2 8C 




LDX 


#<IWSG2 


1331 50 4C 41 


TITLE 




'playerl: ships: play 


1304 A9 14 




LOA 


#>MS62 








er2:" 


1306 20 BB 14 




JSR 


MESSAGE 


; 








1309 AD 28 18 


NUMLUP 


LOA 


MULTi 


1352 AO 00 


DRWSCREEN 


LDY 


#0 


13DC0A 




ASL 




1354 A2 04 


SCRNLUP1 


LDX 


#4 


1300 AA 




TAX 




on no io 
1o0b DU Uo 1o 


SCRNLUP 


LDA 


MSTRINGt — 1,X 


130E E8 




INX 




1359 99 70 07 




STA 


$770,Y 


130F E8 




INX 




135C BD OC 13 




LDA 


MSTRING2-1,X 


13E0 BD 2C OS 




LDA 


$52C,X 


135F 99 98 07 




STA 


$798,Y 


13E3 49 80 




EOR 


mo 


1362 C8 




INY 




13E5 9D 2C 05 




STA 


$52C,X 


1363 CA 




OEX 




13E8 20 C8 14 




JSR 


JOY 


1364 DO FO 




BNE 


SCRNLUP 


13EB FO 23 




BEQ 


0UN2 


1366 CO 28 




CPY 


#$28 


13ED 18 




CLC 




1368 00 EA 




BNE 


SCRNLUP1 


13EE 60 28 18 




ADC 


MULTI 


136A 80 




RTS 




13F1 BD 2C 05 




LOA 


$52C,X 










13F4 49 80 




EOR 


#$80 










13F6 90 2C 05 




STA 


$52C,X 




coniigure difficulty 











u 
u 
u 

! I 

u 
u 



184 



u 
u 
u 
u 
u 



The Source Code 



13F9 98 








14EE 20 01 OC 




AND 


J0Y1 


13FA 18 




CLC 




14F1 29 08 




AND 


#8 


13FB 6D 28 18 




ADC 


MULTI 


14F3 DO 03 




BNE 


J2 


13FE C9 FE 




CMP 


#$FE 


14F5 AO 01 




LOY 


#1 


1400 DO 02 




BNE 


0K2 


14F7 60 




RTS 




1402 A9 FF 




IDA 


#$FF 


14F8 AO 00 OC 


J2 


LOA 


J0Y2 


1404 C9 01 


0K2 


CMP 


#1 


14FB 20 01 OC 




AND 


J0Y1 


1408 DO 02 




BNE 


0KB 


14FE 29 10 




AND 


#$10 


1408 A9 00 




LDA 


#0 


1500 DO DC 




BNE 


JO 


140A 8D 28 18 


0KB 


STA 


MULTI 


1502 AO 00 




LDY 


#0 


140D 4C D9 13 




JMP 


NUMLUP 


1504 60 




RTS 




; 

1410 AO 15 


DUN2 


LDV 


#EN03— MSG3 


1505 


SPRITES 


~ 




1412 A2 A5 




LDX 


#<MSG3 










1414 A9 14 




LDA 


#>MSG3 


; — planel 








1416 20 BB 14 




JSR 


MESSAGE 


4 cnc Art An 

1505 00 08 




.BYTE 


0,8 


1419 20 C8 14 


ZZZLLUP 


JSR 


JOY 


1507 CO 00 01 




.BYTE 


192,0,1,27,192,0,1,0 


141C DO FB 




BNE 


ZZZLUP 








3,192,0,1 


141E 60 




RTS 




1512 3F 80 00 




.BYTE 


AA A AA A A A A A &A 

63,128,0,1,62,0,2,60 


I 

141F 


MSG1 


■ 


*— 1 


151C 3C 00 02 




.BYTE 


,0,2 

AA A A AA A A ^A 

60,0,2,60,0,2,62 


141F CS 20 C9 




J^C 


"E ] N :trepxe .etaide 


1523 00 02 3F 




.BYTE 


A A Ci A A CA A A 

0,2,63,0,2,63,0,2 








mretnl .eclvon 


152B 3F 00 02 




.BYTE 


nA A A AA A A AA A A 

63,0,2,62,0,2,62,0,2 








{DOWN} 


A CA A nA An 

1534 3C 00 02 




.BYTE 


CA n A cn n a ce 

60,0,2,60,0,2,56 


1444 OD 




.BYTE 


$0 


A CAn AA AA AA 

153B 00 02 30 




.BYTE 


A A AO n n 

0,2,48,0,9 


1445 2D 54 43 




.ABC 


'-tceles ol notlub dn 


; — plane2 














a kcltsyoj esu 


1540 OC 00 02 




.BYTE 


12,0,2,28 








{DOWN}" 


1544 00 02 3C 




.BYTE 


0,2,60,0,2,60,0,2 


1469 OD 




.BYTE 


$D 


154C 7C 00 02 




.BYTE 


124,0,2,124,0,2,252, 


146A 35 38 39 




JiSC 


"5891 letupmoC 








0,2 








KEES TAEH \<S 


1555 FC 00 02 




.BYTE 


ACA A A ACA A A 

252,0,2,252,0,2,124 








>j {DOWN} {CLR} 


155C 00 02 3C 




.BYTE 


0,2,60,0,2,60,0,2 










1564 3C 00 02 




.BYTE 


60,0,2,124,0,1,1,252 


148C OE 




.BYTE 


SE 








,0,1 


148D 


END1 




*— 1 


A c^r AA An 

156E 03 FC 00 




.BYTE 


A ACA A 4 A AHC A A 

3,252,0,1,3,216,0,1, 


148D 


MSG2 




*-1 








3,0,27 


1480 32 20 31 




.ASC 


"2 1 :sreyalp to rebm 


: — plane3 














un {DOWN}' 
$0 


1579 EO 00 02 




.BYTE 


224,0,2,248,0,2 


14A5 00 




•BYTE 


157F 7E 03 EO 




.BYTE 


126,3,224,063,255,2 


14A6 


END2 




*-1 








52,127,255 


14A6 


MSG3 


= 


*-1 


1587 FF 3F FF 




.BYTE 


255,63,255,255,0,55 


14A6 4E 49 47 




ASC 


'nigeb ot erif sser 


1580 FF FF FC 




.BYTE 


Aec ACC ACA ACC AC 

255,255,252,255,25 








p {DOWN}" 








5 


14BA OD 




.BYTE 


$D 


1592 FE 3F FF 




.BYTE 


nc A AA AfC ACA 7 4A 

254,63,255,252.7,19 


14BB 


EN03 


' 


*— 1 








A A A^ A A 

2,126,0,2 


14BB 86 FE 


MESSAGE 


STX 


$FE 


159B 1F 00 02 




.BYTE 


H A A "7 A AA 

31,0,2,7,0,22 


14BD 85 FF 




STA 


$FF 


; — planes 








14BF B1 FE 


ZMSGLUP 


LOA 


($FE),Y 


15A1 03 00 02 




.BYTE 


A n A 7 A A 

3,0,2,7,0,2 


14C1 20 02 FF 




JSR 


$FFD2 


ACk^ An AA AA 

15A7 OF 00 02 




.BYTE 


15,0,2,15,0,2,63 


14C4 88 




OEY 




ACkr AA AA Ar 

15AE 00 02 3F 




.BYTE 


n 1 CA H AO A 4 4 C AO 

0,2,63, 12o,0,i,i5,22 


14C5 DO F8 




BNE 


ZMSGLUP 








4,0,1 


14C7 60 




RTS 




A cno AA ro AA 

15B8 03 FB 00 




.BYTE 


A Alio A A ACC A*ia n 

3,240,0,2,255,1 2o,0, 


I 

14C8 AD 00 OC 


JOY 


LOA 


J0Y2 


4 C^A TA AA A4 

15C1 EO 00 01 




.BYTE 


1,63 

AAit n A 4c AAii ni o 

224,0,1,15,224,0,1,3 


14CB 20 01 DC 




AND 


J0Y1 








,248,0,2 


14CE 29 1C 




AND 


#$1C 


A f AA TA AA AA 

15CC F8 00 02 




.BYTE 


Alio ft A CA A A 4A 

248,0,2,60,0,2,12 


1400 C9 1C 




CMP 


#$1C 


1503 00 20 




.BYTE 


0,32 


14D2 00 F4 




BNE 


JOY 


; — plane6 








14U4 Ay UU 




LDA 


ffU 


lOUo Uo r(j UU 








14D6 85 A2 




STA 


$A2 








,31,240 


14D8 A9 1C 




LDA 


#$1C 


15DF 00 01 IF 




.BYTE 


0,1,31,192,224,127, 


14DA C5 A2 


JOYWAIT 


CMP 


$A2 








0,1.249,252 


140C DO FC 




BNE 


JOYVW 


15E9 00 01 7F 




.BYTE 


0,1.127,240,0,1,127, 


14DE AD 00 OC 


JO 


LDA 


J0Y2 








192,0,1,63 


14E1 20 01 OC 




ANO 


J0Y1 


15F4 00 02 3C 




.BYTE 


0,2,60,0,2,16,0,35 


14E4 29 04 




AND 


#4 


; — plane7 








14E6 DO 03 




BNE 


J1 


15FC 08 00 02 




.BYTE 


8,0,2,60,0,2,252 


14E8 AO FF 




LOY 


#$FF 


1603 00 01 03 




.BYTE 


0,1,3,254,0,1,15,254 


14EA 60 




RTS 










,0,1,63 


14EB AO 00 DC 


J1 


LOA 


J0Y2 


160E 9F 00 01 




.BYTE 


159,0,1,254,7,3,248, 
















0,1,15 



185 



Chapter 3 



1010 ro UU Ul 


.BYTE 


1AQ n i CO tAn n -t c 
£40,U,1,DO/4U,U,1,b 


47cn An nn no 
1750 AO 00 02 


.BYTE 


4 cn n 1 on n nc 

160,0,2,32,0,26 






3,192,0,32 


; — fireball 






; — planeo 






470*1 no on 

1763 Do 80 


.BYTE 


8,1^ 


on nn no 


.BYTE 


AO no cn n 0^ no 
4o,0,2,60,0,2,31 ,0,2 


i7i!c nn ni nA 
1765 00 01 OA 


.BYTE 


n 4 4n 4CD n 4 ao on 

0,1,10,168,0,1,43,22 


itoj 1r OU UU 


.BYTE 


oi ioo n 1 7 OAn n 4 
o1,1»,U,1,/,£4U,U, 1 






4,0,1,11 






,7,252 


i77n cn nn ni 
1//U tU UU Ul 


.BYTE 


OOil n 4 4 4 OQO n 4 Jl 

224,0,1,11,232,0,1,4 


1636 00 01 01 


.BYTE 


0,1,1,255,0,2,31,192 






o H cn n 4 

2,160,0,1 






,0,1 


477D no in nn 

177B 02 20 00 


.BYTE 


o on n C4 

2,32,0,51 


1640 07 rO 00 


.BYTE 


7,Z40,0,1,1,Z52,0,2, 


; — blast 










252 


177F RR nn ni 

If ( r oo UU u 1 


•BYTE 


1360 1 2 


1649 00 02 FO 


.BYTE 


0,2,240,0,2,240,0,2 


1783 AA 00 01 


BYTE 


17o!o!l!2,174,0,1,2, 


1651 ED 00 02 


.BYTE 


224,0,2,192,0,19 






238,128 


; — chaserl 






178D OA FF AO 


.BYTE 


10,255,160,10,255,2 


1657 28 


.BYTE 


40 






24,11,254 


1658 28 CD 01 


.BYTE 


40,0,1,40,40,0,1,41, 


1795 AS OB FF 


.BYTE 


168,11,255,224,42,2 






104,0,1 






55,168,43 


1663 29 68 00 


.BYTE 


41,104,0,1,9,96,0,1, 


179D FF EO 2B 


.BYTE 


265,224,43,255,232, 






9,96 






11,255,224 


166D 00 01 01 


.BYTE 


0,1,1,64,0,1,1,64,0,1 


17A5 2F FF AO 


.BYTE 


47,255,160,42,255,2 






,1 






24,47,255 


1678 40 00 01 


.BYTE 


64,0,1,1,64,0,1,1,64, 


17AD FB 2B BB 


.BYTE 


248,43,187,224,10,1 






0,32 






70,168,255 



; — chaser2 
1683 01 40 00 

168F 01 40 00 

1699 00 01 09 

16A4 68 00 01 



.BYTE 1,64,0,1,1,64,0,1,1,6 
4,0,1 

.BYTE 1,64,0,1,1,64,0,1,9,9 
6 

.BYTE 0,1,9,96,0,1,41,104, 
0,1,41 

.BYTE 104,0,1,40,40,0,1,40 

,40,0,35 



; — bit manipulation masks 
17B5 SETMASK 
17B5 CLRMASK 
17B5 01 FE 02 IWASKS 
17B9 04 FB 08 
17BD 10 EF 20 
17C1 40 BF 80 



*+1 

.BYTE $1,$FE,$2,$FD 
.BYTE $4^FB,$8,$F7 
.BYTE $10,$EF»,$DF 
.BYTE $40,$6F,$80,$7F 



; — cliaserS 














16AF AA 00 02 


.BYTE 


170,0,2,170,128,0,1 




variables 




16B6 15 55 00 


.BYTE 


21,85,0,1,21,85,0,1, 














21,85 










16C0 00 01 AA 


.BYTE 


0,1,170,128,0,1,170, 


;object velxlties 












0,46 


17C5 


XVHI 




* 


; — chaser4 






17C5 


YVHI 




•■1-1 


16C9 AA 00 01 


.BYTE 


170,0,1,2,170,0,1 


17D5 






•+16 


16D0 55 54 00 


.BYTE 


85,84,0,1,85,84,0,1, 


17D5 


PXVHI 




XVHI 






85,84 


17D5 00 


PXVU) 


.BYTE 





16DA 00 01 02 


.BYTE 


0,1,2,170,0,2,170,0, 


17D6 


PYVHI 




YVHI 






44 


17D6 00 


PYVU) 


.BYTE 





; — chasers 






17D7 


CXVHI 




XVHI+2 


16E3 08 00 02 


.BYTE 


8,0,2,10,0,2 


17D7 00 


CXVU) 


.BYTE 





16E9 06 80 00 


.BYTE 


6,128,0,1,21,128,0,1 


17D8 


CYVHi 




YVHI+2 






,165,64 


Mm 00 


CYVLO 


.BYTE 





16F3 00 01 29 


.BYTE 


0,1,41,80,0,1,10,84, 


1709 00 












0,2 


PRAOiUS 


.BYTE 





16FD 15 00 02 


.BYTE 


21,0,2,5,0,39 


17DA 00 


CRADiUS 


.BYTE 





; — cliaserO 














1703 OS 00 02 


.BYTE 


5,0,2,21,0,1 


lobject speeds 








1709 OA 54 00 


.BYTE 


10,84,0,1,41,80,0,1, 


17DB 


VEIjOCE 










165,64 


17EB 






*+16 


1713 00 01 15 


.BYTE 


0,1,21,128,0,1,6,128 


17EB 


PSPEED 




VELOCE 






,0,1,10 


17EB 


CSPEED 




VELOCE+2 


171E 00 02 08 


.BYTE 


0,2,8,0,40 










; — chasef7 






isubplxel positions 






1723 20 00 02 


.BYTE 


32,0,2,160,0,1 


17EB 


XLO 




• 


1729 02 90 00 


.BYTE 


2,144,0,1,2,84,0,1,1, 


17EB 


YLO 




*+1 






90 


17FB 






•+16 


1733 00 01 OS 


.BYTE 


0,1,5,104,0,1,21,160 














,0,1,84 


;mlsslle timers 








173E 00 02 50 


.BYTE 


0,2,80,0,39 


17FB 


SHOrcUOCK 






; — chasetB 






1801 






*+6 


1743 50 00 02 


.BYTE 


80,0,2,84,0,2 










1749 15 AO 00 


.BYTE 


21,160.0,1,5,104,0,1 


1801 00 


FIRE 


.BYTE 









,1.90 


1802 00 


U«TSHOT 


.BYTE 





1753 00 01 02 


.BYTE 


0.1.2.84.0.1,2,144,0, 


; bits 2-7 ...1 = 


free 







186 



The Source Code 



1803 00 


INUSE 


.BYTE 





i 

llaunch variabtes 








1804 


BASCLOCK 


„ 


* 


18DE 






* 


180E 00 


LNCHTIME 


.BYTE 





; 

imultiply variables 








180F 00 


REGTEMP 


.BYTE 





1810 00 


PROD 


.BYTE 





1811 00 




.BYTE 





1019 nn 


X1 


BYTE 


n 

U 


1813 00 


MSBTEMP 


!byte 





1814 00 


MULTEMP 


.BYTE 





1815 00 


SPRITMP 


.BYTE 





ichaser variables 








1816 00 


DIRTEMP 


.BYTE 





1817 00 


VQUAO 


.BYTE 





1818 00 


OQUAD 


.BYTE 





1819 00 


DELTAX 


.BYTE 





181A 00 


DELTAY 


.BYTE 





181B 00 


XSCALE 


.BYTE 





181C 00 


YSCALE 


.BYTE 





; 

:garne control 








181D00 


MASKTEMP 


.BYTE 





181E DO 


SHOTMASK 


.BYTE 





181F 00 


OLDJIF 


.BYTE 





1820 00 


PLAYNUM 


.BYTE 





1821 00 


QUAN 


.BYTE 





1822 00 




.BYTE 





1823 00 


ZIPTIME 


.BYTE 





1824 00 


ZIPFREQ 


.BYTE 





1825 00 


RESP 


.BYTE 





1826 00 


JTEMP 


.BYTE 





1827 00 


DIFF 


.BYTE 





1828 00 


MULTI 


.BYTE 






+10 



n 



n 



n 
n 



187 



Laser Beam 
Source Code 

Source code by Kevin Mykj^yn 



cooo 






$0000 


COOO 


LASER 


= 


$CEOO 


cooo 


DIR 


= 


6 


COOO 


NUMLASERS 




1 


cooo 


FIREFLAG 


■ 


10 


C000 A9 04 




LDA 


#4 


cooo 


FUOP 




12 


C002 8D BS 02 




STA 


LEVEL 


cooo 


TEMP 


■ 


16 


C005 20 3A C5 


START 


JSR 


SETUP 


GOOD 


ODIR 




63 


C008 20 CC C4 




JSR 


INIT 


cooo 


FLOPTIMER 




64 


COOB A9 00 




LDA 


#0 


cooo 


JOTL 




65 


COOD 8D IS DO 




STA 


S3269 


cooo 


JOVH 




66 


C010 A9 93 




LDA 


#"{CLR}' 


cooo 


BALLL 




78 


C012 20 D2 FF 




JSR 


$FFD2 


cooo 


BALLH 




79 


C015 A9 00 




LDA 


#0 


cooo 


LASERL 




679 


C017 8D 21 00 




STA 


53281 


cooo 


LASERH 




680 


C01A 80 20 00 




STA 


53280 


cooo 


ALREADFIR 




83 


C01D A9 2E 




LDA 


#48 


cooo 


DIR2 




84 


COIF 80 AO CE 




STA 


BOX 


cooo 


LOW 




170 


C022 65 OA 




STA 


FIREFLAG 


cooo 


HIGH 




171 


C024 20 CA CC 




JSR 


LASEREO 


cooo 


D1 




147 


0027 A2 09 




LDX 


#9 


cooo 


D2 




148 


C029 AO 11 




LDY 


#17 


cooo 


PIECE 


— 


149 


C02B 18 




CLC 




cooo 


Q1 


= 


251 


C02C 20 FO FF 




JSR 


SFFFO 


cooo 


Q2 




252 


C02F A9 00 




LDA 


#<MESS1 


cooo 


Q3 


— 


253 


C031 AO CC 




LDY 


#>MESS1 


cooo 


Q4 




254 


C033 20 IE AS 




JSR 


SAB1E 


cooo 


SPRNUM 




164 


C036 A9 6D 




LDA 


#109 


cooo 


TEMP2 




165 


C038 80 AO CE 




STA 


BOX 


cooo 


SPRNUM2 




166 


C03B 85 OA 




STA 


FIREFLAG 


cooo 


GOODNUM 




167 


C030 20 CA CC 




JSR 


LASEREO 


cooo 


COUNT 




168 


C040 A2 OC 




LDX 


#12 


cooo 


FLA62 




169 


C042 AO 12 




LOY 


#18 


cooo 


FLAG2L0W 




682 


C044 18 




CLC 




cooo 


NUMSPR 




690 


C045 20 FO FF 




JSR 


SFFFO 


cooo 


NUMMEN 


= 


691 


C048 A9 E9 




LDA 


#<MESS2 


cooo 


IGNORE 




692 


C04A AO CC 




LDY 


#>MESS2 


cooo 


XPOS 




826 


C04C 20 IE AB 




JSR 


$AB1E 


cooo 


LEVEL 




693 


C04F A2 OB 


WTY2 


LDX 


#11 


cooo 


VOUNTL 




694 


C051 A5 A2 


X 


LDA 


162 


cooo 


VOUNT 




695 


CUDo I/O /u 


w 


UNIr 


■ICO 


cooo 


VDUNTH 




698 


C055 FO FC 




BEQ 


w 


cooo 


SCOREL 




697 


C057 CA 




DEX 




cooo 


SCOREH 




698 


C058 DO F7 




BNE 


X 


cooo 


YPOS 




838 


C05A AO B5 02 




LDA 


LEVEL 


cooo 


XPOSH 




848 


C05D 09 30 




ORA 


#48 


cooo 


XDIR 




858 


C05F 80 70 06 




STA 


1648 


cooo 


YDIR 




868 


C0S2 AO 00 DC 




LDA 


$DC00 


cooo 


DELTAX 




876 


C065 4A 




LSR 




cooo 


DELTAY 




888 


C066 BO OA 




BCS 


NTUP 


cooo 


XPOSL 




896 


C068 AE B5 02 




LDX 


LEVEL 


cooo 


YPOSL 




906 


C06B EO 09 




CPX 


#9 


cooo 


SPOTTER 




918 


C06D FO 03 




BEQ 


NTUP 


cooo 


UPLIMIT 




55 


C06F EE B5 02 




INC 


LEVEL 


cooo 


DOWNLMT 




215 


C072 4A 


NTUP 


LSR 




cooo 


LEFTLIMIT 




55 


C073 BO 08 




BCS 


NTOOWN 


cooo 


RIGHTLIMI 




55 


C075 AE B5 02 




LDX 


LEVEL 


cooo 


FLOPPER 




9 


C078 FO F8 




BEQ 


NTUP 


cooo 


NUMBALLS 




7 


C07A CE BS 02 




DEC 


LEVEL 


cooo 


LOWBYTE 




$CF00 


C07D4A 


NTOOWN 


LSR 




cooo 


HIGHBYTE 




$CF60 


C07E 4A 




LSR 




cooo 


LASERDIR 




$CE80 


C07F 4A 




LSR 




cooo 


BOX 




$CEAO 


C080 BO CD 




BCS 


WTY2 



188 



The Source Code 



C082 AD B5 02 




LDA 


LEVEL 


C085 29 OF 




AND 


#15 


C087 BD 85 02 




STA 


LEVEL 


C08A A9 03 




LDA 


#3 


C08C 8D 83 02 




STA 


NUMMEN 


C08F A9 00 




LDA 


#0 


C091 80 B9 02 




STA 


SCOREL 


C094 8D BA 02 




STA 


SCOREH 


C097 A9 OA 


NEWL 


LDA 


#10 


C099 38 




SEC 




C09A ED BS 02 




SBC 


LEVEL 


C09O OA 




ASL 




C09E 85 4F 




STA 


BALLH 


COAO 85 4E 




STA 


BALLL 


C0A2 A9 07 




LDA 


#7 


COM 8D B2 02 




STA 


NUMSPR 


C0A7 20 E2 CA 




JSR 


CHAR 


COAA 20 19 C7 




JSR 


SCREENSET 


COAD 20 CC C4 




JSR 


INIT 


COBO 20 46 C3 




JSR 


ADDIT 


COBS A9 14 




LDA 


#20 


COBS 8D B7 02 




STA 


VOUNT 


COBB 20 7B C7 


BUCK 


JSR 


SPRITE 


COBB AC B3 02 




LDT 


NUMMEN 


COBE C8 




INY 




COBF A9 20 




LDA 


#32 


C0C1 99 DF 07 




STA 


2015,Y 


C0C4 88 




OEY 


C0C5 A9 28 


VLP 


LDA 


#40 


C0C7 99 DF 07 




STA 


2015,Y 


COCA A9 07 




LDA 


#7 


COCC 99 DF D'B 




STA 


2015+54272,Y 


COCF 88 




DEY 


CODO DO F3 




BNE 


VLP 


C0D2 20 A9 C5 




JSR 


SPRMOVE 


CODS AS A2 




LDA 


162 • 


C0D7 C5 A2 


wr 


CMP 


162 


C0D9 FO FC 




BEQ 


WT 


CODB AD IE DO 




LDA 


53278 


CODE AD IF DO 




LDA 


53279 


C0E1 20 A9 CS 


MAIN 


JSR 


SPRMOVE 


C0E4 C6 41 




DEC 


JOYL 


C0E6 DO 15 




BNE 


NOJOY 


C0E8 AS 42 




LDA 


JOYH 


COEA 85 41 




STA 


JOYL 


COEC 20 E7 C5 




JSR 


JOYSTICK 


COEF 20 85 CC 




JSR 


TIMER 


C0F2 20 45 CD 




JSR 


BONUS 


C0F5 A9 00 




LDA 


#0 


C0F7 8D 84 02 




STA 


IGNORE 


COEA 20 48 CI 




JSR 


SHOOT 


COED C6 4E 


NOJDY 


DEC 


BALLL 


COFF DO 07 




BNE 


NOBALL 


C101 AS 4F 




LDA 


BALLH 


C103 85 4E 




STA 


BALLL 


C105 20 C2 C3 




JSR 


BALL 


C108 EA 


N08ALL 


NOP 




C109 20 IF CI 


NOUSER 


JSR 


CHCOLOR 


C10C 20 5F C8 




JSR 


COLLISION 


C10F 20 37 CC 




JSR 


FORBIDDEN 


C112 AD 8D 02 




LDA 


653 


C115 FO CA 




BEQ 


MAIN 


CI 17 AD 8D 02 


VUTU 


LDA 


653 


C11A DO FB 




BNE 


VUTU 


C11C 4C El CO 




JMP 


MAIN 


; Changs ball color 






CI IF 


CHCOLOR 






C11F A2 02 




LDX 


#2 


C121 AD IF DO 




LDA 


53279 


C124 4A 




LSR 





C125 4A 


VP 


LSR 




C126 90 1A 




BCC 


NP 


CI 28 48 




PHA 




CI 29 8D 26 DO 




LDA 


S3286,X 


C12C 29 OF 




AND 


#15 


C12E C9 01 




CMP 


#1 


CI 30 FO OF 




BEQ 


NR 


C132 A9 01 




LDA 


#1 


CI 34 9D 26 DO 




STA 


53286,X 


C137 CA 




DEX 


C138 E4 A7 




CPX 


GOOONUM 


C13A DO 04 




BNE 


BACK 


C13C A9 18 




LDA 


#24 


C13E 85 A9 




STA 


FLAG2 


CI 40 E8 


BACK 


INX 




C141 88 


NR 


PU 




CI 42 E8 


NP 


INX 




CI 43 EO 09 




CPX 


#9 


C145 DO OE 




BNE 


VP 


C147 60 




RTS 




ishoot the laser 








C148 


SHOOT 


= 


* 


C148 AS OA 




LDA 


FIREFLAG 


C14A DO 03 




BNE 


F»RT2 


ei4C 4C 16 C2 




JMP 


AROU 


C14F AD B4 02 


B\RT2 


LDA 


IGNORE 


C152 DO 08 




BNE 


RART 


C154 20 EC C6 




JSR 


CHECK 


CI 57 90 03 




BCC 


PART 


C1S9 4C 1A C2 




JMP 


LETGO 


CISC A5 53 


F»RT 


LDA 


ALREADFIRE 


C15E DO 2D 




BNE 


FINISHIT 


C160 AE AO CE 




LDX 


BOX 


CI 63 BD 00 CF 




LDA 


IJ0WBYTE,X 


CI 66 85 AA 




STA 


LOW 


C168 85 FB 




STA 


Q1 


C16A BD 80 CF 




LDA 


HIGHBYTE,X 


C16D 85 AB 




STA 


HIGH 


C16F 85 FC 




STA 


Q2 


CI 71 BD 00 CE 




LDA 


LASER,X 


C174 85 54 




STA 


DIR2 


C176 4A 




LSR 




C177 90 08 




BCC 


SHORT 


CI 79 A9 40 




LDA 


#64 


C17B 85 95 




STA 


PIECE 


C17D A9 24 




LDA 


#36 


C17F DO 06 




BNE 


P1 


C181 A9 42 


SHORT 


LDA 


#66 


CI 83 85 95 




STA 


PIECE 


C185 A9 16 




LDA 


#22 


C187 85 93 


PI 


STA 


D1 


C189 85 94 




STA 


D2 


C18B 85 53 




STA 


ALREADFIRE 


C18D AS 54 


FINISHIT 


LDA 


DIR2 


C18F C9 23 




CMP 


#35 


C191 BO 17 




BCS 


SUBTRACT 


C193 C9 21 




CMP 


#33 


C195 DO 04 




BNE 


TUHLE 


C197 A9 01 




LDA 


#1 


C199 DO 02 




BNE 


P2 


C19B A9 28 


TUTTLE 


LDA 


#40 


C19D 18 


P2 


CLC 




C19E 65 AA 




ADC 


LOW 


C1A0 as AA 




STA 


LOW 


C1A2 AS AB 




LDA 


HIGH 


C1A4 69 00 




ADC 


#0 


C1A6 85 AB 




STA 


HIGH 


C1A8 DO 19 




BNE 


DUNT 



Chapter 3 



PHAA r'Q OA 


CI IDTDATT 


ulvir 




OtOn OM 




TXA 




LlWO pU U*I 




Dcn 

□tu 




PJ'SD /a 
\j£.oa 'iO 




PHA 




MAC AQ M 

L*lAt Ay Ul 




1 DA 


ft 1 


POQP on 17 PQ 

u&Ou CM 1 f UU 




JSR 


MAKESAFE 


MDfi nn no 




DIN I: 


ro 


ucor DO 




PLA 




04 DO An 10 

U1B2 A9 2o 


nio 
BIG 


1 rtA 
LUA 


WW 






TAX 




U1d4 00 lU 


P3 


CTA 
blA 


1 tMr 


POJi AO 1A 




LDA 


#26 


OH DC AC A A 

CIBd Ad AA 




1 nA 
LUA 


1 nu/ 
LUW 


IjttO 00 no 




STA 


FLAG2 


CIB8 38 




SEC 




KicMi^ 00 lU 




STX 


TEMP 


C1B9 E3 lO 




SBC 


ItMr 


po^7 AO nn 




LDX 


#0 


^HDD OC A A 

ClBo 85 AA 




OTA 

olA 


1 nut/ 


KjCHs nU uo 




LDY 


#6 


04 nn AC AD 

UIdD Ad Ad 




1 nA 
LUA 


niun 


roAR RQ OA nn 

KiCHo D9 £0 UU 


TMP 


LDA 




ClBF t9 00 




SBC 


ffU 


po^p 00 nc 




AND 


#15 


rtAf*A OC AD 

C1C1 03 Ad 




CTA 
blA 


UIPU 

nluM 


pocn ro ni 

UcDU u? Ul 




CMP 


#1 


OH 00 AC nc 

U1C3 A5 95 


DUNT 


1 nA 
LUA 




poco nn ni 

UU U 1 




BNE 


NF^ 


04 OC A A AA 

C1C3 AO 00 




LDY 


ffU 


roci pfl 




INX 




04 07 A-l A A 

C1C7 91 AA 




CTA 

OlA 


/I ntAn V 


pocc oo 
l^Du 00 


NPI 


DEY 




040A AC AA 

C1C9 A5 AA 




LDA 


UUW 


POCK in F*? 
U^3D lU rO 




BPL 


TMP 


04 OD 40 

C1CB 18 




PI p 
CLu 




POCQ DH lO Pc: 
u^DO DU qL UJ 




LDA 


^PflRTAR X 
ouun inu,A 


04 00 £A AA 

C1CCd9 00 




ADC 


u^nA'yio 


pocn 1R 




CLC 




04 0C OC cn 

CICE 85 ru 




CTA 

olA 


Uo 


focp Rn RQ n? 

l.j£DU DU D9 




ADC 


•^nnRFi 

OUURLU 


04nn AC AD 

C1UU Ad Ad 




1 nA 
LUA 


niun 


pocp on pq no 

OU u9 U£ 




STA 


SCOREL 


o-»r\A CA r\A 

C1D2 69 D4 




AflP 

AUU 


ff>D4tfc 


roRO An RA to 

KicJic. HU On \JC 




LDA 


<;mRFH 

uuuntn 


OHr\ji OC cc 




CTA 

a!A 


U4 


POCC CQ nn 
U(CD3 Do UU 




ADC 


#0 


04 nc AQ nA 
L1UD A9 UA 




1 nA 


ff lU 


ppR7 nn RA 07 




STA 


SCOREH 


o-ino An nn 
UlUti AU UU 




1 nv 

LUT 


ffU 


poRA on 7fi rn 




JSR 


SCOROUT 


04 OA A4 rf\ 

C1DA 91 FD 




STA 


/n^\ V 

(a3),Y 


poRn AR in 




LDX 


TEMP 


04 00 A A OA 

C1uCa9 80 




LDA 


#128 


POCC AO CC 

utOr Ma rr 




LDA 


#255 


OHOC 00 AD r\A 

C1DE oD Do 04 




CTA 
blA 


«U4UD 


ro7i on JR n^ 

\jLt 1 3U ID uo 




STA 


YPOS,X 


0-11^4 An AO 

CI El A9 08 




1 nA 
LUA 


Ml) 


P074 pp RO n9 

OC Dc U& 




DEC 




04 ro or\ no r\A 

C1t3 8D OC D4 




STA 


4n>inp 
$U4Uu 


P077 nn Rn 

\jCt I UU DU 




BNE 


•vuiuvcn 


04 ce AC 00 
l/itb Ad 9o 




1 nA 

LUA 


ni 

L) 1 


P07Q AO nn 

KtLt 9 rSS UU 




LDA 


#0 


C1E8 18 




PI p 




r97R nn I*; nn 

\jC>v OU 13 UU 




STA 


53269 


oicn cn AA 
Llfcy 09 UA 




Anp 

AUb 


jiin 


P07F AO 00 
u£'C n9 SJO 




LDA 


#"{CLR}" 


04CD AA 
LI CD UA 




ACI 
AbL 




r^ftn 9n n? ff 

u^ou £M \ju rr 




JSR 


$FFD2 


PI CP on no nA 
UTtU oU Uo U4 




CTA 

blA 




rpfl^ A? nA 

\j£mO Ob UO 




LDX 


#10 


OHCC AA 04 

CIEr A9 81 




1 nA 
LUA 


ff i£a 


poflR An nF 

U£OD ou ur 




LDY 


#15 


04C-I on AD nA 

Cirl 8D UD D4 




CTA 

blA 


•pUnUD 


P007 Ifl 

U^Or 10 




CLC 


$FFF0 


04Ci( OC ni 

C1r4 Co 93 




ncp 

utu 


ni 
Ul 


pooo on Fn FF 

u^oo £M ru rr 




JSR 


04 on 4 c 

CIF6 DO IE 




BNE 


ADni 1 


poflR on nR r? 




JSR 


LEVLSOUND 


04 CO AC nc 

C1r8 A5 95 




1 nA 
LUA 


DIE PC 

rltUt 


pOflF AO 9n 
U^OC o9 OJ 




LDA 


#<MESS4 

tT ^1 VI UOO*1 


04 TA on An 

Clm C9 20 




Ulvir 


n6e. 


pooft An rn 

U£9U nU uU 




LDV 


#>'MESS4 


04 ro cn 4 A 

CIrC rO 12 




DtU 


PMIC 

rinib 


POQO on IF AR 




JSR 


$AB1E 


04 rC A A AA 

CIFE A9 20 




1 nA 
LUA 


Woe 


POOR An R7 n? 

U£99 oU Df MC 




LDA 


MOUNT 


onnn oc AC 

C200 85 95 




STA 


DICPC 


POQO nA 




ASL 


TEMP 


OAAA A C CD 

C202 A5 FB 




1 nA 
LUA 


U1 


POQQ QR in 
U^aS 00 lU 




STA 


OAAA OC A A 

C204 85 AA 




CTA 
blA 


1 nuu 

LUW 


POOR nA 
Kido UH 




ASL 




OAA^ A C CO 

C206 A5 FC 




LDA 


no 


poor nA 

Uc9L> Un 




ASL 




OAAO OC AD 

C208 85 AB 




CTA 
blA 


UIPU 

nlbn 


poon 1ft 
u^au 10 




CLC 


TEMP 


OOAA AC 0^ 

C2UA A5 94 




1 nA 

LUA 


no 


r7QF RR in 

U£9C DO lU 




ADC 


OAnO OC AO 

C20C 85 33 




CTA 
blA 


U1 


POArt AA 
U^nU nn 




TAX 




OAAC nA AO 

C20E DO Oo 




dNc 


ADni 1 
AnUU 


UH^I *to 




PHA 




004 n A A AA 

0210 A9 00 


FINIS 


1 nA 
LUA 


ffU 


P9A9 AQ nn 

\^CJ^C ns UU 




LDA 


#0 


004A OC AA 

C212 80 UA 




CTA 
blA 


PIPPPI AO 


9n nn Rn 

u£nrt £U uU DU 




JSR 


$BDCD 


OAlit OC CO 

L.214 85 5o 




CTA 
bio 


Aj DCAnpiRP 


P9A7 fifi 




PLA 




OA4 C CA 

C2iD 60 


ARUU 


DTC 
nib 




POAfl 1R 
u^nO 1 




CLC 


SCOREL 


0047 JlO nA OA 

C217 4C D4 C2 


JRITZ 


IMD 


DIT7 


P9AQ Rn RQ n? 

\t£rO DU D9 U£ 




ADC 


OA4 A An AA 

C21A A9 00 


LETGO 


1 nh 
LUA 


ffU 


P9AP ftn RQ n? 

u^nu OU D9 U£ 




STA 


SCOREL 


C21C 85 OA 

Ufa 1 V UO 




STA 


FIREFLA6 


C2AF AD BA 02 




LDA 


SCOREH 


C21E A6 A6 




LDX 


SPRNUM2 


C262 69 00 




ADC 


#0 


C220 BD 98 03 




LDA 


SPOnER,X 


C2B4 BD BA 02 




STA 


SCOREH 


C223 C9 02 




CMP 


#2 


C2B7 A9 00 




LDA 


#0 


C225 90 FO 




BCC 


JRITZ 


C2B9 85 A2 




STA 


162 


C227 AD 60 03 




LDA 


XPOSH 


C2BB A5 A2 


WISH 


LDA 


162 


C22A FO EB 




BEQ 


JRITZ 


C2BD C9 78 




CMP 


#120 


C22C AD 3C 03 




LDA 


XROS 


C2BF DO » 




BNE 


WISH 


C22F C9 37 




CMP 


#RI6HTLIMIT 


C2C1 68 




PU 




C231 DO E4 




BNE 


JRITZ 


C2C2 68 




PU 




C233 AD 46 03 




LDA 


YPOS 


C2C3 EE B5 02 




INC 


LEVEL 


C236 C9 D6 




CMP 


#D0WNLIMIT-1 


C2C6 4C 97 CO 




JMP 


NEWL 


C238 90 DD 




BCC 


JRITZ 


C2C9 20 23 C3 


NOraVER 


JSR 


DNSOUND 



190 



The Source Code 



C2CCA9 01 




LDA 


#1 


C2CE 9D 96 03 




STA 


SPOnER,X 


C2D1 20 FF C2 




JSR 


PICK 


C2D4 60 


RITZ 


RTS 




next level sound 










LEVLSOUND 


= 




C2D5 A9 14 




LDA 


#20 


C2D7 8D 04 D4 




STA 


$D404 


C2DA 8D 08 D4 




STA 


$D40B 


C2D0A9 OA 




LDA 


#10 


C2DF 8D 05 D4 




STA 


$D405 


32E2 8D OC D4 




STA 


$D40C 


;2E5 AD B5 02 




LDA 


LEVEL 


C2E8 OA 




ASL 




C2E9 18 




CLC 




C2EA 69 05 




ADC 


#5 


C2EC 6D 01 D4 




STA 


$0401 


C2EF A9 23 




LDA 


#35 


C2F1 8D 08 04 




STA 


$D408 


C2F4 A9 11 




LDA 


#17 


C2F6 8D 04 D4 




STA 


$D404 


C2F9 A9 15 




LDA 


#21 


C2FB 8D OB D4 




STA 


$D40B 


C2FE 60 




RTS 




:2FF E6 A8 


PICK 


INC 


COUNT 


C301 A6 A8 




LDX 


COUNT 


C303 BD F9 C7 




LDA 


COLTAB,X 


C306 86 A7 




STX 


GOODNUM 


C308 8D 20 DO 




STA 


53280 


SOB AO 07 




LDY 


#7 


C30D B9 F9 C7 


MMM 


LDA 


COLTAB,Y 


C310 99 27 DO 




STA 


53287,Y 


C313 88 




DEY 




C314 10 F7 




BPL 


MMM 


C316 60 




RTS 




C317 A2 18 


MAKESAFE 


LDX 


#24 


C319 AO 05 


UP 


LDY 


#5 


C31B 8A 




TXA 




C31C 20 A5 CC 




JSR 


Fur 


C31F CA 




DEX 




C320 D0F7 




BNE 


UP 


C322 60 




RTS 




got one ball In - 


- sound 







C323 






C323 


A9 


14 


0325 


8D 


OB D4 


0328 


AD 


B2 02 


C32B 


18 




032C 


69 


04 


032E 


8D 


01 D4 


0331 


AD 


B3 02 


0334 


OA 




0335 


OA 




0336 


OA 




0337 


OA 




0338 


8D 


08 D4 


C33B 


A9 


00 


033D 


8D 


00 D4 


0340 


A9 


15 


0342 


8D 


OB D4 


0345 


60 





DNSOUND 



LDA 
STA 
LDA 
CLC 
ADO 
STA 
LDA 
ASL 
ASL 
ASL 
ASL 
STA 
LDA 
STA 
LDA 
STA 
RTS 



#20 

$D40B 

NUMSPR 

#4 

$D401 
NUMMEN 



$D408 

#12 

$040C 

#21 

$040B 



0346 EE AO CE ADDIT 

0349 AD AO CE 
0340 09 7A 
C34E DO 11 

0350 A9 00 
0352 8D AO CE 
0355 FO OA 

C357 CE AO CE SUBIT3 
C3SA 10 05 
C350 A9 79 
C35E 8D AO CE 
0361 AD AO CE 
0364 AS 
C365 20 6F 03 
0368 B9 00 CE 
C36B 20 90 03 
C36E 60 



0K7 



laser moving sound 



move the lasers 
0346 LASERMOVE 



C36F 
C36F AD 9B 03 
0372 09 19 
0374 BO 05 
0376 EE 9B 03 

0379 DO 05 
C37B A9 05 
037D 8D 9B 03 

0380 A9 14 
0382 8D OB D4 
0385 A9 07 
0387 80 01 D4 
C38A AD 9B 03 
0380 80 08 04 
0390 AO 26 
0392 80 00 D4 
0395 A9 15 
0397 80 OB 04 
039A60 
O39B05 

0390 48 
0390 AD AO CE 
C3A0A8 
03A1 B9 00 OF 
C3A4 85 04 
C3A5 B9 80 OF 
C3A9 85 05 
C3AB 68 
C3AC AO 00 
C3AE 91 04 
03B0A5 04 
C3B2 18 
C3B3 69 00 
C3B5 85 04 
03B7 A5 05 
03B9 69 04 
03BB 85 05 
C3BDA9 07 
C3BF 91 04 
03C1 60 

ballmoving routine 
0302 

0X2 A2 07 
03C4 BD 96 03 
C3C7 FO 03 
03C9 40 83 04 
0300 BO 46 03 



NOSIT 



SNDLAS 
LAS2 



PULSE 
PUTIT 



BALL 

BALL00P1 



BOU 



INC 


BOX 


LDA 


BOX 


CMP 


#122 


BNE 


0K7 


LOA 


#0 


STA 


BOX 


BEQ 


0K7 


DEC 


BOX 


BPL 


aK7 


LOA 


#121 


STA 


BOX 


LOA 


BOX 


TAY 
JSR 


NOSIT 


LOA 


LASER.Y 


JSR 


PUTIT 


RTS 




= 
LDA 


* 

PULSE 


OMP 


#25 


BOS 


SNDLAS 


INO 


PULSE 


BNE 


LAS2 


LOA 


#5 


STA 


PULSE 


LDA 


#20 


STA 


$D40B 


LDA 


#7 


STA 


$D401 


LDA 


PULSE 


STA 


$D40B 


LDA 


#32+6 


STA 


$D40C 


LDA 


#21 


STA 


$D40B 


RTS 




.BYT 


5 


PHA 




LDA 


BOX 


TAY 




LDA 


LOWBYTE,Y 


STA 


4 


LDA 


HIGHBYTE.Y 


STA 


5 


PLA 




LDY 


#0 


STA 


(4),Y 


LDA 


4 


CLC 




ADC 


#<54272 


STA 


4 


LDA 


5 


ADC 


#>54272 


STA 


5 


LDA 


#7 


STA 


(4),Y 


RTS 


LDX 


#NUMBALLS 


LDA 


SPOnER,X 


BEQ 


BOU 


JMP 


ON 


LDA 


YPOS,X 



191 



Chapter 3 



C3CF C9 37 




CMP 


lu ini Ik MIT 

ffUPUMIT 


C3D1 DO 05 




BNE 


N0B1 


C3D3 FE 46 03 




INO 


YPOS.X 


C3D6 DO 07 




BNE 


BOUNCE 


C3D8 C9 D7 


N0B1 


OMP 


#DOWNLIMIT 


C3DA DO 11 




BNE 


NUBOUNCE 


C3DC DE 46 03 




DEO 


YPOS,X 


C3DF BD 64 03 


BOUNCE 


LX)A 


YDIR,X 


C3E2 49 01 




EOR 


#1 


C3E4 9D 64 03 




STA 


YDIR,X 


C3E7 20 8A C4 




JSR 


RANDOMIZE 


C3EA 20 B7 C4 




JSR 


BONK 


C3ED BD 3C 03 


NOBOJNOE 


IDA 


XPOS,X 


C3F0 C9 37 




OMP 


ffLEFTLIMIT 


C3F2 DO OA 




BNE 


NE1 


C3F4 BD 50 03 




LOA 


XPOSH.X 


C3F7 DO 05 




BNE 


NE1 


C3F9 FE 3C 03 




INO 


XPOS,X 


C3FC DO OF 




BNE 


BOUNCEZ 


C3FE BD 3C 03 


NE1 


LDA 


XPOS,X 


C401 C9 37 




OMP 


ffRlGHTUMIT 


C403 DO 16 




BNE 


N0B02 


C405 BD 50 03 




LDA 


XPOSH,X 


C408 FO 11 




BEQ 


NUd02 


C40A DE 30 03 




DEO 


XrUS,X 


C40D BD 5A 03 


BOUN0E2 


LDA 


XDIR,X 


C410 49 01 




EOR 


#1 


C412 9D 5A 03 




STA 


XDIR,X 


C415 20 8A C4 




JSR 


RANDOMIZE 


C418 20 87 04 




JSR 


BONK 


041 B BD 5A 03 


N0B02 


LDA 


XDIR.X 


C41E DO ID 




BNE 


SUBIT 


0420 BD 82 03 




LDA 


XPOSL.X 


0423 18 




OLO 




0424 7D 6E 03 




ADO 


r\ri TAV v 

DELTAX.X 


0427 9D 82 03 




STA 


XPOSL,X 


C42A BD 30 03 




LDA 


XPOS,X 


0420 69 00 




ADC 


#0 


042F 9D 30 03 




STA 


XPOS,X 


0432 BD 50 03 




LDA 


XPOSH,X 


0435 69 00 




ADC 


#0 


0437 90 50 03 




STA 


XPOSH,X 


C43A 40 57 04 




JMP 


DOY 


C43D BD 82 03 


SUBIT 


LDA 


XPOSL,X 


0440 38 




SEO 




0441 FD 6E 03 




SBO 


DELTAX,X 


0444 9D 82 03 




STA 


XPOSL.X 


0447 BD 30 03 




LDA 


\/nA^ V 

XPOS,X 


C44A E9 00 




SBO 


#0 


C44C 90 30 03 




STA 


XPOS.X 


044F BD 50 03 




LDA 


XPOSn.X 


0452 E9 00 




SBO 


#0 


0454 9D 50 03 




STA 


XPOSH,X 


0457 BD 64 03 


DOY 


LOA 


YOIR.X 


C45A DO 15 




BNE 


SUBIT2 


0450 BD 80 03 




LDA 


YPOSL,X 


045F 18 




OLO 










nPITAYV 
UCLIHI,A 


0463 9D 80 03 




STA 


YPOSUX 


0466 BD 48 03 




LOA 


YPOS,X 


0469 69 00 




ADO 


#0 


C46B 9D 46 03 




STA 


YPOS,X 


046E 40 83 04 




JMP 


ON 


0471 BD 80 03 


SUBIT2 


LOA 


YPOSL,X 


0474 38 




SEO 




0475 FD 78 03 




SBO 


DELTAY,X 


0478 9D 80 03 




STA 


YPOSUX 


047B BD 46 03 




LDA 


YPOS,X 


047E E9 00 




SBC 


#0 


0480 9D 46 03 




STA 


YPOS,X 



192 



0483 OA 


ON 


DEX 




C4o4 rU 03 




BEQ 


□ CT1 

ntn 


C486 40 C4 03 




JMP 


DAI 1 nnoi 
DALLJUUrl 


p Attn on 

C489 60 


RET1 


RTS 




PilOA m A7 PJ 

C48A 20 A7 04 


RANDOMIZE 


JSR 


KANUUM 


C480 18 




OLO 




048E 70 dE 03 




ADO 


nCI TAV V 

UcLTAX,X 


0491 09 64 




CMP 


#100 


P AA1 AA AO 

0493 90 03 




800 


DONT 


PAAC An oc AO 

0495 9D 6E 03 




STA 


nCl TAV V 

ucLIAa,X 


PAAA OA A 7 PA 

0498 20 A7 04 


DONT 


JSR 


RANDOM 


Af\n HQ 

C49B 18 




OLO 




0490 70 78 03 




ADO 


DELTAY.X 


049F 09 96 




OMP 


#150 


04A1 90 03 




BCC 


D0NT2 


C4A3 9D 78 03 




STA 


DELTAY.X 


C4A6 60 


D0NT2 


□TC 

nib 




C4A7 AD IB 04 


RANDOM 


LDA 


$041 B 


04AA 29 IF 




AND 


#31 


04AC AC IB 04 




LDY 


$041 B 


04AF 10 05 




K'L 


UN 


C4B1 49 FF 




tUn 




C4B3 18 




PI p 




C4B4 69 01 




Anp 
AUU 


ffl 


0486 60 


OK 


DTC 




; ball bounce sound routine 






C4B7 


BONK 






C4B7 A9 80 




LUA 


n\CQ 


0489 80 04 D4 




STA 




0480 A9 40 




LDA 


#64 


048E 80 05 04 




STA 


$D405 


C401 A9 14 




LDA 


#20 


0403 80 01 04 




STA 


$D401 


0406 A9 81 




LDA 


#129 


0408 80 04 04 




STA 


$D404 


C40B60 




RTS 




; Inltlallsitlons 








'C40C 


INIT 






0400 20 54 CO 




JSR 


SETSID 


04CF A9 00 




LDA 


#0 


04D1 85 00 




STA 


FLOP 


C4D3 85 OA 




STA 


□DC CI AP 

rlHtrLAb 


0405 85 53 




STA 


Al DCAnCIDC 

ALncAUrlnb 


0407 A9 09 




LDA 


#rLDPPcn 


0409 85 40 




STA 


□ PDTIkACD 


0408 80 AA 02 




OTA 
blA 


CI APH nuf 
rLAb^LUW 


C4DE A9 80 




1 r\A 
LUA 


ffleO 


C4E0 80 OF D4 




STA 


54287 


C4E3 80 12 04 




STA 


04^yU 


04E6 A9 08 




LDA 


ffO 


04E8 85 41 




OTA 
blA 


JUtL 


C4EA 85 42 




CTA 
blA 


invu 
JUtM 


04EO A9 03 




LDA 


wi 
no 


C4EE 80 B8 02 




STA 




C4F1 A9 07 




LDA 


#7 


04F3 80 A7 02 




STA 


LASERL 


C4F6 80 A8 02 




STA 


LASERH 


04F9A0 07 




LDY 


#NUMBALLS 


C4FB 20 2A 05 


L00P1 


JSR 


RAND 


C4FE 99 6E 03 




STA 


OELTAX,Y 


C501 20 2A 05 




JSR 


RAND 


0504 99 78 03 




STA 


DELTAY.Y 


0507 AD 18 D4 




LDA 


SD41B 


050A 29 01 




AND 


#1 


0500 99 5A 03 




STA 


XDIR,Y 


C50F AD 18 04 




LDA 


30418 



The Source Code 



C512 29 01 


AND 


#1 


C59B 9D 00 CE 


STA 


LASER,X 


C514 99 64 03 


STA 


YD1R,Y 


C59E A5 02 


LDA 


2 


C517 88 


DEY 




C5A0 9D 00 CF 


STA 


LOWBYTE,X 


C518 DO El 


BNE 


L00P1 


C5A3A5 03 


LDA 


3 


C51A A9 09 


LDA 


#9 


C5A5 9D 80 CF 


STA 


HIGHBYTE,X 


C51C 85 M 


STA 


SPRNUM 


C5A8 60 


RTS 




C51E A9 00 


LDA 


#0 








C520 85 A8 


STA 


COUNT 


; sprite movement routine 






C522 20 FF C2 


JSR 


PICK 






C525 A9 01 


LDA 


#1 


C5A9 SPRMOVE 






C527 85 3F 


STA 


ODIR 


C5A9 A9 00 


LDA 


#0 


C529 60 


RTS 




C5AB 85 10 


STA 


TEMP 


C52A AD IB D4 RAND 


LDA 


$D41B 


C5AD A2 07 


LDX 


m 


C52D C9 96 


CMP 


#150 


C5AF AO OE 


LOT 


#14 


C52F 90 F9 


BCC 


RAND 


C5B1 BD 96 03 SPRL00P1 


LDA 


SPOnER,X 


C531 60 


RTS 




C5B4 C9 02 


CMP 


#2 


C532 00 05 OA SCORTAB 


.BYT 


0,5,10,20,40,80,120, 


C5B6 DO 12 


BNE 


NET 



160 C5B8AD3C03 LDA XPOS 

C5BB 9D 3C 03 STA XPOS,X 

set up laser movement C5BE AD 46 03 LDA YPOS 

C5C1 9D 46 03 STA YPOS,X 



C53A 


SETUP 


= 


* 


0504 AD 50 03 


LDA 


XPOSH 


C53AA2 FF 




LDX 


#255 


0507 9D 50 03 


STA 


XPaSH,X 


C53C A9 03 




LDA 


#<1027 


050A BD 50 03 NET 


LDA 


XPOSH,X 


C53E 85 02 




STA 


2 


05CD4A 


LSR 




C540 A9 04 




LDA 


#>1027 


05CE 26 10 


ROL 


TEMP 


C542 85 03 




STA 


3 


O5D0 BD 3C 03 


LDA 


XPOS,X 


C544 A9 22 


WOP 


LDA 


#34 


05D3 99 00 DO 


STA 


53248,Y 


C546 20 9A C5 




JSR 


PUT 


05D6 BD 46 03 


LDA 


YPOS,X 


C549 E6 02 




INC 


2 


C5D9 99 01 DO 


STA 


53249,Y 


C54B A5 02 




LDA 


2 


05DC88 


DEY 


C54D C9 28 




CMP 


#40 


050D8B 


DEY 




C54F DO F3 




BNE 


VOOP 


05DE CA 


DEX 




C551 C6 02 




DEC 


2 


05DF 10 DO 


BPL 


SPRL0OP1 


C553 A9 23 


V00P2 


LDA 


#35 


05E1 A5 10 


LDA 


TEMP 


C555 20 9A C5 




JSR 


PUT 


C5E3 8D 10 DO 


STA 


53264 


C558 A5 02 




LDA 


2 


C5E6 60 


RTS 




C55A18 




CLC 










C55B 69 28 




ADC 


#40 


; joystick movement 






C55D 86 02 




STA 


2 






C55F A5 03 




LDA 


3 


C5E7 JOYSTICK 






C561 69 00 




ADC 


#0 


C5E7 A9 00 


LDA 


#0 


C563 85 03 




STA 


3 


C5E9 85 06 


STA 


DIR 


CS65 A5 02 




LDA 


2 


C5EB AO 00 


LDY 


#0 


C567 09 E7 




OMP 


#231 


05ED A5 53 


LDA 


ALREADFIRE 


C569 DO E8 




BNE 


mP2 


05EF FO 01 


BEQ 


DUIT 


C56B A9 BF 




LDA 


#191 


05F1 60 


RTS 




C56D 85 02 




STA 


2 


05F2 AD 00 DC DUIT 


LDA 


$DCOO 


C56F A9 24 


VD0P3 


LDA 


#36 


C5F5 4A 


LSR 




C571 20 9A C5 




JSR 


PUT 


C5F6 BO OF 


BCS 


NOTUP 


C574 C6 02 




DEC 


2 


C5F8 AE 46 03 


LDX 


YPOS 


C576 A5 02 




LDA 


2 


C5FB EO 37 


CPX 


#UPLIMIT 


C578 C9 9A 




CMP 


#154 


C5FDF0 08 


BEQ 


NOTUP 


C57A DO F3 




BNE 


VD0P3 


C5FF CE 46 03 


DEC 


YPOS 


C57C E6 02 




INC 


2 


0602 A2 01 


LDX 


#1 


C57E A9 21 


V00P4 


LDA 


#33 


C604 86 06 


STX 


DIR 


C580 20 9A C5 




JSR 


PUT 


C606 C8 


INY 




C583 A5 02 




LDA 


2 


0607 4A NOTUP 


LSR 




C585 38 




SEC 




O608 BO OF 


BOS 


NOTDOWN 


C586 E9 28 




SBC 


#40 


060A AE 46 03 


LDX 


YPOS 


C588 85 02 




STA 


2 


C60O EO D7 


CPX 


#O0WNLIMIT 


C58AA5 03 




LDA 


3 


C60F FO 08 


BEQ 


NOTDOVN 


C58C E9 00 




SBC 


#0 


0611 EE 46 03 


INO 


YPOS 


C58E 85 03 




STA 


3 


0614 A2 02 


LDX 


#2 


0590 C9 03 




OMP 


#3 


0616 86 08 


STX 


DIR 


0592 DO EA 




BNE 


W0P4 


C618 08 


INY 




C594 AS 14 




LDA 


#20 


0619 4A NOTDOWN 


LSR 




C596 8D AO CE 




STA 


BOX 


061A BO 3B 


BCS 


NOTLEFT 


C599 60 




RTS 




0610 20 EO 06 


JSR 


CHECK 


C59A E8 


PUT 


INX 




061F BO OF 


BCS 


N0P1 



Chapter 3 



C621 DO 34 




BNE 


NOTLEFT 


C623 48 




PHA 




C624 A9 20 




LDA 


#32 


C626 20 9C C3 




JSR 


PUTIT 


C629 20 57 C3 




JSR 


SUBIT3 


C62C 68 




PLA 




C62D 4C 57 C6 




JMP 


NOTLEFT 


C630 AE 50 03 


N0P1 


LDX 


XPOSH 


C633 DO 07 




BNE 


NOCHECK 


C635 AE 3C 03 




LDX 


XPOS 


C638 ED 19 




CPX 


#LEFTLIMIT-30 


C63A FO IB 




BEQ 


NOTLER 


C63C4B 


NOCHECK 


PHA 




C63D AD 3C 03 




LOA 


XPOS 


C640 38 




SEC 




C641 E9 01 




SBC 


#1 


C643 8D 3C 03 




STA 


XPOS 


C646 AD 50 03 




LOA 


XPOSH 


C649 E9 00 




SBC 


#0 


C64B 8D SO 03 




STA 


XPOSH 


C64E CO 00 




CPY 


#0 


C650 DO 04 




BNE 


NOPE 


C652 A9 03 




LDA 


#3 


C654 85 06 




STA 


DIR 


C65S 68 


NOPE 


PLA 




C657 4A 


NOTLEFT 


LSR 




C658 BO 3B 




BCS 


NOTRIGHT 


C65A 20 EC C6 




JSR 


CHECK 


C65D BO OF 




BCS 


N0P2 


C65F DO 34 




BNE 


NOTRIGHT 


C661 48 




PHA 




C662 A9 20 




LDA 


#32 


C664 20 9C C3 




JSR 


PUTIT 


C687 20 46 C3 
C66A 68 




JSR 
PLA 


ADOIT 


C666 4C 95 C6 




JMP 


NOTRIGHT 


C66E AE 50 03 


N0P2 


LDX 


XPOSH 


C671 FO 07 




BEQ 


N0CHECK2 


C673 AE 3C 03 




LDX 


XPOS 


C676 EO 37 




CPX 


#RIGHTLIMIT 


C678 FO IB 




BEQ 


NOTRIGHT 


C67A 48 


N0CHECK2 


PHA 




C67B AO 3C 03 




LOA 


XPOS 


C67E 18 




CLC 




C67F 69 01 




ADC 


#1 


C681 8D 3C 03 




STA 


XPOS 


C684 AD 50 03 




LDA 


XPOSH 


C687 69 00 




ADC 


#0 


C689 8D 50 03 




STA 


XPOSH 


C68C CO 00 




CPY 


#0 


C6BE 00 04 




BNE 


N0PE2 


C690 A9 04 




LDA 


#4 


C692 85 06 
C694 68 


N0PE2 


STA 
PLA 


DIR 


C695 4A 


NOTRIGHT 


LSR 




C696 BO 04 




BCS 


O0NE1 


C698 A9 01 




LOA 


#1 


C69A 85 OA 




STA 


rintrLAb 


C69C A5 06 


D0NE1 


LDA 


DIR 


C69E DO OA 




BNE 


NOTSTANDING 


C6A0 A6 3F 




LDX 


ODIR 


C6A2 BD 10 C7 




LOA 


STANDTAB-1,X 


C6A5 8D F8 07 




STA 


2040 


C6A8 DO 3F 




BNE 


DONEDIR 


C6AA C6 40 


NOTSTANDI 


DEC 


FLOPTIMER 


C6AC DO 30 




BNE 


NOFLOP 


C6AE A9 09 




LDA 


#FLOPPER 


C6B0 85 40 




STA 


FLOPTIMER 


C6B2 A5 OC 




LDA 


FLOP 


C6B4 49 01 




EOR 


#1 



194 



C6B6 85 OC 




STA 


FLOP 


C6B8 A9 40 




LOA 


#64 


C6BA 80 04 D4 




STA 


$0404 


C6BD A5 06 




LDA 


DIR 


C6BF CO 83 CC 




CMP 


DIRSV 


C6C2 FO 08 




BEQ 


OLDIR 


C6C4 8D 83 CC 


NUDIR 


STA 


DIRSV 


C6C7 A9 00 




LDA 


#0 


C6C9 BD 84 CC 




STA 


STEPCOUNT 


C6CC EE 84 CC 


OLDIR 


INC 


STEPCOUNT 


C6CF AD 84 CC 




LDA 


STEPCOUNT 


C6D2 18 




CLC 




C6D3 69 05 




ADC 


#5 


C6D5 OA 




ASL 




C8D6 80 01 04 




STA 


$0401 


C6D9 A9 41 


STEPS 


LDA 


#65 


C6DB 80 04 04 




STA 


$0404 


C6DE AS OC 


NOFLOP 


LOA 


FLOP 


C6E0 A6 06 




LDX 


DIR 


C6E2 18 




CLC 




C6E3 70 14 C7 




ADC 


OFFTAB— 1,X 


C6E6 80 F8 07 




STA 


2040 


C6E9 86 3F 


DONEDIR 


STX 


ODIR 


C6EB 60 




RTS 




C6EC AE 3C 03 


CHECK 


LDX 


XPOS 


C6EF EO 19 




CPX 


#LEFTLIMIT— 30 


C6F1 DO 1C 




BNE 


NE6 


C6F3 AE 46 03 




LDX 


YPOS 


C6F6 EO 37 




CPX 


#UPLIMIT 


C6F8 DO 15 




BNE 


NE6 


C6FA AE 50 03 




LDX 


XPOSH 


C6FD DO 10 




BNE 


NEB 


C6FF CE A7 02 




DEC 


LASERL 


C702 DO 08 




BNE 


OUT 


C704 AE A8 02 




LDX 


LASERH 


C707 8E A7 02 




STX 


LASERL 


C70AA2 00 




LDX 


#0 


C70C 18 


OUT 


CLC 




C70D 90 01 




BCC 


RET9 


C70F 38 


NEB 


SEC 




C710 60 


RET9 


RTS 




C711 CC CF 03 


STANDTAB 


.BYT 


204,207.211,213 


C715 CD DO 02 


OFFTAB 


•BYT 


205,208,210,212 


; set up the screen 






C719 


SCREENSET 


' 




C719 A9 93 




.DA 


#"{CLR}" 


C71B 20 02 FF 




JSR 


$FFD2 


C71E A9 00 




LDA 


#0 


C720 80 21 DO 




STA 


53281 


C723 A9 OB 




LDA 


#11 


C725 80 20 00 




STA 


53280 


C728 A9 18 




LDA 


#24 


C72A 85 10 




STA 


TEMP 


C72C A9 69 


FLOOP 


LDA 


#<LINE9 


C72E AO C7 




LDY 


#>LINE9 


C730 20 IE AB 




ICQ 

Jon 


tAR1P 
«nDIC 


C733 C6 10 




DEC 


TEMP 


C735 DO F5 




BNE 


FLOOP 


C737 AO 25 




LOY 


#37 


C739 98 


V7 


Tift 




C73A 99 BF 07 




STA 


1983,Y 


C73D A9 01 




LDA 


#1 


C73F 99 BF DB 




STA 


56255,Y 


C742 C8 




INY 




C743 CO 28 




CPY 


#40 


C745 DO F2 




BNE 


V7 


C747 A2 13 




LDX 


#19 


C749 A9 AO 


CRP2 


LDA 


#160 



The Source Code 



C74B 9D CO 07 




STA 


C74E A9 OA 




LDA 


C750 9D CO OB 




STA 


C753 CA 




DEX 


XjIW IU rO 




DDI 
DrL 


C756 A2 18 




LDX 


C758 AO 14 




LOT 


C75A IB 




CLC 


C75B 20 FO FF 




JSR 


C75E A9 70 




LDA 


C760 AO C7 




LDY 


C762 20 IE AB 




JSR 


0765 20 78 CD 




JSR 


0768 60 


DUEN 


RTS 


0769 1E 12 20 


UNE9 


JSC 


C76E OD 00 




.BYT 


0770 9F 12 53 


SCRE 


J«C 


077A 00 




.BYT 



sel up sprites 



077B SPRITE 



077B AO 00 




LOY 


077D B9 22 C8 


SPL00P1 


LDA 


C780 99 00 33 




STA 


C783 B9 22 C9 




LDA 


0786 99 00 34 




STA 


0789 B9 22 CA 




LDA 


0780 99 00 35 




STA 


078F 88 




DEY 


0790 DO EB 




BNE 


0792 A9 FF 




LDA 


0794 8D IS DO 




STA 


0797 A9 07 




LDA 


0799 A8 




TAY 


C79A 38 




SEC 


C79B ED B2 02 




SBO 


C79E 85 10 




STA 


C7A0 B9 F9 07 


SPL00P2 


LDA 


C7A3 99 27 DO 




STA 


C7A6 B9 01 C8 




LDA 


C7A9 99 F8 07 




STA 


C7AC AD 01 08 




LDA 


C7AF 8D F8 07 




STA 


07B2 BO 09 08 




LDA 


07B5 99 30 03 




STA 


07B8 AD 09 08 




LDA 


07BB 8D 30 03 




STA 


07BE B9 11 08 




LDA 


0701 99 46 03 




STA 


0704 AD 11 C8 




LDA 


0707 8D 46 03 




STA 


C70A B9 19 08 




LDA 


C7CD99 50 03 




STA 


O7D0 A9 00 




LDA 


07D2 8D 50 03 




STA 


07D5 A9 00 




LDA 


07D7 99 96 03 




STA 


C7DA8D 96 03 




STA 


C7DD88 




OEY 


C70E C4 10 




CPY 


C7E0 DO BE 




BNE 


C7E2 A9 FF 




LDA 


07E4 80 10 DO 




STA 


07E7 A9 07 




LDA 


07E9 80 25 DO 




STA 


07EC A9 06 




LDA 


C7EE 8D 26 DO 




STA 


C7F1 A9 1A 




LDA 



1984,X 


07F3 85 A9 


#10 


07F5 20 17 03 


56256,X 


07F8 60 




C7F9 02 02 03 


0RP2 


0801 CO D6 D6 


#24 




#20 


UOU9 19 D*t D*t 


$FFFO 


PQ11 flA RA 
\M 1 1 uH Df Vi 


#<SCRE 




#>SCRE 


0819 00 00 00 


$AB1E 


0821 60 


SCOROUT 


C822 00 00 00 




C82A 00 00 FF 


■{GRN){RVS} " 


0832 FF 00 00 


13,0 




•{OYN}{RVS}S0O 


083A 02 FF 80 









0842 80 00 55 




C84A FF 00 00 


* 


0852 00 FF 00 


#0 




SPRDAT.Y 


085A 00 00 AA 


13056,Y 


C862 00 00 00 


SPRDAT+256,Y 


C86A 00 00 FF 


13056 + 256,Y 


C872 FF 00 00 


SPRDAT+512,Y 




13056+512,Y 


C87A 02 FF 80 


SPL00P1 


C882 80 00 55 


#255 




53269 


C88A FF 00 00 


#7 






0892 00 AF 00 




C89A 00 00 OA 


NUMSPR 


C8A2 00 00 00 


TEMP 


C8AA 00 00 FF 


00LTAB,Y 


08B2 FF 00 00 


53287,Y 




PTRTAB,Y 


08BA 02 FF 80 


2040,Y 




PTRTAB 


08C2 00 02 55 


2040 


08CA FF 00 00 


XPTAB,Y 




XPOS.Y 


C8D2 00 fA OO 


ypTAR 
Ar IMD 




XPOS 


08DA 00 00 AO 


YPTAB,Y 


C8E2 00 00 00 


YPOS.Y 


C8EA 00 00 FF 


YPTAB 


C8F2 FF 00 00 


YPOS 




XPHTAB,Y 


C8fi^ 02 FF 80 


XPOSH,Y 




#0 


O902 80 00 55 


XPOSH 




#0 


C90A FF 00 00 


SP0nER,Y 




SPOHER 


0912 00 FF 00 


TEMP 


C91A 00 00 AA 


SPU)0P2 


0922 00 00 00 


#255 


092A 00 00 FF 


53276 


0932 FF 00 00 


#7 




53285 


093A 02 FF 80 


#6 




53286 


0942 80 00 55 


#26 







STA 


FLAG2 




JSR 


MAKESAFE 




RTS 




GOLTAB 


.BYT 


2,2,3,4,13,6,7,11 


PTRTAB 


.BYT 


204.214,214,214,21 






4,214,214,214 


XPTAB 


.BYT 


25,100,100,100,100, 






100,100,100 


YPTAB 


BYT 


inn inn inn inn in 






0.100.100.100 


Arn InD 


BYT 


u,u,u,u,u,u,u,u 




RTS 




SPRDAT 


.BYT 


0,0,0,0,0,0,0,60 




.BYT 


0,0,255,0,0,255,0,0 




.BYT 


255,0,0,60,0,2,255,1 






28 




.BYT 


002,255.128,2,255,1 






28,0,255 




.BYT 


128,0,85,128,0,255, 






0,0 




.BYT 


255,0,0,255,0,0,255, 




.BYT 


Q 

0,255,0,0,100,0,0,17 




.BYT 




0,0,170,0,0,170,0,0 




.BYT 


0,0,0,0,0,0,0,60 




.BYT 


0,0,255,0,0,255,0,0 




.BYT 


255,0,0,60,0,2,255,1 






28 




.BYT 


002,255,128,2,255,1 






28,0,255 




.BYT 


128,0.85,128.0,255, 











.BYT 


255,0.0.255,0.0.175. 

Q 




.BYT 


0,175,0,0,10,0,0,10 




.BYT 


0,0,10,0,0,10,0,0 




.BYT 


0,0,0,0,0,0,0,60 




.BYT 


0,0,255.0,0,255.0,0 




.BYF 


255.0,0,60,0.2.255,1 






28 




.BYT 


002.255,128.2,255.1 






28.2,255 




.BYT 


0,2,85.0,0,255.0,0 




.BYT 


255,0,0,255,0,0,250, 

Q 




.BYT 


0,250,0,0,160,0,0,16 




.BYT 


Q 

0,0,160.0,0,160.0,0 




.BYT 


0,0,0,0.0.0.0.60 




.BYT 


0,0,255.0,0,235.0,0 




.BYT 


255.0.0,60,0.2.255.1 






28 




.BYT 


002,255,128.1.255.1 






28,1,255 




.BYT 


128,0,85,128,0,255, 






128,0 




.BYT 


255,0,0,255,0,0,255, 


SPRDAT2 


.BYT 




0.255.0.0.170.0,0,17 




.BYT 




0,0,170,0,0,170,0,0 




.BYT 


0,0,0,0,0,0,0,60 




.BYT 


0,0.255,0,0.235,0.0 




.BYT 


255,0,0,60.0,2,255.1 




.BYT 


28 

002,255,128,1.255,1 






28,1,255 




.BYT 


128.0,85,128.0,255. 



0,0 

195 



Chapter 3 



C94A FF 00 Uu 


•BYT 


occ n n occ n n occ 
255,0,0,255,0,0,255, 

















; redefine characters 






C932 00 AF 00 


.BYT 


n 47C n n ^n n n -in 
0,175,0,0,10,0,0,10 


I 








t^nck nn nn nA 

U95A UU 00 OA 


.BYT 


nninnninnn 
0,0,1 0,0,0,1 U,U,U 


CAE2 


CHAR 






ftncn nn nn nn 

CSo2 00 00 00 


.BYT 


nnnnnnn cn 
0,0,0,0,0,0,0,60 


CAE2 78 




CCI 

oti 




pfiCA nn nn cc 
CSoA 00 00 rF 


.BYT 


n n OCR n n ooc n n 
0,0,255,0,0,2d5,0,0 


p*ro An oi 

CAE3 A9 33 




LUA 


JlCI 


pn70 cc nn nn 
C97Z rF 00 00 


.BYT 


ICC n n cn n o occ i 
250,U,U,DU,U,2,255,1 


CAE5 85 01 




CTA 

olA 


A 

I 






28 


PAC7 An nn 

CAE/ A8 00 




LDA 


#<14joO 


itmk no cc on 

C97A 02 FF oO 


.BYT 


nno occ loo o occ i 
002,255,126,2,255,1 


PAcn oc no 

UAE9 85 02 




OTA 

olA 


2 






00 occ 
28,2,255 


PACD An 00 

UAcD A9 38 




1 nA 
LUA 


«^1>I0QA 


nnno on m cc 

C9o2 60 01 55 


.BYT 


1 00 1 oc n 1 occ n n 
126,1,85,0,1,255,0,0 


PArn oc no 

CAED 85 03 




CTA 

olA 






r^noA cc nn nn 
u9oA FF 00 00 


.BYT 


occ n n occ n n occ 
255,U,U,253,U,U,255, 


PArr An nn 

CAEF A9 00 




1 nA 
LUA 


U^MOAa 

ff<0ot4o 









PACH OC nA 

CAF1 85 04 




OTA 

OlA 


4 


onno nn ca nn 

C992 00 m 00 


.BYT 


n ocn n n icn n n ic 
0,250,0,0,160,0,0.10 


PACO Aft nn 

CAF3 A9 DO 




LUA 


ii^CiOAQ 

ff>00t4a 









PACE OC nc 

CAF5 85 05 




CTA 

alA 


c 



pnflA nn nn An 
UyaA Uu Uu AO 


•BYT 


nmRnnn icnnn 
U,U,1dU,U,U,10U,U,U 


PACT AO no 

CAF7 A2 08 






no 


r^nK'i nn nn nn 
LaAz UU UU UU 


.BYT 


nnnnnnn o^tn 
U,U,U,U.U,U,U,2*IU 


PACO Aft nn 
UAr9 AO UU 




1 nv 
LUt 


ffU 


pnAA nn nn cr* 
UsAA UU UU rly 


DVT 
.□I 1 


n n oco n n loa n n 
U,U,23^,U,U,10o,U,U 


PA CD D1 ft^ 

UAtB Bl U4 


ruADi nno 


1 nA 

LUA 


tA\ V 
W.T 


PQDO cr* nn nn 
Ugb2 rli UU UU 


DVT 
.BY 1 


oco n n cn n n oci n 
^52,U,U,DU,U,U,2D1 ,U 


pAcn 01 no 
LWrU 91 U2 




CTA 


W,Y 


PODA CA nn 
uaoA H hft UU 


DVT 


non ocn n tt oca ioq 
U^U,^ jU,U,D,^ 1 £o 


CAFF 88 




UCT 








n occ 


pDnn nn co 
UBUU UU F9 




RMP 


pu ARi nnp 

(.inAnUJUr 


non on nn 
L^L^ tJU UU 5d 


DVT 

.DT 1 


1 0Q n Qc n n ojiq n n 
1^o,U,OD,U,U,2')o,U,U 


pDrto cc nc 
UdU2 to UO 




IMP 


c 




popA nn no 
uyUA rF UU Uo 


DVT 

.Bit 


occ n on7 n i c i c 

255,U,d,2U/,U,15,l5, 


pDn/ cc no 
L/dU4 bb Uo 




IMP 
IINU 









n 
U 


PDnC PA 




ncY 

UCA 




r'ono no nc nn 
bsU£ Ub Ur UU 


DVT 
-DT 1 


moicnoo icq an 


PDn7 nn co 
UBUr Uu r2 




DMC 
Dive 


PUADI noD 


ponA no no nn 
OyUA UK Uo UU 


DVT 
.BY 1 


nno {) n Q /n n n ocr 
UUd,o,U,o,'(U,U,U,^Oj 


ponn AD 07 

LBuy pa of 




1 nA 

LUn 


ffOO 


pnco nn nn nn 
t9c2 00 00 UU 


DVT 

.dYI 


nnnnnnn o^n 
U,U,U,U,U,U,U,^*(U 


PDnn oc nn 

CdOB 8o 01 




CTA 
OlA 


1 
1 


pQCA nn nn cf» 
LstA UU UU rU 


DVT 

.dYI 


n n oco n n 1 00 n n 
U,U,20^,U,U,1qO.U.U 


pnnn An nc 
UdUU A9 lb 




1 HA 
LUA 


ffoU 


pnco CP nn nn 
KtJirc rU UU UU 


.BYT 


oco n n cn n n oci n 
25^,U,U,0U,U,U,£51 ,U 


pDnc or> HO nn 

LBUr oU 16 Uu 




CTA 

olA 


C0070 


pQCA nn CD nn 
Usm UU rb UU 


DVT 

■BYI 


n OCI n i 71 n n oc 
U,^51,U,£, 1 M,U,U,2(} 


pruo An oc 

Ld12 AU or 




1 nv 

LUi 


fWW 






5 


^^D^ A nn <c pd 

Ld14 B9 IF Cd 


CHAnU 


1 nA 
LUA 


PUADnATA V 

l/nAnUAIA,Y 


PAm nn nn c*i coonATO 
UAU^ Uu UU 04 brnUAlo 


.BYT 


n n OjI n n oco n n 
0,0,64,0,0,252,0,0 


on -4 7 nA AO on 

CBi7 99 08 39 




CTA 

olA 


1 jIOOC -L OCjI V 

14000+ 204. Y 


PAnA CP nn nn 
UAUA rU UU UU 


.BYT 


oco n n cn n n cn n 
252,U,U,DU,U,U,oU,U 


Pn-1 A QO 

UdIA 88 




ncv 
UtY 




PA11 nn OP nn 

CA12 00 3C 00 


.BYT 


n cn n n An n n jin 
0,60.0,0,40,0,0,40 


PD1D in C7 

UdId 1U rf 




BPL 


PUADI 

l/HAnL2 


PAi A nn nn oo 
UAlA UU UU iio 


DVT 


n n jin n n ico n occ 
U,U,4U,U,U.lDo,U,255 


pnnn CO 

CB1D 58 




PI 1 
ULI 




PAOO nn nn nn 
uA2^ UU UU UU 


.BYT 


nnnnnnnic 
U,U.U,U,U,U.U,15 


Pru r on ' 

CB1E 60 




DTC 

nio 




PA1A nn nn oc 

CA2A 00 00 3F 


.BYT 


n n CO n n co n n 
0,0,63,0,0,62,0,0 


f^nA r AA ^A no 

CB1F 80 CO D8 


Ann ATA 

CHARDATA 


.BYT 


1 00 1 no oi c 001 00 
12o,192,210,2o1,2o 


PAOO oc nn nn 
CAo2 3F 00 00 


.BYT 


nco n n cn n n ooq n 
UDo,U,U,DU,U,U,2o9,U 








1 01C 100 100 

1,210,192,126 


PAD* nn AC on 

UAoA UU Ar ^U 


.BYT 


n 17C 00 iOI 100 


OAAT CC TC A a 

CB27 FF It 18 




.BYT 


occ IOC OA OC OC OA 

200,1 20.24,00,00.24 






2,255 








,24,24 


pAiio nn nn nc 
CA42 00 00 95 


.BYT 


n n I Ad n n on n n 
0,0,149,0,0,39,0,0 


CB2F 01 03 IB 




.BYT 


1 07 001 001 07 

1.0.2f ,2o1.2o1.2/.o. 


PAiiA CC nn nn 

CA4A F5 00 00 


.BYT 


OAC n n Olio nno n o 

245,0,0,243,192,0,2 








1 






40.240 


CB37 18 18 18 




.BYT 


OA OA OA OC OC OA 1 

24,24,24,36,36,24,1 


PAM nn cn on 
\jPOc UU rU oU 


DVT 

.BY I 


n o^n AQ AO 100 oo 








oc occ 
20,255 






00 ft 


CB3F 7F 3F 2A 




DVT 
.BYI 


107 CO AO 01 01 1 C 
l£f ,D0.4£,01.21,10, 


PACA on on nn 
IjAOA ^U 2U uu 


DVT 

.BYI 


ftoo 00 n 00 ft ft jin 
U32,o2,U,o2,U.U,4U,2 








1ft 7 

10,7 






cc 


CB47 FF FF A5 




nvT 

.BYI 


occ occ ICC OCR 00 

£00,200,1 00.200,02. 


PACO nn nn nn 

uad2 uu uu uu 


DVT 

.BYI 


ftftftftftftn ic 
U.U,U,U.U,U,U,15 








occ ICC occ 
255.155,255 


PACA nn nn oc 
UAOA UU UU or 


DVT 


ft ft CO ft ft CO ft ft 

U,U,Do,U,U,02,U,U 


CB4F F8 FO 50 




DVT 

.BYI 


OjIQ OAtX Oft 00^ ICft 

246,24U,oU.224,1 OU, 


PA70 oc nn nn 
kAic. or UU UU 


DVT 
.BY 1 


nco ft ft cn ft ft OOQ n 
Uoo.U.U,DU,U,U.£09,U 








100 ttA 100 

192,04,1 £0 


PA? A nn cc 

Wifft uu Cr 1*1 


DVT 
.DT 1 


ft 000 on n o^a i jtii 

U,£09,£U,U,£04,1 44, 


CB57 IC 14 ID 




DVT 
.BYI 


00 on OQ CO 00 cft o 
£0,^U,2g,DO,92,bU,2 






ft occ 








n CA 
U,54 


PAQO nn nn ii; 
\^vi£, uu uu ID 


DVT 
.DT 1 


n n 01 n n CO n n 

U,U,^1,U,U,D0,U,U 










PAQA oc nn nn 

WWn or UU UU 


DVT 

.HT 1 


nco ft ft cn n ft cn n 

U0i3,U,U,OU,U,U,DU,U 


; collision subroutine 






PAQO nn OP nn 
w'ac UU UU 


RVT 
.DT 1 


n cn n n n n 

U,DU,U,U,*tU|U,U,*lU 










PAQA nn nn oo 
Unsn UU UU £.0 


RVT 
.DT 1 




CB5F 


COLLISION 






PAAO nn nn nn 

Unnt UU UU UU 


RVT 
.DT 1 


nnnnnnn n 
u,u,u,u,u,u,u,u 


CB5F AD IE DO 




1 nA 

LUA 


C007I1 


CAAA 00 00 AA 


.BYT 


00170 2 170 128 


CB62 29 01 




AND 


#1 






10 


GB64 FO 65 




BEQ 


HOME 


CAB2 5A AO 09 


.BYT 


090,160,9,90,160,41 


GB66A2 07 




LDX 


#7 






,108,168 


CB68 A9 FF 




LDA 


#255 


CABA 29 AA A8 


.BYT 


041,170.168,42.170. 


CB6A 85 10 




STA 


TEMP 






168,42.170 


CB6C A9 09 




LDA 


#9 


CAC2 A8 2A AA 


-BYT 


168,42,170.168,42.1 


CB6E 85 A4 




STA 


SPRNUM 






70,168,42 


CB70 BD 96 03 


COLLOOP 


LDA 


SPOnER.X 


CACAAA A8 OA 


.BYT 


170.168.10,170.160. 


CB73 00 39 




BNE 


NOTREC 






10.170,160 


CB75 AD 50 03 




LDA 


XPOSH 


CAD2 02 AA 80 


.BYT 


002.170.128,0,170,0 


CB78 DD 50 03 




CMP 


XPOSH.X 






,0.0 


CB7B DO 31 




BNE 


NOTREC 


CAOAOO 00 00 


.BYT 


0,0,0,0,0,0,0,0 


CB7D AD 3C 03 




LDA 


XPOS 



196 



The Source Code 



cm 38 




SEC 




CC15 AO OF 


LDY 


#15 


CB81 FO 3C 03 




SBC 


XPOS,X 


CC17 18 


CLC 




CB84 ID 05 




BPL 


PLUS 


CC18 20 FO FF 


JSR 


$FFFO 


CB86 49 FF 




EOR 


#255 


CC1B A9 20 


LDA 


#32 


CB88 18 




CLC 




CC1D8D EO 07 


STA 


2016 


CB89 69 01 




ADC 


#1 


CC20 A9 OF 


LDA 


#<MESS3 


CB8B C9 OF 


PLUS 


CMP 


#15 


CC22 AO CD 


LDY 


#>MESS3 


CB8D BO IF 




BCS 


NOTREC 


CC24 20 IE AB 


JSR 


$AB1E 


CB8F 85 A5 




STA 


TEMP2 


CC27 AD 00 DC WUT 


LDA 


SOCOO 


CB91 AO 46 03 




LOA 


YPOS 


CC2A 29 10 


AND 


#16 


CB94 38 




SEC 




CC2CO0F9 


BNE 


WUT 


CB95 FD 46 03 




SBC 


YPOS,X 


CC2E 4C 05 CO 


JMP 


START 


CB98 10 05 




BPL 


PLUS2 


CC31 AO 64 DELAY 


LDY 


#100 


CB9A 49 FF 




EOR 


#255 


CC33 88 V2 


OEY 




CB9C 18 




CLC 




CC34 DO FO 


BNE 


V2 


CB9D 69 01 




ADC 


#1 


CC36 60 


RTS 




CB9F C9 OF 


PLUS2 


CMP 


#15 








CBA1 60 OB 




BCS 


NOTREC 


: see If touching forbidden zone 






CBA3 18 




CLC 








CBA4 65 AS 




ADC 


TEMP2 


CC37 FORBIDDEN 


= 


* 


CBA6 C5 10 




CMP 


TEMP 


CC37 A5 A9 


LOA 


FLAG2 


CBA8 80 04 




BCS 


NOTREC 


CC39 0A 


ASL 




CBAA 85 10 




STA 


TEMP 


CC3A0A 


ASL 




CBAC86 A4 




SD( 


SPRNUM 


CC3B0A 


ASL 




CBAE CA 


NOTREC 


DEX 




CC3C18 


CLC 




CBAF DO BF 




BNE 


COLLOOP 


CC3D69 17 


ADC 


#23 


CBB1 A6 A4 




LDX 


SPRNUM 


CC3F CD 46 03 


CMP 


YPOS 


CBB3 EO 09 




CPX 


#9 


CC42 BO OF 


BCS 


NOTHIT 


CBB5 FD 14 




BEQ 


HOME 


CC44 AO 50 03 


LDA 


XPOSH 


CBB7 A9 02 




LDA 


#2 


CC47 DO OA 


BNE 


NOTHIT 


CBB9 9D 96 03 




STA 


SPOTTER.X 


CC49 AD 3C 03 


LOA 


XPOS 


CBBC 86 A6 




STX 


SPRNUM2 


CC4CC9 2A 


CMP 


#LEFTLIMIT-13 


CBBE E4 A7 




CPX 


GOOONUM 


CC4E BO 03 


BCS 


NOTHIT 


CBCO DO OA 




BNE 


DEADDUCK 


CC50 4C CC CB 


JMP 


DEADDUCK 


CBC2 BD 27 DO 




LOA 


53287.x 


CC53 60 NOTHIT 


RTS 




CBC5 29 OF 




AND 


#15 


; sound routines 

: 






CBC7 C9 01 




CMP 


#1 






CBC9 DO 01 




BNE 


DEADDUCK 


CC54 A2 00 SETSIO 


LDX 


#0 


CBCB60 


HOME 


RTS 




CCS6 8A 


TXA 




CBCCA9 05 


DEADDUCK 


LOA 


#5 


CCS7 90 00 04 CLRSIO 


STA 


$D400,X 


CBCE 85 10 




STA 


TEMP 


CC5AE8 


INX 




CBDO A9 14 




LDA 


#20 


CC5B EO 1A 


CPX 


#26 


CBD2 8D OB D4 




STA 


$D40B 


CC5D DO FB 


BNE 


CLRSIO 


CBD5 A9 00 




LDA 


#0 


CC5F A9 14 


LOA 


#20 


CBD7 8D 08 D4 




STA 


$0408 


CC61 80 01 04 


STA 


$0401 


CBDAA9 OA 




LDA 


#10 


CC64 A9 42 


LDA 


#66 


CBDC8D OC 04 




STA 


$D40C 


CC66 80 05 04 


STA 


$0405 


CBOF A9 15 




LOA 


#21 


CC69 A9 08 


LOA 


#8 


CBE1 80 08 04 




STA 


$D40B 


CC6B 80 03 D4 


STA 


$0403 


CBE4 A2 00 




LDX 


#0 


CC6E A9 OS 


LDA 


#5 


CBE6 AC IB D4 


DEADLOOP 


LDY 


$041 B 


CC70 8D OC 04 


STA 


$O40C 


CBE9 A9 00 




LDA 


#0 


CC73 A9 05 


LDA 


#5 


CBEB 99 00 33 




STA 


13056,Y 


CC75 8D OA 04 


STA 


$O40A 


CBEE 99 00 34 




STA 


13312,Y 


CC78 A9 FF 


LOA 


#255 


CBF1 8E 08 04 




STX 


$D408 


CC7A 80 OF 04 


STA 


$O40F 


CBF4 99 80 34 




STA 


13696- 256,Y 


CC7DA9 OF 


LDA 


#15 


CBF7 20 31 CC 




JSR 


DELAY 


CC7F 80 18 04 


STA 


$0418 


CBFA CA 




DEX 




CC82 60 


RTS 




CBFB DO E9 




BNE 


DEADLOOP 


CC83 00 DIRSV 


.BYT 





CBFD C6 10 




DEC 


TEMP 


CC84 00 STEPCOUNT 


.BYT 





CBFF DO E5 




BNE 


DEADLOOP 








CC01 68 




PLA 




; do tliat timer thing 






CC02 68 




PLA 








CC03 20 CA CC 




JSR 


LASERED 


CC85 TIMER 






CC06 CE B3 02 




DEC 


NUMMEN 


CC85 CE AA 02 


DEC 


FLAG2L0W 


CC09 FO 03 




BEQ 


FINISHED 


CC88 DO 1A 


BNE 


GETOUT 


CCOB 4C B8 CO 




JMP 


BUCK 


CC8A A9 32 


LDA 


#50 


CGOE A9 00 


FINISHED 


LDA 


#0 


CC8C80AA 02 


STA 


FUG2U)W 


CC10 80 15 00 




STA 


53269 


CC8F A5 A9 


LDA 


FLAG2 


CC13 A2 OB 




LDX 


#11 


CC91 C9 1A 


CMP 


#26 



Chapter 3 



CC93 FO OF 




BEQ 


GETOUT 


0060 10 Hi 




BPL 


UY 


CC95 C6 A9 




DEC 


FLAG2 


C06F A9 00 




LDA 


M 


CC97 10 06 




BPL 


OKEY 


0071 AA 


NTO 


TAX 




CC99 A9 00 




LDA 


#0 


C072 A9 20 




LDA 


#32 


CC98 85 A9 




STA 


FLAG2 


0074 90 CO 07 




STA 


1984,X 


CC9D FO 05 




BEQ 


GETOUT 


0077 60 


QUOT 


RTS 




CC9F AO 07 


OKEY 


LOY 


#7 


C078 A2 18 


SCOROUT 


LDX 


#24 


CCA1 20 AS CC 




JSR 


FUT 


C07AA0 1A 




LOY 


#26 


CCA4 60 


GETOUT 


RTS 




C07C 18 




OLC 




CCAS 84 10 


FUT 


STY 


TEMP 


0070 20 FO FF 




JSR 


$FFFO 


CCA7 A8 




TAY 




CD80 AD BA 02 




LDA 


SCOREH 


CCAS A9 D8 




LDA 


#<(55296- 40) 


C083 C9 FF 




CMP 


#$FF 


CCAA8S 02 




STA 


2 


C085 FO 07 




BEQ 


TP 


CCAC A9 D7 




LDA 


#>(55296- 40) 


CD87 AE B9 02 




LDX 


SCOREL 


CCAE 85 03 




STA 


3 


CDBA 20 CD BO 




JSR 


$BDCD 


CCBO A5 02 


TROOP 


LOA 


2 


C080 60 




RTS 




CCB2 18 




CLC 




C08E A9 98 


TP 


LDA 


#<MESS8 


CCB3 69 28 




AOC 


#40 


CD90 AO CD 




LOY 


#>MESS8 


CCB5 85 02 




STA 


2 


CD92 20 IE AB 




JSR 


$AB1E 


CCB7 AS 03 




LDA 


3 


CD95 68 




PLA 




CCB9 69 00 




AOC 


#0 


CD98 68 




PLA 




CCBB 85 03 




STA 


3 


C097 60 




RTS 




CCBD88 




DEY 




CD98 93 11 11 


MESS8 


.ASC 


"{CLR}{3 00WN 


CCBE 00 FO 




BNE 


TROOP 








} CONGRATULATIO 


CCC0A5 10 




LOA 


TEMP 








NS, YDU ARE ON 


CCC2 AO 02 




LOY 


#2 








E OF THE FEW " 


CCC4 91 02 


HHH 


STA 


(2),Y 


CDC5 54 4F 20 




>SC 


"TO WIN AT LASE 


CCC688 




OEY 








R BEAM.' 


CCC7 10 FB 




BPL 


HHH 


CDOAOO 




.BYT 





CCC960 




RTS 












CCCAA9 01 


LASEREO 


LOA 


#1 










CCCG8D 84 02 




STA 


IGNORE 










CCCF 20 48 CI 




JSR 


SHOOT 










CCD2 A5 A2 




LOA 


162 










CCD4 C5 A2 


WTY 


CMP 


162 










CCD6 FO FC 




BEQ 


WTY 










CCD8 A5 OA 




LOA 


FIREFLAG 










CCDA DO EE 




BNE 


LASERED 










UCDCdO 




RTS 












CCDD9E 92 4C 


MESSI 


.ASC 


"{YEL}{0 
FF}1 A S E R" 










CCE8 00 




.BYT 













CCE9 42 20 45 


MESS2 


.ASC 


■BEAM(<3:H{300 
WN}{7 LEFT}LEVE 
L {3 DOWN} {10 LE 
















FT}- 

"{RVS}{CYN}HITFI 
REBUTTON" 










CDOF 12 9F 48 


MESS3 


.ASC 
























CD1F 00 




.BYT 













CD20 9E 4C 45 


MESS4 


.ASC 


"{YELjLEVEL COM 
















PLETED{2 DOWN}{ 
12 LEn}BONUS " 
























CD44 00 




.BYT 













CD45 AO B7 02 


BONUS 


LDA 


VOUNT 










CD48 FO 20 




BEQ 


QUOT 










C04A CE B6 02 




DEC 


VDUNTL 










0040 DO 28 




BNE 


QUOT 










ortitr ftp na ni 

CD4F CE B8 02 




DEC 


WUNTH 










C052 00 23 




BNE 


QUOT 










C054 A2 03 




LOX 


#3 










C056 8E B8 02 




STX 


VDUNTH 










CD59 CE B7 02 




DEC 


VOUNT 










CD5GA0B7 02 




LDA 


VOUNT 










CD5F 00 10 




BNE 


NTO 










CD61 A9 18 




LOA 


#24 










C063 85 A9 




STA 


FLAG2 










C065 A9 01 




LDA 


#1 










C067 A2 08 




LDX 


#6 










C089 9D 28 DO 


UY 


STA 


53288,X 










CD6CCA 




OEX 











u 
u 

u 
u 



198 



u 
u 
u 



Whirlybird 
Source Code 

Source code by Philip I. Nelson 



; current egg position 






0862 85 FC 




STA 


252 


0801 EGG 




251 


0864 A9 00 




LOA 


#0 


; coord for egg color 






0866 85 FD 




STA 


253 


0801 EGCOL 




253 


0868 A9 38 




LOA 


#$38 








086A 85 FE 




STA 


254 


; — load & mn like basic 






086C AO 00 




LDY 


#0 








086E B1 FB 


COPY 


LDA 


(251),Y 


0801 




2049 


0870 91 FD 




STA 


(253),Y 








0872 E6 FB 




INC 


251 


; following tiytes are a iasic line 






0874 DO 02 




BNE 


N0H1 






0876 E6 FC 




INC 


252 


: '0 sys2080 rem Sdel wliirlybird' 






0878 E6 FD 


N0H1 


INC 


253 






087A DO 02 




BNE 


N0H2 


0801 IB 08 00 


.BYT 


27,8,0,0.158,50,48.5 


087C E6 FE 




INC 


254 






6,48,58 


087E 38 


N0H2 


SEC 




080B 8F 22 14 


.BYT 


143,34,20,20,20.20, 


087F A5 FC 




LDA 


252 






20,32 


0881 C9 D8 




CItflP 


0DS 


0813 57 48 49 


.BYT 


87,72,73,82,76,89,6 


0883 90 E9 




BCC 


COPY 






6,73,82,68 


0885 A9 37 




LDA 


#55 


081D 00 00 00 


.BYT 


0,0,0 


0887 85 01 




STA 


1 








0889 A9 81 




LOA 


#129 








088B 8D OD DC 




STA 


56333 


: — clear graptiics 






088E A2 08 




LDX 


#8 






0890 BD DO 13 


NWCHR 


LOA 


CRDATA.X 


0820 A9 93 


LDA 


#$93 


0893 9D DO 3A 




STA 


15056,X 


0822 20 02 FF 


JSR 


$FFD2 


0896 BD D8 13 




LOA 


CR0A1,X 


0825 A2 00 


LDX 


#0 


0899 90 50 36 




SIA 


15184,X 


0827 8E 21 DO 


STX 


53281 


089C BD EO 13 




LDA 


CRDA2,X 


082A 8E 20 DO 


STX 


53280 


mf 9D 50 39 




STA 


14672,X 


082D E8 


INX 




08A2 CA 




DEX 




0B2E BE IB DO 


STX 


53275 


08A3 10 EB 




BPL 


NWCHR 


0831 A9 03 


LDA 


#3 


08AS A9 IF 




LOA 


#31 


0833 8D 86 02 


STA 


646 


08A7 80 18 DO 




STA 


53272 


0836 A2 10 


LDX 


#16 










0838 A9 00 


LDA 


#0 


; — Install sprite 


>hapes — 






083A 9D 00 DO SPRCLR 


STA 


53248,X 










083D CA 


DEX 




OBAAAO 11 




LDA 


#<SPROATA 


083E 10 FA 


BPL 


SPRCLR 


08AC 85 FB 




STA 


251 








08AE A9 11 




LDA 


#>SPRDATA 


;— clear 8i load SID chip 






08B0 85 FC 




STA 


252 






08B2 A9 00 




LDA 


#<15360 


0840 A2 18 


LDX 


#24 


08B4 85 FD 




STA 


253 


0842 9D 00 D4 SmJH 


STA 


54272,X 


08B6 A9 3C 




LDA 


#>15360 


0845 CA 


DEX 




0BB8 85 FE 




STA 


254 


0846 10 (A 


BPL 


SIDCLR 


OBBA AO 00 




LOY 


#0 


0848 A2 18 


LDX 


#24 


OBBC B1 FB 


PTSPR 


LOA 


(251),Y 


084A BD 3B 14 SIDLD 


LDA 


SID,X 


OBBE 91 FD 




STA 


(253),Y 


084D 9D 00 D4 


STA 


54272,X 


08C0 E6 FB 




INC 


251 


0850 CA 


DEX 




08C2 DO 02 




BNE 


N052 


0851 10 F7 


BPL 


SIDLD 


08C4 E6 FC 




INC 


252 








08C6 E6 FD 


N052 


INC 


253 


;— install new character set — 






08CB DO 02 




BNE 


N054 








08CA E6 FE 




INC 


254 


0853 A9 7F 


LDA 


#127 


08CC38 


N054 


SEC 




0855 8D OD DC 


STA 


56333 


08CD A5 FB 




LDA 


251 


0858 A9 33 


LDA 


#51 


08CF E9 DO 




SBC 


#<ENDATA 


085A 85 01 


STA 


1 


0801 A5 FC 




LOA 


252 


085C A9 00 


LOA 


#0 


08O3 E9 13 




SBC 


#>ENOATA 


085E 85 FB 


STA 


251 


0805 90 E5 




BCC 


PTSPR 


0860 A9 DO 


LDA 


#$D0 











199 



Chapter 3 



— change IRQ vector for 






094F C9 88 


CMP 


#136 


interrupt-driven bird movement 


— 




;resume 11 17 










0951 FO OA 


BEQ 


GO 


08D7 78 


SEI 




0953 00 00 


BNE 


KINT 


0608 A9 08 


LOA 


#<INTERRUPT 


0955 A9 01 STOP 


LDA 


#1 


08DA 80 14 03 


STA 


$0314 


0957 80 69 03 


STA 


GOFUG 


08DO A9 OF 


LDA 


#>INTERRUPT 


095A 4C 45 09 


JMP 


GETSTICK 


08DF 80 15 03 


STA 


$0315 


0950 A9 00 GO 


LOA 


#0 


08E2 58 


CU 




095F 80 69 03 


STA 


GOFUG 








0962 AD 69 03 KINT 


LOA 


GOFUG 


— some startup values 






0965 DO OE 


BNE 


GETSTICK 






0967 AD 46 03 


LOA 


8IR0SPEED 


08E3 A9 00 


LDA 


#0 


096A DO 08 


BNE 


JUJ 


08E5 80 69 03 


STA 


GOFLAG 


096C A9 00 


LDA 


#0 


0BE8 A9 FO 


LDA 


#240 


096E 8D 68 03 


STA 


GFLAG 


08EA 80 3C 03 


STA 


SHAPE 


0971 4C 7E 09 


JMP 


BOKC 


08EO A9 00 


LOA 


#0 


0974 AD 68 03 JUJ 


LOA 


GFUG 


08EF 80 57 03 


STA 


SCORE 


0977 DO 05 


BNE 


BOKC 


08F2 80 58 03 


STA 


SCORE -1-1 


0979 A9 01 


LOA 


#1 


08F5 20 3C OA 


JSR 


BOAT 


097B 80 68 03 


STA 


GFUG 


08F8 A9 14 


LDA 


#20 


; check lor game over 






08FA BD OB 04 


STA 


54283 


097E 20 97 OE BOKC 


JSR 


OONCHK 


08FD A9 15 


LDA 


#21 


0981 AO SB 03 


LDA 


ONFUG 


08FF 80 OB 04 


STA 


54283 


0984 DO 12 


BNE 


PUY 








; game over, start a new one 






; — reentry point 






0986 20 02 OE 


JSR 


UPSCORE 






0989 20 02 OE 


JSR 


UPSCORE 


0902 20 C6 OE RESTART 


JSR 


STARTUP 


098C 20 02 OE 


JSR 


UPSCORE 


; new game II eggs all gone. 






a98F 20 02 OE 


JSR 


UPSCORE 


0905 AO 62 03 NWEGG 


LDA 


BALLS 


0992 20 02 OE 


JSR 


UPSCORE 


0908 FO F8 


BEQ 


RESTART 


0995 4C 02 09 


JMP 


RESTART 


; missed - subtract one egg 






; game not over, check for a 






; and reverse egg direction. 






; collision between bird & egg. 






090A CE 62 03 


DEC 


BALLS 


0998 AO 55 03 PLAY 


LDA 


COLSW 


0900 Ag 01 


LOA 


#1 


099B FO 32 


BEQ 


NOCOL 


090F 80 51 03 


STA 


EGUO 


; yes, the bird did hit the egg 






; new dir'n lor inter sweep. 






0990 20 39 OD 


JSR 


BOUNCE 


0912 A9 00 


LDA 


#0 


09A0 20 ED OB 


JSR 


EGERASE 


0914 80 5F 03 


STA 


FOIR 


: decide which way to bounce eg 


9. 




0917 AD 57 03 


LDA 


SCORE 


; based on current {oystick dir'n. 






091A OD 58 03 


ORA 


SCORE -H 


09A3 AD 00 DC 


LOA 


56320 


091 D E9 OA 


SBC 


#10 


09A6 29 OF 


AND 


#15 


091F 90 14 


BCC 


NOTAK 


09A8 C9 OB 


CMP 


#11 


; II score>9 then score=score- 


-10 




09AA FO 07 


BEQ 


LDIR 


0921 38 


SEC 




09AC C9 07 


CMP 


#7 


0922 AO 57 03 


LOA 


SCORE 


09AE FO 08 


BEQ 


RDIR 


0925 E9 OA 


SBC 


#10 


0980 4C CO 09 


JMP 


NODIR 


0927 80 57 03 


STA 


SCORE 


0983 A9 00 LOIR 


LDA 


#0 


092A AO 58 03 


LOA 


SCORE-I-I 


09B5 80 53 03 


STA 


EGLR 


0920 E9 00 


SBC 


#0 


09B8 4C CO 09 


JMP 


NODIR 


092F 80 58 03 


STA 


SCORE -H 


0988 A9 01 ROIR 


LDA 


#1 


0932 20 2E OE 


JSR 


OOSCR 


0980 80 53 03 


STA 


EGLR 


: wait lor player to press button 






: add to score, cuz we hit the egg 




0935 NOTAK 


= 


• 


09C0 20 02 OE NOOIR 


JSR 


UPSCORE 


isparkle sidebars while waiting 






09C3 20 51 OA 


JSR 


SLOWDOWN 


0935 20 CA 10 


JSR 


SPARKLE 


: reverse egg u/d direction 






0938 AD 00 DC 


LDA 


56320 


09C6 A2 01 


LDX 


#1 


093B 29 10 


AND 


#16 


09C8 8E 51 03 


STX 


EGUO 


0930 DO F6 


BNE 


NOTAK 


09CB8A 


TXA 




: ctioose new egg direction 






09CC 4C 01 09 


JMP 


DOCOL 


093F 20 F8 OB 


JSR 


EGNEW 


: entry point when no collision 






0942 20 E7 OC 


JSR 


EGPUT 


09CF A9 00 NOCOL 


LDA 


#0 








09D1 8D 56 03 DOCOL 


STA 


COLFUG 


; main loop 






09D4 20 51 OA 


JSR 


SLOWDOWN 








; now we can move the egg 






0945 20 9F FF GETSTICK 


JSR 


$FF9F 


09D7 20 38 OC 


JSR 


EGMOVE 


0948 20 E4 FF 


JSR 


$FFE4 


: II there was no collision with a 






0948 C9 85 


CMP 


#133 


; poison deal, go move bird. 






ipause if f1 






09DA AD 63 03 


LDA 


PFUG 


0940 FO 08 


BEQ 


STOP 


0900 FO 03 


BEQ 


OOJOY 



200 



The Source Code 



; oops, hit poison gob, so we 






0A5C AD 48 03 




LOA 


COUNT+1 


; need a new egg. 






0A5F C9 OF 




CMP 


#15 


09DF 4C 05 09 


JMP 


NWEG6 


0A61 90 EE 




BCC 


SLOWDOWN 


: read stick lo decide whether to 






0A63 A9 00 


COUNTOONE 


LDA 


#0 


: accelerate, decelerate or 






0A65 80 48 03 




STA 


COUNT+1 


; reverse the bird's movement. 






0A68 60 




RTS 




09E2 AD 00 DC DOJOY 


LOA 


56320 










09ES 29 OF 


AND 


#15 


;— draw playlieW 


screen 






09E7 C9 OB 


CMP 


#11 










09E9 C9 OB 


CMP 


#11 


OAOO 


ORfllVSCRN 


= 




09EB FO 24 


BEQ 


LPULL 


0A69 A9 CO 




LDA 


#<1984 


09ED C9 07 


CMP 


#7 


0A6B 8D 49 03 




STA 


DLIMIT 


09EF FO 18 


BEQ 


RPULL 


0A6E A9 07 




LDA 


#>1984 


09F1 AD 46 03 


LOA 


BIROSPEED 


0A70 80 4A 03 




STA 


DLIMIT+1 


09F4 DO 03 


BNE 


CHOC 


0A73 A9 50 




LDA 


#<1104 


09F6 4C 45 09 


JMP 


GFTSTICK 


0A75 85 03 




STA 


3 


09F9 CE 64 03 CHOC 


DEC 


SLFLAG 


0A77 A9 04 




LOA 


#>1104 


09FC AD 64 03 


LOA 


SLFLAG 


0A79 85 04 




STA 


4 


09FF DO 2D 


BI4E 


NOSDWN 


0A7B A9 6A 




LOA 


#106 


0A01 A9 03 


LOA 


#3 


0A7O 8D 4B 03 




STA 


CHAR 


0A03 8D 64 03 


STA 


SLFLAG 


0A80 A9 OO 




LDA 


#13 


0A06 4C 28 OA 


JMP 


BSUOW 


0A82 80 4C 03 




STA 


COL 


0A09 AD 41 03 RPULL 


LOA 


LEX 


0A85 20 90 08 




JSR 


DRAWDOWN 


OAOC DO 08 


BNE 


fiHSTER 


0A88 A9 E7 




LOA 


#<2023 


OAOE 4C 26 OA 


JMP 


SLOWER 


0A8A 80 49 03 




STA 


DLIMIT 


0A11 AD 41 03 LPULL 


LOA 


LEX 


0A8DA9 07 




LDA 


#>2023 


0A14 DO 10 


BNE 


SLOWER 


■ 0A8F 8D 4A 03 




STA 


OLIMIT+1 


0A16 FASTER 


= 


* 


0A92 A9 77 




LDA 


#<1143 


0A16 AD 46 03 


LDA 


BIROSPEED 


0A94 85 03 




STA 


3 


0A19 C9 OC 


CMP 


#12 


0A98 A9 04 




LOA 


#>1143 


0A1B 90 03 


BCC 


FAH 


0A98 85 04 




STA 


4 


0A1D 4C 45 09 


JMP 


GETSTICK 


0A9A A9 6A 




LOA 


#10S 


0A20 EE 46 03 I^H 


INC 


BIROSPEED 


0A9C 80 4B 03 




STA 


CHAR 


0A23 4C 45 09 


JMP 


GETSTICK 


0A9F 20 90 OB 




JSR 


ORWOOWN 


0A26 SLOWER 


= 


* 


0AA2 A9 F9 




LDA 


#<1785 


JA26 AD 46 03 


LDA 


BIROSPEED 


0AA4 85 03 




STA 


3 


JA29 FO 06 


BEQ 


REVERSE 


0AA6 A9 06 




LDA 


#>1785 


0A2B CE 46 03 BSUW 


DEC 


BIROSPEED 


0AA8 85 04 




STA 


4 


0A2E 4C 45 09 NOSDWN 


JMP 


GETSTICK 


QAAAA9 1E 




LOA 


#<1822 


0A31 REVERSE 


= 


* 


OAAC 80 49 03 




STA 


DLIMIT 


0A31 AD 41 03 


LDA 


LEX 


OAAF A9 07 




LOA 


#>1822 


0A34 49 01 


EOR 


#1 


0AB1 80 4A 03 




STA 


OLIMIT+1 


]A36 8D 41 03 


STA 


LEX 


0AB4 A9 5A 




LOA 


#90 


0A39 4C 45 09 


JMP 


GETSTICK 


0AB6 80 4B 03 




STA 


CHAR 


— end of main loop 






0AB9 A9 07 




LOA 


#7 








OABB 80 4C 03 




STA 


COL 


— sound 






OABE 20 C2 08 




JSR 


DRflWRIGHT 








0AC1 A9 21 




LDA 


#<1825 


reset registers lor 






0AC3 85 03 




STA 


3 


Initial sound. 






0AC5 A9 07 




LDA 


#>1825 


vac BOAT 




* 


0AC7 85 04 




STA 


4 


0A3CA9 9B 


LDA 


#155 


0AC9 A9 46 




LDA 


#<1862 


0A3E 80 07 D4 


STA 


54279 


OACB 8D 49 03 




STA 


DLIMIT 


0A41 A9 03 


LDA 


#3 


OACE A9 07 




LOA 


#>1862 


0A43 8D 08 04 


STA 


54280 


OADO 80 4A 03 




STA 


DUMIT+1 


0A46 A9 OB 


LDA 


#11 


0AD3 A9 05 




LDA 


#6 


0A48 8D 00 04 


STA 


54272 


0AD5 80 40 03 




STA 


COL 


0A4B A9 07 


LDA 


#7 


0AD8 20 C2 OB 




JSR 


ORAWRIGHT 


0A4D 80 01 04 


STA 


54273 


OADB A9 49 




LOA 


#<1865 


OA50 60 


RTS 




OADD 85 03 




STA 


3 








OADF A9 07 




LOA 


#>1865 


— slow that bird 






0AE1 85 04 




STA 


4 








0AE3 A9 6E 




LOA 


#<1902 


slows bird down when you're not 




0AE5 80 49 03 




STA 


DLIMIT 


pressing on tlie stick. 






0AE8 A9 07 




LDA 


#>1902 


0A51 SLOWDOWN 






OAEA 80 4A 03 




STA 


OLIMIT+1 


0A51 EE 47 03 


INC 


COUNT 


0AEDA9 05 




LDA 


#5 


0A54 AD 47 03 


LOA 


COUNT 


OAEF 80 4C 03 




STA 


COL 


0A57 D0F8 


BNE 


SLOWDOWN 


0AF2 20 C2 OB 




JSR 


OR/WRIGHT 


0A59 EE 48 03 COUNTUP 


INC 


COUNT+1 


OAFS A9 71 




LDA 


#<1905 



201 



Chapter 3 



0AF7 85 03 




STA 


3 


0B9E 69 04 




ADC 


#212 


0AF9 A9 07 




LDA 


#>1905 


OBAO 85 06 




STA 


6 


OAFB 85 04 




STA 


4 


0BA2 AO 4C 03 




LDA 


COL 


OAFD A9 96 




LDA 


#<1942 


0BA5 91 05 




STA 


(5).Y 


OAFF 80 49 03 




STA 


OLIMIT 


0BA7 18 




CLC 




0B02 A9 07 




LDA 


(»>1942 


0BA8 A5 03 




LDA 


3 


0B04 80 4A 03 




STA 


OLIMIT+1 


OBAA 69 28 




ADC 


#40 


0B07 A9 07 




LDA 


#7 


OBAC 85 03 




STA 


3 


0809 8D 4C 03 




STA 


COL 


OBAE A5 04 




LDA 


4 


OBOC 20 C2 08 




JSR 


ORWRIGHT 


OBBO 69 00 




ADC 


#0 


OBOF A9 99 




LOA 


#<1945 


0BB2 85 04 




STA 


4 


0811 85 03 




STA 


3 


0BB4 38 




SEC 




OBI 3 A9 07 




LOA 


#>1945 


08B5 AO 49 03 




LDA 


DLIMIT 


OBI 5 85 04 




STA 


4 


0BB8 E5 03 




SBC 


3 


0B17 A9 BE 




LOA 


#<1982 


OBBA AO 4A 03 




LDA 


DLIMIT+1 


0819 80 49 03 




STA 


OLIMIT 


OBBD E5 04 




SBC 


4 


0B1C AS 07 




LOA 


#>1982 


OBBF BO 01 




BCS 


DRA/VSOME 


0B1E 80 4A 03 




STA 


DLIMIT+1 


0BC1 60 




RTS 




0821 A9 06 




LOA 


#6 










0823 80 4C 03 




STA 


COL 


; — rtn lor screen draw 






0B26 20 C2 OB 




JSR 


DRflA/RIGHT 










0B29 A9 CI 




LOA 


#<1985 


nRP9 


unnivniun 1 


= 


* 


0B2B 85 03 




STA 


3 


0BC2 AO 00 




LDY 


#0 


082D A9 07 




LDA 


#>1985 


0BC4 AD 4B 03 


OR/WR 


LOA 


CHAR 


0B2F 85 04 




STA 


4 


0BC7 91 03 




STA 


(3),Y 


0831 A9 E6 




LDA 


#<2022 


0BC9AS 03 




LOA 


3 


0833 80 49 03 




STA 


DLIMIT 


0BCB 85 05 




STA 


5 


0836 A9 07 




LDA 


#>2022 


0BCO18 




CLC 




0838 80 4A 03 




STA 


DLIMIT+1 


0BCEA5 04 




LDA 


4 


0638 Ag 03 




LOA 


#3 


OBOO 69 04 




ADC 


#212 


0B3D 80 4C 03 




STA 


COL 


0BO2 85 06 




STA 


6 


0840 20 C2 OB 




JSR 


DRAWRIGHT 


0BO4 AD 4C 03 




LDA 


COL 


0843 A9 57 




LOA 


#87 


0BO7 91 05 




STA 


(5).Y 


0845 80 02 07 




STA 


1794 


0BD9 E6 03 




INC 


3 


0848 80 15 07 




STA 


1813 


OBDB DO 02 




BNE 


N04INK 


0B4B 80 77 07 




STA 


1911 


OBOO E6 04 




INC 


4 


084E 80 90 07 




STA 


1936 


OBOF 38 


N04INK 


SEC 




0851 80 C4 07 




STA 


1988 


OBEO AD 49 03 




LOA 


OLIMIT 


0854 80 CA 07 




STA 


1994 


0BE3 ES 03 




SBC 


3 


0B57 80 DO 07 




STA 


2000 


0BE5 AO 4A 03 




LOA 


DLIMIT+1 


0B5A 80 58 07 




STA 


1880 


0BE8 E5 04 




SBC 


4 


0B5O 80 60 07 




STA 


1888 


OBEA BO 08 




BCS 


DR/WR 


0B60 80 07 07 




STA 


2007 


OBEC 60 




RTS 




0863 80 00 07 




STA 


2013 










0866 80 E3 07 




STA 


2019 












; — erase egg - 








0869 A9 01 




LDA 


#1 










0B6B 8D 02 DB 




STA 


1794+54272 


OBEO 


EGERASE 





. 


0B6E 80 15 DB 




STA 


1813+54272 


OBEO A9 20 




LDA 


#32 


0871 80 77 OB 




STA 


1911+54272 


OBEF AO 00 




LOY 


#0 


0874 80 90 OB 




STA 


1936+54272 


0BF1 91 FB 




STA 


(EGG),Y 


0877 80 C4 OB 




STA 


1988 +54272 


0BF3 A9 01 




LOA 


#1 


087A 80 CA OB 




STA 


1994 + 54272 


0BF5 91 FD 




STA 


(EGCOL),Y 


0870 80 00 DB 




STA 


2000+ 54272 


0BF7 60 




RTS 


0880 80 07 OB 




STA 


2007 + 54272 










0883 80 58 OB 
0886 80 60 OB 




STA 
STA 


1880 + 54272 
1888 + 54272 












; — new egg - 








0B89 80 DO 08 




STA 


2013 + 54272 


OBFS 


EGNEW 






088C 80 E3 OB 
088F 60 




STA 
RTS 


2019+54272 


0BF8 20 34 OC 
OBFB C9 23 
OBFD BO F9 




JSR 
CMP 
BCS 


GETRAND 

#35 

EGNEW 


; — rtn for screen draw 






OBFF 80 4F 03 




STA 


TEMP 










0C02 18 




CLC 




0890 


ORWDOWN 




* 


0C03A9 CA 




LOA 


#202 


0890 AO 00 




LOY 


#0 


0C05 60 4F 03 




ADC 


TEMP 


0892 AO 48 03 


ORWSOME 


LOA 


CHAR 


0CO8 85 FB 




STA 


EGG 


0895 91 03 




STA 


(3),Y 


0C0AA9 04 




LOA 


#4 


0897 A5 03 




LOA 


3 


OCOC 69 00 




ADC 


#0 


0899 85 05 




STA 


5 


OCOE 85 FC 




STA 


EGG+1 


0898 18 




CLC 




0C10 18 




CLC 




0B9C AS 04 




LOA 


4 


0C11 A5 FB 




LDA 


EGG 



202 



The Source Code 



0C13 69 00 




ADC 


#0 


0C15 85 FD 




STA 


EGCOL 


0C17A5 re 




LDA 


EGG+1 


0C19 69 D4 




ADC 


#212 


0C1B 85 FE 




STA 


EGCOL+1 


0C1D A9 01 




LDA 


#1 


0C1F 8D 51 03 




STA 


EGUD 


0C22 20 34 OC 




JSR 


GETRAND 


0C25 30 07 




BMI 


EGRT 


0C27 A9 00 




LDA 


#0 


0C29 8D 53 03 




STA 


EGLR 


0C2C FO 05 




BEQ 


DExrr 


K2E A9 01 


EGRT 


LDA 


#1 


0C30 8D S3 03 




STA 


EGLR 


0C33 60 


DExrr 


RTS 





:- read random number generator ~ 



0C34 AD IB D 4 GETRAND LDA $D41B 
0C37 60 RTS 

; — move egg 



0C38 EGMOVE 






: clear poison flag, erase egg 






0C38 A9 00 


LDA 


#0 


0C3A 80 63 03 


STA 


PFUG 


0C3D 20 ED OB 


JSR 


cGcRASc 


; check l/r flag to see wliich way 




0C40 AD 53 03 


LDA 


EGLR 


0043 DO 16 


BNE 


EGRIT 


; move tliat pup to tlie left 






0C45 20 71 00 


JSR 


EGL 


0C48 AO 00 


LDY 


#0 


0C4A B1 FB 


LDA 




; check collision w/ sideliar 




0C4C C9 6A 


CMP 


#106 


0C4E FO 02 


BEQ 


LSIT 


0050 DO 38 


BNE 


EGUP 


0C52 20 7F OC LSIT 


JSR 


EGR 


0C55 20 20 OD 


JSR 


REVLR 


0C58 4C 38 00 


JMP 


EGMOVE 


: move egg to ttie right this time 






0C5B 20 7F OC EGRIT 


JSR 


EGR 


0C5EAOOD 


LDV 


#0 


0060 B1 FB 


LDA 


(EGG),Y 


0062 09 6A 


CMP 


#106 


0064 FO 02 


BEQ 


RSIT 


0068 DO 25 


BNE 


EGUP 


0068 20 71 00 RSIT 


JSR 


EGL 


0C6B 20 20 OD 


JSR 


REVLR 


0C6E 40 38 00 


JMP 


EGMOVE 


0071 38 EGL 


SEC 




0072 A5 FB 


LDA 


EGG 


0074 E9 01 


SBC 


#1 


0C76 85 FB 


STA 


EGG 


0C78 A5 FC 


LDA 


EGG+1 


0C7A E9 00 


SBC 


#0 


0070 85 FC 


STA 


EGG+1 


0C7E 60 


RTS 




bc7F 18 EGR 


CLC 




0080 A5 FB 


LDA 


EGG 


0082 69 01 


ADC 


#1 


0084 85 FB 


STA 


EGG 


0086 A5FC 


LDA 


EGG+1 


0088 69 00 


ADC 


#0 


008A85 re 


STA 


EGG+1 


008C60 


RTS 





; egg is moving up 






0C8D A5 FB EGUP 


LDA 


EGG 


008F 85 AA 


STA 


$AA 


0C91 A5 FC 


LDA 


EGG+1 


0093 85 AB 


STA 


SAB 


0C95 AD 51 03 


LDA 


EGUD 


0C98 DO 1B 


BNE 


EGDN 


0O9A 38 


SEC 




0C9B A5 FB 


LDA 


EGG 


0C9D E9 51 


SBC 


#<1105 


0C9F A5 FC 


LDA 


EGG+1 


0CA1 E9 04 


SBC 


#>1105 


00A3 90 5A 


BCC 


EGTOP 


0CA5 38 


SEC 




0CA6 A5 FB 


LDA 


EGG 


0OA8 E9 28 


SBC 


#40 


OCAA 85 FB 


STA 


EGG 


OCAC A5 FC 


LDA 


EGG+1 


OCAE E9 00 


SBC 


#0 


OCBO 85 FC 


STA 


EGG+1 


0CB2 40 CD 00 


JMP 


EGCHEK 


; egg moving down 






0CB5 38 EGDN 


SEC 




0CB6 A5 FB 


LDA 


EGG 


0OB8 E9 CO 


SBC 


#<1984 


OCBA A5 FC 


LDA 


EGG+1 


OCBC E9 07 


SBC 


#>1984 


OCBE BO 40 


BCS 


EGBOT 


0CC018 


CLC 




0OC1 A5 FB 


LDA 


EGG 


0003 69 28 


ADC 


#40 


0005 85 FB 


STA 


EGG 


0007 A5 FC 


LDA 


EGG+1 


0009 69 00 


ADO 


#0 


OCCB 85 FC 


STA 


EGG+1 


; deliberate fall-through here 






;— check egg/character colllskins 




OOOD EGCHEK 






0C0OB1 FB 


LDA 


(EGG),Y 


; 87=poison 




OCCF C9 57 


CMP 


#87 


0OD1 00 03 


BNE 


DEGH 


0CD3 40 54 OD 


JMP 


PENALTY 


; 90=score 






00D6 09 5A DEGH 


CMP 


#90 


0CD8 FO 07 


BEQ 


HITSOME 


; 106=sid8bar 






0ODAC9 6A 


CMP 


#106 


OODOFO 42 


BEQ 


REVLR 


; only other possibility now is 






: space, so just move egg 






OCDE 4C E7 00 


JMP 


EGPUT 


bcEl 20 15 OD HITSOME 


JSR 


REVUD 


0CE4 20 83 OE 


JSR 


ONEMORE 


bCE7 AO 00 EGPUT 


LDY 


#0 


0CE9 A9 2A 


LDA 


#42 


OCEB 91 FB 


STA 


(EGG),Y 


OCED 18 


CLC 


OCEE A5 FB 


LDA 


EGG 


OOFO 69 00 


ADC 


#0 


0CF2 85 FD 


STA 


EGCOL 


0CF4 A5 FC 


LDA 


EGG+1 


0CF6 69 D4 


ADC 


#212 


0CF8 85 FE 


STA 


EGOOL+1 


OCIft A9 01 


LDA 


#1 


OCFC 91 FD 


STA 


(EGCOL),Y 


OCFE 60 


RTS 



Chapter 3 









0D76 C9 E9 


CMP 


#233 


irPF AO ni FHTflP 
JUrr ny U 1 CulUr 


LDA 


#1 


0D78 90 02 


BCC 


DNMOR 


inrn on 11 (Yi 

iUUl OU 91 UO 


STA 


EGUD 


0D7A BO 05 


BCS 


BONSCR 


nDfiA nn m 

JLArt OU Di3 Ui3 


STA 


PFLAG 


0D7C AD 55 03 DNMOR 


LDA 


COLS/S/ 


inn? AO nn 


LDA 


#0 


0D7F FO E6 


BED 


DESCEND 


nnno on /ft no 


QTA 
Oin 


□iRnQpppn 


CD81 20 39 OD BONSCR 


JSR 


BOUNCE 


innf* cn 
JLAiU OU 






0DB4 20 34 OC BOTSCR 


JSR 


GETRAND 






0D87 C9 20 


CMP 


#32 


innn aq nn cfsnnr 


1 HA 
LUn 


TT\J 


0D89 60 F9 


BCS 


BOTSCR 


ODOF 8D 51 03 


QTA 


cuuu 


0D8B BD 4F 03 


STA 


TEMP 


[)D12 4C 39 OD 


JMP 


Dm IMPC 


nriRP AO AP 


LJ)A 


#<1708 


; reverse egg up/down dir'n 






nnon rs ra 


STA 


$B0 

#>1708 


nnic An Ri no DP\/iin 


1 RA 
LUn 


pf^i in 
cuuu 


0D92 A9 06 


IHA 


UUlo I? Ui 


pnR 
cun 


#1 


GD94 85 B1 


STA 


$B1 


nni A on CH nQ 
UUlA oU 31 Uo 


QTA 


Pf^i in 
cuuu 


nnofs AO 00 


LW 


#0 


nnin qq nn 

UU 1 U 1L; d3 UU 


JMP 




0D98 18 


CLC 




1 reverse egy left/riQht dir'n 






0D99 A5 80 


LDA 


$B0 
TEMP 


nnm DC\/i D 
UU^U ncvLn 






009B 6D 4F 03 


ADC 


nnon An m 
UUcU AU 3(3 Uo 


1 DA 
LUn 


EGLR 


0D9E 85 BO 


STA 


$B0 


0D23 49 01 


PHR 

cun 


n 1 


nnAn a^ bi 

uunu nu u i 


LDA 


$B1 


nnic Qn cq no 


CTA 
Oin 


PfSI R 
CULn 




ADC 


#0 


nnoa xr qo nn 


JMP 


Rni INHF 


0DA4 85 B1 


STA 


$B1 






0DA6 BI BO CKIT 


LDA 


($BO),Y 


nn9R [ iPfiNP 

UUcD UrUliC 




* 


0DA8 C9 6A 


CMP 


#106 


nnoR lA 


SEC 




ODAA FO D8 


BEQ 


BOTSCR 


nnor ar cd 


LDA 


EGG 


ODAC C8 


INY 






SBC 


#40 


ODAO CO 05 


CPY 


#5 


nn^n ri pr 

UUOU OJ rD 


STA 


EGG 


ODAF DO F5 


BNE 


CKIT 


nnQ9 Ai* pp 


LDA 


EGG+1 


1 deposit a new sid8t}ar 






nno^ po nn 


SBC 


#0 


ODBI AO 02 


LDY 


#2 


nn^R 0(\ pp 


STA 


EGG+1 


0DB3 A9 6A 


LDA 


#106 


nnoo cn 
UUJo OU 


RTS 




0DB5 91 BO 


STA 








0DB7 18 


CLC 




; — Dounce 






nnRR AS Rn 


LDA 


$B0 








nnRA nn 

UUDA U9 UU 


ADC 


#0 


i sound ettecis dno sideDsr 






nnnr ft'i rd 

UL/Dw Ut/ 0\f 


STA 


$B0 


', sparkle for every egg collision 






nnRP AS R1 

UUDC nJ D 1 


LDA 


3B1 


nnofi Dm lupc 
UU09 DUUrlUt 






nnpn rq n^ 

UUlfU Da VH 


ADC 


#212 


0D39 A9 40 


1 nA 


WW 


nnr? fts ri 


STA 


$B1 


nnoD on nA nA 
\}U6d OU W U4 


CTA 
lA 


04£(0 


nnr^ aq rw 

UUOH na UO 


LDA 


#3 


nnQc 9/1 PA in 
UUot tU UA 1U 


I^R 
Jon 


QPARkI P 
OnWlftLC 


nnpfi Q1 Rn 

vL/vU a 1 DU 


STA 


^BO),Y 


nn/ii AO DA 
UU*H AD D*l 


t HA 
LUn 


ff lOU 


nnpft AO nn 

UUvO nu UU 


LDY 


#0 


nn^iQ on f^c nQ 

UU4o OU Ot UO 


QTA 
oin 


FPI IT 


nnpjv AQ n? 

vUvn na u<j 


LDA 


#3 


nnxfi AO ni 
UUflo Aa Ul 


1 nA 




nnpp 01 Rn 

uui^u a 1 DU 


STA 


($BO),Y 


nnxQ an i;n n^ 

UU'lu uU jU Uj 


O In 


PPMT 


nnrp An nn 

UUOC nU UU 


LW 


#0 


nnn^D on ic n? 
UUU4D OU or UO 


STA 


FDIR 


mm/p hirri hark iin 






(in<ic AO >ii 
UUIt Aa 41 


1 rtA 

LUn 


ffOO 


nnnn An ni nn raki ip 


LDA 


53249 


nncn on n/ n^ 

UUOU OU U4 U4 


QTA 
Oin 


0*l£(D 


nnn^ pq qp 
uuuo ua OKi 


CMP 


#60 


nnco cn 

UUOO OU 


RTS 




nnns Qn i? 

uuuu au 1 L. 


BCC 


DAKUP 








0DD7 20 CA 10 

UWL/f \Jr\ lU 


JSR 


SFtUIKLE 


, pciidiiy 






ODDA CE 01 00 


DEC 


53249 






nnnn HP ni nn 


DEC 


53249 


, (ionicb wiicii cyy iiiia ^lauii 






ODEO AD 01 DO 


LDA 


53249 


, giUDUic uown uciuw. uw! 






nnp^ Rn ni n4 


STA 


54273 


firiRd 9n ^p nA pfnaity 

UUO^ 01/ Un rCnMLI I 


IQR 

jon 


BOAT 


nnpfi 4P nn nn 

UL/LU UU UU 


JMP 


BAKUP 


nni;? aq rn 

UUUf na UO 


LDA 


#3 


0DF9 AD IF DO OAKUP 


LDA 


53279 


finRQ Art AR cn 

UUOa OU to UO 


STA 


RIRRQPPPn 


ODEC A9 00 

uuuw na UU 


LDA 


#0 


0D5C A9 02 


LDA 


#2 


ODEE 8D 20 DO 


STA 


$0020 


0D5E 8D 20 DO 


STA 


$D020 


0DF1 8D 21 DO 


STA 


$0021 


0D61 8D 21 DO 


STA 


$D021 


0DF4 8D 55 03 


STA 


COLSfl/ 


0D64 20 ED OB 


JSR 


EGERASE 


0DF7 20 39 OD 


JSR 


BOUNCE 


; move bird down, deposit sideb 


lar 




; cheesy way to exit, but It 






; and move back to top again 






; wcrks just fine 






0D87 DESCEND 






ODFA 68 


PU 




; sparkle wtiile you work 






ODFB 68 


PU 




0D67 20 CA 10 


JSR 


SRARKLE 


ODFC 20 3C OA 


JSR 


BOAT 


0D6A EE 01 DO 


INC 


S3249 


ODFF 4C 35 09 


JMP 


NOTAK 


0D6D EE 01 DO 


INC 


53249 








0D70 AD 01 DO 


LDA 


53249 


; — score ■ 






0D73 8D 01 D4 


STA 


54273 









204 



The Source Code 



; increase scofe and display n 

; scores above the playfield 

0E02 UPSCORE 

0E02 18 

0E03 AD 57 03 

0E06 69 OA 

0E08 80 57 03 

OEOB AD 58 03 

OEOE 69 00 

0E10 8D 58 03 

0E13 38 SC2 

0E14 AD 57 03 

0E17 ED 54 14 

0E1A AD 58 03 

0E1D ED 55 14 

0E20 90 OC 

0E22 AD 57 03 

0E25 8D 54 14 

0E28 AD 58 03 

0E2B 8D 55 14 

0E2E DOSCR 

0E2E A9 13 

0E30 20 D2 FF 

0E33 A2 OB 

0E35 A9 20 

0E37 9D 00 04 BUNK 
0E3A CA 
0E3B 10 RA 
0E3D A9 ID 
0E3F 20 D2 FF 
0E42 A9 1D 
0E44 20 D2 FF 
0E47 AE 57 03 
0E4A AD 58 03 
0E4D 20 CD BD 
0E50 A9 20 
0E52 20 D2 FF 
0E55 A9 E8 
0E57 AO 13 
0E59 20 IE AB 
0E5C AE 54 14 
0E5F AD 55 14 
0E62 20 CD BD 
0E65 A9 20 
0E67 20 D2 FF 
0E6A A9 18 BALOT 
0E6C AO 14 
0E6E 20 1E AB 
0E71 AE 62 03 
0E74 A9 00 
0E76 20 CD BD 
0E79 A9 20 
0E7B 20 D2 FF 
0E7E A9 20 
0E80 4C D2 FF 



0E83 
0E83 18 
0E84 AD 
0E87 69 
0E89 8D 
0E8CAD 
0E8F 69 
0E91 8D 
0E94 4C 



ONEMORE = 



57 03 
01 

57 03 

58 03 
00 

58 03 
13 OE 



= 




CLC 




LDA 


SCORE 


ADC 


#10 


STA 


SCORE 


LDA 


SCORE+1 


ADC 


#0 


STA 


SCORE+1 


SEC 




LDA 


SCORE 


SBC 


HIGH 


LDA 


SCORE+1 


SBC 


HIGH+1 


BCC 


DOSCR 


LDA 


SCORE 


STA 


HIGH 


LDA 


SCORE+1 


STA 


HIGH+1 


= 
LDA 


#19 


JSR 


$FFD2 


LDX 


#11 


LDA 


#32 


STA 


1024,X 


DEX 




BPL 


BLANK 


LDA 


#29 


JSR 


$FFD2 


LDA 


#29 


JSR 


$FFD2 


LDX 


SCORE 


LDA 


SCORE+1 


JSR 


$BDCD 


LDA 


#32 


JSR 


$FFD2 


LDA 


#<HiiMSG 


LDY 


#>HIMSG 


JSR 


$AB1E 


LDX 


HIGH 


LDA 


HIGH+1 


JSR 


$BDCD 


LOA 


#32 


JSR 


$FFD2 


LDA 


#<BLMSG 


LDY 


#>BLMSG 


JSR 


$AB1E 


LDX 


BALLS 


LDA 


#0 


JSR 


SBDCD 


LDA 


#32 


JSR 


$FFD2 


LDA 


#32 


JMP 


$FFD2 


CLC 




LDA 


SCORE 


ADC 


#1 


STA 


SCORE 


LDA 


SCORE+1 


ADC 


#0 


STA 


SCORE+1 


JMP 


SC2 



0E97 


DONCHK 


= 




0E97 A9 00 




LDA 


#0 


0E99 8D 5B 03 




STA 


DNFLAG 


0E9C 85 AA 




S1A 


$AA 


OEOE A9 04 




LDA 


#4 


OEAO 85 AB 




STA 


$AB 


0EA2 AO 00 




LDY 


#0 


0EA4 B1 AA 


ALL 


LDA 


($AA),Y 


0EA6 C9 5A 




CMP 


#90 


OEAO FO 16 




BEQ 


YETMOR 


OEAA 09 57 




CMP 


#87 


OEAC FO 12 




BEQ 


YETMOR 


OEAE E6 AA 




INC 


$AA 


OEBO DO 02 




BNE 


NOXAB 


0EB2 E6 AB 




INC 


SAB 


0EB4 38 


NOXAB 


SEC 




0EB5A5AA 




LDA 


$AA 


0EB7 E9 E6 




SBC 


#<2022 


OEBO A5 AB 




LDA 


SAB 


OEBB E9 07 




SBC 


#>2022 


OEBD 90 E5 




BCC 


ALL 


OEBF 60 




RTS 




OECO A9 01 


YETMOR 


LDA 


#1 


0EC2 8D SB 03 




STA 


DNFLAG 


0EC5 60 




RTS 




, duyiup 

; Initialize tor a new game 






0EC6 


STARTUP 






0EC6 20 30 OA 




JSR 


BOAT 


0EC9 AD 56 14 




LDA 


BALLY 


OECC 8D 62 03 




STA 


BALLS 


OECF A9 03 




LDA 


#3 



— done yet 

make sure everything's cleaned 
out of the playfleid 



0ED1 80 64 03 
0ED4 A9 93 
0ED6 20 D2 FF 
0EO9 A9 00 
0ED6 80 15 DO 
OEDE 20 69 OA 
0EE1 20 2E OE 
0EE4 A9 01 
0EE6 8D ID DO 
0EE9 A9 3D 
OEEB 8D 01 DO 
OEEE A9 F3 
OEFO 80 F8 07 
0EF3 8D 3C 03 
0EF6 A9 06 
0EF8 BD 3E 03 
OEFB A9 02 
OEFD 8D 46 03 
OFOO A9 01 
0F02 8D 51 03 
0F05 8D 53 03 
0F08 A9 50 
OFOA 8D 3F 03 
OFOD 8D 00 DO 
0F10 A9 00 
0F12 8D 40 03 
0F15 8D 10 DO 
0F18 80 41 03 
;— draw startup message 
0F1B A2 08 

0F1D BD FD 13 DRMES 
0F20 9D 40 OS 
0F23 A9 03 



STA SLFLAG 

LDA #$93 

JSR $FFD2 

LDA #0 



STA 
JSR 
JSR 



53269 
DRAA/SCRN 
DOSCR 
LDA #1 
STA 53248+29 
LDA #61 
STA 53249 
LDA #243 
2040 
SHAPE 
#6 

DELSPEED 
LDA #2 
STA BIRDSPEED 
#1 

EGUD 
EGLR 



STA 
STA 
LDA 
STA 



LDA 
STA 
STA 
LDA 
STA 
STA 
LDA 
STA 
STA 
STA 



XPOS 
53248 
#0 

XPOS+1 

53264 

LEX 



LDX #8 

LDA MSG1,X 

STA 13S7,X 

LDA #3 



205 



Chapter 3 



0F25 9D 4D D9 


STA 


1357 + 54272,X 


0F28 BD 06 14 


LDA 


MSG2,X 


0F2B 9D 75 05 


STA 


1397,X 


0F2E A9 03 


LDA 


#3 


0F3O 9D 75 D9 


STA 


1397 + 54272,X 


0F33 BD OF 14 


LDA 


MSG3,X 


0F36 9D 9D 05 


STA 


1437,X 


0F39 A9 03 


LDA 


#3 


0F3B 9D 9D D9 


STA 


1437 + 54272,X 


0F3E CA 


OEX 




0F3F 10 DC 


BPL 


DRMES 


:— default bounds for wttirlybird 






0F41 A9 22 


LDA 


#34 


0F43 80 44 03 


STA 


LLIMIT 


0F46 A9 00 


LOA 


#0 


0F48 BD 45 03 


STA 


LLIMIT+1 


0F4B A9 20 


LDA 


#32 


0F4D 80 42 03 


STA 


RLIMIT 


0F50 A9 01 


LDA 


#1 


0F52 80 43 03 


STA 


RLIMIT+1 


0F55 80 15 OO 


STA 


53269 


;— adjust number of eggs 






0F58 20 CA 10 KEYIN 


JSR 


SRARKLE 


0F5B AD 00 DC 


LDA 


56320 


0F5E 29 OF 


AND 


#15 


0F60 C9 OE 


CMP 


#14 


0F62 FO 07 


BEQ 


BALUP 


0F64 C9 OD 


CMP 


#13 


0F66 FO OC 


BEQ 


BALDN 


0F68 4C 70 OF 


JMP 


OEYIN 


0F6B EE 62 03 BALUP 


INC 


BALLS 


0F6E 20 6A OE 


JSR 


BALOT 


0F71 4C 77 OF 


JMP 


BEIN 


0F74 CE 62 03 BALDN 


DEC 


BALLS 


0F77 20 6A OE BEIN 


JSR 


BALOT 


0F7A 20 51 OA 


JSR 


SLOWDOWN 


;— poll keyboard forfl, 13, f7 






0F7D A5 05 DEYIN 


LOA 


197 


0F7F C9 04 


CH/IP 


#4 


0F81 FO OB 


BEQ 


NORM 


0F83 C9 05 


CMP 


#5 


0F85 FO 14 


BEQ 


EXPRT 


0F87 C9 03 


CH/IP 


#3 


0F89 FO 49 


BEQ 


BASIC 


0F8B 4C 58 OF 


JMP 


KEYIN 


;— whirlybird is expanded 






0F8E A9 00 NORtUi 


LDA 


#0 


0F90 8D 5C 03 


STA 


SKILL 


0F93 A9 01 


LDA 


#1 


0F95 80 ID DO 


STA 


53248 + 29 


0F98 4C 89 OF 


JMP 


STOONE 


:— whirlybird is small 






0F9B A9 01 EXPRT 


LDA 


#1 


0F9D 8D 5C 03 


STA 


SKILL 


OftO A9 00 


LDA 


#0 


0ffi2 8D 1D OO 


STA 


53248 + 29 


;- small bird needs wider bounds - 




0FA5 A9 20 


LDA 


wit 


0FA7 8D 44 03 


STA 


LLIMIT 


OFAA A9 00 


LDA 


#0 


OFAC 80 45 03 


STA 


LLIMIT+1 


OftF A9 37 


LOA 


#55 


0FB1 80 42 03 


STA 


RLIMIT 


0FB4 A9 01 


LDA 


#1 


0FB6 80 43 03 


STA 


RLIMIT+1 


;— erase startup message — 






0FB9 A2 08 STOONE 


LDX 


#8 


OFBB A9 20 


LDA 


#32 


0FBD9O4D05 ERIWES 


STA 


1357,X 


OFCO 90 75 05 


STA 


1397,X 



206 



0FC3 9D 90 05 


STA 


1437,X 


0FC6 CA 


OEX 




0FC7 10 F4 


BPL 


ERMES 


OFCO A9 00 


LDA 


#0 


OFCB 8D 57 03 


STA 




OFCE 80 58 03 


STA 


SCORE+1 


0FO1 4C 2E OE 


JMP 


DOSCR 


:— exit to basic if f7 pressed - 






; execute a brl( to restore vectors, 




: clear screen, etc. 






0FD4 A9 00 BASIC 


LOA 


#0 


0FD6 85 C6 


STA 


198 


OFDB 4C C6 00 


JMP 


198 


; — interrupt handler 






; operates as a baclcground proa 


iSS 




; during irq intervals, moves 






: bird, rotates its straps and 
; changes filtering for sounds 






OFOB INTERRUPT 






OFDB AD 69 03 


LDA 


rnci A/2 

uUrLnU 


OFDE FO 03 


BEQ 


niMT 


OFEO 4C 31 EA 


JMP 




0FE3 EE 50 03 DINT 


INC 


CPMT 


0FE6 AO 50 03 


LDA 


rUNI 


OFEO C9 01 


OMP 


ffl 


OFEB 90 33 


BCO 


FDO 


OFEO A9 00 


LOA 


#u 


OFEF 80 5D 03 


STA 


FCNT 


0FF2 AO 5F 03 


LOA 


FDIR 


0FF5 DO 17 


BNE 


FDWN 


0FF7 EE 5E 03 FUP 


INC 


FCUT 


OFFA EE 5E 03 


INC 


FCUT 


OFFD AD 5E 03 


LDA 


FCUT 


1000 C9 1* 


CMP 




1002 BO 02 


BOS 


FBDN 


1004 90 1A 


BCC 


FDO 


1006 A9 01 FBDN 


LDA 


#1 


1008 80 5F 03 


STA 


FOIR 


100B 40 20 10 


JMP 


FDO 


100E CE 5E 03 FDWN 


DEC 


FCUT 


1011 CE 5E 03 


DEC 


FCUT 


1014 AD 5E 03 


LDA 


FCUT 


1017 09 32 


CMP 


#50 


1019 BO 05 


BOS 


FDO 


1018 A9 00 


LDA 


#0 


1010 80 5F 03 


STA 


FOIR 


;— current filter value 






1020 AD 5E 03 FOO 


LOA 


CPI IT 


1023 80 16 04 


STA 


54294 


1026 AO IF 00 


LOA 


53279 


1029 8D 55 03 


STA 




1020 AD 46 03 


LDA 


nnUbrbtU 


102F 4A 


LSR 




1030 80 3E 03 


STA 


UtLbrttU 


1033 AO 3D 03 


LDA 


DELAY 


1036 CD 3E 03 


CMP 


DELSPEED 


1039 BO 06 


BCS 


DLDONE 


103B EE 30 03 


INC 


DELAY 


103E 4C 60 10 


JMP 


BACKFORTH 


;— rotate bird shape 






1041 A9 00 OLDONE 


LDA 


m 


1043 80 3D 03 


STA 


DEUY 


1046 AO 3C 03 


LDA 


SHAPE 


1049 C9 F9 


CMP 


#249 


104B BO 00 


BCS 


BKSHAPE 


104D UPSHAPE 




* 


1040 EE 30 03 


INC 


SHAPE 



The Source Code 



1050 AD 3C 03 




LDA 


SHAPE 


1053 8D F8 07 




STA 


SPRSHAPE 


1056 4C 60 10 




JMP 


BACKFORTH 


1059 A9 FO 


BKSIHAPE 


LDA 


#240 


1058 8D 3C 03 




STA 


SHAPE 


10SE DO EO 




BNE 


UPSHAPE 


move bird right/left 






irifin 

lUOU 




= 


* 


luou nu HI uq 




LDA 


LEX 


IU0<3 rU CO 




BEQ 


LEFT 


lUDg 


nibnl 


= 


* 


iVOO 00 




SEC 




incc An op M 
lUOD nU Or UO 




LDA 


XPOS 


iflfiQ Pn A7 m 

IvOs CU "iC uO 




SBC 


RLIMIT 


iftfip An 4n m 




LDA 


XPOS+1 


infiP Fn 45 m 

lUOr CU HO vO 




SBC 


RLIMIT+1 






BCS 


BACKLEFT 


1074 


Hi I tUK 


= 


* 


1074 18 




CLC 




107*1 An 

lUf J nu or UO 




LDA 


XPOS 


IU/0 OU *iO UO 




ADC 


BIRDSPEED 


in7R An ^F fU 
iU(D OU or UO 




STA 


XPOS 


in7F An 4n DjI 

lUfC nU HU UO 




LDA 


XPOS+1 


inAi RQ nn 

1 UO 1 09 UU 




ADC 


#0 


lOfl? AD dn riA 

lUuu OU MU UO 




STA 


XPOS+1 


inftR 4n RR in 




JMP 


GOMOVE 


inAQ 




= 


* 


iDAQ AQ nn 

iU09 nO UU 




LDA 


#0 


mftR fln 41 (n 

\ UOD OU H \ UO 




STA 


LEX 


luoc ru CO 




BEQ 


GOMOVE 


1090 


1 PPT 


= 


* 


1090 % 




SEC 




1091 AD 44 0^ 




LDA 


LLIMIT 


in<)4 pn 5P 




SBC 


XPOS 


1097 AD 45 03 




LDA 


LLIMIT+1 


109A ED 40 03 




SBC 


XPOS+1 


109D FO 17 




BEQ 


BACKRIGHT 


109F BO 15 




BCS 


BACKRIGHT 


10A1 


IfFTOK 


= 


* 


10A1 38 




SEC 




1QA2 AD 3F 03 




LDA 


XPOS 


1QA5 ED 46 03 




SBC 


BIRDSPEED 


10A8 8D 3F 03 




STA 


XPOS 


10ABAD 40 03 




LDA 


XPOS+1 


10AE E9 00 




SBC 


#0 


1080 8D 40 03 




STA 


XPOS+1 


10B3 4C BB 10 




JMP 


GOMOVE 


10B6 


BACKRIGHT 




* 


1086 A9 01 




LDA 


#1 


1088 8D 41 03 




STA 


LEX 


108B 


GOMOVE 






10BB AD 3F 03 




LDA 


XPOS 


10BE 8D 00 DO 




STA 


53248 


10C1 AD 40 03 




LDA 


XPOS+1 


10C4 8D 10 DO 




STA 


53264 


: must lerminale with jmp to 






; normal irq entry point 






10C7 









4C 
31 
EA 

NOMOVE 

JMP 

$EA31 



' sparkle - 



10CA 



SBWKLE 



10CAA2 17 

10CC AO 00 

10CE A9 50 

10D0 85 BO 

10D2 A9 08 

10D4 85 B1 

10D6 A9 77 

10D8 85 B4 

10DA AO D8 

10DC 85 B5 

10DE SPKL 

10DE AD IB D4 

10E1 29 OF 

10E3 C9 00 

10E5 FO F7 

10E7 C9 02 

10E9 FO F3 

10EB C9 OB 

10ED FO EF 

10EF 91 BO 

10F1 91 B4 

10F3 18 

10F4 A5 BO 

10F6 69 28 

10F8 85 BO 

10ft A5 B1 

10FC 69 00 

10FE 85 B1 

1100 18 

1101 A5 B4 
1103 69 28 
1105 85 84 
1107 A5 B5 

1109 69 00 
110B 85 B5 
110D CA 
110E 10 CE 

1110 60 

;— sprite shape data 

1111 SPRDATA 
1111 00 00 00 

111C 00 00 00 

1127 18 10 IE 



1132 40 FF 02 

113D 00 00 18 

1148 00 00 00 
1153 00 00 00 
115E 00 00 00 

1169 OE 18 70 

1174 06 40 3C 

117F 18 00 00 

118A 00 00 00 
1195 00 00 00 
11A0 00 00 00 

11AB EO OF 09 

11B6 3C OC 00 



LDX 


#23 


LDY 


#0 


LDA 


#<55296 +80 


STA 


$B0 


LDA 


#>55296 + 80 


STA 


$B1 


LDA 


#<55335+e0 


STA 


$B4 


LDA 


#>55335+80 


STA 

= 


$B5 
* 


LDA 


$D41B 


AND 


#15 


CMP 


#0 


BEG 


SPKL 


CMP 


#2 


BEQ 


SPKL 


CMP 


#11 


BEQ 


SPKL 


STA 


($BO),Y 


STA 


($B4),Y 


CLC 




LDA 


$B0 


ADC 


#40 


STA 


$80 


LDA 


$B1 


Anr 

null 


ffU 


STA 


$B1 


CLC 




LDA 


$B4 


ADC 


#40 


STA 


$B4 


LDA 


$B5 


ADC 


#0 


STA 


$B5 


DEX 




BPL 


SPKL 


RTS 









.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,0,0,0,0,24,0, 
8 

.BYTE 24,16,30,24,120,63, 
153,252,103,255,23 


.BYTE 64,255,2,128,60,1,0, 
60,0.0,24 

■BYTE 0,0,24,0,1,255,128,0 
,0,0,0 

.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,0,0,28,0,4,24 
,32 

.BYTE 14,24,112,31,153,24 
8,55,255,236,96,255 

.BYTE 6,64,60,2,0,60,0,0,2 
4,0,0 

.BYTE 24,0,0,255,0,0,0,0,0, 
0,0 

.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,28,0,2,24,0,7 
,24 

.BYTE 224,15,217,240,31,2 
55,248,56,255,28,48 

.BYTE 60,12,0,60,0,0,24,0, 
0,24,0 



207 



Chapter 3 



11C1 00 7E 00 
11CC 00 00 00 

nor 00 00 00 

11E2 00 00 IE 

11ED DB EO OF 

11F8 00 3C 00 

1203 00 00 00 
120E 00 00 00 
1219 00 00 00 
1224 IE 00 00 

122F 03 FF CO 

123A 00 00 18 

1245 00 00 00 
1250 00 00 00 
125B 00 00 00 

1266 00 18 00 

1271 00 00 7E 

127C 18 00 00 

1287 00 00 00 
1292 00 00 00 
129D 00 00 00 

12A8 00 00 9F 

12B3 7E EO 07 

12BE 00 18 00 

12C9 00 00 00 
12D4 00 00 00 
12DF 00 00 00 

12EA 19 EO 07 

12F5 18 3C 18 

1300 00 OO 3C 

130B 00 00 00 
1316 00 00 00 
1321 00 00 00 

132C OF 98 FO 

1337 OC 00 3C 

1342 7E 00 00 

134D 00 00 00 
1358 00 00 00 
1363 00 38 00 

136E F8 37 FF 

1379 3C 00 00 

1384 00 00 00 
138F 00 00 00 
139A 00 00 00 



BYTE 0,126,0,0,0,0,0,0,0,0 
,0 

.BYTE 0.0,0,0,0.0,0,0,0,0,0 
.BYTE 0,0,0,0,0.0.0,0,0,0.0 
.BYTE 0,0,30,0,3,24.0,7,15 

2,128,15 
.BYTE 219,224,15,255,240, 

28.126.56,24.60,24 
.BYTE 0.60,0,0.24,0,0,24.0, 

0,60 

BYTE 0,0,0.0,0,0,0,0.0.0,0 
BYTE 0,0,0,0,0,0,0.0,0,0,0 
.BYTE 0,0,0,0,0.0.0.0,0,0.0 
.BYTE 30,0.0.92,0,0.249,0, 

1,255,128 
.BYTE 3,255,192.7,126.224 

,6,60,224,0,60 
.BYTE 0.0,24,0.0.24,0,0,8.0 

.0 

.BYTE 0.0.0.0.0.0,0,0.0.0,0 
.BYTE 0,0.0.0,0,0.0.0,0,0,0 
.BYTE 0,0,0,0,0.0.0.0,0,24. 


.BYTE 0.24.0.0,60,0.0.60,0, 
0,126 

.BYTE 0,0,126,0,0,126,0,0, 
60,0,0 

.BYTE 24,0,0,24,0,0,24,0,0, 
0,0 

.BYTE 0,0.0.0,0,0,0.0,0,0,0 
.BYTE 0,0,0,0,0,0.0.0,0,0,0 
.BYTE 0.0,0,0,0.0.0,120.0.0 
,58 

.BYTE 0,0,159.0.1.255,128, 

3 255 192 7 
.BYTE 126,224,7',60,96,0,6 

0,0,0,24,0 
.BYTE 0,24,0,0,16,0,0,0,0,0 

,0 

.BYTE 0,0,0,0,0,0,0,0,0,0,0 
.BYTE 0,0,0,0,0,0.0,0,0,0,0 
.BYTE 0,0,0.0.0,120.0.0,24, 
192,1 

.BYTE 25,224,7,219,240,15 
,255,240,28,126,56 

.BYTE 24,60,24,0,60,0,0.24 
,0,0,24 

.BYTE 0,0,60,0,0,0,0,0,0,0, 


.BYTE 0,0,0,0,0,0,0,0.0,0,0 
.BYTE 0,0.0,0,0.0.0.0,0,0.0 
.BYTE 0.0,0,56.0.0,24.64,7, 
24,224 

.BYTE 15,155,240,31,255,2 
48,56,255,28,48,60 

.BYTE 12,0,60.0.0,24,0.0,2 
4.0,0 

.BYTE 126.0.0,0,0,0,0,0,0,0 
.0 

BYTE 0,0.0.0.0,0,0,0.0.0,0 
.BYTE 0,0,0,0,0,0.0.0.0,0,0 
.BYTE 0,56,0,4,24,32,14.24 

,112,31,153 
.BYTE 248,55,255,236,96,2 

55,6,64,60,2,0 
.BYTE 60,0,0,24.0,0,24,0.0, 

255.0 

.BYTE 0.0,0.0.0,0,0,0.0.0.0 
.BYTE 0,0,0,0,0,0.0.0,0,0,0 
.BYTE 0,0.0,0,0,0,0.0.0,0, 
24 



13A5 00 08 18 




.BYTE 


n a Oji ic w ox ion 








01^0 


13B0 FF E6 40 




QVTC 
.DT It 


OKU 0*30 RA oi;^ to 








0,DU, 1 ,U,DU,U 


13BB 00 18 00 




DVTC 










19R nn 


13C6 00 00 00 




DVTC 
.DT 1 1 


nnnnnnnnnn 


13D0 


ENDATA 






; character data 






1300 


CRDATA 


_ 


* 


13D0 FF FF C3 




.BYTE 


255.255.195.195.19 








5.195.255.255 


13D8 


CRDA1 






13D8 FF 3C 18 




RVTF 
■DT It 


Rfl OA OA OA OA 










13E0 


CRDA2 






13E0 00 3C 7E 




DVTC 
.01 IC 










Q,uU,U 


; — variables & etc 






i3E8 13 ID ID 


HIMSG 


.BYT 


19,29,29.29,29,29.2 

Q 


13EF ID ID ID 




DVT 
.DT 1 


00 00 00 90 00 00 9 

Q 


13F6 48 49 47 




4 CP 
.Abu 


y 

niuri. 


13FC 00 




DVT 
.DTl 


A 

U 


13FD 06 31 20 


It/ISGI 


DVT 

.Dl 1 


R jIQ V> tA m 11) 1Q 
D,'Tg.J£, 11. lu, 10, 10, 








1 10 


1406 06 33 20 


MSG2 


.BYT 


6,51.32,5,24.16,5,18 








,20 


140F 06 37 20 


MSG3 


.BYT 


6.55.32.17.21,9,20.3 








2,32 


1418 


BIMSG 






1418 13 ID ID 




.BYT 


19,29,29,29,29,29.2 








9,29,29,29,29.29 


1424 ID ID ID 




.BYT 


29,29,29,29,29.29,2 








9,29.29,29.29 


142F ID ID ID 




.BYT 


29,29,29,29.29 


1434 45 47 47 




.ASC 


"EGGS: • 


143A 00 




.BYT 






- SID chip values - 



143B SID 
143B OB 07 05 
1442 96 03 05 

1449 FF FF 00 

1450 00 64 F3 



;— assorted variables — 
: tiigh score 

1454 00 00 HIGH 
: default num of eggs 
1456 OA BALLY 



.BYT 11.7,5,200.64,10.0 
.BYT 155,3,5.200,20.15,2 
40 

.BYT 255.255,0,0.128,0,0 
.BYT 0,100,243,15+16 
+32 



BYT 0,0 
.BYT 10 



1457 SPRSHAPE 

; sprite shape 

1457 SHAPE 

1457 DELAY 

1457 DELSPEED 

; bird x position 

1457 XPOS 



2040 



829 
830 



831 



208 



The Source Code 



; bird l/r Hag 








1457 


LEX 


= 


833 


: r bird boundary 








1457 


RLIMIT 




834 


; 1 bird boundary 








1457 


LLIMIT 


= 


836 


1457 


BIRDSPEED 


= 


838 


1457 


COUNT 


= 


839 


: for drawing screen 






1457 


DLIMIT 




841 


: ditto 








1457 


CHAR 




843 


; ditto 








1457 


COL 


= 


844 


1457 


TEIWP 


= 


847 


: egg up/down fla 


g 






1457 


EGUD 




849 


; egg l/r flag 








1457 


EGLR 




851 


; collision info 








1457 


COLSfl/ 




853 


1 collision fIsQ 
1457 


COLFLAG 


• 


854 


; current score 








1457 


SCORE 


= 


855 


; done/not done 








1457 


ONFLAG 


= 


859 


; skill level 








1457 


SKILL 


= 


860 


: filler counter 








1457 


FONT 




861 


; filter cutoff 








1457 


FCUT 




862 


: filter u/d flag 








1457 


FDIR 




863 


1457 


FCN1 




864 


1457 


RING 




865 


; num ol eggs left 








1457 


BALLS 




866 


1457 


PFLAG 




867 


1457 


SLFUG 




868 


1457 


BNOTE 




869 


1457 


GFLAG 




872 


; pause flag 
1457 


GOFUG 




873 



209 



Miami Ice 
Source Code 

Source code by Kevin Mykytyn 



iJ 
uJ 

U 



0801 




*— 


2049 


085C DO FA 




BNE 


WTER 








085E AD IF DO 




LDA 


53279 


; miami ice 








0861 AD 1E DO 
nocA An nr* 
Uod4 ad 01 Ui, 




LDA 

1 n& 
LUA 


C0070 

cnrm 
itiUUUI 


0801 


SCR 




5 


wo7 29 10 




AND 


#10 


0601 


STARTX 




38 


0Bd9 do CO 




□Nc 


tA/£ITDI IT 
WAI 1 DU I 


0801 


STARTY 




60 


0868 A9 40 




LDA 


#64 


0801 


WALLS 




4 


0660 60 04 04 




STA 


54276 


0801 
0801 


MAX 




70 


/\ftm A A AA 

0870 A9 41 




LDA 


#65 


MIN 




185 


0872 80 04 04 




STA 


54276 


0801 


TEMP 




2 


0875 


MAIN 






0801 


TEIWPO 




3 


na7c Oft 1 n nn 
UO/O iij 1U \fa 




ICQ 




0801 


FREEO 




251 


0876 20 48 09 




IQR 


nDACu 
Unfton 


0801 


TIMER 




248 


067B CE 21 13 




ncr 
Utu 


invi 
JUiL 


0801 


TICK 




247 


087E DO 09 




BNE 


NOJOY 


0801 


SCORE 




195 


0880 AD 22 13 




LDA 


JOYH 


0801 


LIVES 




189 


0863 6D 21 13 




STA 


JOYL 


0801 


LEVEL 




180 


0866 20 95 OE 




JSR 


JUYollLrK 








0669 


NOJOY 






: BASIC line to start Droaram 






0889 CE 26 13 




ncr 


MUvL 










088C DO OC 




DINC 


DUIVlUVc 


0801 OC 08 OA 




.BYT 


12.6,10,0,158 


088E AD 26 13 




LDA 


MOVH 


0806 20 32 30 




.ASC 


" 2062' 


0891 60 25 13 




STA 


MOVL 


060B 00 00 00 




.BYT 


0,0,0 


0894 20 16 OE 




JSR 


MUVUAH 






0697 20 4F OD 




JSR 


UALU 


OBOE 20 EO OE 




JSR 


SETSPRITE 


089A 


NOMOVE 






0811 20 BC OD 




JSR 


RASTSET 


089A AO 00 




LDY 


ffU 


0814 A9 00 




LDA 


#0 


069C 68 


WT 


DEY 




0616 AO 18 




LDY 


#24 


069D DO FO 




BNE 


WT 


0616 B9 A2 06 


D 


LDA 


SID,Y 


089F 4C 75 06 




JMr 


MAIN 


081B 99 00 D4 




STA 


54272,Y 


08A2 00 05 00 


SID 


.BYT 


n c n i n o^n 

U,0,U, l,U,£J,^nU 


081E 88 




DEY 




08A9 00 IE 00 




DVT 
.DT 1 


n Qn n n A 197 n 

U,OU,U,U,U, i<3/,U 


081F 10 F7 




BPL 


D 


06BO 00 OA 00 




DVT 
.DTI 


n in n n n 

U,IU,U,U,U,40|U 


0621 20 C4 08 


NEWGAUE 


JSR 


STARTGAME 


08B7 00 05 F1 




DVT 
.DT 1 


n f\ OAi 7Q 


0824 20 75 OA 


STARTROUN 


JSR 


DRmSCREEN 










0827 AD 01 DC 


LETGO 


LDA 


$DC01 


: output a numt)er 






062A 29 10 




AND 


#16 










0620 FO F9 




BEQ 


LETGO 


08BB 


RBDCD 




* 


082E A2 00 




LDX 


#0 


08BB 20 CO BD 




JSR 


$BOCO 


0830 AO 10 




LDY 


#16 


08BE A9 20 




LDA 


#" " 


0632 18 




CLC 




08C0 20 02 FF 




JSR 


$FF02 


0633 20 FO FF 




JSR 


SFFFO 


06C3 60 




RTS 




0836 A9 E2 




LDA 


#<MESS4 










0838 AO OB 




LDY 


#>MESS4 


: start game 








083A 20 IE AB 




JSR 


$AB1E 










0630 A6 B4 




LDX 


LEVEL 


(I8C4 


STARTGAME 






083F E8 




INX 




08C4 A9 00 




LDA 


#0 


0840 A9 00 




LDA 


#0 


08C6 65 C3 




STA 


SCORE 


0842 20 CD BD 




JSR 


$BDCD 


08C6 65 C4 




STA 


SCORE+1 


0845 A9 C8 




LDA 


#200 


06CAA9 00 




LDA 


#0 


0847 85 F8 




STA 


TIMER 


08CC 65 64 




STA 


LEVEL 


0849 A9 00 




LDA 


#0 


08CE A9 03 




LDA 


#3 


0848 85 F9 




STA 


TIMER+1 


08DO 65 BD 




STA 


LIVES 


084D 20 D6 OD 


RESET 


JSR 


INITROUND 


06D2 A9 93 




LDA 


#"{CLR}" 


0850 20 52 OA 




JSR 


SCROUT 


06O4 20 02 FF 




JSR 


$FF02 


0853 20 95 OE 


WAITBUT 


JSR 


JOYSTICK 


0807 A2 03 




LDX 


#3 


0856 A2 64 




LDX 


#100 


08D9 8E 21 DO 




STX 


53281 


0858 88 


WTER 


DEY 




OeDCE6 




INX 


53260 


0859 DO FD 




BNE 


WTER 


0800 6E 20 DO 




STX 


085B CA 




DEX 




08E0 A2 07 




LDX 


#7 



u 



210 



U 



The Source Code 



08E2 


AO OB 


08E4 


18 


08E5 


20 FO FF 


08E8 


A9 EC 


08EA 


AO 08 


08EC 


20 IE AS 


08EF 


A5 B4 


08F1 


18 


08F2 


69 31 


08F4 


8D A7 05 


08F7 


A9 OA 


08F9 


20 45 OA 


08FC 


AD 01 DC 


08FF 


4A 


0900 


BO OA 


0902 


A5 B4 


0904 


C9 08 


0908 


FO E7 


nona 


CR OA 

to w 


090A 


10 E3 


nonn 


AH 


090D 


BO 08 


090F 


A5 B4 


0911 


FO DC 


0913 


C6B4 


0915 


10 DB 


0917 


4A 


0918 


4A 


0919 


4A 


091A 


BO D3 


091C 


60 


; upd 


lie timer 


i)9lD 




091D 


C6 F7 


091F 


00 26 


0921 


A9 C8 


0923 


85 F7 


0925 


A5 F8 


0927 


05 F9 


0929 


FO 1C 


092B 


A5 F8 


092D 


38 


092E 


E9 01 


0930 


85 F8 


0932 


A5 F9 


0934 


E9 00 


0936 


85 F9 


0938 


A2 18 


093A 


AO 07 


093C 


18 


093D 


20 FO FF 


0940 


A6 F8 


0942 


A5 F9 


0944 


20 BB 08 


0947 


60 



VP 



NUP 



NDOWN 



TOCK 



NOTDOWN 



check on a crash 



CRASH 



0948 

0948 AD 23 13 
094B 10 05 
094D 49 FF 
094F 18 
0950 69 01 
0952 85 02 CHIT 
0954 AD 24 13 
0957 10 05 
0959 49 FF 



LOT 


#11 


095B 18 




CLC 




CLC 




095C 69 01 




ADC 


#1 


JSR 


$FFFO 


095E 18 


CHIT2 


CLC 




LDA 


#<MESS5 


095F 65 02 




AOC 


TEMP 


LDY 


#>MESS5 


0961 8D 00 04 




STA 


54272 


JSR 


$AB1E 


0964 AD IF DO 




LDA 


53279 


LDA 


LEVEL 


0967 29 08 




AND 


#8 


CLC 




0969 DO 14 




BNE 


OIDCRASH 


ADC 


#49 


096B AD IE 00 




LDA 


53278 


STA 


1447 


096E 85 02 




STA 


TEMP 


LDA 


#10 


0970 29 OA 




AND 


#10 


JSR 


BIGDELAY 


0972 C9 OA 




CMP 


#10 


LDA 


$DC01 


0974 FO 09 




BEQ 


OIDCRASH 


LSR 




0976 A5 02 




LDA 


TEMP 


BCS 


NUP 


0978 29 OC 




AND 


#12 


LDA 


LEVEL 


097A C9 OC 




CMP 


#12 


CMP 


#6 


097C FO 3A 




BEQ 


MADIT 


BEQ 


VP 


097E 60 




RTS 




INC 


LEVEL 


097F A9 40 


OIDCRASH 


LDA 


#64 


BPL 


VP 


0981 8D 04 04 




STA 


54276 


LSR 




0984 A9 80 




LDA 


#128 


BCS 


NDOWN 


0986 8D 12 D4 




STA 


54290 


LDA 


LEVEL 


0989 A9 81 




LDA 


#129 


BEQ 


VP 


0988 80 12 D4 




STA 


54290 


DEC 


LEVEL 


098E A9 08 




LDA 


#8 


BPL 


VP 


0990 80 20 13 




STA 


SPRPTR 


LSR 




0993 A9 05 


EXPL 


LDA 


#5 


LSR 




0995 20 45 OA 




JSR 


BIGDELAY 


LSR 




0998 AD 20 13 




LDA 


SPRPTR 


BCS 


VP 


099B C9 00 




CMP 


#13 


RTS 




0990 FO 08 




BEQ 


FIN 






099F EE 20 13 




INC 


SPRPTR 






09A2 4C 93 09 




JMP 


EXPL 






09A5 A9 07 


FIN 


LDA 


#7 


= 


* 


09A7 80 15 DO 




STA 


53269 


DEC 


TICK 


09AA A9 64 




LDA 


#100 


BNE 


NOTDOWN 


09AC 20 45 OA 




JSR 


BIGDELAY 


LDA 


#200 


09AF C6 BO 




DEC 


LIVES 


STA 


TICK 


09B1 FO 5A 




BEQ 


FINGAME 


LDA 


TIMER 


09B3 68 




PLA 




ORA 


TIMER+1 


0984 68 




PLA 




BEQ 


NOTDOWN 


09B5 4C 4D 08 




JMP 


RESET 


LDA 


TIMER 


09B8 A9 40 


MADIT 


LDA 


#64 


SEC 




09BA 80 04 04 




STA 


54276 


SBC 


#1 


09BDA9 00 




LDA 


#0 


STA 


TIMER 


09BF 85 02 




STA 


TEMP 


LDA 


TIMER+1 


09C1 A5 F8 


MADE 


LDA 


TIMER 


SBC 


#0 


09C3 05 F9 




ORA 


TIMER+1 


STA 


TIMER+1 


09C5 FO 32 




BEQ 


FINBONUS 


LDX 


#24 


09C7 A5 F8 




LDA 


TIMER 


LDY 


#7 


09C9 38 




SEC 




CLC 




09CA E9 01 




SBC 


#1 


JSR 


$FFF0 


09CC 85 F8 




STA 


TIMER 


LDX 


TIMER 


09CE AS F9 




LDA 


TIMER+1 


LDA 


TIMER+1 


09D0 E9 00 




SBC 


#0 


JSR 


RBDCD 


0902 85 F9 




STA 


TIMER+1 


RTS 




0904 A5 B4 




LDA 


LEVEL 






09D6 85 03 




STA 


TEMPO 






09D8 


REPEAT 




* 






0908 E6 C3 




INC 


SCORE 






09DA DO 02 




BNE 


NOTH 


LDA 


VELX 


09DC E6 C4 




INC 


SCCRE+1 


BPL 


CHIT 


09DE 20 52 OA 


NOTH 


JSR 


SCROUT 


EOR 


#255 


09E1 E6 02 




INC 


TEMP 


CLC 




09E3 A5 02 




LDA 


TEMP 


ADC 


m 


09E5 8D 01 04 




STA 


54273 


STA 


TEMP 


09E8 A9 40 




LDA 


#64 


LDA 


VELY 


09EA 8D 04 04 




STA 


54276 


BPL 


CHIT2 


09ED A9 41 




LDA 


#65 


EOR 


#255 


09EF 80 04 D4 




STA 


54276 



211 



Chapter 3 



09F2 C6 03 




DEC 


TEMPO 


09F4 10 E2 




BPL 


REPEAT 


09F6 4C CI 09 




JMP 


MADE 


09F9 A9 40 


FINBONUS 


LDA 


#64 


09FB 8D 04 D4 




STA 


54276 


09FE E6 B4 




INC 


LEVEL 


OAOO A9 64 




LDA 


#100 


0A02 20 45 OA 




JSR 


BIGDELAY 


0A05 A9 05 




m 


#5 


0A07 8D 01 D4 




STA 


54273 


OAOA 4C 24 08 




JMP 


STARTROUND 


OAOD 20 52 OA 


FINGAME 


JSR 


SCROUT 


0A10 A9 00 




LDA 


#0 


0A12 8D 15 DO 




STA 


53269 


0A15 A2 OC 




LDX 


#12 


0A17 AO 05 




LDY 


#5 


0A19 18 




CLC 




0A1A 20 FO FF 




JSR 


SFFFO 


0A1D A9 9E 




LDA 


#<MESS2 


0A1F AO OB 




LDV 


#>MESS2 


0A21 20 IE AS 




JSR 


$AB1E 


0A24 A2 OB 




LDX 


#11 


0A26 20 38 OA 




JSR 


LINOUT 


0A29 A2 OD 




LDX 


#13 


0A2B 20 38 OA 




JSR 


LINOUT 


0A2E AD 01 DC 


WTBU 


LDA 


SDCOl 


0A31 29 10 




AND 


#16 


0A33 DO F9 




BNE 


WTBU 


0A35 4C 21 08 




JMP 


NEWGAME 


0A38 AO 05 


UNCUT 


LDY 


#5 


0A3A 18 




CLC 




0A3B 20 FO FF 




JSR 


SFFFO 


0A3E A9 C1 




LDA 


#<MESS3 


0A40 AO OB 




LDY 


#>MESS3 


0A42 4C IE AB 




JMP 


$AB1E 


0A45 85 02 


BIGDEUY 


STA 


TEMP 


0A47 A9 00 




LDA 


#0 


0A49 85 A2 




STA 


162 


0A4B A5 A2 


DEL 


LDA 


162 


0A4D C5 02 




CMP 


TEMP 


0A4F DO FA 




BNE 


DEL 


0A51 60 




RTS 




; output tlie score 








bA52 A9 9F 


SCROUT 


LDA 


#'{CYN}" 


0A54 20 D2 FF 




JSR 


$FFD2 


0A57 A2 18 




LDX 


#24 


rtkcn Afl 17 

UADa AU If 




LUi 


MVi 
nca 


0A5B 18 




CLC 




0A5C 20 FO FF 




JSR 




0A5F A6 C3 




LDX 


SCORE 


0A61 A5 C4 




LDA 


SCORE+1 


0A63 20 BB 08 




JSR 


RBDCD 


0A66 A2 18 




LDX 


#24 


0A68 AO 26 




LDY 


#38 


0A6A 18 




CLC 




0A6B 20 FO FF 




JSR 


SFFFO 


0A6E A6 BD 




LDX 


LIVES 


0A70 A9 00 




LDA 


#0 


0A72 4C CD BD 




JMP 


SBDCD 


; draw a screen 








bA75 


DRMVSCREE 




* 


0A75 A9 93 




LDA 


#"{CLR}- 


0A77 20 D2 FF 




JSR 


$FFD2 


0A7A A9 01 




LDA 


#1 


0A7C 8D 21 DO 




STA 


53281 


0A7F A9 03 




LDA 


#3 



212 



0A81 8D 20 DO 




STA 


53280 


0A84 A2 18 




LDX 


#24 


0A86 AO 00 




LDY 


#0 


0A88 18 




CLC 




0A89 20 FO FF 




JSR 


SFFFO 


0A8CA9 71 




LDA 


#<MESS1 


0A8E AO OB 




LDY 


#>MESS1 


0A90 20 IE AB 




JSR 


$AB1E 


0A93 AO 27 




LDY 


#39 


0A95 A9 AO 


TOPBOT 


LDA 


#160 


0A97 99 00 04 




STA 


1024,Y 


0A9A 99 98 07 




STA 


1944,Y 


0A9D A9 04 




LDA 


#VWU.LS 


0A9F 99 00 D8 




STA 


55296,Y 


0AA2 99 98 DB 




STA 


56216,Y 


OAAS 88 




DEY 




0AA6 10 ED 




BPL 


TOPBOT 


0AA8A9 00 




LDA 


#0 


OAAA 85 FB 




STA 


FREED 


OAAC 85 FD 




STA 


FREEO+2 


OAAE A9 04 




LDA 


#4 


OABO 85 FC 




STA 


FREEO+1 


0AB2A9 D8 




LDA 


#216 


0AB4 85 FE 




STA 


FREEO+3 


0AB6 A2 18 




LDX 


#24 


0AB8 AO 00 


SIDES 


LDY 


#0 


0ABAA9 AO 




LDA 


#160 


OABC 91 FB 




STA 


(FREEO),Y 


OABE AO 27 




LDY 


#39 


OACO 91 FB 




STA 


(FREEO),Y 


0AC2 A9 04 




LDA 


#m.LS 


0AC4 91 FD 




STA 


(FREE0+2),Y 


0AC6 AO 00 




LDY 


#0 


0AC8 91 FD 




STA 


(FREE0+2),Y 


OACA A5 FB 




LDA 


FREEO 


0ACC18 




CLC 




OACD 69 28 




ADC 


#40 


OACF 85 FB 




STA 


FREEO 


0AD1 A5 FC 




LDA 


FREEO+1 


0AD3 69 00 




ADC 


#0 


0AD5 85 FC 




STA 


FREEO+1 


0AD7 A5 FD 




LDA 


FREEO+2 


0AD9 18 




CLC 




OADA 69 28 




ADC 


#40 


0ADC85 FD 




STA 


FREEO+2 


OADE A5 FE 




LDA 


FREEO+3 


OAEO 69 00 




ADC 


#0 


0AE2 85 FE 




STA 


FREEO+3 


0AE4 CA 




DEX 




0AE5 DO 01 




BNE 


SIDES 


0AE7 A9 00 




LDA 


#0 


OAEO 85 FB 




STA 


FREEO 


OAEB A9 04 




LDA 


#4 


OAEO 85 FC 




STA 


FREEO+1 


OAEF A6 B4 




LDX 


LEVEL 


0AF1 EO 07 




CPX 


#7 


0AF3 90 02 




BCC 


FINE 


OAFS A2 06 




LDX 


#6 


0AF7 BD 09 OD 


FINE 


LDA 


ORDER,X 


OAF^ OA 




ASL 




OAFB AA 




TAX 




OAFC BD FB OC 




LDA 


INDEX,X 


OAFF 85 03 




STA 


TEMPO 


0B01 BD FC 00 




LDA 


INDEX+1,X 


0B04 85 04 




STA 


TEMPO+1 


0B06 AO FF 




LDY 


#255 


0BO8 C8 


DRmjOOP 


INY 




0B09 B1 03 




LDA 


(TEMPO),Y 


OBOB DO 19 




BNE 


DOIT 


0B0DC8 




INY 





The Source Code 



OBOE B1 03 




LOA 


(TEMPO),Y 


0C37 08 FF FF 


DRAWDIR 


.WORD 


-40.-1,40.1 


0810 8D 02 DO 




STA 


53250 


0C3F 48 FF 86 


SCREEN1 


•BYT 


75,255.134.205,0,55 


0813 8D 04 DO 




STA 


53252 








.180 


0816 8D 00 DO 




STA 


53248 


0C46 6A D1 A3 


SCREEN2 


.BYT 


106,209,163.230.10 


0819 C8 




INY 










2.198,144,163.230 


0B1A B1 03 




LDA 


(TEMPO),Y 


0C4F 65 86 C5 




.BYT 


101.134,197.227,20 


0B1C 80 03 DO 




STA 


53251 








4.163.230.0,251,66 


0B1F 8D 05 DO 




STA 


53253 


0C59 45 EC 47 


SCREEN3 


.BYT 


69,236.71.37.238.13 


0822 8D 01 DO 




STA 


53249 








9,106,67,205,170 


0825 60 




RTS 




0C63 C2 02 84 




.BYT 


194,2,180,69,101 


0826 84 02 


Dorr 


STY 


TEMP 


0C68 00 20 C8 




.BYT 


0.45.200 


0B28 48 
0829 48 




PHA 




0C6B 68 03 45 


SCREEN4 


3YT 


104.195.69,167.235. 




PHA 










195,131,228,131 


0B2A 29 IF 




AND 


#31 


0C74 03 E6 C3 




.BYT 


195,230,195,131,22 


082C 8D 28 13 




STA 


NUM 








6,161,4,131,71,230, 


062F 68 




PLA 










131 


0830 4A 




LSR 




0C7F C3 E3 C3 




.BYT 


195,227,195,69,229, 


0831 4A 




LSR 










171,131,198,131 


0B32 4A 




LSR 




0C86 AA 83 06 




.BYT 


170,131,198,131,17 


0B33 4A 




LSR 










0,131,198,69,101.13 


0B34 29 06 




AND 


#6 








1,0.250.188 


0B36 AA 




TAX 




0C95 66 C6 A1 


SCREENS 


.BYT 


102.198.161.227.16 


0B37 AO 00 
0839 68 




LDY 

PU 


#0 








2.200,225,39,226,16 
1 


083A 10 02 




BPL 


NODR/W 


0C9F 65 C4 45 




.BYT 


101,196,69,36.225,9 


083C AO AO 




LOY 


#160 








9.5.234,194,130,234 


0B3E 8C 29 13 


NODRAW 


STY 


BLOCK 


OCAA 81 CI E5 




.BYT 


129.193.229,70.129, 


0841 A5 FB 


DIWV2 


LDA 


FREEO 








5,227,6,228,161,194 


0843 18 




CLC 




0CB5 82 AD 81 




.8YT 


130,173,129,193,16 


0B44 7D 37 OC 




ADC 


DRAWDIR,X 








6,194,130,164,132,2 


0847 85 FB 




STA 


FREEO 








25 


0849 A5 FC 




LOA 


FREEO+1 


OCBF A1 82 A1 




.BYT 


161,130,161,225,12 


0B48 70 38 OC 




AOC 


0RAW0IR+1,X 








9,104,5.195,161,225 


084E 85 FC 




STA 


FREEO+1 








.195 


0850 AO 00 




LDY 


#0 


OCCA EA CI 81 




.BYT 


234.193.129,226.6,1 


0852 AD 29 13 




LDA 


BLOCK 








93.0.220.70 


0B55 FO 11 




BEG 


NOBL 


0CO3 65 03 E9 


SCREEN6 


.BYT 


101,211,233,100,22 


0857 91 FB 




STA 


(FREEO),Y 








6,129,193,238 


0859 A5 FB 




LDA 


FREEO 


OCDB BE A2 24 




.BYT 


142,162,36,170,36,1 


0858 85 FD 




STA 


FREEO+2 








64,201,232,100,236 


0850 A5 FC 




LDA 


FREEO+1 


0CE5 00 73 89 




.BYT 


0,115,137 


0B5F 18 




CLC 




0CE8 46 F2 82 


SCREEN? 


.BYT 


70,242,130,225,194, 


0B60 69 04 




AOC 


#212 








236,197,226,193 


0B62 85 FE 




STA 


FREEO+3 


0CF1 A2 04 AC 




.BYT 


162,196,172,194,16 


0B64 A9 04 




LDA 


#WALLS 








1,130,177,0,45,200 


0B66 91 FD 




STA 


(FREE0+2),Y 


0CF6 3F 00 46 


INDEX 


.WORD 


SCREEN1,SCREEN2, 


0B68 A4 02 


NOBL 


LDY 


TEMP 








SCREEN3,SCREEN4, 


0B6A CE 28 13 




DEC 


NUM 








SCREEN5,SCREEN6 


0860 DO 02 




BNE 


DRm2 


0D07 E8 OC 




.WORD 


SCREEN7 


0B6F FO 97 




BEQ 


DRAA/LOOP 


0009 00 08 01 


ORDER 


.BYT 


0,6,1,5,2,4,3 


0871 12 9F 54 


MESS1 


.ASC 


"{RVS}{CYN}TIME 









0898 94 20 00 
089E 12 9F 20 



MESS2 



08C0 00 

08C1 12 9F 20 MESS3 
08E1 00 

08E2 9C 12 53 MESS4 
08E8 00 



0C17 11 11 11 
0C36 00 



R: SCORE: CARS: {L 
EFT}' 
.BYT 148,32,0 
^SC "{RVS}{ 

}GAME OVER' - PRE 
SS HREBUnONfRV 
S}" 
.BYT 

.ASC '{RVSKCYN} • 
.BYT 

.ASC •{PUR}{RVS}SCRE 

EN" 
.BYT 

3 DOWN} {12 LEFT 

}{8LU} SCREEN r 
J^SC ■{3 00WN}{12LEF 

T}PRESS FIREBUn 

ON" 
.BYT 



friction 

0010 FRICTION 

0010 CE 27 13 

0013 DO 39 

0D15 A9 07 

0017 80 27 13 

001A CE 2A 13 

0010 DO OF 

001 F A9 48 

0D21 80 2A 13 

0024 AD 26 13 

0027 C9 07 
0029 FO 03 

0028 EE 26 13 

0D2E AD 23 13 NOSLOW 
0D31 FO 08 
0033 10 06 
0035 EE 23 13 



STA 
DEC 



DEC FRICT 
BNE NOFRICT 
LDA #7 
FRICT 
SLOWL 
BNE NOSLOW 
LDA #75 
STA SLOWL 
LDA MOVH 
CMP #7 
BEQ NOSLOW 
INC MOVH 
LDA VELX 
BEQ OY 
BPL P0S1 
VEU 



INC 



213 



Chapter 3 



0D38 4C 3E OD 
0O3B CE 23 13 
0D3E AD 24 13 
0D41 FO OB 
0D43 10 06 
0D45 EE 24 13 
0D48 4C 4E OD 
0D4B CE 24 13 
0D4E 60 



P0S1 
DY 



P0S2 
NOFRICT 



calculate the speed 



0D4F 
0D4F AE 
0D52AO 
0D55 18 
0D56 7D 
0D59 C9 
0D5B 90 
0D5D C9 
0D5F 90 
0D61 80 
0D64 AD 
0D67 IB 
0D68 7D 
0D6B C9 
006D 90 
0D6F C9 
0D71 90 
0D73 8D 
0D76 60 
0D77 01 



CALC 

20 13 
23 13 

77 OD 

46 

04 

B9 

03 

23 13 

24 13 

7F OD 

46 

04 

B9 

03 

24 13 YESY 
NOTY 
00 FF TABX 



YESX 
NOIX 



0D7F FF FF FF TABY 



move tlie sprite 



0D87 






0D87A9 


01 




0D89 eD 


19 


DO 


0D8C AD 


IB 


13 


0D8F 8D 


06 


DO 


0D92AD 


IE 


13 


0D95 8D 


07 


DO 


0D98AD 


1C 


13 


0D9B OA 






0D9C0A 






0D9DOA 






0D9E 8D 


10 


DO 


0DA1 AD 


20 


13 


0DA4 18 






0DA5 69 


04 




0DA7 8D 


FB 


07 


ODAAAO 


FA 




0DAC8D 


12 


DO 


ODAF AD 


OD 


DC 


0DB2 29 


01 




0DB4 FO 


03 




0DB6 4C 


31 


EA 


0DB9 4C 


BC 


FE 



SPRMOV 



SKIP 



set up raster Interrupt 



ODBC 

ODBC A9 IB 
ODBE 8D 11 DO 
0DC1 A9 7F 
0DC3 8D 00 DC 
0DC6 A9 87 



RASTSET 



JMP 


OY 


0OC8 80 14 03 




STA 


$0314 


DEC 


VELX 


0DCBA9 00 




LDA 


#>SPRMaV 


LDA 


VELY 


0OCO8D 15 03 




STA 


$0315 


BEQ 


NOFRICT 


OODO A9 81 




LDA 


#129 


BPL 


P0S2 


0OD2 80 1A 00 




STA 


53274 


INC 


VELY 


0005 60 




RTS 




JMP 


NOFRICT 










DEC 


VELY 


; Initialize start ol round 






RTS 
















0DO8 


II4ITR0UN0 


= 


* 






0006 A9 00 




LDA 


#0 






0DD8 8D 1C 13 




STA 


SPRX+2 


= 


* 


ODDB 80 23 13 




STA 


VELX 


m 


SPRPTR 


ODDE 80 24 13 




STA 


VELY 


LOA 


VELX 


0DE1 A9 26 




LDA 


#STARTX 


CLC 




nnco an id iq 
UUto oU ID 10 




STA 


SPRX+1 


ADC 


TABX,X 


0DE6 A9 3C 




LDA 


#STARTY 


CMP 


#MAX 


UDEB 80 1E 13 




STA 


SPRY+1 


BCC 


YESX 


ODEB A9 07 




LDA 


#7 


CMP 


#MIN 


ODEO 80 20 13 




STA 


SPRPTR 


BCC 


NOTX 


ODFO A5 A2 




LDA 


162 


STA 


VELX 


0DF2 C5 A2 


WTSYNC 


CMP 


162 


U)A 


VELY 


0DF4 FO FC 




BEQ 


WTSYNC 


CLC 




0DF6 A9 OF 




LDA 


#15 


ADC 


TABYX 


0DF8 80 15 DO 




STA 


53269 


OlVir 


fflVlnA 


OOFB A9 64 




LOA 


#100 


BCC 


YESY 


ODFO 80 21 13 




STA 


JOYL 


CMP 


#MIN 


OEOO 80 22 13 




STA 


JOYH 


BCC 


NOTY 


0E03 A9 07 




LDA 


#7 


STA 


VELY 


0E05 80 25 13 




STA 


MOVL 


RTS 




0E08 80 26 13 




STA 


MOVH 


■BYT 


1,0,255,255,255,0.1. 


0E06 A9 07 




LDA 


#7 




1 


OEOO 80 27 13 




STA 


FRICT 


.BYT 


255,255,255,0,1,1,1, 


0E10 A9 37 




LDA 


#55 







0E12 80 2A 13 




STA 


SLOWL 






0E15 60 




RTS 




— 


* 


; move ttie car 








LDA 


#01 


bE16 


MOVCAR 


= 


* 


STA 


$0019 


0E16 20 10 OO 




JSR 


FRICTION 


LDA 


SPRX+1 


0E19 AD 23 13 




LOA 


VELX 


STA 


53254 


0E1C 30 1A 




BMI 


SUBX 


LOA 


SPRY+1 


0E1E 18 




CLC 




STA 


53255 


0E1F 60 1A 13 




AOC 


SPRX 


LOA 


SPRX+2 


0E22 80 1A 13 




ST 


SPRX 


ASL 




0E25 AD IB 13 




LDA 


SPRX+1 


ASL 




0E28 69 00 




ADC 


#0 


ASL 




0E2A 80 IB 13 




STA 


SPRX+1 


STA 


53264 


0E2O AO 1C 13 




LDA 


SPRX+2 


LDA 


SPRPTR 


0E30 69 00 




ADC 


#0 


CLC 




0E32 8D 1C 13 




STA 


SPRX+2 


AOC 


#212 


0E35 4C 57 OE 




JMP 


OOY 


STA 


2043 


0E38 49 FF 


SUBX 


EOR 


#255 


LDA 


#250 


0E3A 69 01 




AOC 


#1 


STA 


$0012 


0E3C 85 02 




STA 


TEMP 


LDA 


$DCOD 


0E3E AO 1A 13 




LOA 


SPRX 


ANO 


#1 


0E41 38 




SEC 




BEQ 


SKIP 


0E42 E5 02 




SBC 


TEMP 


JMP 


$EA31 


0E44 80 1A 13 




STA 


SPRX 


JMP 


$FEBC 


0E47 AD IB 13 




LOA 


SPRX+1 






0E4A E9 00 




SBC 


#0 






0E4C 80 IB 13 




STA 


SPRX+1 






0E4F AO 1C 13 




LOA 


SPRX+2 




* 


0ES2 E9 00 




SBC 


#0 


LDA 


#27 


0E54 80 1C 13 




STA 


SPRX+2 


STA 


53265 


0E57 AO 24 13 


DOY 


LDA 


VELY 


LDA 


#127 


0E5A 30 18 




BMI 


SUBY 


STA 


56333 


0E5C 18 




CLC 




LDA 


#<SPRMOV 


0E5D 60 10 13 




ADC 


SPRY 



214 



The Source Code 



0E60 8D 1D 13 




STA 


SPRY 


0E63 AD 1E 13 




LOA 


SPRY+1 


0E66 69 00 




ADC 


#0 


0E68 80 IE 13 




STA 


SPRY+1 


0E6B AD IF 13 




LOA 


SPRY+2 


0E6E 69 00 




ADC 


#0 


0E70 80 IF 13 




STA 


SPRY+2 


0E73 60 




RTS 




0E74 49 FF 


SUBY 


EOR 


#255 


0E76 18 




CLC 




0E77 BQ (11 






n \ 


0E79 85 02 




STA 


TEMP 


nF7R An in 1^ 




LOA 


or PIT 


0E7E 38 




SEC 




0E7F E5 02 




SBC 


TEMP 


0E81 8D ID 13 




STA 


SPRY 


0E84 AD 1E 13 




LDA 


SPRY+1 


0E87 E9 00 




SBC 


#0 


0E89 80 IE 13 




STA 


SPRY+1 


OEeC AD IF 13 




LOA 


SPRY+2 


0E8F E9 00 




SBC 


m 


0E91 80 IF 13 




STA 


SPRY+2 


aE94 60 




RTS 




: joystick routine 








bE95 


JOYSTICK 


= 


* 


0E95 AO 01 DC 




LOA 


$OC01 


0E98 4A 




LSR 




0E99 4A 




LSR 




0E9A 4A 




LSR 




0E9B BO 12 




BCS 


NOTLEFT 


0E9D 20 03 OE 




JSR 


SCREECH 


OEAO EE 20 13 




INC 


SPRPTR 


0EA3 AE 20 13 




LOX 


SPRPTR 


0EA6 ED 08 




CPX 


#8 


0EA8 DO 05 




BNE 


NOTLEFF 


OEAA A2 00 




LDX 


#0 


OEAC 8E 20 13 




STX 


SPRPTR 


OEAF 4A 


NOTLEFf 


LSR 




OEBO BO OD 




BCS 


NOTRIGHT 


0EB2 20 03 OE 




JSR 


SCREECH 


0EB5 CE 20 13 




DEC 


SPRPTR 


0EB8 10 OS 




BPL 


NOTRIGHT 


DEBA A2 07 




LDX 


m 


OEBC BE 20 13 




STX 


SPRPTR 


OEBF 4A 


NOTRIGHT 


LSR 




OECO BO 10 




BCS 


NOTFIRE 


0EC2 AD 26 13 




LDA 


MOVH 


DECS C9 02 






#2 


0EC7 FO 09 




BEQ 


NOTFIRE 






ucu 


iviuvn 


OECC AO 26 13 




LDA 


MOVH 


OECF BD 25 13 




STA 


MOVL 


0ED2 60 


NOTFIRE 


RTS 




0ED3 48 


SCREECH 


PHA 




0ED4 A9 80 




LDA 


#128 


OEDd 8D OB 04 




STA 


54283 


0EO9 AS 81 




LOA 


#129 


OEDB 80 OB 04 




STA 


54283 


OEDE 68 




PLA 




OEDF 60 




RTS 




; set up sprites 








OEEO 


SETSPRITE 






OEEO AO 00 




LDY 


#0 


0EE2 B9 5A OF 


COPLDOP 


LDA 


SPRDEF.Y 


0EE5 99 00 35 




STA 


13568,Y 


0EE8 B9 SA 10 




LDA 


SPRDEF+2 



OEEB 99 00 36 




STA 


1356B+256,Y 


OEEE B9 5A 11 




LDA 


SPRDEF+512.Y 


0EF1 99 00 37 




SW 


13568+512,Y 


0EF4 B9 5A 12 




LDA 


SPRDEF+768,Y 


0EF7 99 00 38 




STA 


13568 + 768,Y 


OEFA A9 00 




LDA 


#0 


OEFC 99 00 39 




STA 


13568+1024,Y 


OEFF 88 




DEY 




OFOO DO EO 




BNE 


COPLDOP 


0F02 AO 3F 




LDY 


#63 


0F04 B9 OA 12 


MORE 


LDA 


GARAGE,Y 


0F07 99 80 39 




STA 


13568+1024+128 


OFOA 88 




DEY 


,Y 


OFOB 10 F7 




BPL 


MORE 


OFOO AO 02 




LDY 


#2 


OFOF A9 FF 




LDA 


#255 


0F11 99 00 39 


VD0P1 


STA 


13568+1024,Y 


0F14 99 3C 39 




STA 


13568+1084,Y 


0F17 88 




DEY 




0F18 10 F7 




BPL 


VDDP1 


0F1A AO 36 




LDY 


#54 


0F1C A9 80 




LDA 


#128 


0F1E 99 03 39 


VD0P2 


STA 


13568+1027,Y 


0F21 88 




DEY 


0F22 88 




DEY 




0F23 88 




DEY 




0F24 10 F8 




BPL 


VD0P2 


0F26 A9 OC 




LDA 


#12 


0F2e 80 5C 39 




STA 


13568+1024 + 92 


0F2B 80 62 39 




STA 


13568+1024+98 


0F2E A2 E4 




LDX 


#228 


0F30 8E F9 07 




STX 


2041 


0F33 E8 




INX 




0F34 8E IS 07 




STX 


2042 


0F37 E8 




INX 




0F38 8E F8 07 




STX 


2040 


0F3B AO 03 




LOC 


#3 


0F3D B9 56 OF 


ZOOP 


LDA 


SPRCOL,Y 


0F40 99 27 DO 




STA 


53287,Y 


nC^O DO 




Utl 


0F44 10 F7 




BPL 


ZOOP 


0F46 A9 08 




LOA 


#8 


0F48 80 1C DO 




STA 


53276 


0F4B A9 00 




LDA 


#0 


0F4D 80 25 DO 




STA 


53285 


Ur3U n5 U/ 






#7 


0F52 8D 26 DO 




STA 


53286 


0F55 60 




RTS 




0F56 02 00 02 


SPRCCL 


.BYT 


2,0,2,2 


0F5A 00 00 00 


SPROEF 


.BYT 


0,0,0,0,0,0,0,0 


0F62 00 00 00 




.BYT 


0,0,0,016,0,0,095,0 


npRA nn or nn 

UrDn UU cti Uu 




DVT 


n fi/in n n icq *i o io 
U,UflU,U,U,lo9,4,^, lo 


nF77 1A f)A nn 

vn C 11 On UU 




DVT 
■DT 1 


2 








,075,224 


0F7A 00 2F AO 




.BYT 


0,047,160,0,042,132 








,0,010 


0F82 14 00 02 




.BYT 


020,0,2,080,0,0,064, 


0F8A 00 00 00 




.BYT 




0,0,0,0,0,0,0,0 


0F92 00 00 00 




.BYT 


0,0,0,0,0,0,0,0 


OFOA 00 00 00 




•BYT 


0,0,0,1.033,0,1,169 


0FA2 00 01 21 




.BYT 


0,1,033,0,0,032,0,0 


OIM 20 00 00 




.BYT 


032,0,0,032,0,0,032, 


0FB2 00 20 00 




.BYT 




0,032,0,0,168,0,0,18 


OFBA 00 00 68 




.BYT 


4 

0,0,184,0,4,184,064, 
5 



215 



Chapter 3 



0FC2 A9 40 05 


.BYT 


169,064,5,169,084,4 






,168,084 


OFCA 00 00 00 


.BYT 


0,0,0.0,0,0,0.0 


0FD2 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


OFDA 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


0FE2 00 04 00 


.BYT 


0.4.0,0,9,0,0,040 


OFEA 00 00 6A 


.BYT 


0,0,106,0,0,018,128, 






016 


0FF2 00 A2 14 


.BYT 


0,162,020,0,043,133 






.0,011 


0FI% E1 00 OA 


.BYT 


225,0,010,232,0,018 






,168,0 


1002 14 AO 00 


.BYT 


020,160,0,5,128,0,1, 


100A 00 00 00 


.BYT 




0,0,0,0,0,0,0,0 


1012 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


101A 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


1022 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


102A 00 00 00 


.BYT 


0,0,0,0,084,0,0,084 


1032 40 00 10 


.BYT 


064,0,016,064,010,1 






68,170,171 


103A E8 AA AB 


.BYT 


232,170,171,232,06 






4,010,168,064 


1042 00 10 00 


.BYT 


0,016,0,0,084,0,0,08 


104A 00 00 00 


.BYT 


4 

0,0,0,0,0,0,0,0 


1052 00 00 00 


.err 


0,0,0,0,0,0,0,0 


105A 00 00 00 


BYT 


0,0,0,0,0,0,0,0 


1052 00 00 00 


•BYT 


0,0,0,0,0,0,0,0 


106A 00 00 00 


.BYT 


0,0,0,1,0,0,5,128 


1072 00 14 AO 


.BYT 


0,020,160,0,018,232 






,0,011 


107A E8 00 OB 


.BYT 


232,0,011.161,0,042 






,133,0 


1082 A2 14 12 


.BYT 


162,020,018,128,01 






6,106,0,0 


108A 28 00 00 


.BYT 


040,0,0,9,0,0,4,0 


1092 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


109A 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


10A2 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


10AA 00 00 04 


.BYT 


0,0,4,168,064,5,169, 
064 


10B2 05 A9 40 


.BYT 


005,169,054,4,184,0 






64,0184 


10BA 00 00 88 


.BYT 


0,0,184,0,0,168,0,0 


10C2 A8 00 00 


.BYT 


4 CO n n no^ A A A9A 

168,0,0,032,0,0,032, 



10CA 00 20 00 


.BYT 


0,032,0,0,032,0,1.03 
3 


10D2 00 01 A9 


.BYT 


0.1.169.0.1,033.0.0 


10DA 00 00 00 


.BYT 


0.0,0.0.0,0.0,0 


10E2 00 00 00 


.BYT 


0,0,0.0.0,0,0,0 


10EA 00 00 00 


.BYT 


0,0,0.064.0.2.080.0 


10F2 OA 14 00 


.BYT 


010,020,0,043,132.0 






,043,224 


10FA 00 4A EO 


.BYT 


0,074,224,0,082,168 






,0.020 


1102 8A 00 04 


.BYT 


138,0,4,2,132,0,0,16 


110A 00 00 28 


.BYT 


9 

0,0.040,0.0,098,0,0 


1112 10 00 00 


.BYT 


016,0,0,0,0,0,0,0 


111A 00 00 00 


.BYT 


0,0,0,0,0,0,0,0 


1122 00 00 00 


.BYT 


0,0,0,0,0,0.0,0 


112A 00 00 15 


.BYT 


0,0,021,0,0,021,0,0 


1132 04 00 01 


.BYT 


004,0.1,042.160,1,0 






43234 


113A AA 28 EA 


.BYT 


170,043,234,170,04 






2,160,1,4 


1142 00 01 15 


.BYT 


0,1,021.0.0,021,0,0 


114A 00 00 00 


.BYT 


0,0.0,0,0,0,0,0 



216 



1152 00 00 00 


.BYT 


0.0,0,0,0,0,0,0 


115A 00 00 00 


.BYT 


0,0,0,0,0,0,0,1 


1162 00 00 07 


.BYT 


0.0,7,064,016.7.064, 






016 


116A 01 00 01 


.BYT 


001.0.1,048,040,8,1 






28,056 


1172 02 80 CO 


.BYT 


002,128,192,4,162.3 






,0,152 


117A 01 OC AB 


.BYT 


001,012,171,1,2,168 






,128,4 


1182 22 BO 03 


.BYT 


034,176.3.0,096.012 






.016,0 


118A 28 CO 40 


.BYT 


040.192,084.032,1,2 






08.192,1 


1192 DO 00 00 


.BYT 


208,0,0,084,0,0.0,0 


119A 00 00 00 


.BYT 


0,0,0,0,1,0,064,7 


11A2 40 40 07 


.BYT 


064,064,7,064,0,049 






,0,4 


11AA 00 OA 20 


.BYT 


0,010,032,0,014.0,1 






28,0 


44nA AO QD r^n 

11B2 02 86 CO 


.BYT 


nno IOC ncc i\a 






2.131,0,168 


11BA 00 30 2B 


.BYT 


0,048,043,032,2.168 






.012.016 


11C2 20 80 00 


.BYT 


032.128,0,0,040,3,0, 






064 


11CA 30 00 00 


.BYT 


048,0,0,0,016,016,1 






31,0 


11D2 74 AO 00 


.BYT 


116.160.0.116,0,0,0 






16,0 


11DA 00 07 40 


.BYT 


0,7,064,064,1,0,0,0 


11E2 00 04 30 


.BYT 


0,4,048,0,0,0,0,128 


11EA 00 00 02 


.BYT 


0,0,2,128,0,0,138,12 
8 


11F2 00 2A OC 


.BYT 


0,042,012,066,8,3,2, 






139 


11RA 00 CO 20 


.BYT 


0,192,032,224,202,0 






40,3,208 


1202 A8 00 02 


.BYT 


168,0,2,0.040,048,0 






32,2 


120A OC 00 40 


.BYT 


012,0,064,192,0,0,0, 






016 


1212 01 03 00 


.BYT 


001,3,0,7,128,0,7,0 


121A 00 01 00 


.BYT 


0,1,0,016,048,0,0,0 


1222 00 00 00 


.BYT 


0,0,0,0,2,136,0,2 


122A 20 00 00 


.BYT 


0o2,U,0,03U,lDU,U,U 






10.3 


nn nn tsn 

1232 00 00 80 


.BYT 


U,U, l^0,U,1oU,U,^,1D 
8 


123A 00 20 08 


.BYT 


0,032.8,224,058,0,0. 






040 


1242 02 08 40 


.BYT 


002,8,064,2,2,0,032, 


124A 00 00 00 


.BYT 




0,0,0,048,0,016,0.0 


itci nn nn nn 

1252 00 00 10 


.BYT 


U,U,UiD,U,o,U,l,U 


125A 40 30 00 


BYT 


064,048,0,0,0,0.8.0 


1262 00 OA 00 


.BYT 


0,010,0,0,0,8,0.0 


126A 30 2A 00 


.BYT 


048.042,0.0.160.0.0, 



1272 OA 00 20 


.BYT 


010,0,032,2,0,128,0, 
8 


127A AO 20 00 


.BYT 


180,032,0,184.204.0 






,0,040 


1282 00 00 20 


.BYT 


0.0,032,0,2,0,2,0 


128A 00 22 00 


.BYT 


0,034,0,0,0.0.192,0 


1292 00 00 00 


.BYT 


0.0.0,1,0,016,0,0 


129A 08 30 00 


.BYT 


008,048.0,040,0.0,0, 



12A2 00 00 02 


BYT 


0,0,2,0,0,012.0.0 


12AA00 OAAO 


.BYT 


0,010,160,0.0.128,0,0 



The Source Code 



12B2 00 00 02 




BYT 


0,0,2,0,0,8,0,0 


12BA OA 80 00 




.BYT 


010,128,0,011,048,0 








,032,0 


12C2 00 00 00 




BYT 


0,0,0,0,0,0,0,0 


12CA 00 00 00 




.BYT 


oioAOAo!o!o 


12D2 00 08 02 




.BYT 


0,8,2,1,0,018,0,0 


12DA 00 00 00 


GARAGE 


.BYT 


000,000,000,063.25 








5.252.095,255 


12E2 ft 5F FF 




.BYT 


250,(W5.255,250.11 








1.255,246.111 


12EA FF F6 77 




BYT 


25524611925523 








8,119,255.238 


12F2 7B FF DE 




•BYT 


123 255 222123 24 








3,222,124,000 


12FA 3E 7B F3 




.BYT 


062 123 243 222 12 








3 255222119 


1302 FF EE 77 




.BYT 


255238119255 23 








8111 255 248 


130A 6F FF F6 




.BYT 


111,255.246,095.25 








5.250,095,255 


1312 W 3F FF 




.BYT 


250.063.255,252.00 








0.000,000.255 


131A 


SPRX 






131A 


SPRY 




•+3 


131A 


SPRPTR 




*+6 


131A 


JOYL 




*+7 


131A 


JOYH 




*+8 


131A 


VELX 




'+9 


131A 


VELY 




•+10 


131A 


MOVL 




*+11 


131A 


MOVH 




*+12 


131A 


FRICT 




•+13 


131A 


NUM 




•+14 


131A 


BLOCK 




•+15 


131A 


SLOWL 




•+16 



217 



to Type In 
rams 




In order to make it as easy as possible to type in the programs 
in this book, we've included two program entry aids written in 
BASIC: "The Automatic Proofreader" and "MLX." To assist 
you in understanding how to enter these programs, COM- 
PUTE! has established the following listing conventions. 

Generally, BASIC program listings like the one for MLX 
contain words within braces which spell out any special char- 
acters: {DOWN} means to press the cursor-down key; {5 
SPACES} means to press the space bar five times. 

To indicate that a key should be shifted (press the key 
while holding down the SHIFT key), the key is underlined in 
our listings. For example, S means to type the S key while 
holding down the SHIFT key. This will appear on your screen 
as a heart symbol. If you find an underlined key enclosed in 
braces, for example, {10 N}, you should type the key as many 
times as indicated. In that case, you would enter ten shifted N's. 

If a key is enclosed in special brackets, [<>], you should 
hold down the Commodore key while pressing the key inside 
the special brackets. (The Commodore key is the key in the 
lower-left comer of the keyboard.) Again, if the key is pre- 
ceded by a number, you should press the key as many times 
as indicated; for example, [<9@::^ means to type Commodore- 
@ nine times. 

Refer to the following table when entering cursor and 
color control keys: 



221 



Appendix A 



Keyboard Conventions 



When You 
Read: 

{CLR} 
{HOME} 

(UP) 
{DOWN} 
{LEFT} 
{RIGHT} 

{RVS} 

{OFF} 

{BLK} 

{WHT} 

{RED} 

{CYN} 

{PUR} 

{GRN} 

{BLU} 

{YEL} 



Press: 



SHIFT 



aR/HOME 



CLR/HOME 



SHIFT 



t CRSR i 



t CRSR J 



SHIFT 



•»-CRSR — 



■•-CRSR-* 



CTRL 


9 


CTRL 





CTRL 


1 


CTRL 


2 


CTRL 


3 


CTRL 


4 


CTRL 


5 


CTRL 


6 


CTRL 


7 


CTRL 


8 



See: 
li 



m 



so 



WhenVbu 
Read: 

i 4a 
E si 

{ Fl } 

{ F2 } 

{ F3 } 

{ R } 

{ F5 } 

{ F6 } 

{ F7 } 

{ F8 } 
4 



Press: See: 

commodore"] [T] 



COMMODORE 2 



COMMODORE 3 



COMMODORE 



COMMODORE S 



commodore] [7] III 
commodore] [7] n 



COMMODORE 



SHIFT 



SHIFT 



SHIFT 



SHIFT 



)[Z 



222 



The Automatic 
Proofreader 

Philip I. Nelson 



"The Automatic Proofreader" helps you type in pro- 
gram listings for the Commodore 64 and 1 28, and 
prevents nearly every kind of typing mistake. 



Type in the "Proofreader" exactly as listed. Since the program 
can't check itself, type carefully to avoid mistakes. Don't omit 
any lines, even if they contain unfamiliar commands. After 
finishing, save a copy or two on disk or tape before running it. 
This is important because the Proofreader erases the BASIC 
portion of itself when you run it, leaving only the machine 
language portion in memory. 

Next, type RUN and press RETURN. After announcing 
which computer it's running on, the Proofreader displays the 
message Proofreader Active. Now you're ready to type in a 
BASIC program. 

Two Letters 

Every time you finish typing a line and press RETURN, the 
Proofreader displays a two-letter checksum in the upper-left 
comer of the screen. Compare this result with the two-letter 
checksum printed to the left of the line in the program listing. 



The one program in this book thait''eam.-"be'used in con- 
mactjem watiitiihe Prootieadei is 'MLX. \Tn.him language 

^'"EritFjj^l^yi^m;" which is'Y^un'd in (Ihapter 2 Maku >,iire 
vou'ij|(^^^e Proofreader to Upi^ in MI \ sintc it is vital 
that you Rave the latter program entered correctly If 
llicii' IS an error m Mi \ \ou »\ill iidI hi- abli lo in 

' afiy of the se\en machine IjngudH'" 4^'"'"' this book. 



223 



Appendix B 



If the letters match, it's almost certain the line was typed 
correctly. If the letters don't match, check for your mistake 
and correct the line. 

What It Does, What It Doesn't 

The Proofreader ignores spaces not enclosed in quotation 
marks, so you can omit or add spaces between keywords and 
still see a matching checksum. However, since spaces inside 
quotation marks are almost always significant, the Proofreader 
pays attention to them. For example, 10 PRINT'THIS IS 
BASIC" generates a different checksum than does 10 
PRINT'THIS ISBA SIC". 

A common typing error is transposition — typing two 
successive characters in the wrong order, like PIRNT instead 
of PRINT or 64378 instead of 64738. The Proofreader is sensi- 
tive to the position of each character within the line and thus 
catches transposition errors. 

The Proofreader does not accept ke)rword abbreviations (for 
example, ? instead of PRINT). If you prefer to use abbreviations, 
you can still check the line by LISTing it after typing it in, mov- 
ing the cursor back to the line, and pressing RETURN. LISTing 
the line substitutes the full keyword for the abbreviation and 
allows the Proofreader to work properly. The same technique 
works for rechecking programs you've already typed in. 

If you're using the Proofreader on the Commodore 128, 
do not perform any GRAPHIC commands while the Proofreader is 
active. When you perform a command like GRAPHIC 1, the 
computer moves everything at the start of BASIC program 
space — including the Proofreader — to another memory area, 
causing the Proofreader to crash. The same thing happens if 
you run any program with a GRAPHIC command while the 
Proofreader is in memory. 

Though the Proofreader doesn't interfere with other 
BASIC operations, it's a good idea to disable it before running 
another program. However, the Proofreader is purposely diffi- 
cult to dislodge: It's not affected by tape or disk operations, or 
by pressing RUN/STOP-RESTORE. The simplest way to dis- 
able it is to turn the computer off, then on. A gentler method 
is to SYS to the computer's built-in reset routine (SYS 65341 
for the 128; 64738 for the 64). These reset routines erase any 
program in memory, so be sure to save the program you're 
typing in before entering the SYS command. 



224 



Appendix B 



If you own a Commodore 64, you may already have won- 
dered whether the Proofreader works with other programming 
utilities like "MetaBASIC." The answer is, generally, yes, if 
you're using a 64 and activate the Proofreader after installing the 
other utility. For example, first load and activate MetaBASIC, 
then load and run the Proofreader. 

When using the Proofreader with another utility, you 
should disable both programs before running a BASIC pro- 
gram. While the Proofreader seems unaffected by most utili- 
ties, there's no way to promise that it will work with any and 
every combination of utilities you might want to use. The 
more utilities activated, the more fra^e the system becomes. 

The Automatic Proofreader 

Read Appendix A before entering this program. 

10 VEC=PEEK(772)+256*PEEK(773) :LO=43:HI=44 

20 PRI NT "{CLR}{WHT} AUTOMATIC PROOFREADER FOR ";:IF 

VEC=42364 THEN PRINT "C-64" 
30 IF VEC=50556 THEN PRINT "VIC-20 { BLU } " 
40 IF VEC=35158 THEN WAIT CLR: PRINT "PLUS/4 & 16" 
50 IF VEC=17165 THEN LO=45 :HI=46 :WAIT CLR: PRINT "12 
8{WHTi" 

60 SA=(PEEK(LO)+256*PEEK(HI) )+6:ADR=SA 

70 FOR J=0 TO 166 I READ BYT: POKE ADR, BYT : ADR=ADR+1 : 

CHK=CHK+BYT :NEXT 
80 IF CHKO20570 THEN PRINT "*ERROR* CHECK TYPING 

{SPACE} IN DATA STATEMENTS ": END 
90 FOR J=l TO 5:READ RF,LF,HF:RS=SA+RF:HB=INT(RS/2 

56):LB=RS-(256*HB) 
100 CHK=CHK+RF+LF+HF:POKE SA+LF , LB : POKE SA+HF,HB:N 

EXT 

110 IF CHKO22054 THEN PRINT "*ERROR* RELOAD PROGR 

AM AND CHECK FINAL LINE": END 
120 POKE SA+149,PEEK{772) :POKE SA+150 , PEEK ( 773 ) 
130 IF VEC=17165 THEN POKE SA+14, 22 :POKE SA+18,23: 

POKESA+29 , 224 : POKESA+139 , 224 
140 PRINT CHR$ ( 147 ) ;CHR$( 17) ; "PROOFREADER ACTIVE": 

SYS SA 

150 POKE HI, PEEK ( HI )+l: POKE (PEEK(LO)+256*PEEK(HI ) 
)-l,0:NEW 

160 DATA 120,169,73,141,4,3,169,3,141,5,3 
170 DATA 88,96,165,20,133,167,165,21,133,168,169 
180 DATA 0,141,0,255,162,31,181,199,157,227,3 
190 DATA 202,16,248,169,19,32,210,255,169,18,32 
200 DATA 210,255,160,0,132,180,132,176,136,230,180 
210 DATA 200,185,0,2,240,46,201,34,208,8,72 

225 



Appendix B 



220 DATA 165,176,73,255,133,176,104,72,201,32,208 
230 DATA 7,165,176,208,3,104,208,226,104,166,180 
240 DATA 24,165,167,121,0,2,133,167,165,168,105 
250 DATA 0,133,168,202,208,239,240,202,165,167,69 
260 DATA 168,72,41,15,168,185,211,3,32,210,255 
270 DATA 104,74,74,74,74,168,185,211,3,32,210 
280 DATA 255,162,31,189,227,3,149,199,202,16,248 
290 DATA 169,146,32,210,255,76,86,137,65,66,67 
300 DATA 68,69,70,71,72,74,75,77,80,81,82,83,88 
310 DATA 13,2,7,167,31,32,151,116,117,151,128,129, 
167,136,137 



226 



n 

— , To order your copy of COMPUTE !'s Machine Language 

' Games Disk, coll our toll-free US order line: 1-800-346-6767 

r-, (in NY 212-887-8525) or send your prepaid order to: 

COMPUTEI's Machine Language Games Disk 
n COMPUTEI Publications 

P.O. Box 5038 
F.D.R. Station 
New York, NY 10150 

All orders must be prepaid (check, charge, or money order). NC 
residents add 4.5% sales tax. NY residents add 8.25% sales tax. 

Send copies of COMPUTEI's Macliine Language Games 

Disk at $12.95 per copy. (610BDSK) 

Subtotal $ 



Shipping and Handling: $2.00/disk $_ 
Sales tax (if applicable) $_ 
Total payment enclosed $_ 



□ Payment enclosed 

□ Charge □ Visa □ MasterCard □ American Express 



Acct. No. 



Exp. Date 



(Required) 



Name 



Address 



City 



State 



Zip 



Please allow 4-5 weeks for delivery. 



227 



COMPUTE! Books 

Ask your retailer for these COMPUTE! Books or order 
directly from COMPUTEI. 

Call toll free (in US) 800-346-6767 (In NY 212-887- 
8525) or write COMPUTEI Books, P.O. Box 5038, F.D.R. 
Station. New York, NY 10150. 

Ouantlly Tide Price' Total 

SpeedScript: The Word Processor for the 

Commodore 64 and VIC-20 (94-9) $ 9.95 

Commodore SpeedScript Book Disk $12.95 

128 Machine Language for Beginners (033-5) $16.95 

COMPUTEI'sFlrstBookof the Commodore 128(059-9) $14.95 

COMPUTEI's Commodore 64/128 Collection (97-3) $12.95 

All About the Commodore 64, Volume Two (45-0) $16.95 

All About the Commodore 64, Volume One (40-X) $12.95 

Programming the Commodore 64: 

The Definitive Guide (50-7) $24.95 

COMPUTEi's Data File Handler for the 

Commodore 64 (86-8) $12.95 

COIVIPUTEI's Kids and the Commodore 128 (032) $14.95 

Kids and the Commodore 64 (77-9) $12.95 

COMPUTEI's Commodore Collection, Volume 1 (56-8) $12.95 

COMPUTEI's Commodore Collection, Volume 2 (70-1) $12.95 



COMPUTEI's Personal Accounting Manager for the 

Commodore 64 (014-9) $12.95 

COMPUTEI's ViC-20 and Commodore 64 

Tool Kit: BASIC (32-9) $16.95 

COMPUTEI's ViC-20 and Commodore 64 

Tool Kit: Kernai (33-7) $16.95 

COMPUTEi's Telecomputing on the 

Commodore 64 (009) $12.95 

COMPUTEI's VIC-20 Collection (007) $12.95 

Programming the VIC (52-3) $24.95 

VIC Games for Kids (35-3) $12.95 

Mapping the ViC (24-8) $14.95 

COMPUTEI's 128 Programmer's Guide (0319) $16.95 

The Complete 64 (BookAJIsk Combination) (062-9) $29.95 

COMPUTEI's Machine Language Games for the 

Commodore 64 (0610) $16.95 

"Add S2,00 per book for shipping and handling. 
Outside US add $5.00 air mall or $2.00 surface mall. 

NC residents add 4.5% sales tax 

NY residents add 8.25% sales tax 

Shipping & handling: $2.00/book 

Total payment 



All orders must be prepaid (check, charge, or money order). 
All payments must be In US funds. 
□ Payment enclosed. 

Charge □ Visa □ MasterCard □ American Express 

Acct. No Exp. Date 

(Required) 

Name 



AddressL. 



City State Zip_ 

•Allow 4-6 weeks for delivery. 

Prices and availability subject to change. 

Current catalog available upon request. 



If you've enjoyed the articles In this book, you'll find 
the same style and quality In every monthly issue of 
COMPUTEi's Gazette for Commodore. 

For Fastest Service 
Call Our Toil-Free US Order Line 

1-800-247-5470 

In Iowa call 1-800-532-1272 



COMPUTEI'S Gazette 

P.O. Box 10967 

Des Moines, lA 50340 

My computer is: 

□ Commodore 64 □ VIC-20 □ Other 

□ $24 One Year US Subscription 

□ $45 Two Year US Subscription 

□ $65 Three Year US Subscription 

Subscription rates outside the US: 

□ $30 Canada 

□ $65 Air IVIail Delivery 

□ $30 International Surface Mail 

Name 

Address 

City State Zig 

Country 

Payment must be in US funds drawn on a US bank, international 
money order, or charge card. Your subscription will begin with the 
next availabie issue. Piease allow 4-6 weel<s for delivery of first issue. 
Subscription prices subject to ciiange at any time. 

□ Payment Enclosed □ Visa 

□ MasterCard □ American Express 

Acct. No. Expires / 

(Required) 



The COMPUTEI'S Gazette subscriber list Is mode available to carefully screened 
organizations with a product or service which may be of Interest to our readers. If you 
prefer not to receive such mailings, please check this box □. 



If you've enjoyed the articles in this book, you'll find 
the same style and quality in every monthly issue of 
COMPUTE! Magazine. Use this form to order your 
subscription to COMPUTEI. 

For Fastest Service 
Call Our Toil-Free US Order Line 

1-800-247-5470 

In lA call 1-800-532-1272 



COMPUTE! 

P.O. Box 10954 

Des Moines, lA 50340 

My computer is: 

□ Commodore 64 or 128 □ TI-99/4A □ IBM PC or PCjr □ VIC-20 

□ Apple □ Atari □ Amiga □ Other 

□ Don't yet have one... 

□ $24 One Year US Subscription 

□ $45 Two Year US Subscription 

□ $65 Three Year US Subscription 

Subscription rates outside the US: 

□ $30 Canada and Foreign Surface Mail 

□ $65 Foreign Air Delivery 

Name 

Address 

City State Zip 

Country 

Payment must be in US funds drawn on a US bank, international 
money order, or charge card. 

□ Payment Enclosed □ Visa 

□ MasterCard □ American Express 

Acct. No. Expires / 

(Required) 

Your subscription will begin with the next available issue. Please 
allow 4-6 weeks for delivery of first issue, Subscription prices subject 
to change at any time. 




More fun...More challenge... 
More all new programs 
each and every month. 

Subscribe to COMPUTEI's Gazette 
through this special money-savlne in- 
troductory offer — and start unleashing 
the full power of your Commodore 
computer. 

Month after month, look to 
COMPUTEI's Gazette to deliver the 
latest inside word on everything from 
short programming tips to the best 
new software. Our expert analysis and 
insights mean you have pore run... get 
more enjoyment. ..more of what you 
bought your computer for. 

As a subscriber, you also receive 
up to 20 all-new, action-packed pro- 
grams each month. Every big issue of 
COMPUTEI's Gazette comes complete 
with a steady supply of the most 
useful, the most entertaining, the 



Subscription 
Savings Card 



highest quality prcwrams like Number 
Quest, Address File, Treasure Hunt, 
Castle Dungeon, Vocab Builder, 
SpeedScript, and hundreds of other 
educational, home finance, and game 
programs. 

So subscribe today — and unleash 
the hidden power of your Commodore 
computer. Return the card below— or 
call 1-800-247-5470 (in Iowa, 1-800- 
532-1272). Do it now. 




Saloon Shootout 




□YES! 

I know a great deal 
when I see one. Sign 
me up for 12 big issues 
of COMPUTEI's Gazette 
for just $18. 1 save 50% 
off the newsstand price. 



□ Payment enclosed □ Bill me □ Charge my VISA/MasterCard 



Credit Card #_ 



-Exp. Date- 



Signature. 



Name- 



Address- 
City 



-State- 



-Zip- 



Outside U.S.A. please add $6 (U.S.) per year for postage. 



Say YES now 1o 

COMPUTEi's 




You can search far and wide and you 
simply won't find a better magazine.. .a 
better source of insightful, stimulating, 
usable information for your Com- 
modore computer than COMPUTEi's 
Gazette. 

COMPUTE'S Gazette works 
harder... digs deeper... researches 
further — all to help guarantee that you 
get the absolute most from your Com- 
modore. 

Subscribe today and each and ev- 
ery month you'll receive up to 20 all- 
new action-packed programs. That's up 
to 200 programs each year — game pro- 
grams... education programs... home ap- 
plications programs. ..personal and 
budgeting programs... sorting and fdlng 
programs. 



Add it up for yourself. Where else 
can you get exciting programs each 
month... expert advice... insightful 
analysis. ..up-to-the-minute software 
reviews and so much more — all for 
)ust $18. 

So why wait. Subscribe now to 
COMPUTEi's Gazette — and get the 
most from your Commodore computer. 
Return card below — or call 1-800- 
247-5470 (in Iowa, 1-800-532-1272). 




NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 
UNITED STATES 



BUSINESS REPLY MAIL 

FIRST Clf>SS PtRMIT NO. 7551 DES MOINES, lA 



POSTAGE WILL BE PAID BY ADDRESSEE 



COMPUTEi's Gazette 

RO. Box 10775 

Des Moines, lA 50347-0775 



Fastj Furious, Fascinating 

N'nthinji hr gij machine Ijn^uaj^c (?JL> i'at ccmipuccr game 
speed and po*wcr. Tlic native langujge cut jxjur t'cuninodttnc iri 
cw I2B, 3JI. tiaikcs pcMsibLc faM-action ancadc gajiies and snphl^ 
[icaiciJ ■iiraiilaimiu. 

The Bcven game* Ln this hndc arc written entirrLy in oia- 
chiite lan^Luge. 

• CLfT-OFFT hiErt[cs tm) lines □^ lipht acrusS the screen, -wiih 
eacli [t\2yiiT lurcLn^ the other intu h wdlJ dr pre.viuus path. 
IVdisir puts TVLL behind a cujnera. Ln seaitlli ij/S til£ [imM Loch 
Kess monster. 

< Campaien Maii9i](ei' siitiulatn the nalifi^ i>f ji prtsideitt— 
ffurn nuiniiuic iod tu eLeCtLuil ti^if. 

< lieAi Sfekffr .lycts jftnu Lii the cockpdi of a jet chased by deadly 

« U»er Seam sct^tk >xiiir character scum'lng Knm n cln« Ic 

fit'ld of bouncing balls. 
« Wbirlyblrd ccboudids eggs ffoin ihc brJck* below. Ije cmc get 

by jHJU and ihe trouble begins. 

< MiMiri Ice Js a nlghimarc of slick kc, a slli^Jng c^r.. and 
gtiardnils ihai ni[ the wlndlsbield. 

Al] scvem f.»tt\is stt ceadj- to type in with ttur taxbioe 
fSiiagc enifj- profimra, "MU£." Ytm dtnii't have to know anything 
about machine language. 

But if yaa do pto^jani in macliitie la(ij>ua|!e or vatit to 
learn more, Mmhfm lan^uugf Gumvi iticludc* tlie conipleie 
.source code for each jjarae. Printed in their entirety as wrluen 
\yv (he odsJral Ewogfamtnetis, the so^i^ codes ^ix you an 
invaluable opponunity, Study the mi, lea/n froni ihcra. or c^^cn 
modify' them to suit fuurself. 

Ftsi games, ftirious ncni-od. fascinating source cfflJe. iFwii 
lite gam^^s.. like 10 program iin macliine knguaji]c, or b(rth, 
>™'ll Im'c COMPlJTFJ'i Mactine language Ca/fies for the 
f.niamifdore- ^4. 



AS (jirtti/j Ytta tm flu Citmma^fii M duJ CamffuJart IJW (tti Hi vimic). 

t}>r /hi ik fi-ff JitiaiSi 

ISBW 0-57 ^i5>Qti 1-0 



I