ROM Computer Magazine Archive ROM MAGAZINE ISSUE 2 — OCTOBER/NOVEMBER 1983 / PAGE 32

Titan Lander
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.

landing


another landing

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

terrain


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.