Titan
Lander
by Bob Cockroft
by Bob Cockroft
Cruising 887,550,000 miles from the sun in Phobus class landing vehicle, you have just entered the outer extremities of the Saturnian system. Ahead lies the giant ring planet with its multiple bands of toxic gases and its overwhelming brilliance over the blackness of deep space behind. To the right, you now see the disc of Saturn's outermost satellite, Phoebe. It's cold, barren surface sliding silently past your viewer and disappearing into the empty darkness which it emerged. Moving deeper and deeper into the Saturnian gravitational well, another object has just appeared on your viewer. It is the bright and protruding image of Lapetus. Like a giant icebaIl glowing in brilliance as it reflects the light rays from the distance Sun, lapetus's nature becomes apparent. It is a frozan, silent ball forever locked in a orbit around Saturn. Gliding away from this forbidden world, a warmer and more massive satellite is soon picked up on your viewer. After many months of space travel, the destination is in sight. The Saturn's largest Satellite, Titan is before you. As you get closer differences between Titan and other satellites become apparent. Unlike others, Titan has some atmosphere. Clouds of what looks like methane gas have obscured any surface features.
As your space craft automatically goes into an orbit around Titan, you review the instructions given to you on Earth by the project Supervisors. The instruction say to land at the predetermined positions on the surface of Titan thus allowing the ships' computer to automatically perform a number of tests. The locations of the landing sights will be displayed by the computer as reddish rectangles.
All of what you do on Titan will be carefully analyzed by thousands of people who have worked for this landing project. Therefore, the performance you do could determine your future position in the space program. The project Supervisors must have confidence in your space piloting abilities if you are to be promoted or continue at your present assignment.
The most important thing to do in order to gain confidence would be to successfully land the ship. After reading the landing instructions, you know that the landing sights the project Supervisors have chosen, get progressively harder. More confidence will be gained for landing a harder sight than a easier one. Their are ten different levels and if you make it to the tenth the'll be a special surprise.
It cost millions of dollars to build one of the Phobus landing vehicles you are piloting. Therefore project Supervisors are looking for a pilot who can land the vehicle with minimum wear and tear. In other words, you must land both with little downward movement and with little horizontal movement.
The project Supervisors are always looking for perfection. A pin point landing is held with much esteem. Much confidence would be gained for this type of preformance. You have been told that the landing sights are larger than what the vehicle needs. A landing in the centre of one of these would be beneficial.
After landing the vehicle press the START BUTTON to see how the project Supervisors rated your landing. Also when starting a level it is important that you apply an upward thrust or you may run into an asteroid before you even get started.
If you don't have time to type in the program below then send $10.00 for the disk and $6.00 for cassete version. Or send a blank disk or casste and $5.00 to:
R.O.M.
P.O. BOX 252
MAPLE RIDGE, B.C. V2X 7G1
Remember this version of 'Titan Lander' is a little
different then the one listed in this magazine. It has two more levels
and more game features.P.O. BOX 252
MAPLE RIDGE, B.C. V2X 7G1
1 REM *****Titan Lander*****
2 REM *****by Bob Cockroft *****
3 REM *****ROM Magazine*****
4 DIM *YN$(5),GOTO 16000
9 SC=0:TSC1=0:TSC2=0:TSC3=0:TSC4=0:TSC=0:LIFE=1
10 GRAPHICS 1:COLOR1:SETCOLOR2,16,1
12 POKE 1589,40:POKE 1590,4:POKE 1591,13:POKE 1574,0
16 FOR RR=1 TO 75:SOUND 1,162,10,10:SOUND 0,81,10,10:NEXT RR
17 POSITION 4,5:? #6;"titan lander":FOR RR=1 TO 25:SOUND 0,144,10,10:SOUND 1,72,10,10:NEXT RR
18 POSITION 9,10:? #6;"by":FORB RR=1 TO 50:SOUND 0,136,10,10:SOUND 1,68,10,10:NEXT RR
19 FOR RR=1 TO 25:SOUND 0,162,10,10:SOUND 1,81,10,10:NEXT RR
20 POSITION 4,12:? #6;"BOB COCKROFT":FOR RR=1 TO 75:SOUND 0,114,10,15:SOUND 1,57,10,15:POKE 708,RR:NEXT RR
21 SOUND 0,1,1,0:SOUND 1,1,1,0:FOR RR=1 TO 700:NEXT RR
29 I=PEEK(106)-40:J3=I*256+1792
30 S=1
32 FOR WW=1 TO 10:NEXT WW
33 PL=1:GRAPHICS 1:SETCOLOR 2,16,1:POSITION 4,17:? #6;"}PRESS start":POSITION 4,19:? #6;"TO CONTINUE"
34 POSITION 1,5:? #6;"HOW MANY PLAYERS?":POSITION 1,7:? #6;"USE select BUTTON"
35 IF PEEK (53279)=5 THEN PL=PL+1
36 IF PL=5 THEN PL=1
37 POSITION 18,5:? #6;PL
38 FOR PLL=1 TO 50:NEXT PLL:IF PEEK(53279)<>6 THEN 35
39 POSITION 2,10:? #6;"HOW MANY SHIPS?"
40 IF PEEK[(53279)=5 THEN LIFE=LIFE+1
42 IF LIFE=6 THEN LIFE=1
44 POSITION 17,10:? #6;LIFE
46 FOR PLL=1 TO 50:NEXT PLL:IF PEEK(53279)<>6 THEN 39
48 LIEF1=LIFE:LIFE2=LIFE:LIFE3=LIFE:LIFE4=LIFE
70 FOR USE=1 TO PL
72 IF USE=1 AND LIFE1<>0 THEN 80
73 IF USE=2 AND LIFE2<>0 THEN 80
74 IF USE=3 AND LIFE3<>0 THEN 80
75 IF USE=4 AND LIFE4<>0 THEN 80
77 GOTO 8990
80 GRAPHICS 1:SETCOLOR 2,16,1:POSITION 3,9:? #6;"READY PLAYER ";"USE:POSITION 6,12:? #6;"LEVEL "S
82 FOR HL=1 TO 75
83 IF USE=1 THEN POSITION 6,14.? #6;"SHIPS:";LIFE1
84 IF USE=2 THEN POSITION 6,14;? #6;"SHIPS:";LIFE2
85 IF USE=3 THEN POSITION 6,14|? #6;"SHIPS:";LIFE3
86 IF USE=4 THEN POSITION 6,14:? #6;"SHIPS:";LIFE4
89 NEXT HL
90 IF S=I THEN 100
91 IF S=2 THEN 200
92 IF S=3 THEN 300
93 IF S=10 THEN 1000
94 IF 5=4 THEN 400
95 IF S=5 THEN 500
96 IF S=6 THEN 600
97 IF S=7 THEN 700
98 IF S=8 THEN 800
99 IF S=9 THEN 900
100 REM **SCREEN 1**
101 HORZ3=130
105 VERT3=175
110 SIZE3=255
115 MAXUP=50
120 MAXDOWN=250
125 STREN=15
130 MAXAST=150
135 MAXAST1=88
199 GOTO 5000
200 REM **SCREEN 2**
202 HORZ3=101
205 VERT3=185
210 SIZE3=255
215 MAXUP=52
220 MAXDOWN=200
225 STREN=14
230 MAXAST=125
235 MAXAST1=68
299 GOTO 5000
300 REM **SCREEN 3**
302 HORZ3=78
305 VERT3=160
310 SIZE3=255
315 MAXUP=60
320 MAXDOWN=198
325 STREN=14
330 MAXAST=120
335 MAXAST1=65
399 GOTO 5000
400 REM **SCREEN 4**
402 HORZ3=118
405 VERT3=180
410 SIZE3=255
415 MAXUP=64
420 MAXDOWN=197
425 STREN=14
430 MAXAST=110
435 MAXAST1=58
499 GOTO 5000
500 REM **SCREEN 5**
502 HORZ3=129
505 VERT3=166
510 SIZE3=255
515 MAXUP=68
520 MAXDOWN=190
525 STREN=12
530 MAXAST=95
535 MAXAST1=38
599 GOTO 5000
600 REM **SCREEN 6**
602 HORZ3=143
605 VERT3=143
610 SIZE3=255
615 MAXTUP=75
620 MAXDOWN=180
625 STREN=12
630 MAXAST=80
635 MAXAST1=38
699 GOTO 5000
700 REM **SCREEN 7**
702 HORZ3=120
705 VERT3=182
710 SIZE3=255
715 MAXUP=75
720 MAXDOWN=179
725 STREN=14
730 MAXAST=70
735 MAXAST1=40
799 GOTO 5000
800 REM **SCREEN 8**
802 HORZ3=111
805 VERT3=187
810 SIZE3=255
815 MAXUP=75
820 MAXDOWN=179
825 STREN=14
830 MAXAST=65
835 MAXAST1=40
899 GOTO 5000
900 REM **SCREEN 9**
902 HORZ3=140
905 VERT3=180
910 SIZE3=255
915 MAXUP=75
920 MAXDOWN=175
925 STREN=12
930 MAXAST=60
935 MAXAST1=35
999 GOTO 5000
1000 REM **SCREEN 10**
1002 HORZ3=186
1005 VERT3=185
1010 SIZE3=255
1015 MAXUP=70
1020 MAXDOWN=170
1025 STREN=10
1030 MAXAST=10
1035 MAXAST1=30
1999 GOTO 5000
5000 POKE 53248,0:POKE 53249,0:POKE 53250,0:POKE 53251,0
5005 POKE 53252,0:POKE 53253,0:POKE 53254,0:POKE 53255,0
5020 POKE 1681,HORZ3:POKE 1682,VERT3:POKE 1683,SIZE3:POKE 1584,MAXUP:POKE 1585,MAXDONN:POKE 1583,STREN
5025 POKE 1586,MAXAST:POKE 1587,MAXAST1
5500 IF S=1 THEN 6000
5505 IF S=2 THEN 6100
5510 IF S=3 THEN 6200
5520 IF S=4 THEN 6300
5530 IF S=5 THEN 6400
5540 IF S=6 THEN 6500
5550 IF S=7 THEN 6600
5560 IF S=8 THEN 6700
5570 IF S=9 THEN 6800
5580 IF S=10 THEN 6900
5999 REM ****SCREEN 1****
6000 GRAPHICS 8:SETCOLOR 2,16,1
6010 PLOT 1,150:DRAWTO 50,120:DRAWTO 75,130:DRAWTO 150,145:DRAWTO 200,145:DRAWTO 250,120:DRAWTO 275,100
6020 DRAWTO 300,125:DRAWTO 319,150
6025 POSITION 1,20:? " Press START BUTTON after landing"
6050 GOTO 8000
6099 REM ****SCREEN 2****
6100 GRAPHICS 8.SETCOLOR 2,16,1
6110 PLOT 1,130:DRAWTO 25,90:DRAWTO 50,130:DRAWTO 75,140:DRAWTO 100,155:DRAWTO 125,155:DRAWTO 150,125
6120 DRAWTO 155,125:DRAWTO 175,100:DRAWTO 250,100:DRAWTO 260,87:DRANTO 265,82:DRAWTO 280,95:DRAWTO 290,100
6130 DRAWTO 300,100:DRAWTO 319,80
6150 GOTO 8000
6199 REM ****SCREEN 3****
6200 GRAPHICS 8:SETCOLOR 2,16,1
6210 PLOT 1,120:DRAWTO 20,130:DRAWTO 40,150:DRAWTO 60,130:DRAWTO 77,130:DRAWTO 92,60:DRAHTO 150,110:DRAWTO 160,110
6220 DRAWTO 190,135:DRAWTO 225,140:DRAWTO 245,110:DRAWTO 260,100:DRANTO 295,140:DRAWTO 319,135
6250 GOTO 8000
6299 REM ****SCREEN 4****
6300 GRAPHICS 8:SETCOLOR 2,16,1
6310 PLOT 1,100:DRAWTO 30,130:DRAWTO 60,100:DRAWTO 115,75:DRAWTO 117,100:DRAWTO 140,150:DRAWTO 157,150:DRANTO 190,78
6320 DRAWTO 210,90:DRAWTO 220,75:DRAWTO 250,125:DRAWTO 290,112:DRAWTO 300,125:DRAWTO 319,145
6350 GOTO 8000
6399 REM ****SCREEN 5****
6400 GRAPHICS 8:SETCOLOR 2,16,1
6410 PLOT 1,130:DRAWTO 10,120:DRAWTO 60,100:DRAWTO 100,130:DRAWTO 150,120:DRAWTO 160,145:DRAWTO 180,145
6420 DRAWTO 200,120:DRAWTO 200,115:DRAWTO 190,100:DRAWTO 140,90:DRAWTO 145,80:DRAWTO 200,75:DRAWTO 275,100
6425 DRAWTO 319,90
6430 POKE J3+VERT3+1,129:POKE J3+VERT3+2,195:POKE J3+VERT3+3,165:POKE J3+VERT3+4,153:POKE J3+VERT3+5,153
6431 POKE J3+VERT3+6,165:POKE J3+VERT3+7,195:POKE J3+VERT3+8,129:POKE J3+VERT3+9,129:POKE J3+VERT3+10,129
6450 GOTO 8000
6499 REM ****SCREEN 6****
6500 GRAPHICS 8:SETCOLOR 2,16,1
6510 PLOT 1,100:DRAWTO 50,120:DRAWTO 75,110:DRAWTO l00,110:DRAWTO 115,140:DRAWTO 130,150
6520 DRAWTO 210,150:DRAWTO 215,100:DRAWTO 210,90:DRAWTO 175,90:DRAWTO 168,95:DRAWTO 16S,130
6530 DRAWTO 1940,130:DRAWTO 120,100:DRAWTO 125,80:DRAWTO 140,60:DRAWTO 250,60:DRAWTO 300,75:DRAWT0 319,90
6540 PLOT 190,150:DRAWTO 190,110:PLOT 207,150:DRAWTO 207,110:PLOT 190,140:DRAWTO 207,140
6541 PLOT 190,130:DRAWTO 207,130:PLOT 190,120:DRANTO 207,120
6550 GOTO 9000
6599 REM ****SCREEN 7****
6600 GRAPHICS 8:SETCOLOR 2,16,1
6608 PLOT 1,100:DRAWTO 50,130
6609 DRAWTO 100,90:DRAWTO 180,75:DRAWTO 185,80:DRAWTO 178,80:DRAWTO 170,95:DRAWTO 170,105:DRAWTO 165,110
6610 DRAWTO 143,152:DRAWTO 162,152:DRAWTO 182,125
6620 DRAWTO 213,80:DRAWTO 222,100:DRAWTO 250,130:DRAWTO 300,140
6650 GOTO 8000
6699 REM ****SCREEN 8****
6700 GRAPHICS 8:SETCOLOR 2,16,1
6710 PLOT 1,80:DRAWTO 50,120:DRAWTO 75,130:DRAWTO 80,110:DRAWTO 100,100:DRAWTO 140,75:DRAWTO 170,60:DRAWTO 200,80
6720 DRAWTO 200,100:DRAWTO 210,125:DRAWTO 175,120:DRAWTO 150,100:DRAWTO 125,100:DRAWTO 125,155
6730 DRAWTO 145,155:DRAWTO 145,125:DRAWTO 175,145:DRAWTO 238,1145:DRAWTO 236,100:DRAWTO 300,90:DRAWTO 319,60
6750 GOTO 8000
6799 REM ****SCREEN 9 ****
6800 GRAPHICS 8:SETCOLOR 2,16,1
6810 PLOT 1,60:DRAWTO 2,60:DRAWTO 90,100:DRAWTO 40,150:DRAWTO 200,150:DRAWTO 200,132:DRAWTO 88,132:DRAWTO 125,95
6812 DRAWTO 55,60
6820 DRAWTO 150,60:DRAWTO 175,90:DRAWTO 200,110:DRAWTO 250,110:DRAWTO 275,85:DRAWTO 305,135:DRAWTO 319,140
6850 G0TO 8000
6899 REM ****SCREEN 10****
6900 GRAPHICS 8:SETCOLOR 2,16,1
6910 PLOT 1,60:DRAWTO 150,60:DRAWTO 20,70:DRAWTO 20,150:DRAWTO 250,150:DRAWTO 250,90:DRAWTO 275,90
6912 DRAWTO 275,155:DRAWTO 293,155
6920 DRAWTO 293,75:DRAWTO 232,75:DRAWTO 232,135:DRAWTO 38,135:DRAWTO 38,83:DRAWTO 3l9,60
6950 GOTO 8000
7999 POKE 53278,1
8000 POKE 1536+8,0
8005 X=USR(26000)
8020 FOR X=VERT3 TO VERT3+50:POKE J3+X,0:NEXT X
8040 SCORE=PEEK(!576)|SCORE1=PEEK(1577):SCORE2=PEEK(1578):SCORE3=PEEK(1580)
8050 SC=2*(SCORE+SCORE1+SCORE2+SCORE3)-1750+20*S
8051 IF SC<-250 THEN SC=-250
8055 IF PEEK(1574)=0 THEN L1=0
8056 IF PEEK(1574)=1 THEN Ll=-1
8060 IF USE=1 THEN TSC1=TSC1+SC:TSC=TSC1:LIFE1=LIFE1+L1
R061 IF USE=2 THEN TSC2=TSC2+SC:TSC=TSC2:LIFE2=LIFE2+L1
8062 IF USE=3 THEN TSC3=TSC3+SC:TSC=TSC3:LIFE3=LIFE3+L1
8063 IF USE=4 THEN TSC4=TSC4+SC:TSC=TSC4:LIFE4=LIFE4+L1
8064 ? "SCORE: ";:? SC;:? " Total SCORE: ";:? TSC
8075 ? " Press SPACE BAR to continue"
8080 IF PEEK(764)<>33 THEN 8080
8081 POKE 764,65
8085 POKE 53248,0:POKE 53249,0:POKE 53250,0:POKE 53251,0:POKE 53252,0:POKE 53253,0:POKE 53254,0:POKE 53255,0
8086 IF L1=0 AND S>9 THEN GOTO 15200
8087 IF L1=-1 THEN 72
8990 IF PL=1 AND LIFE1=0 THEN 15000
8991 IF PL=2 AND LIFE2=0 AND LIFE1=0 THEN 15000
8992 IF PL=3 AND LIFE1=0 AND LIFE2=0 AND LIFE3=0 THEN 15000
8993 IF PL=4 AND LIFE1=0 AND LIFE2=0 AND LIFE3=0 THEN 15000
8995 NEXT USE
8999 S=S+1
9000 GOTO 70
15000 GRAPHICS 0:SETCOLOR 2,16,1
15020 POSITION 16,3:? "RESULTS"
15030 POSITION 6,6:? ,"SCORE"," RANK"
15040 FOR PLAY=1 TO PL
15050 ? :? : PLAYER ";PLAY;
15060 IF PLAY=1 THEN T=TSC1:? " ";TSC1;
15065 IF PLAY=2 THEN T=TSC2:? " ";TSC2;
15070 IF PLAY=3 THEN T=TSC3:? " ";TSC3;
15075 IF PLAY=4 THEN T=TSC4:? " ";TSC4;
15080 1F T<700 THEN ? " Crater Maker":GOTO 15120
15085 IF T<800 THEN ? " Cabin Boy ":GOTO 15120
15090 IF T<900 THEN ? " Rookie ":GOTO 15120
15095 IF T<1000 THEN ? " Scoot ":GOTO 15120
15100 IF T<1100 THEN ? " Pilot ":GOTO 15120
15105 IF T<1200 THEN ? " Captain ":GOTO 15120
15110 IF T<1300 THEN ? " COMMANDER ":GOTO 15120
15115 ? " ** PRO **
15120 ? :NEXT PLAY
15140 GOTO 15245
15200 GRAPHICS 1.POKE 710,50
15210 POSITION 2,4:? #6;"CONCRADULATIONS !"
15220 POSITION 1,8:? #6;"You have SUCCESSFULLY completed all the levels. ";
15230 ? #6;"You are nowthe Titan lander PRO"
15240 POSITION 8,15:? #6;"YeH!"
15245 REM
15247 ? :? "Would you like to play again?,,
15248 INPUT YN$
15250 IF YN$="Y" THEN 9
15255 GOTO 15250
16000 GRAPHICS 0:SETCOLOR 2,16,1:? :? "The machine code will take a few minutes to load in."
16010 FOR HH=1 TO 1933:READ W:POKE 26000+HH-1,W:NEXT HH
16020 GOTO 9
16100 DATA 104,169,1,141,30,208,169,0,141,38,6,169,62,141,47,169,182,141,192,2,165,106,56
16102 DATA 233,40,141,7,212,169,3,141,29,208,173,145,6,141,3,208,173,147,6,172,146,6,153,0
16104 DATA 127,153,1,127,169,255,141,20,6,141,21,6,169,0,141,9,6,141,7,6,141,17,6,141
16106 DATA 18,6,141,5,6,14l,0,6,141,4,6,141,16,6,141,23,6,141,36,6,141,37,6,141
16108 DATA 38,6,141,39,6,141,22,6,141,8,6,141,40,6,141,41,6,141,42,6,141,43,6,141
16110 DATA 44,6,141,45,6,141,46,6,169,5,141,6,6,141,19,6,169,20,141,3,6,169,245,141
16112 DATA 2,6,173,10,210,141,32,6,169,1,141,1,6,141,52,6,169,191,141,193,2,173,10,210
16114 DATA 141,34,6,173,10,210,141,33,6,169,26,141,194,2,169,55,141,195,2,173,10,210,141,35
16116 DATA 6,173,52,6,201,0,240,17,238,52,6,201,255,208,10,169,0,141,52,6,169,140,141,2
16118 DATA 6,169,3,141,55,123,169,48,141,65,123,169,192,141,75,123,169,24,160,79,153,1,126,153
16120 DATA 7,126,169,126,153,2,126,153,3,126,153,5,126,153,6,126,169,255,153,4,126,238,24,6
16122 DATA 173,24,6,205,51,6,208,41,169,0,141,24,6,173,32,6,201,215,208,5,169,10,141,32
16124 DATA 6,238,32,6,141,2,208,173,33,6,201,40,208,5,169,210,141,33,6,206,33,6,141,4
16126 DATA 208,238,25,6,173,25,6,205,51,6,208,41,169,0,141,25,6,173,34,6,201,215,208,5
16128 DATA 169,30,141,34,6,238,34,6,141,6,208,173,35,6,201,40,208,5,169,215,141,35,6,206
16130 DATA 35,6,141,7,208,173,38,6,201,1,208,11,162,0,232,236,53,6,208,250,76,251,106,173
16132 DATA 43,6,201,0,240,11,162,0,232,236,53,6,208,250,76,147,108,172,3,6,173,2,6,141
16134 DATA 0,208,169,0,153,3,123,153,5,123,153,6,125,169,0,153,254,123,153,9,l24,169,8,153
16136 DATA 255,123,153,0,124,153,2,124,169,28,153,1,124,153,3,124,169,62,153,4,124,153,5,124
16138 DATA 169,42,153,6,124,169,34,153,7,124,169,119,153,8,124,173,0,6,201,0,208,36,162,0
16140 DATA 232,236,54,6,208,250,173,1,6,201,0,208,11,162,0,232,236,55,6,208,250,76,126,104
16142 DATA 201,2,208,3,76,53,104,76,91,104,172,3,6,173,2,6,141,1,208,173,4,6,201,1
16144 DATA 240,19,201,2,240,61,201,0,240,3,76,254,103,169,63,141,193,2,169,62,153,7,125,153
16146 DATA 8,125,169,24,153,9,125,153,10,125,169,16,153,11,125,153,12,125,153,13,125,238,4,6
16148 DATA 76,118,103,169,59,141,193,2,169,8,153,10,125,238,4,6,76,118,103,169,61,141,193,2
16150 DATA 169,24,153,10,125,169,4,153,11,125,153,12,125,153,13,125,238,4,6,76,118,103,169,0
16152 DATA 153,7,125,153,8,125,153,9,125,153,10,125,153,11,125,153,12,125,153,13,125,153,14,125
16154 DATA 153,15,125,153,16,125,153,17,125,153,4,125,153,5,125,153,6,125,169,0,141,4,6,141
16156 DATA 0,6,76,118,103,173,2,6,24,105,7,141,5,208,172,3,6,174,22,6,224,0,240,8
16158 DATA 206,22,6,169,0,76,85,104,238,22,6,169,12,153,4,123,76,126,104,174,2,6,142,5
16160 DATA 208,172,3,6,174,22,6,224,0,240,8,206,22,6,169,12,76,120,104,238,22,6,169,0
16162 DATA 153,4,123,76,126,104,169,0,141,1,6,173,120,2,201,14,208,18,169,143,141,1,210,169
16208 DATA 18,6,240,14,76,189,106,169,255,141,21,6,206,2,6,76,189,l06,169,255,141,21,6,238
16210 DATA 2,6,76,189,106,173,38,6,201,0,240,3,76,251,106,173,4,208,201,0,208,45,173,8
16212 DATA 208,201,0,208,38,173,10,208,201,0,208,31,173,11,208,201,0,208,24,173,14,208,201,0
16214 DATA 208,17,173,12,208,201,8,240,7,201,10,240,3,76,81,102,76,147,108,169,0,141,193,2
16216 DATA 169,1,141,38,6,173,37,6,201,10,208,1,96,238,39,6,174,39,6,224,5,240,3,76
16218 DATA 81,102,162,0,142,39,6,201,0,240,3,76,51,108,238,36,6,173,36,6,201,1,208,3
16164 DATA 75,141,0,210,169,1,141,0,6,76,235,104,201,10,208,8,169,2,141,1,6,76,138,104
16166 DATA 201,6,208,8,169,1,141,1,6,76,138,104,201,11,208,18,169,2,141,1,6,169,50,141
16168 DATA 0,210,169,143,141,1,210,76,70,105,201,7,208,18,169,1,141,1,6,169,50,141,0,210
16170 DATA 169,143,141,1,210,76,70,105,169,0,141,0,210,141,1,210,76,70,105,173,9,6,201,0
16172 DATA 240,39,169,1,141,9,6,238,7,6,173,7,6,236,48,6,208,20,162,0,142,7,6,169
16174 DATA 1,76,7,105,173,5,6,201,250,240,3,238,5,6,76,153,105,169,0,141,9,6,238,8
16176 DATA 6,174,8,6,236,48,6,208,15,162,0,142,8,6,173,6,6,201,0,240,6,206,6,6
16178 DATA 76,153,105,169,1,141,9,6,141,5,6,76,153,105,173,9,6,201,0,240,42,169,1,141
16180 DATA 9,6,238,7,6,174,7,6,236,49,6,208,15,162,0,142,7,6,173,5,6,201,0,240
16182 DATA 6,206,5,6,76,153,105,169,0,141,9,6,76,153,105,169,0,141,9,6,238,8,6,174
16184 DATA 8,6,236,49,6,208,15,162,0,142,8,6,173,6,6,201,253,240,3,238,6,6,76,153
16186 DATA 105,173,1,6,201,0,208,3,76,79,106,201,1,208,3,76,254,105,76,173,105,173,16,6
16188 DATA 201,0,240,41,169,1,141,16,6,238,17,6,174,17,6,224,50,208,15,162,0,142,17,6
16190 DATA 173,18,6,201,0,240,6,206,18,6,76,79,106,169,0,141,16,6,76,79,106,169,0,141
16192 DATA 16,6,238,17,6,174,17,6,224,50,208,15,162,0,142,17,6,173,19,6,201,150,240,3
16194 DATA 238,19,6,76,79,106,173,16,6,201,0,240,33,169,1,141,16,6,238,17,6,174,17,6
16196 DATA 224,50,208,15,162,0,142,17,6,173,18,6,201,150,240,3,238,18,6,76,79,106,169,0
16198 DATA 141,16,6,238,17,6,174,17,6,224,50,208,15,162,0,1,142,17,6,173,19,6,201,0,240
16200 DATA 6,206,19,6,76,79,106,169,1,141,16,6,76,79,106,173,38,6,201,1,208,3,76,251
16202 DATA 106,206,20,6,173,20,6,205,5,6,240,8,205,6,6,240,14,76,130,106,169,255,141,20
16204 DATA 6,206,3,6,76,130,106,169,255,141,20,6,?38,3,6,76,130,106,238,23,6,173,23,6
16206 DATA 201,5,240,3,76,189,106,169,0,141,23,6,206,21,6,173,21,6,205,19,6,240,8,205
16220 DATA 76,82,107,201,75,208,3,76,147,107,201,150,208,3,76,201,107,201,175,208,3,76,253,107
16222 DATA 201,250,208,3,76,51,108,76,81,102,169,222,141,192,2,172,3,6,169,0,153,254,123,153
16224 DATA 9,124,153,255,123,153,0,124,153,8,124,153,7,124,153,1,124,169,42,153,2,124,153,6
16226 DATA 124,169,28,153,3,124,153,5,124,169,l26,153,4,124,169,24,l41,0,210,169,14,141,1,210
16228 DATA 76,81,102,169,11,141,192,2,172,3,6,169,42,153,1,124,169,73,153,2,124,169,28,153
16230 DATA 3,124,153,5,124,169,247,153,4,124,169,8,153,6,124,169,34,153,7,124,169,32,141,0
16232 DATA 210,169,14,141,1,210,76,81,102,169,53,141,192,2,172,3,6,169,24,153,1,124,153,6
16234 DATA 124,169,36,153,2,124,153,5,124,169,67,153,3,124,169,194,153,4,124,169,8,153,7,124
16236 DATA 169,100,141,0,210,169,5,141,1,210,76,81,l02,169,56,141,192,2,172,3,6,169,66,153
16238 DATA 0,124,153,7,124,169,129,153,1,124,153,6,124,169,0,153,2,l24,153,3,124,153,4,124
16240 DATA 153,5,124,153,8,124,169,60,141,0,210,169,10,141,1,210,76,81,102,172,3,6,169,0
16242 DATA 153,254,123,153,255,123,153,0,124,153,1,124,153,2,124,153,3,124,153,4,124,153,5,124
16244 DATA 153,6,124,153,7,124,153,8,124,153,3,123,153,4,123,153,5,123,153,5,125,153,6,125
16246 DATA 153,7,125,153,8,125,153,9,125,l53,10,125,153,11,125,153,12,125,153,13,125,169,0,141
16248 DATA 0,210,141,1,210,238,37,6,173,43,6,201,0,240,1,96,76,81,102,173,6,6,56,237
16250 DATA 47,6,48,3,76,251,106,173,43,6,201,0,240,13,173,31,208,201,6,208,3,76,51,108
16252 DATA 76,81,102,169,1,141,43,6,169,255,56,237,6,6,141,40,6,169,255,56,237,18,6,141
16254 DATA 41,6,169,255,56,237,19,6,141,44,6,173,2,6,56,237,145,6,201,0,208,8,169,255
16256 DATA 141,46,6,76,241,108,141,45,6,48,6,169,255,56,237,45,6,141,42,6,169,0,172,3
16258 DATA 6,153,7,125,153,8,125,153,9,125,153,10,125,153,11,125,153,12,125,153,13,125,141,0
16260 DATA 210,141,1,210,153,3,123,153,4,123,76,81,102
ATARI Macro Assembler Ver 1.0A Page 1
D1:LANDER.
4E20 = 4E20 ORG $6590
4E20 68 PLA
4E21 A901 LDA #1 ;CLEAR COLLISIONS
4E23 8DIED0 STA $D01E
4E26 A900 LDA #0
4E28 BD2606 STA $626
4E2B A93E LDA #62 ;SET P/M GRAPHICS
4E2D BD2F02 STA $22F
4E30 A9B6 LDA #182 ;COLOR (PLAYER OY
4E32 BD0002 STA $2C0
4E35 A56A LDA $6A
4E37 3B SEC
4E38 E928 SBC #40
4E3A BD07D4 STA $D407
4E3D A903 LDA #3
4E3F 8D1DD0 STA $D01D
= 7000 PM SET $7C00 ;DECLARATION SECTION
= 7B00 M1 SET $7800 ;BASE LOCATION FOR MISSILES
= 7D00 PM1 SET $7D00 ;BASE PLAYER I
= 7E00 PM2 SET $7E00 ;BASE PLAYER 2
= 7F00 PM3 SET $7F00 ;BASE PLAYER 3
= 0600 THRUST SET $600 ;THRUST FLAG
= 0601 MICRO SET $601 ;SIDE THRUST FLAG
= 0602 HORZ SET $602 ;HORZ POS LANDER
= 0603 VERT SET $603 ;VERT POS LANDER
= 0604 FAZE SET $604 ;THRUST TYPE
= 0605 LMOVE SET $605 ;UP ACCELERATION
= 0606 DMOVE SET $606 ;DOWN ACCELERATION
= 0607 USPEED SET $607 ;LIP COUNTER
= 0608 DSPEED SET $608 ;DOWN COUNTER
= 0609 UM SET $609 ;VERT DIRECTION FLAG
= 0610 HUM SET $610 ;HDRZ DIRECTION FLAG
= 0611 UHSPD SET $611 ;HORZ ACCEL COUNTER
= 0612 RN10VE SET $612 ;RIGHT ACCELERATION
= 0613 1-MOVE SET $613 ;LEFT ACCELERATION
= 0614 COUNT SET $614 ;RATE COUNTER
= 0615 COLNTI SET $615 ;RATE COLNTERI
= 0616 CHANGE SET $616 ;CHANG4 SIDE THRUST
= 0617 SLOW SET $617
= 0618 AST SET $618 ;ASTERIOD COUNTER
= 0619 ASTI SET $619 ;ASTERIOD COUdTER1
= 0623 HORZ2 SET $620 ;HORZ POS PLAYER2
= 0621 MHDR0 SET $621 ;HORZ POE MISSILEO
= 0622 MHOR2 SET $622 ;HORZ POS MISSILE2
= 0623 MINORS SET $623 ;HORZ POS MISSILES
= 0624 ECON SET $624 ;EXPLOSION TYPE
= 0625 ECON1 SET $625 ;EXPLOSION LOOP
= 0626 EXPL SET $626 ;EXPLOSION FLAG
= 0627 EXCON SET $627 ;EXPLOSION SLOWER
= 0628 SCORE SET $628 ;SCORE (VERT)
= 0629 SCOREI SET $629 ;SCORE (HO2Z)R
= 062A SCORE2 SET $62A ;SCORE (POS.)
= 0628 SCON SET $62B ;SCORE LOOP
= 062C SCORES SET $62C ;SCORE (HORZ)L
= D01F CONSOL SET $D01F ;CONSOL FLAG
= 062D STORE SET $62D ;STORE VALUE
= 062E PIN SET $62E ;PIN POINT LANDING FLAG
ATARI Macro Assembler Ver 1.0A Page 2
D1: LANDER.
= 062F STREN SET $62F ;STRENGTH OF LANDER
= 0630 MAXUP SET $630 ;MAX ACLEL UP
= 0631 MAXDOWN SET $631 ;MAX ACCEL DOWN
= 0632 MAXAST SET $632 ;MAX SPEED ASTEROIDS((-))
= 0633 MAXASrl SET $633 ;MAX SPEED ASTERUIDS(I)
= 0634 APEA SET $634 ;BEGIN WITH HORZ 245
= 0635 STP SET $635 ;SLOW ASTERIODS
= 0636 STP1 SET $636 ;SLOW ASTERIODS
= 0637 STP2 SET $637 ;SLOW ASTERIODS
4E42 AD9106 LDA $691 ;LANDING PAD
4E45 8D03DC STA $D003 ;HORZ PUS.
4E48 AD9306 LDA $693 ;SIZE
4E4E AC9206 LDY $692 ;VERT POS.
4E4E 99007F STA PM3,Y
4E51 99017F STA PM3+1.Y
;GIVE VALUES TO VARIABLES
4E54 A9FF LDA #255
4E56 8D1406 STA COUNT
4E59 BD1506 STA COUNTI
4E5C A900 LDA #0
4E5E 8D0906 STA UM
4E61 8D0706 STA USPEED
4E64 BD1106 STA UHSPD
4E67 SD1206 STA RMOVE
4E6A 8D0506 STA UMOVE
4E6D BD0006 STA THRUST
4E70 SD0406 STA FAZE
4E73 SD1006 STA HUM
4E76 BD1706 STA SLOW
4E79 8D2406 STA ECON
4E7C BD2506 STA ECON1
4E7F BD2606 STA EXPL
4E82 BD2706 STA EXCON
4E85 BD1606 STA CHANGE
4E88 BD0806 STA DSPEED
4EBB BD2806 STA SCORE
4ESE 8D2906 STA SCORE1
4E91 8D2A06 STA SCORE2
4E94 BD2B06 STA SCON
4E97 8D2C06 STA SCORES
4E9A BD2D06 STA STORE
4E9D 8D2E06 STA PIN
4EA0 A905 LDA #5
4EA2 8D0606 STA DMOVE
4EA5 BD1306 STA LMOVE
4EA8 A914 LDA #20
4EAA 8D0306 STA VERT
4EAD A9F5 LDA #245
4EAF 8D0206 STA HORZ
4EB2 ADOAD2 LDA $D20A
4EB5 BD2006 STA HORZ2
4EB8 A901 LDA #1
4EBA SDO106 STA MICRO
4EBD BD3406 STA APEA
4EC0 A9BF LDA #191 ;COLOR (PLAYER1)
ATARI Macro Assembler Ver 1.0A Page 3
D1:LANDER.
4EC2 8DC102 STA $2C1
4EC5 ADOAD2 LDA SD20A
4ECB BD2206 STA MHOR2
4ECB ADOAD2 LDA $D20A
4ECE BD2106 STA MHORO
4ED1 A91A LDA #26
4ED3 BDC202 STA $2C2 ;COLOR (PLAYER 2)
4ED6 A937 LDA #55
4ED8 BDC302 STA $2C3 ;COLOR (PLAYER 3)
4EDB ADOAD2 LDA $D20A
4EDE BD2306 STA MHOR3 ;HORZ POS. PLAYER 3
4EE1 AD3406 DRAW LDA APEA ;HORZ=245 AT START
4EE4 C900 CMP #0
4EE6 F011 ^4EF9 BEQ AB
4EE8 EE3406 INC APEA
4EEB C9FF CMP #255
4EED D00A ^4EF9 BNE AB
4EEF A900 LDA #0 `
4EF1 SD3406 STA APEA
4EF4 A98C LDA #140
4EE6 8D0206 STA HORZ
4EF9 A903 AB LDA #3 ;DRAW ASTERIODS
4EFB 8D377B STA M1+55
4EFE A930 LDA *48
4F00 BD4178 STA M1+65
4F03 A9C0 LDA #192
4F05 BD4B7B STA M1+75
4F08 A91B LDA #24
4F0A A04F LDY #79
4F0C 99017E STA PM2+1,Y
4F0F 99077E STA PM2+7,Y
4F12 A97E LDA #126
4F14 99027E STA PM2+2,Y
4F17 99037E STA PM2+3,Y
4FlA 99057E STA PM2+5,Y
4F1D 99067E STA PM2+6,Y
4F20 A9FF LDA #255
4F22 99047E STA PM2+4,Y
4F25 EE1806 INC AST ;MOVE ASTERIODS
4F28 AD1806 LDA AST ;INCREMENT ASTERIODS COUNTER
4F28 CD3306 CMP MAXAST
4F2E D029 ^4F59 BNE L251
4F30 A900 LDA #0 ;STORE ORIGINAL VALUE
4F32 801806 STA AST
4F35 AD2006 LDA HORZ2
4F38 C9D7 CMP #215
4F3A D005 ^4F41 BNE AT
4F3C A90A LDA #10
4F3E 802006 STA HORZ2
4F41 EE2006 AT INC HORZ2
4F44 8D02D0 STA $D002
4F47 AD2106 LDA MHORO
4F4A C928 CMP #40
4F4C D005 ^4F53 BNE AT1
ATARI Macro Assembler Ver 1.0A Page 4
D1:LANDER:
A9D2 LDA #310
802106 STA MHORO
CE2106 AT1 DEC MHORO
SD04D0 STA $D004
EE1906 L251 INC AST1 ;INCREMENT ASTERIODS COUNTERI
AD1906 LDA AST1
CD3306 CMP MAXASTI
D029 ^4F8D BNE DRAW1
A900 LDA #0
801906 STA AST1
AD2206 LDA MHOR2
C9D7 CMP #215
D005 ^4F75 BNE AT2
A91E LDA #30
8D2206 STA MHOR2
EE2206 AT2 INC MHOR2
BD06D0 STA $D006
AD2306 LDA MHOR3
C928 CMP #40
D005 ^4F87 BNE AT3
A9D7 LDA #215
802306 STA MHORS
CE2306 AT3 DEC MHOR3
8D07D0 STA $D007
AD2606 DRAWl LDA EXPL ;CHECK FOR EXPLOSION
C901 CMP #1
D00B ^4F9F BNE L420
A200 LDX #0 ;SLOW ASTERIOD DURING EXPLOSION
E8 L600 INX
EC3506 CPX STP
D0FA ^4F96 BNE L600
4C8B53 JMP EXP
AD2B06 L420 LDA SCON
C900 CMP #0
F00B ^4FB1 BEQ J10
A200 LDX #0 ;SLOW ASTERIOD DURING LANDING
E8 J70 INX
EC3506 CPX STP
D0FA ^4FAB BNE J70
4C2355 JMP PTS
AC0306 J10 LDY VERT ;VERT PUS. LANDER
AD0206 LDA HORZ
8D00D0 STA $0000 ;MOVE HORZ. LANDER
A900 LDA #0 ;DRAW LANDER
99037B STA M1+3,Y
99057B STA M1+5,Y
990670 STA PM1+6,Y
A900 LDA #0
99FE7B STA PM-2,Y
99097C STA PM+9,Y
A908 LDA #B
99FF7B STA PM-1,Y
99007C STA PM,Y
99027C STA PM+2,Y
A91C LDA #28
99017C STA PM+1,Y
ATARI Macro Assembler Ver 1.0A Page 5
D1:LANDER.
4FDD 99037C STA PM+3,Y
4FE0 A93E LDA #62
4FE2 99047C STA PM+4,Y
4FE5 99057C STA PM+5,Y
4FEB A92A LDA #42
4FEA 99067C STA PM+6,Y
4FED A922 LDA #34
4FEF 99077C STA PM+7,Y
4FE2 A977 LDA #119
4FF4 99087C STA PM+B,Y
4FF7 AD0006 LDA THRUST ;MOVE UP
4FFA C900 CMP #0
4FFC D024 ^5022 BNE DOWN
4FFE A200 LDX #0
5000 E8 LO INX
5001 EC3606 CPX STP1
5004 DOFA ^5000 BNE LO
5006 AD0106 SIDE LDA MICRO ;HORZ. MOVEMENT
5009 C900 CMP #0
500B DOOR ^5018 BNE L70
500D A200 LDX #0
500F EB LO1 INX
5010 EC3706 CPX STP2
5013 D0FA ^500F BNE LO1
5015 4COE51 JMP L4
5018 C902 L70 CMP #2
501A D003 ^501F BNE L71
501C 4CC530 JMP RMICR
501F 4CEB50 L71 JMP LMICR
5022 AC0306 DOWN LDY VERT ;THRUST SECTION
5025 AD0206 LDA HORZ
5028 8DOlD0 STA $D001 ;HORZ POS. THRUST
5028 AD0406 LDA FAZE ;WHICH THRUST
502E C901 CMP #1
5030 F031 ^5063 BEQ L2
5032 C902 CMP #2
5034 F03D ^5073 BEQ L3
5036 C900 CMP #0
5038 F003 ^503D BEQ L5
503A 4CBE50 JMP L6
503D A93F L5 LDA #63 ;TYPE 1
503F BDC102 STA $2C1 ;COLOR
5042 A93E LDA #62 ;DRAW
5044 990770 STA PM1+7,Y
5047 990870 STA PM1+8,Y
504A A918 LDA #24
504C 990970 STA PM1+9,Y
504F 990A7D STA PM1+10,Y
5052 A910 LDA #16
5054 990B7D STA PM1+11,Y
5057 990C7D STA PM1+12,Y
505A 990D7D STA PM1+13,Y
5050 EE0406 INC FAZE ;INCREMENT TYPE
ATARI Macro Assembler Ver 1.0A Page 6
D1:LANDER.
5060 4C0650 JMP SIDE
5063 A93B L2 LDA #59 ;TYPE 2
5065 B0C102 STA $2C1 ;COLOR
5068 A908 LDA #8 ;DRAW
506A 990A7D STA PM1+10,Y
506D EE0406 INC FAZE ;INCREMENT TYPE
5070 4C0650 JMP SIDE
5073 A93D L3 LDA #61 ;TYPE
5075 BDC102 STA $2C1 ;COLOR
5078 A918 LDA #24 ;DRAW
507A 990A7D STA PM1+10,Y
507D A904 LDA #4
507F 990870 STA PM1+11,Y
5082 990C7D STA PM1+12,Y
5085 990D7D STA PM1+13,Y
5088 EE0406 INC FAZE ;INCREMENT TYPE
508B 4C0650 JMP SIDE
508E A900 L6 LDA #0 ;TYPE 4
5090 990770 STA PM1+7,Y ;ERASE
5093 990870 STA PM1+8,Y
5096 990970 STA PMI+9,Y
5099 990A7D STA PMI+10,Y
509C 990B7D STA PM1+11,Y
509F 990C7D STA PM1+12,Y
30A2 990D7D STA PM1+13.Y
50A5 990E7D STA PM1+14,Y
50AS 990F7D STA PM1+15,Y
50AB 991070 STA PM1+16,Y
50AE 991170 STA PM1+17,Y
50B1 990470 STA PM1+4,Y
50B4 990570 STA PM1+5,Y
50B7 990670 STA PM1+6,Y
50BA A900 LDA #0 ;RESET DATA
50BC 800406 STA FAZE
508E 800006 STA THRUST
50C2 4C0650 JMP SIDE
50C5 AD0206 RMICR LDA HORZ ;HORZ MOVEMENT (RIGHT)
50C8 18 CLC
50C9 6907 ADC #7 ;PLACE RIGHT THRUST
50CB BD05D0 STA $0005
50CE AC0306 LDY VERT
50D1 AE1606 LDX CHANGE
50D4 E000 CPX #0
50D6 F008 ^50E0 BEQ L101
50D8 CE1606 DEC CHANGE
50DB A900 LDA #0
50DD 4CE550 JMP L102
50E0 EE1606 L101 INC CHANGE
50E3 A90C LDA #12
50E5 990478 L102 STA Ml+4,Y
50E8 4C0E51 JMP L4
50EB AE0206 LMICR LDX HORZ ;HORZ MOVEMENT(LEFT)
ATARI Macro Assembler Ver 1.0A Page 7
D1:LANDER.
50EE BE05D0 STX $0005 ;PLACE LEFT THRUST
50F1 AC0306 LDY VER1
50F4 AE1606 LDX CHANGE
50F7 E000 CPX #0
50F9 FOOS ^5103 BEQ L103
50FB CE1606 DEC CHANGE
50FE A90C LDA #12
5100 400851 JMP L104
5103 EE1606 L103 INC CHANGE
5106 A900 LDA #0
5108 990478 L104 STA Ml+4,Y
510B 4COE51 JMP L4
;DETERMINE MOVEMENT VECTORS
510E A900 L4 LDA #0
5110 800106 STA MICRO
5113 AD7802 LDA $278 ;LDAD STICK(O) POSITION
5116 C90E CMP #14
5118 D012 ^5120 BNE L10
511A A98F L11 LDA #143 ;UP
511C 8D01D2 STA $0201
511F A94B LDA #75
5121 8D00D2 STA SD200
5124 A901 LDA #1
5126 800006 STA THRUST
5129 4C7851 JMP EX
512C C90A L10 CMP #10 ;UP/RIGHT
512E D008 ^5138 BNE L12
5130 A902 LDA #2
5132 800106 STA MICRO
5135 4ClA51 JMP L11
5138 C906 L12 CMP #6 ;UP/LEFT
513A 0008 ^5144 BNE L14
513C A901 LDA #1
513E 8D0106 STA MICRO
5141 4C1A51 JMP L11
5144 C90B L14 CMP #11 ;RIGHT
5146 0012 ^515A BNE L15
5148 A902 LDA #2
514A 8D0106 STA MICRO
514D A932 LDA #50
514F 8D00D2 STA $0200
5152 A98F LDA #143
5154 8D0lD2 STA $0201
5157 4C0651 JMP MA
515A C907 L15 CMP #7 ;LEFT
515C D012 ^5170 BNE L16
515E A901 LDA #1
5160 800106 STA MICRO
5163 A932 LDA #50
5165 8D00D2 STA $0200
5168 A98F LDA #143
516A 8D01D2 STA $0201
516D 4CD651 JMP MA
5170 A900 L16 LDA #0
5172 8D00D2 STA $0200
ATARI Macro Assembler Ver 1.0A Page 8
D1;LANDER.
5175 8D01D2 STA $0201
5178 4CD651 JMP MA
;CHANGE VECTOR (UP)
517B AD0906 EX LDA UM ;NOW MOVE UP
517E C900 CMP #0
5180 F027 ^51A9 BEQ DMOV
5182 A901 LDA 91
5184 8D0906 STA U1
5187 EE0706 INC USPEED ;ACCELERATION COUNTER
518A AD0706 LDA USPEED
518D EC1006 CPX MAXUP
5190 D014 ^51A6 BNE L25
5192 A200 LDX #0
5194 BE0706 STX USPEED
5197 A901 L100 LDA #1
5199 409751 JMP L100
519C AD0506 LDA UMOVE
519E C9FA CMP #250
51A1 F003 ^51A6 BEQ L25
51A3 EE0506 INC UMOVE ;INCREASE VERTICAL ACCEL.
51A6 402952 L25 JMP LR
51A9 A900 DMOV LDA #0 ;NOW MOVE DOWN
51AB 800906 STA UM
51AE EE0806 INC DSPEED
51B1 AE0806 LDX DSPEED ;ACCEL COUNTER
51B4 EC3006 CPX MAXUP
51B7 D00F ^51CS BNE L27
51B9 A200 LDX #0
51B8 BE0806 STX OSPEED
51BE AD0606 LDA DMOVE
51C1 C900 CMP #0
51C3 F006 ^5108 BEQ L30
51C5 CE0606 DEC DMOVE
51C8 402952 L27 JMP LR
51CB A901 L30 LDA i1
51CD 800906 STA UM
51D0 8D0506 STA UMOVE ;DECREASE ACCEL. COUNTER
51D3 402952 JMP LR
;CHANGE VECTOR DOWN
51D6 AD0906 MA LDA UM ;NOW MOVE UP
51D9 C900 CMP #0
51DB F02A ^5207 BEQ OMOVD
51DD A901 LDA #1
51DF 800906 STA UM
51E2 EE0706 INC USPEED ;ACCEL. COUNTER
51E5 AE0706 LDX USFEED
51E8 EC3106 CPX MAXDOWN
51EB D00F ^51FC BNE L32
51ED A200 LDX #0
51EF 8E0706 STX (SPEED
51F2 AD0506 LDA UMOVE
51F5 C900 CMP #0
ATARI Macro Assembler Ver l.0A Page 9
D1:LANDER.
51F7 F006 ^51FF BEQ L34
51F9 CE0506 DEC UMOVE ;DECREASE ACCEL. COUNTER
51FC 4C2952 L32 JMP LR
51FF A900 L34 LDA #0
5201 8D0906 STA UM
5204 4C2952 JMP LR
5207 A900 DMOVO LDA #0 ;NOW MOVE DOWN
5209 8D0906 STA UM
520C EE0806 INC DSPEED ;ACCEL. COUNTER
520F AE0806 LDX DSPEED
5212 EC3106 CPX MAXDOWN
5215 D00F ^5226 BNE L35
5217 A200 LDX #0
5219 8E0806 STX DSPEED
521C AD0606 LDA DMOVE
521F C9FD CMP #253
5221 F003 ^5226 BEQ L35
5223 EE0606 INC DMOVE ;INCREASE ACCEL. COUNTER
5226 4C2952 L35 JMP LR
;HORIZONTAL MOVEMENT
5229 AD0106 LR LDA MICRO
522C C900 CMP #0
522E D003 ^5233 BNE L40
5230 4CDF52 JMP WAK
5233 C901 L40 CMP #1
5235 D003 ^523A BNE L41
5237 4CBE52 JMP RHOR
523A 4C3D52 L41 JMP LHOR
;LEFT VECTOR
523D AD1006 LHOR LDA HUM ;RIGHT
5240 C900 CMP #0
5242 F029 ^526D BEQ DHD
5244 A901 LDA #1
5246 BD1006 STA HUM
5249 EE1106 INC UHSPD ;HORZ ACCEL COUNTER
524C AE1106 LDX UHSPD
524F E032 CPX #50
5251 D00F ^5262 BNE L53
5253 A200 LDX #0
5255 SE1106 STX UHSPD
5258 AD1206 LDA RMOVE
525B C900 CMP #0
525D F006 ^5265 BEQ L54
525F CE1206 DEC RMOVE ;DECREASE HORZ ACCEL
5262 4CDF52 L53 JMP WAK
5265 A900 L54 LDA #0
5267 8DIO06 STA HUM
526A 4CDF52 JMP WAK
526D A900 DHD LDA #0 ;LEFT
526F 8D1006 STA HUM
5272 EE1106 INC UHSPD ;HORZ ACCEL. COUNTER
5275 AE1106 LDX UHSPD
5278 E032 CPX #50
527A D00F ^5288 BNE L57
ATARI Macro Assembler Ver 1.0A Page 10
D1:LANDER.
527C A200 LDX #0
527E 8E1106 STX UHSPD
5281 AD1306 LDA LMOVE
5284 C996 CMP #150
5286 F003 ^5288 BEQ L57
5288 EE1306 INC LMOVE ;INCREASE HORZ ACCEL.
528B 4CDF52 L57 JMP WAK
;MOVEMENT VECTOR RIGHT
528E AD1006 RHOR LDA HUM ;RIGHT
5291 C900 CMP #0
5293 F021 ^5286 BEQ DHR
5295 A901 LDA 111
5297 BD1006 STA HUM
529A EE1106 INC UHSPD ;HORZ ACCEL. COUNTER
529D AE1106 LDX UHSPD
52A0 E032 CPX #50
52A2 D00F ^5283 BNE L50
52A4 A200 LDX #0
52A6 8E1106 STX UHSPD
52A9 AD1206 LDA RMOVE
52AC C996 CMP #150
52AE F003 ^52B3 BEQ L50
52B0 EE1206 INC RMOVE ;INCREASE HORZ ACCEL
5283 4CDF52 L50 JMP WAK
5286 A900 DHR LDA #0 ;LEFT
52BB 8D1006 STA HUM
52BB EE1106 INC UHSPD ;HORZ ACCEL.
52BE AE1106 LDX UHSPD
52C1 E032 CPX #50
52C3 D00F ^52D4 BNE L51
52C5 A200 LDX #0
52C7 BE1106 STX UHSPD
52CA AD1306 LDA LMOVE
52CD C900 CMP #0
52CF F006 ^52D7 BEQ L52
52D1 CE1306 DEC LMOVE ;DECRECE HORZ ACCEL
52D4 4CDF52 L51 JMP WAK
52D7 A901 L52 LDA #1
52D9 BD1006 STA HUM
52DC 4CDF52 JMP WAK
;POKE MOVEMENT
52DF AD2606 WAK LDA EXPL ;VERTICAL MOVEMENT
52E2 C901 CMP #1
52E4 D003 ^52E9 BNE L421
52E6 4CBB53 JMP EXP
52E9 CE1406 L421 DEC COUNT
52EC AD1406 LDA COUNT
52EF CD0506 CMP UMOVE
52F2 F008 ^52FC BEQ L60
52F4 CD0606 CMP DMOVE
52F7 F00E ^5307 BEQ L61
52F9 4C1253 JMP WAR
52FC A9FF L60 LDA #255 ;UP
52FE 8D1406 STA COUNT
ATARI Macro Assembler Ver 1.0A Page 11
D1:LANDER.
5301 CE0306 DEC VERT
5304 4C1253 JMP WAR
5307 A9FF L61 LDA #235 ;DOWN
5309 801406 STA COUNT
530C EE0306 INC VERT
530F 4C1253 JMP WAR
5312 EE1706 WAR INC SLOW ;HORZONTAL MOVEMENT
5315 AD1706 LDA SLOW ;SLOW TURNS IN DIRECTION
5318 C905 CMP #5
531A F003 ^531F BEQ L200
531C 4C4D53 JMP COL
531F A900 L200 LDA #0
5321 8D1706 STA SLOW
5324 CE1506 DEC COUNT1 ;SLOWER
5327 AD1506 LDA COUNTI
532A CD1306 CMP LMOVE ;HORZ
532D F008 ^5337 BEQ L62
532F CD1206 CMP RMOVE
5332 F00E ^5342 BEQ L63
5334 4C4D53 JMP COL
5337 A9FF L62 LDA #255 ;LEFT
5339 801506 STA COUNTI
533C CE0206 DEC HORZ
533F 4C4D53 JMP COL
5342 A9FF L63 LDA #255 ;RIGHT
5344 801506 STA COUNT1
5347 EE0206 INC HORZ
534A 4C4D53 JMP COL
534D AD2606 COL LDA EXPL ;COLLISON SECTION
5350 C900 CMP #0 ;EXPLOSION STARTED
5352 F003 ^5357 BEQ L450
5354 4CBB53 JMP EXP ;GOTO EXPLOSION
5357 AD04D0 L450 LDA $0004 ;COLLISON WITH PLAYFIELD
535A C900 CMP #0
535C D02D ^5388 BNE EXP
535E AD08D0 LDA $0008 ;COLLISIONS WITH MISSILE(O)
5361 C900 CMP #0
5363 D026 ^5388 BNE EXP
5365 AD0AD0 LDA $D00A ;COLLISION WITH MISSILE(2)
5368 C900 CMP #0
536A D01F ^5338 BNE EXP
536C AD0BD0 LDA $D00B ;COLLISION WITH MISSILE(3)
536F C900 CMP #0
5371 D018 ^5388 BNE EXP
5373 AD0ED0 LDA $D00E ;COLLISION WITH PLAYER(2)
5376 C900 CMP #0
5378 D0ll ^5388 BNE EXP
537A AD0CD0 LDA $D00C ;HIT LANDING PAD
537D C908 CMP #8
537F F007 ^5388 BEQ PT
5381 C90A CMP #10
ATARI Macro Assembler Ver 1.0A Page 12
D1:LANDER.
5383 F003 ^5388 BEQ PT
5385 4CE14E JMP DRAW
5388 4C2355 PT JMP PTS ;JUMP TO SCORE SECTION
538B A900 EXP LDA #0 ;EXPLOSION SECTION
538D BDC102 STA $2C1 ;ERASE THRUST FLAMES
5390 A901 LDA #1
5392 802606 STA EXPL ;LDAD EXPLOSION FLAG
5395 AD2506 LDA ECON1 ;CHECK EXPLOSION LOOP
5398 C90A CMP #10
539A D001 ^5390 BNE L405
539C 60 RTS
539D EE2706 L405 INC EXCON ;EXPLOSION COUNTER
53A0 AE2706 LDX EXCON ;EXPLOSION SLOWER
53A3 E005 CPX #5
53A5 F003 ^53AA BEQ L500
53A7 4CE14E JMP DRAW
53AA A200 L500 LDX #0 ;RESET EXPLOSION SLOWER
53AC BE2706 STX EXCON
53AF C900 CMP #0
53B1 F003 ^5386 BEQ L406
53B3 4CC354 JMP A5
53B6 EE2406 L406 INC ECON ;INCREMENT EXPLOSION TYPE
53B9 AD2406 LDA ECON ;LDAD EXPLOSION TYPE
53BC C901 CMP #1 ;CHECK TYPE 1
538E D003 ^53C3 BNE L399
53C0 4CE253 JMP Al
53C3 C94B L399 CMP #75 ;CHECK TYPE 2
53C5 D003 ^53CA BNE L400
53C7 4C2354 JMP A2
53CA C996 L400 CMP #150 ;CHECK TYPE 3
53CC D003 ^5301 BNE L401
53CE 4C5934 JMP A3
53D1 C9AF L401 CMP #175 ;CHECK TYPE 4
53D3 D003 ^5308 BNE L402
53D5 4CBD54 JMP A4
53D8 C9FA L402 CMP #250 ;CHECK TYPE 5
53DA D003 ^53DF BNE L403
53DC 4CC354 JMP A5
53DF 4CE14E L403 JMP DRAW
53E2 A9DE Al LDA #222 ;TYPE 1
53E4 BD0002 STA $2C0 ;COLOR
53E7 AC0306 LDY VERT ;VERTICAL LOCATION
53EA A900 LDA #0 ;DRAW
53EC 99FE7B STA PM-2,Y
53EF 99097C STA PM+9,Y
53F2 99FF7B STA PM-1,Y
53F5 99007C STA PM,Y
53F8 49087C STA PM+B,V
53FB 99077C STA PM+7,Y
b3FE 99017C STA PM+1,Y
5401 A920A LDA #42
5403 99027C STA PM+2,Y
5406 99067C STA PM+6,Y
5409 A91C LDA #28
ATARI Macro Assembler Ver 1.0A Page 13
Dl:LANDER.
5408 99037C STA PM+3,Y
570E 99057C STA PM+5,Y
5411 A97E LDA #126
5413 99047C STA PM+4,Y
5416 A918 LDA #24
5418 8D00D2 STA $D200 ;SOUND
541B A90E LDA #14
541D BD01D2 STA $D201 ;SOUND
5420 4CE14E JMP DRAW
5423 A90B A2 LDA #11 ;TYPE 2
5425 BD0002 STA $200 ;COLOR
5428 AC0306 LDY VERT ;VERTICAL LOCATION
542B A92A LDA #42 ;DRAW
542D 99017C STA PM+1,Y
5430 A949 LDA #73
5432 99027C STA PM+2,Y
5435 A91C LDA #28
5437 99037C STA PM+3,Y
543A 99057C STA PM+5,Y
543D A9F7 LDA #247
543F 99047C STA PM+4,Y
5442 A908 LDA 08
5444 99067C STA PM+6,Y
5447 A922 LDA #34
5449 99077C STA PM+7,Y
544C A920 LDA 032
544E 8D00D2 STA $0200 ;SOUND
5451 A90E LDA #14
5453 BD01D2 STA $0201 ;SOUND
5456 4CE14E JMP DRAW
5459 A935 A3 LDA #53 ;TYPE 3
545B BD0002 STA $200 ;COLOR
545E AC0306 LDY VERT ;VERTICAL LOCATION
5461 A918 LDA #24 ;DRAW
5463 99017C STA PM+1,Y
5466 99067C STA PM+6,Y
5469 A924 LDA #36
546B 99027C STA PM+2,Y
546E 99057C STA PM+5,Y
5471 A943 LDA #67
5473 99037C STA PM+3,Y
5476 A9C2 LDA #194
5478 99047C STA PM+4,Y
547B A908 LDA #8
547D 99077C STA PM+7,Y
5480 A964 LDA #100
5482 8D00D2 STA $0200 ;SOUND
5485 A905 LDA 05
5487 8D0lD2 STA $0201 ;SOUND
548A 4CE14E JMP DRAW
548D A938 A4 LDA #56 ;TYPE 4
548E 8D0002 STA $200 ;COLOR
5492 AC0306 LDY VERT ;VERTICAL LOCATION
5495 A942 LDA #66 ;DRAW
ATARI Macro Assembler Ver 1.0A Page 14
D1:LANDER.
5497 99007C STA PM,Y
549A 99077C STA PM+7,Y
549D A981 LDA #129
549F 99017C STA PM+1,Y
54A2 99067C STA PM+6,Y
54A5 A900 LDA #0
54A7 99027C STA PM+2,Y
54AA 99037C STA PM+3,Y
54AD 99047C STA PM+4,,Y
54B0 99057C STA PM+S,Y
54B3 990870 STA PM+B.Y
54B6 A93C LDA #60
54B8 BD00D2 STA $0200 ;SOUND
54BB A90A LDA #10
54BD BD01D2 STA $0201 ;SOUND
54C0 4CE14E JMP DRAW
54C3 AC0306 A5 LDY VERT ;TYPE 5
54C6 A900 LDA #0 ;ERASE EXPLOSION
54C8 99FE7B STA PM-2,Y
54CB 99FF7B STA PM-1.Y
54CE 99007C STA PM,Y
54D1 99017C STA PM+1,Y
54D4 99027C STA PM+2,Y
54D7 99037C STA PM+3,Y
54DA 99047C STA PM+4,Y
54DD 99057C STA +5,Y
54E0 99067C STA M+6,Y
54E3 99077C STA PM+7,Y
54E6 99087C STA PM+B,Y
54E9 990378 STA M1+3,Y ;ERASE SIDE THRUST'
54EC 990478 STA M1+4,Y
54EF 99057B STA Ml+5,Y
54F2 990570 STA PM1+5,Y ;ERASE BOTTOM THRUST
54F5 990670 STA PM1+6,Y
54F8 990770 STA PM1+7,Y
54FB 990870 STA PM1+B,Y
54FE 990970 STA PM1+9,Y
5501 990A70 STA PM1+10,Y
5504 99087D STA PM1+11,Y
5507 990C7D STA PMi+12,Y
550A 990D7D STA PM1+13,Y
550D 8900 LDA #0 ;NO SOUND
550F BD00D2 STA $0200
5512 8D01D2 STA $0201
5515 EE2506 INC ECONI ;INCREMENT EXPLOSION LOOP
5518 AD2B06 LDA SCON ;LDAD SCORE LOOP
551B C900 CMP #0
551D F001 ^5520 BEQ JS
551F 60 RTS ;IF SCORE LOOP IS 1 THEN END
5520 4CE14E J8 JMP DRAW
5523 AD0606 PTS LDA DMOVE ;SCORE SECTION
5526 3B SEC
5527 ED2F06 SBC STREN ;CHECK LANDER DOES NOT HIT TOO HARD
552A 3003 ^552F BMI J57
552C 408853 JMP EXP ;G0T0 EXPLOSION
ATARI Macro Assembler Ver 1.0A Page 15
Dl:LANDER.
552F AD2B06 J57 LDA SCON ;SCORE COOP COUNTER
5532 C900 CMP #0 ;IF 0 THEN DETERMINE SCORE
5534 F00D ^5543 BEQ J6
5536 ADIFD0 LDA CONSOL ;CHECK; IF START BUTTON IS PRESSED
5539 C906 CMP #6 ;YES: CLEAR LANDER DATA
553E D003 ^5540 BNE J7 ;NO: CONTINUE
553D 4CC354 JMP A5
5540 4CE14E J7 JMP DRAW
5533 A901 J6 LDA #1 ;SET SCORE LOOP
5545 8D2B06 STA SCON
5548 A9FF LDA #255 ;SCORE SECTION
554A 38 SEC ;DOWN MOVEMENT
5548 ED0606 SBC DMOVE
554F 8D2806 STA SCORE
5551 A9FF LDA #255
5553 38 SEC ;RIGHT MOVEMENT
5554 ED1206 SBC RMOVE
5557 BD2906 STA SCOREI
555A A9FF LDA #255
555C 38 SEC ;LEFT MOVEMENT
5550 ED1306 SBC LMOVE
5560 BD2C06 STA SCORES
5563 AD0206 LDA HORZ ;MEASURE CLOSENESS OF LANDING
5566 38 SEC
5567 ED9106 SBC 4691
556A C900 CMP #0
556C 0008 ^5576 BNE J51
556E A9FF LDA #255 ;PIN POINT LANDING
5570 8D2E06 STA PIN
5573 4CB155 JMP J50
5576 802DO6 J51 STA STORE
5579 3006 ^5581 BMI J50
557B A9FF LDA #255
557D 3B SEC
557E ED2D06 SBC STORE
5581 8D2A06 J50 STA SCORE2 ;STORE VALUE
5584 A900 LDA #0 ;ERASE THRUST
5586 AC0306 LDY VERT
5589 990770 STA PM1+7,Y
558C 99087D STA PM1+8,Y
558F 990970 STA PM1+9,Y
5592 990A7D STA PM1+10,Y
5595 990B7D STA PM1+11,Y
5598 990C7D STA PMI+12,Y
559B 990D7D STA PM1+13.Y
559E SD00D2 STA $0200 ;NO SOUND
55A1 8D01D2 STA $D201
55A4 99037B STA M1+3,Y ;ERASE SIDE THRUST
55A7 99047B STA Ml+4.Y
55AA 4CE14E JMP DRAW
no ERRORS, 140 Labels, $244A free.