ROM Computer Magazine Archive ROM MAGAZINE ISSUE 8 — OCTOBER/NOVEMBER 1984 / PAGE 16

INTERCEPTOR

by Jack Chung

Screen

 
   It was just after the Abarac War that a power struggle began in the small country of Zimalia on the planet Zapher. This country, always being in political turmoil, was hard to control until one man, Maneca, took over as its ruler. He did it through force because he controlled a very powerful army that would do anything to move up in position. Its members were mercenaries and Maneca had a lot of capital to pay for their services. People who opposed him would mysteriously disappear, never to be seen again. This is where our story begins....
    "Mother, where is father?"
    "Son, your father won't be coming home." "Where has he gone."
    "I'll tell you only if you promise not to do anything hasty.
    "I promise", Rick said with a puzzled look on his face.
    "Your father has been killed by one of the government's assassins", she blurted out while crying. "Why, he never did anything wrong in his life", Rick said as a tear dropped from his eye.
    "Your father was involved in an underground operation to overthrow the government. You're going to have to leave the house until it's safe to come back, because they'll be coming for us next."
    There was a knock. Rick opened the door to see two large men dressed in dark clothing.
    "These are the men who will take care of you. Go with them. I love you!"
    They embraced one another, both having tears streaming from their eyes. Rick had a feeling that he would never see his mother again as the two men escorted him to the vehicle parked outside. As they made their way down the road the darker man began to speak.
    "My name is Franz, and this is Mark."
    "Hello, my name is Rick."
    "Yes, we know. Your father told us all about you. We'll be taking you to a place that we now call home. Our organization is called F.F.A.D., which means Freedom Fighters Against Dictators. Do you want to help destroy the person who killed your father?"
    "I'll do anything to get that bloody murderer!" Rick yelled with his eyes gleaming with hate.
    "You will be going into a special driving training course, as this is the only chance we have of destroying the President. "
    For the next three years Rick worked very hard in training, just for the one chance of revenge. Finally the day arrived. The Commander in charge had received information on the route that the President would be taking to his next inspection. He needed a volunteer to drive their newly designed car called the "Interceptor". This car was armed with nuclear missiles that could be directed by the driver.
    Rick was the first to volunteer. The commander was reluctant to choose him, because he had been very close to Rick's father and didn't want anything to happen to Rick. After a long discussion the Commander felt this was the best man for the job. The car was equipped with an energy tank that could hold only 250 units of energy because of the speed needed to catch the President's vehicle.
    To compensate for the small amount of fuel that it could hold many trucks were stationed along the route to refuel it. They go quite slowly so you must look for them carefully. On the control panel there are five instruments. They are MILE (cars to base), ENERGY (starts out at 250 and goes down with time and crashes), GEAR (l, 2, or 3 depending on the number pushed on the computer), PO (number of cars until the President's car), and MISSILE (number of missiles left). The President's car is travelling at t he speed that would be the equivalent of 2nd gear. To gain at all on his car you must travel in 3rd gear, which means you must drive your best. You, now as Rick Morrison, must take control of the Interceptor and kill the President before he reaches the Base and makes his speech.
    This game, using multicolor player/missile graphics for the cars, is the first in the Interlock Series. It is designed to keep any lover of driving games entertained for hours. To control the car you move the joystick left and right to steer from side to side. To slow down, pull back, and to speed up, push forward. Avoid hitting other cars by either destroying them with your missiles or by swerving. Also, don't move onto the side of the road. All these things reduce energy points quickly. When your energ y points reach zero your game is over. To restart the game push the space bar. It's best to travel in third gear because this is the only way you'll be able to catch the President's car. Once you reach it, destroy it with your missiles.
    To refuel, all that is needed is to touch the refuelling truck. This truck is green with a square box in the back. It is completely different from all of the other vehicles. The longer you touch it, the more fuel you'll get. Remember, if you get more then 250, it rolls over and starts from zero, so be careful. I found that you should change down to first gear when coming near the refuelling truck. To figure out when the next truck will be coming count the cars that pass. A new truck comes every twentieth car. It's good to play this game with two people, one at the controls and the other gearing down and counting cars.
    You must destroy President Maneca's car before it reaches the base or you lose the game. Have fun, and drive carefully.
    The game is in four different parts, including the assembler listing which doesn't need to be typed in to play the game. The first program redefines the character set, the second one loads in the main program (machine code), and the third one loads in the basic set up of the game. When typing in the program, name the first program as CHARDAT, the second PROGRAM.BAS, and the third BASIC.BAS. This will then run all three programs when you run CHAR. DAT. If you're a cassette user, save each program by typing SAVE "C:". Then, at line 60 in program one, change it to RUN "C:" and at line 110 in program two do the same thing. Then make sure the programs are saved in the right order on your cassette.
    This game runs on 48K and can be played by 1 to 2 players with a joystick. This game can be acquired by sending $3.00 and a blank disk or cassette to:

ROM MAGAZINE
P.O. BOX 252
Maple Ridge,B.C.
Canada V2X 7G1

Basic Listing

10 REM
11 REM *THIS IS PART1 ONE
20 REM *BY JACK CHUNG
30 REM
40 REM
50 FOR I=28672 TO 29696:READ X:POKE I,X:NEXT I
60 RUN "D:PROGRAM.BAS"
1000 DATA 0,0,0,0,0,0,0,0,85,85,85,85,85,85,85,85,255,255,255,255,255,255,255,255
1010 DATA 150,150,150,150,150,150,150,150,60,60,60,60,60,60,60,60,230,170,242,36,72,158,170,206
1020 DATA 112,216,168,222,170,182,202,126,56,40,40,56,0,0,0,0,28,36,72,80,80,72,36,28
1030 DATA 112,72,36,20,20,36,72,112,254,170,198,146,198,170,254,0,56,40,238,130,238,40,56,0
1040 DATA 0,0,0,0,56,40,88,96,0,0,252,132,252,0,0,0,0,0,0,0,0,112,80,112
1050 DATA 6,10,20,40,80,160,192,0,124,198,178,170,154,186,198,124,56,104,72,104,40,108,68,124
1060 DATA 252,134,250,26,36,94,130,254,252,134,250,36,58,250,134,252,12,20,36,84,182,130,246,28
1070 DATA 254,130,190,132,250,186,198,124,28,36,92,134,186,186,198,124,254,130,250,20,40,40,40,56
1080 DATA 124,198,186,68,186,186,198,124,124,198,186,186,130,116,136,240,112,80,112,0,112,80,112,0
1090 DATA 112,80,112,0,112,80,176,224,24,40,80,160,160,80,40,24,0,252,132,252,132,252,0,0
1100 DATA 96,80,40,20,20,40,80,96,124,198,186,250,22,28,20,28,124,198,186,162,166,190,194,126
1110 DATA 124,198,186,186,130,186,170,238,252,134,186,132,186,186,134,252,124,198,186,174,174,186,198,124
1120 DATA 248,140,182,186,186,182,140,248,124,198,186,142,190,186,198,124,124,198,186,142,184,160,160,224
1130 DATA 124,198,190,160,174,186,198,124,238,170,186,130,186,170,170,238,254,130,238,40,40,238,130,254
1140 DATA 14,10,10,10,234,186,198,124,230,170,180,136,136,180,170,238,224,160,160,160,160,190,130,254
1150 DATA 254,130,170,170,186,170,170,238,238,186,154,170,178,170,170,238,124,198,186,170,170,186,198,124
1160 DATA 252,134,186,186,134,188,160,224,124,198,186,186,170,178,198,124,252,134,186,186,134,180,186,238
1170 DATA 126,194,190,196,122,250,134,252,254,130,238,40,40,40,40,56,238,170,170,170,170,186,198,124
1180 DATA 238,170,170,170,170,84,40,16,238,170,170,186,170,170,130,254,198,170,84,40,40,84,170,198
1190 DATA 238,170,170,84,40,40,40,56,254,130,250,20,40,94,130,254,124,68,92,80,80,92,68,124
1200 DATA 192,160,80,40,20,10,6,0,124,68,116,20,20,116,68,124,16,40,84,170,198,0,0,0
1210 DATA 0,0,0,0,0,254,130,254,0,54,127,127,62,28,8,0,24,24,24,31,31,24,24,24
1220 DATA 3,3,3,3,3,3,3,3,24,24,24,248,248,0,0,0,24,24,24,248,248,24,24,24
1230 DATA 0,0,0,248,248,24,24,24,3,7,14,28,56,112,224,192,192,224,112,56,28,14,7,3
1240 DATA 1,3,7,15,31,63,127,255,0,0,0,0,15,15,15,15,128,192,224,240,248,252,254,255
1250 DATA 15,15,15,15,0,0,0,0,240,240,240,240,0,0,0,0,255,255,0,0,0,0,0,0
1260 DATA 0,0,0,0,0,0,255,255,0,0,0,0,240,240,240,240,0,28,28,119,119,8,28,0
1270 DATA 0,0,0,31,31,24,24,24,0,0,0,255,255,0,0,0,24,24,24,255,255,24,24,24
1280 DATA 0,0,60,126,126,126,60,0,0,0,0,0,255,255,255,255,192,192,192,192,192,192,192,192
1290 DATA 0,0,0,255,255,24,24,24,24,24,24,255,255,0,0,0,240,240,240,240,240,240,240,240
1300 DATA 24,24,24,31,31,0,0,0,120,96,120,96,126,24,30,0,60,102,195,129,231,36,36,60
1310 DATA 60,36,36,231,129,195,102,60,56,104,207,129,207,104,56,0,28,22,243,129,243,22,28,0
1320 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1330 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1340 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1350 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1360 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1370 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1380 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1390 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1400 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1410 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1420 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
10 REM *******************
20 REM *PART II ---------*
30 REM *MAIN PROGRAM     *
40 REM *BY JACK CHUNG    *
50 REM *******************
100 FOR I=32768 TO 35800:READ X:POKE I,X:NEXT I
110 RUN "D:BASIC.BAS"
1000 DATA 112,112,240,68,0,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132
1010 DATA 132,132,144,131,131,144,65,0,128,0,72,138,72,141,10,212,238,33,128,174,33,128,189,61
1020 DATA 133,141,22,208,189,95,133,141,10,212,141,25,208,236,164,134,208,5,169,0,141,33,128,104
1030 DATA 170,104,64,104,169,0,32,158,132,169,0,141,198,2,141,197,2,141,200,138,141,2,6,32
1040 DATA 75,139,169,50,141,142,137,169,1,141,52,136,169,150,141,1,6,169,50,32,126,132,24,105
1050 DATA 50,141,197,139,169,0,141,0,6,169,250,141,74,139,169,26,141,164,134,169,0,141,47,2
1060 DATA 169,1,141,240,2,169,0,141,48,2,169,128,141,49,2,165,88,141,4,128,165,89,141,5
1070 DATA 128,169,112,141,244,2,169,34,141,0,2,169,128,141,1,2,169,11,141,149,132,169,24,141
1080 DATA 150,132,169,0,141,142,132,169,94,141,151,132,169,33,141,153,132,169,168,141,163,134,169,112
1090 DATA 141,169,134,169,100,141,170,134,169,50,141,162,134,169,1,141,52,136,169,120,141,50,136,169
1100 DATA 0,141,51,136,169,1,141,63,137,169,26,141,164,134,169,3,141,147,137,169,0,141,219,137
1110 DATA 169,162,32,203,132,174,142,132,160,0,32,216,132,174,142,132,160,20,32,11,133,238,142,132
1120 DATA 173,142,132,201,11,144,230,162,24,142,142,132,174,142,132,160,0,32,216,132,174,142,132,160
1130 DATA 20,32,11,133,238,142,132,173,142,132,201,39,144,230,169,0,141,200,2,169,8,141,200,2
1140 DATA 169,116,141,198,2,169,0,133,82,32,129,133,160,188,162,129,169,7,32,92,228,169,192,141
1150 DATA 14,212,169,62,141,47,2,32,93,131,162,10,160,21,32,207,132,173,1,6,32,149,137,162
1160 DATA 10,160,22,32,207,132,173,52,136,32,149,137,162,34,160,22,32,207,132,173,142,137,32,149
1170 DATA 137,162,34,160,21,32,207,132,173,74,139,32,149,137,162,19,160,22,32,207,132,173,197,139
1180 DATA 32,149,137,173,0,6,240,1,96,76,111,129,173,200,138,240,6,32,30,138,76,16,130,32
1190 DATA 196,133,32,48,134,173,12,208,201,3,144,60,173,220,137,240,26,173,142,137,24,105,20,141
1200 DATA 142,137,169,1,141,31,208,173,74,139,24,105,5,141,74,139,76,16,130,173,146,137,208,24
1210 DATA 169,1,141,200,138,169,0,141,145,137,141,2,210,141,3,210,160,0,153,0,115,200,208,250
1220 DATA 32,253,134,32,115,134,32,115,134,173,8,208,240,33,169,52,141,194,2,169,72,141,195,2
1230 DATA 169,1,141,30,208,141,146,137,173,197,139,208,24,169,1,141,2,6,169,0,141,220,137,173
1240 DATA 252,2,201,32,176,49,201,26,144,45,141,62,137,173,62,137,201,26,208,38,169,3,141,52
1250 DATA 136,169,8,141,147,137,169,28,141,164,134,169,175,141,163,134,169,2,141,162,134,169,2,141
1260 DATA 63,137,169,150,141,148,137,76,203,130,201,30,208,38,169,2,141,52,136,169,5,141,147,137
1270 DATA 169,170,141,163,134,169,10,141,162,134,169,27,141,164,134,169,1,141,63,137,169,75,141,148
1280 DATA 137,76,203,130,201,31,208,35,169,26,141,164,134,169,1,141,52,136,169,3,141,147,137,169
1290 DATA 168,141,163,134,169,50,141,162,134,169,1,141,63,137,169,0,141,148,137,173,4,208,201,1
1300 DATA 240,7,201,7,176,3,76,255,130,169,1,141,30,208,206,74,139,208,5,169,1,141,0,6
1310 DATA 173,170,134,201,150,176,3,238,170,134,169,1,141,31,208,169,17,141,167,134,76,4,131,169
1320 DATA 18,141,167,134,173,200,138,208,41,173,145,137,208,28,173,132,2,208,31,169,1,141,145,137
1330 DATA 173,169,134,24,105,2,141,143,137,173,170,134,56,233,8,141,144,137,173,142,137,240,3,32
1340 DATA 64,137,169,1,141,30,208,238,73,139,173,73,139,201,30,144,15,169,0,141,73,139,206,74
1350 DATA 139,208,5,169,1,141,0,6,173,1,6,208,5,169,2,141,0,6,76,98,228,173,145,132
1360 DATA 240,22,238,143,132,173,143,132,205,144,132,176,3,76,88,132,169,0,141,143,132,141,145,132
1370 DATA 173,148,132,201,1,208,8,169,162,32,203,132,76,140,131,169,32,32,203,132,174,149,132,160
1380 DATA 0,32,216,132,174,149.,132,160,20,32,11,133,173,148,132,201,1,208,8,169,32,32,203,132
1390 DATA 76,176,131,169,162,32,203,132,174,150,132,160,0,32,216,132,174,150,132,160,20,32,11,133
1400 DATA 173,148,132,201,1,208,57,238,149,132,238,150,132,173,50,136,24,105,4,141,50,136,173,151
1410 DATA 132,24,105,4,141,151,132,173,162,134,141,144,132,169,1,141,145,132,169,200,32,126,132,201
1420 DATA 100,144,8,169,1,141,148,132,76,0,132,169,2,141,148,132,173,148,132,201,2,208,57,206
1430 DATA 149,132,206,150,132,173,50,136,56,233,4,141,50,136,173,151,132,56,233,4,141,151,132,173
1440 DATA 162,134,141,144,132,169,1,141,145,132,169,200,32,126,132,201,100,144,8,169,1,141,148,132
1450 DATA 76,0,132,169,2,141,148,132,173,149,132,201,20,144,5,169,2,141,148,132,173,149,132,201
1460 DATA 6,176,5,169,1,141,148,132,169,33,32,203,132,160,0,174,149,132,32,216,132,160,20,174
1470 DATA 149,132,32,11,133,160,0,174,150,132,32,216,132,160,20,174,150,132,32,11,133,96,141,141
1480 DATA 132,238,141,132,173,10,210,205,141,132,176,248,96,0,0,0,20,0,0,0,1,11,24,94
1490 DATA 0,33,0,83,58,0,72,162,96,169,12,157,66,3,32,86,228,162,96,169,3,157,66,3
1500 DATA 169,155,157,68,3,169,132,157,69,3,104,157,75,3,41,240,73,16,9,12,157,74,3,32
1510 DATA 86,228,96,141,154,132,96,169,0,134,85,133,86,132,84,96,169,0,32,207,132,162,96,169
1520 DATA 11,157,66,3,169,0,157,72,3,157,73,3,173,154,132,32,86,228,96,169,0,32,207,132
1530 DATA 162,96,169,7,157,66,3,169,0,157,72,3,157,73,3,32,86,228,96,169,0,32,207,132
1540 DATA 173,154,132,141,251,2,162,96,169,17,157,66,3,169,12,157,74,3,169,0,157,75,3,32
1550 DATA 86,228,96,10,10,10,10,157,196,2,152,41,14,24,125,196,2,157,196,2,96,54,54,52
1560 DATA 52,50,50,114,114,116,116,118,118,166,166,164,164,162,162,50,50,52,52,54,54,86,86,84
1570 DATA 84,86,86,86,86,86,86,20,20,20,20,52,52,52,52,52,52,52,84,84,84,84,116,116
1580 DATA 116,116,148,148,148,148,180,180,180,180,196,196,196,196,196,196,196,169,58,141,47,2,169,3
1590 DATA 141,29,208,169,112,141,7,212,169,33,141,111,2,160,0,152,153,0,116,153,0,117,153,0
1600 DATA 118,153,0,119,153,0,115,200,208,238,169,118,141,192,2,169,114,141,193,2,169,58,141,194
1610 DATA 2,169,112,141,195,2,169,1,141,30,208,96,174,120,2,173,167,134,201,17,240,47,138,41
1620 DATA 1,208,20,173,170,134,201,32,144,13,56,237,63,137,141,170,134,238,219,137,76,253,133,138
1630 DATA 41,2,208,17,173,170,134,201,150,176,10,24,109,63,137,141,170,134,206,219,137,138,41,4
1640 DATA 208,20,173,169,134,201,50,144,13,56,237,63,137,141,169,134,206,143,137,206,143,137,138,41
1650 DATA 8,208,20,173,169,134,201,200,176,13,24,109,63,137,141,169,134,238,143,137,238,143,137,96
1660 DATA 173,169,134,141,0,208,141,1,208,172,170,134,174,172,134,240,8,162,0,142,172,134,76,78
1670 DATA 134,162,20,142,172,134,189,173,134,153,0,116,189,213,134,153,0,117,200,232,238,168,134,173
1680 DATA 168,134,201,20,208,232,169,0,141,168,134,173,167,134,201,17,208,0,96,238,165,134,173,165
1690 DATA 134,201,1,208,36,169,0,141,165,134,173,166,134,240,8,169,0,141,166,134,76,152,134,173
1700 DATA 170,134,56,233,20,141,166,134,141,0,210,173,163,134,141,1,210,96,50,168,26,0,0,0
1710 DATA 0,112,100,0,0,0,0,0,24,60,231,36,60,36,0,24,60,60,36,255,0,0,0,0
1720 DATA 0,0,0,0,24,255,36,231,60,36,0,24,60,60,231,60,195,0,0,0,0,0,0,60
1730 DATA 126,255,60,255,255,102,90,126,126,126,255,60,231,231,36,0,0,0,0,60,126,60,255,60
1740 DATA 255,102,90,126,126,126,60,255,36,231,36,0,0,173,51,136,141,168,134,173,146,137,240,23
1750 DATA 173,51,136,109,147,137,141,51,136,141,4,210,169,143,141,5,210,173,51,136,76,40,135,173
1760 DATA 51,136,109,52,136,141,51,136,201,188,144,114,169,0,141,146,137,141,220,137,141,4,210,141
1770 DATA 5,210,206,1,6,173,52,136,201,3,208,3,206,197,139,169,30,141,51,136,169,36,32,126
1780 DATA 132,24,109,151,132,141,50,136,169,3,32,126,132,141,48,136,10,10,10,10,10,141,53,136
1790 DATA 169,15,32,126,132,141,48,136,10,10,10,10,24,105,8,141,194,2,173,48,136,24,105,8
1800 DATA 10,10,10,10,24,105,4,141,195,2,238,221,137,173,221,137,201,20,144,10,169,0,141,221
1810 DATA 137,169,1,141,220,137,173,50,136,141,2,208,141,3,208,162,0,169,0,172,168,134,153,0
1820 DATA 118,153,0,119,232,200,224,20,144,244,169,0,141,168,134,172,51,136,174,49,136,240,8,162
1830 DATA 0,142,49,136,76,212,135,162,16,142,49,136,138,24,109,53,136,170,173,146,137,208,8,173
1840 DATA 220,137,208,3,76,234,135,174,49,136,173,146,137,240,15,189,222,137,153,0,118,189,254,137
1850 DATA 153,0,119,76,30,136,173,220,137,240,15,189,201,138,153,0,118,189,233,138,153,0,119,76
1860 DATA 30,136,189,62,136,153,0,118,189,190,136,153,0,119,200,232,238,168,134,173,168,134,201,16
1870 DATA 208,192,169,0,141,168,134,96,0,0,120,30,1,0,56,38,8,116,136,38,52,7 2,0,24
1880 DATA 60,231,36,60,36,0,24,60,60,36,255,0,0,0,0,24,255,36,231,60,36,0,24,60
1890 DATA 60,231,60,195,0,0,24,24,24,24,24,36,0,0,0,66,24,24,24,0,0,0,24,24
1900 DATA 24,24,24,36,0,0,0,66,24,153,153,0,0,0,102,102,102,24,36,36,60,60,36,36
1910 DATA 36,36,219,219,195,0,102,102,102,24,36,36,60,60,36,36,36,36,219,219,195,0,90,126
1920 DATA 255,126,255,102,0,60,36,0,24,255,0,24,255,24,90,126,126,255,126,102,0,60,36,0
1930 DATA 24,24,231,24,24,255,60,126,255,60,255,255,102,90,126,126,126,255,60,231,231,36,60,126
1940 DATA 60,255,60,255,102,90,126,126,126,60,255,36,231,36,60,102,90,195,195,0,90,90,126,66
1950 DATA 66,60,0,0,0,0,36,126,66,195,195,0,90,90,126,66,90,165,153,0,0,0,0,126
1960 DATA 24,0,0,0,36,60,165,165,231,231,24,219,0,102,102,24,126,0,0,0,36,60,165,165
1970 DATA 231,231,219,24,195,102,60,24,153,153,153,0,60,126,126,126,0,231,231,0,231,231,60,24
1980 DATA 153,153,153,0,60,126,126,126,0,231,231,0,231,231,0,1,173,143,137,141,4,208,173,144
1990 DATA 137,141,2,210,169,72,141,3,210,162,0,172,144,137,169,0,153,0,115,200,232,224,8,144
2000 DATA 247,173,144,137,56,233,10,141,144,137,168,169,1,162,0,153,0,115,200,232,224,8,144,247
2010 DATA 172,144,137,192,10,176,14,169,0,141,145,137,141,2,210,141,3,210,206,142,137,96,50,0
2020 DATA 0,0,0,3,0,160,0,140,216,137,140,217,137,140,218,137,201,100,144,10,56,233,100,238
2030 DATA 216,137,201,100,176,246,201,10,144,10,56,233,10,238,217,137,201,10,176,242,141,218,137,173
2040 DATA 216,137,9,48,32,164,246,173,217,137,9,48,32,164,246,173,218,137,9,48,32,164,246,96
2050 DATA 0,0,0,100,0,0,8,34,194,40,16,161,4,32,0,136,33,0,64,0,0,0,0,16
2060 DATA 0,4,64,5,4,96,0,144,130,136,18,18,64,64,20,28,60,22,76,30,56,28,108,18
2070 DATA 8,8,2,16,2,0,0,12,58,58,47,58,10,23,117,66,9,65,73,9,0,0,32 170
2080 DATA 138,169,0,141,168,134,141,145,137,169,200,32,126,132,141,192,2,141,0,210,169,136,141,1
2090 DATA 210,173,170,134,201,150,176,7,24,109,63,137,141,170,134,201,150,144,40,169,0,141,200,138
2100 DATA 169,1,141,30,208,169,118,141,192,2,169,114,141,193,2,184,173,74,139,56,233,50,176,8
2110 DATA 169,1,141,0,6,76,115,138,141,74,139,173,169,134,141,0,208,141,1,208,172,170,134,174
2120 DATA 199,138,240,8,162,0,142,199,138,76,145,138,162,16,142,199,138,189,9,139,153,0,116,189
2130 DATA 41,139,153,0,117,200,232,238,168,134,173,168,134,201,16,208,232,96,172,170,134,162,0,142
2140 DATA 168,134,169,0,153,0,116,153,0,117,200,232,238,168,134,173,168,134,201,18,208,236,96,0
2150 DATA 0,24,255,60,255,0,0,0,0,126,0,0,129,0,129,0,0,24,60,255,60,0,0,0
2160 DATA 0,126,0,0,0,129,0,0,0,36,195,195,195,60,36,66,126,0,126,126,195,219,195,90
2170 DATA 126,36,195,195,195,60,36,66,126,0,126,126,195,219,195,90,126,0,24,255,235,199,60,36
2180 DATA 0,28,60,60,155,199,213,0,0,0,24,60,231,52,60,42,32,25,60,54,68,215,16,100
2190 DATA 8,60,126,56,48,28,235,102,90,122,110,90,0,40,2,203,4,60,126,255,60,239,247,96
2200 DATA 90,126,118,84,159,4,229,131,32,0,250,162,0,160,21,169,0,32,207,132,169,1,141,240
2210 DATA 2,160,0,140,168,134,172,168,134,185,119,139,32,164,246,238,168,134,172,168,134,192,80,144
2220 DATA 237,160,0,140,168,134,96,32,32,32,32,77,73,76,69,58,32,48,48,48,32,73,78,84
2230 DATA 69,82,67,69,80,84,79,82,32,69,78,69,82,71,89,58,32,48,48,48,32,32,32,32
2240 DATA 32,71.,69,65,82,58,32,48,48,48,32,80,67,58,32,48,48,48,32,32,32,32,32,77
2250 DATA 73,83,83,76,69,58,32,48,48,48,32,32,32,140,0,0,0,0,0,0,0,0,0,0
2260 DATA 0,0,0,0,0,0,0,0,0

10 REM *****************
20 REM *THIS IS PART #3*
30 REM *****************
100 U=USR(32843)
110 IF PEEK(1536)=1 THEN 300
120 GOTO 400:REM IF PEEK(1536)=2 THEN 400
300 POKE 54286,128:GOSUB 1000:POKE 764,255
310 POSITION 12,21:? "**GAME OVER**"
311 IF PEEK(764)=33 THEN POKE 82,2:GOTO 100
320 FOR T=1 TO 100:NEXT T
330 POSITION 12,21:? "
340 IF PEEK(764)=33 THEN POKE 82,2:GOTO 100
350 FOR T=1 TO 100:NEXT T:GOTO 310
400 POKE 54286,128:GOSUB 1000:POKE 764,255
410 POSITION 2,21:? "   YOU COMPLETED THE COURSE."
411 REM IF PEEK(1538)=0 THEN 500
420 ? " AND KILLED THE RED COMMUNIST SOB."
430 FOR T=1 TO 1000:NEXT T:GOSUB 1000
440 POSITION 2,21:? "   A JOB WELL DONE....."
450 IF PEEK(764)=33 THEN POKE 82,2:GOTO 100
460 GOTO 450
500 IF PEEK(1538)=0 THEN ? "  BUT DID NOT KILL THE PRESIDENT"
510 FOR T=1 TO 1000:NEXT T
520 GOSUB 1000
530 POSITION 2,21:? "    THE MISSION IS ABORTED...."
540 IF PEEK(764)=33 THEN POKE 82,2:GOTO 100
550 GOTO 540
1000 POSITION 2,21:? "                                  "
1010 ? "                                      ":RETURN

DATA CHECK

1 REM DATA CHECK PART 1-INTERCEPTOR
10 DATA 9408,384,811,662,386,547,991,556,210,848,372,686,668,794,890,3,58,542
1100 DATA 8216,813,448,434,312,165,430,452,148,62,700,307,994,812,229,319,705,886
1270 DATA 11777,889,587,441,303,680,863,864,865,866,867,868,869,870,862,863,220
0,452,148,62,700,307,994,812,229,319,705,886
1270 DATA 11777,889,587,441,303,6

1 REM DATA CHECK PT2-INTERCEPTOR

10 DATA 8448,342,555,651,632,346,
20,418,58,823,922,620,788,701,508,733,191,140
1100 DATA 12553,842,995,87,745,924,620,922,999,586,922,846,734,787,791,738,65,950
1270 DATA 11871,111,951,894,434,943,989,933,805,303,29,980,761,961,977,49,779,972
1440 DATA 9353,12,880,781,900,346,283,470,789,511,434,569,457,810,335,170,661,945
1610 DATA 10012,736,990,877,96,60,894,139,55,899,604,768,782,620,886,939,23,644
1780 DATA 9636,753,579,687,726,937,912,71,902,55,291,65,853,97,599,468,886,755
1950 DATA 9883,84,304,758,710,720,877,762,628,109,790,675,145,793,923,12,807,786
2120 DATA 7465,942,30,889,780,342,834,268,493,618,112,437,274,239,720,487

1 REM DATA CHECK PT3-INTERCEPTOR

10 DATA 9132,258,590,260,69,713,527,554,409,659,658,877,661,212,555,357,980,793
430 DATA 8127,375,818,663,839,981,707,947,358,663,839,639,298
590,260,69,713,527,554,409,659,658,877,661,212,555,357,980,793

Assembler Listing

00010           .LI OFF
00020 *************************
00030 * The Interceptor       *
00040 * BY JACK CHUNG         *
00050 * FOR ATARI WITH        *
00060 * 48 K                  *
00070 *                       *
00080 * This is the first of  *
00090 * the INTERLOCK (c)     *
00100 * series.               *
00110 *                       *
00120 *************************
00130 ;
00140 ;
00150 ;
00160 ;
00170 STATE     .EQ 1536
00180 KBCODE    .EQ 764
00190 RANDOM    .EQ #D20A
00200 VERTI     .EQ $200
00210 DMACTL    .EQ $22F
00220 DLST      .EQ $230
00230 GRACTL    .EQ #DOlD
00240 PMBASE    .EQ $D407
00250 COLPMO    .EQ $02CO
00260 HPOSPO    .EQ #D000
00270 HPOSP1    .EQ $DO01
00280 HPOSP2    .EQ #DO02
00290 HPOSP3    .EQ $DO03
00300 PCOLORO   .EQ 704
00310 PCOLOR1   .EQ 705
00320 PCOLOR2   .EQ 706
00330 PCOLOR3   .EQ 707
00340 STICK     .EQ #0278
00350 TRIGO     .EQ $DO10
00360 NMIEN     .EQ $D40E
00370 PRIOR     .EQ #026F
00380 SOUND     .EQ $D200
00390 SCREEN    .EQ 560
00400 LDM       .EQ #84
00410 JVB       .EQ #41
00420 WSYNC     .EQ #D40A
00430
00440 ADR       .EQ $80
00450
00460           .OR #8000
00461           .TA #2600
00462           .TF "D:CAR.BIN"
00470 RIGHT     .EQ #8
00480 LEFT      .EQ #2
00500 UP        .EQ #1
00510 VSPEED    .EQ 2
00520
00530 PLAYER    .EQ #7000
00540 SPRITE    .EQ #CC
00550 ;
00560 ;
00570 DSP      .HS 7070FO
00580          .DA ##44
00590          .DA #0
00600          .DA #0
00610          .DA ##84    1
00620          .DA #LDM    2
00630          .DA #LDM    3
00640          .DA #LDM    4
00650          .DA #LDM    5
00660          .DA #LDM    6
00670          .DA #LDM    7
00680          .DA #LDM    8
00690          .DA #LDM    9
00700          .DA #LDM    10
00710          .DA #LDM    11
00720          .DA #LDM    12
00730          .DA #LDM    13
00740          .DA #LDM    14
00750          .DA #LDM    15
00760          .DA #LDM    16
00770          .DA #LDM    17
00780          .DA #LDM    18
00790          .DA #LDM    19
00800          .DA #LDM    20
00810          .DA #;90    21
00820          .DA #;83    22
00630          .DA #;83    23
00840          .DA #$90
00850          .DA #JVB
00860          .DA DSP
00870 COUNTR   .DA #0
00880 ;
00890 ;DISPLAY LIST INTERUPT ROUTINE
00900 ;
00910 ;
00920 DLI
00930          PHA
00940          TXA
00950          PHA
00960          STA WSYNC
00970          INC COUNTR
00980          LDX COUNTR
00990          LDA COLBAK,X
01000          STA $D016    ;ROAD
01010          LDA COLBAKI,X
01020          STA WSYNC
01030          STA $D019
01040          CPX RSPEED
01050          BNE ENDDLI
01060          LDA #$00
01070          STA COUNTR
01080 ENDDLI   PLA
01090          TAX
01100          PLA
01110          RTI
01120 ;
01140 ;
01150 ;
01160 START    PLA
01170          LDA #0
01180          JSR GRAPHICS
01190          LDA #0
01200          STA $2C6
01210          STA $2C5
01220          STA CRASHED
01221          STA DEADPRESIDENT
01230          JSR WRITE
01240          LDA #50
01250          STA NMISSLE
01260          LDA #1
01270          STA RAMSPEED
01280          LDA #150
01290          STA MILES
01300          LDA #50
01310          JSR RND
01320          CLC
01330          ADC #50
01340          STA PRESIDENT
01350          LDA #0
01360          STA STATE
01370          LDA #250
01380          STA ENERGY
01390          LDA #0
01400          STA 559
01410          LDA #1
01420          STA 752
01430          LDA #DSP
01440          STA 560
01450          LDA /DSP
01460          STA 561
01470          LDA 88
01480          STA DSP+4
01490          LDA 89
01500          STA DSP+5
01510          LDA #$70
01516          STA 756
01530          LDA #DLI
01540          STA 512
01550          LDA /DLI
01560          STA 513
01570          LDA #11
01580          STA ROADX
01590          LDA #24
01600          STA ROADXI
01610          LDA #0      ;DRAW
01620          STA XTEMP   ;BACK
01630          LDA #94
01640          STA XBORDER
01650          LDA #33
01660          STA PAVEMENT
01670          LDA #$A8
01680          STA LOADNESS
01690          LDA #112
01700          STA OX
01710          LDA #100
01720          STA OY
01730          LDA #50
01740          STA FAST
01750          LDA #1
01760          STA RAMSPEED
01770          LDA #120
01780          STA RX
01790          LDA #0
01800          STA RY
01810          LDA #1
01820          STA HSPEED
01830          LDA #26
01840          STA RSPEED
01850          LDA #3
01860          STA HITSPEED
01870          LDA #0
01880          STA MPH
01890          LDA #162
01900          JSR COLOR
01910 DLOOP    LDX XTEMP    ;GROUND
01920          LDY #0
01930          JSR PLOT
01940          LDX XTEMP
01950          LDY #20
01960          JSR DRAWTO
01970          INC XTEMP
01980          LDA XTEMP
01990          CMP #11
02000          BCC DLOOP
02010          LDX #24
02020          STX XTEMP
02030 DLOOP1   LDX XTEMP
02040          LDY #0
02050          JSR PLOT
02060          LDX XTEMP
02070          LDY #20
02080          JSR DRAWTO
02090          INC XTEMP
02100          LDA XTEMP
02110          CMP #39
02120          BCC DLOOP1
02130          LDA #$00
02140          STA COLORO+4
02150          LDA #$08
02160          STA $2C8
02170          LDA #$74
02180          STA $2C6
02190          LDA #0
02200          STA 82
02210          JSR INITIAL
02220          LDY #LOOP
02230          LDX /LOOP
02240          LDA #$07
02250          JSR $E45C
02260          LDA #192
02270          STA NMIEN
02280          LDA #62
02290          STA 559
02300 MAIN     JSR ROAD
02310          LDX #10
02320          LDY #21
02330          JSR POSITION
02340          LDA MILES
02350          JSR PRINTNUM
02360          LDX #10
02370          LDY #22
02380          JSR POSITION
02390          LDA RAMSPEED    ;PRINT
02400          JSR PRINTNUM    ;GEAR
02410          LDX #34
02420          LDY #22
02430          JSR POSITION
02440          LDA NMISSLE
02450          JSR PRINTNUM
02460          LDX #34        ;ENERGY
02470          LDY #21        ;LEVEL
02480          JSR POSITION
02490          LDA ENERGY
02500          JSR PRINTNUM
02510          LDX #19
02520          LDY #22
02530          JSR POSITION
02540          LDA PRESIDENT
02550          JSR PRINTNUM
02560          LDA STATE
02570          BEQ CON
02580          RTS          ;BACK TO
02590 CON      JMP MAIN     ;BASICS
02600 ;
02610 ;
02620 LOOP     LDA CRASHED
02630          BEQ .1
02640          JSR CRASH
02650          JMP TT
02660 .1       JSR RSTICK
02670          JSR MOVE
02680          LDA 53260
02690          CMP #3
02700          BCC TT
02710          LDA AMUCARON
02720          BEQ .3
02730          LDA NMISSLE
02740          CLC
02750          ADC #20
02760          STA NMISSLE
02770          LDA #1
02780          STA 53279
02790          LDA ENERGY
02800          CLC
02810          ADC #5
02820          STA ENERGY
02830          JMP TT
02840 .3       LDA GOTHIT
02850          BNE TT
02860          LDA #1
02870          STA CRASHED
02880          LDA #0
02890          STA MISSLEON
02900          STA SOUND+2
02910          STA SOUND+3
02920          LDY #0
02930 XX       STA PLAYER+$300,Y
02940          INY
02950          BNE XX
02960 TT       JSR RAMCAR
02970          JSR ENGINE
02980          JSR ENGINE
02990          LDA 53256
03000          BEQ NEXT2
03010          LDA #52        ;EXPLOSION
03020          STA PCOLOR2
03030          LDA #71
03040          STA PCOLOR3
03050          LDA #1
03060          STA 53278
03070          STA GOTHIT
03080          LDA PRESIDENT  ;NOT
03090          BNE SHI        ;KILLED
03100          LDA #1
03110          STA DEADPRESIDENT
03120          LDA #0
03130          STA AMUCARON   ;RESET
03140 NERT2    LDA KBCODE
03150          CMP #32
03160          BCS JUMPS
03170          CMP #26
03180          BCC JUMPS
03190          STA GEAR
03200 SHI      LDA GEAR
03210          CMP #26
03220          BNE TWO
03230          LDA #3
03240          STA RAMSPEED
03250          LDA #8
03260          STA HITSPEED
03270          LDA #28       ;FAST!!
03280          STA RSPEED    ;SPEED
03290          LDA #$AF
03300          STA LOADNESS
03310          LDA #2
03320          STA FAST
03330          LDA #2
03340          STA RSPEED
03350          LDA #150
03360          STA SPEED
03370 JUMP1    JMP JUMP
03380 TWO      CMP 430      ;MEDIUM
03390          BNE .33      ;SPEED
03400          LDA #2
03410          STA RAMSPEED
03420          LDA #5
03430          STA HITSPEED
03440          LDA #$AA
03450          STA LOADNESS
03460          LDA #10
03470          STA FAST
03480          LDA #27       ;LAND
03490          STA RSPEED    ;SPEED
03500          LDA #1
03510          STA RSPEED
03520          LDA #75
03530          STA SPEED
03540          JMP JUMP
03550 .33      CMP #31       ;SLOW
03560          BNE JUMP
03570          LDA #26       ;SLOW
03580          STA RSPEED    ;SPEED
03590          LDA #1
03600          STA RAMSPEED
03610          LDA #3
03620          STA HITSPEED
03630          LDA #3A8
03640          STA LOADNESS
03650          LDA #50
03660          STA FAST
03670          LDA #1
03680          STA RSPEED
03690          LDA #0
03700          STA SPEED
03710 JUMP     LDA 53252
03720          CMP #1
03730          BEQ .2
03740          CMP #7
03750          BCS .2
03760          JMP .1
03770 .2       LDA #1
03780          STA 53278
03790          DEC ENERGY
03800          BNE .4
03810          LDA #1
03820          STA STATE
03830 .4       LDA OY
03840          CMP #150
03850          BCS .3
03860          INC OY
03870 .3       LDA #1
03880          STA 53279
03890          LDA #17
03900          STA CONDITION
03910          JMP BEND
03920 .1       LDA #18
03930          STA CONDITION
03940 BEND     LDA CRASHED
03950          BNE END
03960          LDA MISSLEON ;CHECK
03970          BNE NEXT
03980          LDA 644    ;BUTTON
03990          BNE END    ;NOT 0N
04000          LDA #1
04010          STA MISSLEON
04020          LDA OX
04030          CLC
04040          ADC #2    ;SET
04050          STA MX    ;MISSLE
04060          LDA OY
04070          SEC
04080          SBC #8
04090          STA MY
04100 NEXT     LDA NMISSLE
04110          BEQ END
04120          JSR MISSLE"
04130 END      LDA #1
04140          STA 53278
04150          INC TIMER
04160          LDA TIMER
04170          CMP #30
04180          BCC .8
04190          LDA #0
04200          STA TIMER
04210 .7       DEC ENERGY
04220          BNE .8
04230          LDA #1
04240          STA STATE
04250 .8       LDA MILES
04260          BNE .9
04270          LDA #2       ;FINISHED
04280          STA STATE    ;THE RACE
04290 .9       JMP $E462
04300 ;
04310 ;
04320 ;
04330 ROAD     LDA STOP
04340          BEQ OK
04350          INC COUNT
04360          LDA COUNT
04370          CMP RATE
04380          BCS OK1
04390          JMP PLOTROAD
04400 OK1      LDA #0
04410          STA COUNT
04420          STA STOP
04430 OK       LDA DIR
04440          CMP #1
04450          BNE .1
04460          LDA #162     ;DRAW
U4410          JSR COLOR    ;GROUND
04480          JMP K1
04490 .1       LDA #32
04500          JSR COLOR
04510 K1       LDX ROADX
04520          LDY #0
04530          JSR PLOT
04540          LDX ROADX
04550          LDY #20
04560          JSR DRAWTO
04570 SKIP     LDA DIR
04580          CMP #1
04590          BNE .3
04600          LDA #32
04610          JSR COLOR
04620          JMP K2
04630 .3       LDA #162
04640          JSR COLOR
04650 K2       LDX ROADX1
04660          LDY #0
04670          JSR PLOT
04680          LDX ROADXS
04690          LDY #20
04700          JSR DRAWTO
04710 CHANGE   LDA DIR
04720          CMP #1
04730          BNE ANOTHER
04740          INC ROADX
04750          INC ROADXI
04760          LDA RX
04770          CLC
04780          ADC #4
04790          STA RX
04800          LDA XBORDER
04810          CLC
04820          ADC #4
04830          STA XBORDER
04840          LDA FAST
04850          STA RATE
04860          LDA #1
04870          STA STOP
04880 .1       LDA #200
04890          JSR RND
04900          CMP #100
04910          BCC .2
04920          LDA #1
04930          STA DIR
04940          JMP ANOTHER
04950 .2       LDA #2
04960          STA DIR
04970 ANOTHER  LDA DIR
04980          CMP #2
04990          BNE ANOTHER1
05000          DEC ROADX
05010          DEC ROADXS
05020          LDA RX
05030          SEC
05040          SBC #4
05050          STA RX
05060          LDA XBORDER
05070          SEC
05080          SBC #4
05090          STA XBORDER
05100          LDA FAST
05110          STA RATE
05120          LDA #1
05130          STA STOP
05140 .2       LDA #200
05150          JSR RND
05160          CMP #100
05170          BCC
05180          LDA #1
05190          STA DIR
05200          JMP ANOTHER
05210 .3       LDA #2
05220          STA DIR
05230 ANOTHER1 LDA ROADX
05240          CMP #20
05250          BCC .1
05260          LDA #2
05270          STA DIR
05280 .1       LDA ROADX
05290          CMP #6
05300          BCS PLOTROAD
05310          LDA #1
05320          STA DIR
05330 PLOTROAD LDA #33
05340          JSR COLOR
05350          LDY #0
05360          LDX ROADX
05370          JSR PLOT
05380          LDY #20
05390          LDX ROADX
05400          JSR DRAWTO
05410          LDY #0
05420          LDX ROADX1
05430          JSR PLOT
05440          LDY #20
05450          LDX ROADX1
05460          JSR DRAWTO
05470 FINI     RTS
05480 ;
05490 ;
05500 RND      STA RTEMP
05510          INC RTEMP
05520 RNDWAIT  LDA RANDOM
05530          CMP RTEMP
05540          BCS RNDWAIT
05550          RTS
05560 RTEMP    .DA #0
05570 ;
05580 ;
05590 ;
05600 XTEMP     .DA #0
05610 COUNT     .DA #0
05620 RATE      .DA #20
05630 STOP      .DA #0
05640 TEMPX     .DA #0
05650 TEMPXI    .DA #0
05660 DIR       .DA #1
05670 ROADX     .DA #11
05680 ROADXI    .DA #24
05690 XBORDER   .DA #94
05700 PLOTY     .DA #0
05710 PAVEMENT  .DA #33
05730 ;
05740 ;
05750 CIO        .EQ $E456
05760            .EQ $342
05770 ICBADR     .EQ ;344
05780 ICBLEN     .EQ j348
05790 ICAUX1     .EQ $34A
05800 ICAUX2     .EQ $34B
05810 ;
05820 COPN       .EQ 3
05830 CCLOSE     .EQ 12
05840 CGBINR     .EQ 7
05850 CPBINR     .EQ 11
05860 CDRAW      .EQ 17
05870 CFILL      .EQ 18
05880 ;
05890 OPIN       .EQ 4
05900 OPOUT      .EQ 8
05910 HORIZONTAL .EQ $55
05920 VERTICAL   .EQ ¢54
05930 DRAWCOLOR  .EQ $2FB
05940 COLORO     .EQ 42C4
05950 LOW        .EQ $FF
05960 HIGH       .EQ $100
05970 ;
05980 SAVECOLOR  .DA #0
05990 SNAME      .AS "S:"
06000            .DA #0
06010 GRAPHICS
06020          PHA
06030          LDX #96
06040          LDA #CCLOSE
06050          STA ICCOM,X
06060          JSR CIO
06070 ;
06080          LDX #96
06090          LDA #COPN
06100          STA ICCOM,X
06110          LDA #SNAME
06120          STA ICBADR,X
06130          LDA /SNAME
06140          STA ICBADR+1,X
06150 ;
06160          PLA
06170          STA ICAUX2,X
06180          AND #$F0
06190          EOR #$10
06200          ORA #$0C
06210          STA ICAUXI,X
06220          JSR CIO
06230          RTS
06240 ;
06250 COLOR
06260          STA SAVECOLOR
06270          RTS
06280 ;
06290 POSITION LDA #0
06300          STX HORIZONTAL
06310          STA HORIZONTAL+1
06320          STY VERTICAL
06330          RTS
06340 ;
06350 PLOT     LDA #0
06360          JSR POSITION
06370          LDX #96
06380          LDA #CPBINR
06390          STA ICCOM,X
06400          LDA #0
06410          STA ICBLEN,X
06420          STA ICBLEN+1,X
06430          LDA SAVECOLOR
06440          JSR CIO
06450          RTS
06460 ;
06470 LOCATE   LDA #0
06480          JSR POSITION
06490          LDX #96
06500          LDA #CGBINR
06510          STA ICCOM,X
06520          LDA #0
06530          STA ICBLEN,X
06540          STA ICBLEN+1,X
06550          JSR CIO
06560          RTS
06570 ;
06580 DRAHTO   LDA #0
06590          JSR POSITION
06600          LDA SAVECOLOR
06610          STA DRAWCOLOR
06620          LDX #96
06630          LDA #CDRAY
06640          STA ICCOM,X
06650          LDA #$OC
06660          STA ICAUXI,X
06670          LDA #0
06680          STA ICAUX2,X
06690          JSR CIO
06700          RTS
06710 ;
06720 SETCOLOR
06730          ASL
06740          ASL
06750          ASL
06760          ASL
06770          STA COLORO,X
06780          TYA
06790          AND #$0E
06800          CLC
06810          ADC COLORO,X
06820          STA COLORO,X
06830          RTS
06840 ;
06850 ;
06860 ;
06870 ;
06880 ;
06890 COLBAK  .DA #$36,#536,#534,#$34,#332,#532,#372,#372,#574,#374
06900         .DA #$76,#576,#$A6,#$A6,#$A4,#$A4,#$A2,#$A2,#532
06910         .DA #$32,#534,#334,#$36,#536,#356,#556,#354,#554,#$56,#$56,#556,#556,#556,#556
06920 ;
06930 ;
06940 COLBAK1 .DA #$14,#514,#514,#$14,#334,#534,#334,#534,#534,#$34
06950         .DA #$34,#554,#554,#$54,#554,#574,#574,#574,#574
069AO         .DA #$94,#594,#594,#594,#$B4,#$B4,#$B4,#$B4,#;C4,#$C4,#$C4,#$C4,#$C4,#$C4,#$C4
06970 ;
06990 INITIAL  LDA #$3A      ;SET UP
07000          STA DMACTL    ;PLAYER
07010          LDA #$03      ;MISSLE
07020          STA GRACTL    ;SHAPES
07030          LDA /PLAYER
07040          STA PMBASE
07050          LDA #33
07060          STA PRIOR
07070          LDY #0        ;CLEAN UP
07080          TYA           ;PLAYER MISSLE MEMORY
07090 .1       STA PLAYER+3400,Y
07100          STA PLAYER+$500,Y
07110          STA PLAYER+$600,Y
07120          STA PLAYER+$700,Y
07130          STA PLAYER+3300,Y
07140          INY
07150          BNE .1
07160          LDA #$76      ;SET PLAYER
07170          STA COLPMO    ;COLORS
07180          LDA #$72
07190          STA COLPMO+1
07200          LDA #$3A
07210          STA COLPMO+2
07220          LDA #$70
07230          STA COLPMO+3
07240          RTS
07250 ;
07260 ;
07270 ;
07280 RSTICK   LDX STICK
07290          LDA CONDITION
07300          CMP #17
07310          BEQ .2
07320          TXA        ;TRIGGER1
07330          AND #UP
07340          BEE .1
07350          LDA OY
07360          CMP #32
07370          BCC .1
07380          SEC
07390          SBC HSPEED
07400          STA OY
07410          INC MPH
07420          JMP .2
07430 .1       TXA
07440          AND #DOWN
07450          BNE .2
07460          LDA OY
07470          CMP #150
07480          BCS .2
07490          CLC
07500          ADC HSPEED
075l0          STA OY
07520          DEC MPH
07530 .2       TXA
07540          AND #LEFT
07550          BNE .3
07560          LDA OX
07570          CMP #50
07580          BCC .3
07590          SEC
07600          SBC HSPEED
07610          STA OX
07620          DEC MX
07630          DEC MX
07640 .3       TXA
07650          AND #RIGHT
07660          BNE .4
07670          LDA OX
07680          CMP #200
07690          BCS .4
07700          CLC
07710          ADC HSPEED
07720          STA OX
07730          INC MX
07740          INC MX
07750 .4       RTS
07760
07770 MOVE     LDA OX
07780          STA HPOSPO
07790          STA HPOSPI
07800          LDY OY
07810          LDX SHAPE
07820          BEQ .1
07830          LDX #0
07840          STX SHAPE
07850          JMP M00
07860 .1       LDX #20
07870          STX SHAPE
07880 MOO      LDA CSHAPEI,X
07890          STA PLAYER+$400,Y
07900          LDA CSHAPE2,X
07910          STA PLAYER+$500,Y
07920          INY
07930          INX
07940          INC I
07950          LDA I
07960          CMP #20
07970          BNE MOO
07980          LDA #0
07990          STA I
08000          LDA CONDITION
08010          CMP #17
08020          BNE .2
08030 .2       RTS
08040
08050 ;
08060 ENGINE   INC CS
08070          LDA C1
08080          CMP #1
08090          BNE NOT
08100          LDA #0
08110          STA CS
08120          LDA CSOUND
08130          BEQ .3
08140          LDA #0
08150          STA CSOUND
08160          JMP .4
08170 .3       LDA OY
08180          SEC
08190          SBC #20
08200          STA CSOUND
08210 .4       STA SOUND
08220          LDA LOADNESS
08230          STA SOUND+1
08240 NOT      RTS
08250 ;
08260 FAST     .DA #50
08270 LOADNESS .DA #$A8
08280 RSPEED   .DA #26
08290 C1       .DA #0
08300 CSOUND   .DA #0
08310 CONDITION .DA #0
08320 I        .DA #0
08330 OX       .DA #112
08340 OY       .DA #100
08350 FRAME    .HS 00
08360 SHAPE    .DA #0
08370 SLEN     .EQ *-SHAPE-1
08380 CSHAPEI
08390    .DA #0,#0,#0,#24,#60,#231,#36,#60,#36,#0,#24,#60,#60,#36,#255,#0,#0,#0,#0,#0
08400    .DA #0,#0,#0,#24,#255,#36,#231,#60,#36,#0,#24,#60,#60,#231,#60,#195,#0,#0,#0,#0
08410 ;
08420 CSHAPE2
08430    .DA #0,#0,#60,#126,#255,#60,#255,#255,#102,#90,#126,#126,#126,#255,#60,#231,#231,#36,#0,#0
08440    .DA #0,#0,#60,#126,#60,#255,#60,#255,#102,#90,#126,#126,#126,#60,1255,#36,#231,#36,#0,#0
08450 ;
08460 ;
08470 RAMCAR   LDA RY    ;TEMPORARY
08480          STA I
08490          LDA GOTHIT
08500          BEQ .1
08510          LDA RY
08520          ADC HITSPEED
08530          STA RY
08540          STA SOUND+4
08550          LDA #$8F
08560          STA SOUND+5
08570          LDA RY
08580          JMP .2
08590 .1       LDA RY
08600          ADC RAMSPEED
08610          STA RY
08620 .2       CMP #188
08630          BCC RAMMOVE   ;START
08640          LDA #0        ;ANOTHER
08650          STA GOTHIT    ;CAR
08660          STA AMUCARON
08670          STA SOUND+4
08680          STA SOUND+5
08690          DEC MILES
08700          LDA RAMSPEED
08710          CMP #3
08720          BNE .4
08730          DEC PRESIDENT
08740 .4       LDA #30
08750          STA RY
08760          LDA #36
08770          JSR RND
08780          CLC
08790          ADC XBORDER
08800          STA RX
08810          LDA #3     ;CHOOSE
08820          JSR RND    ;NEW SNAPE
08830          STA TEMP
08840          ASL    ;*2
08850          ASL    ;*4
08860          ASL    ;*8
08870          ASL    ;*16
08880          ASL    ;*32
08890          STA NEWSHAPE
08900          LDA #15
08910          JSR RND
08920          STA TEMP
08930          ASL
08940          ASL
08950          ASL
08960          ASL
08970          CLC
08980          ADC #8
08990          STA PCOLOR2
09000          LDA TEMP
09010          CLC
09020          ADC #8
09030          ASL
09040          ASL
09050          ASL
09060          ASL
09070          CLC
09080          ADC #4
09090          STA PCOLOR3
09100          INC AMUCOUNTER
09110          LDA AMUCOUNTER
09120          CMP #20
09130          BCC RAMMOVE
09140          LDA #0
09150          STA AMUCOUNTER
09160          LDA #1
09170          STA AMUCARON
09180 RAMMOVE  LDA RX
09190          STA HPOSP2
09200          STA HPOSP3
09210          LDX #0
09220          LDA #0
09230          LDY I
09240 CLOOP    STA PLAYER+$600,Y
09250          STA PLAYER+$700,Y
09260          INX
09270          INY
09280          CPR #20
09290          BCC CLOOP
09300          LDA #0
09310          STA I
09320          LDY RY
09330          LDX WSHAPE
09340          BEQ .1
09350          LDX #0
09360          STX WSHAPE
09370          JMP .2
09380 .1       LDX #16
09390          STX WSHAPE
09400 .2       TXA
09410          CLC
09420          ADC NEWSHAPE
09430          TAX
09440          LDA GOTHIT
09450          BNE ALL
09460          LDA AMUCARON
09470          BNE ALL
09480          JMP RLOOP
09490 ALL      LDX WSHAPE
09500 RLOOP    LDA GOTHIT
09510          BEQ AMUSKIP
09520          LDA EXPLOSION,X
09530          STA PLAYER+$600,Y
09540          LDA EXPLOSION1,X
09550          STA PLAYER+$700,Y
09560          JMP SKIP3
09570 AMUSKIP  LDA AMUCARON
09580          BEQ SKIP2
09590          LDA AMUCAR,X
09600          STA PLAYER+$600,Y
09610          LDA AMUCARI,X
09620          STA PLAYER+$700,Y
09630          JMP SKIP3
09640 SKIP2    LDA RSHAPE1,X
09650          STA PLAYER+$600,Y
09660          LDA RSHAPE2,X
09670          STA PLAYER+$700,Y
09680 SKIP3    INY
09690          INX
09700          INC I
09710          LDA I
09720          CMP #16
09730          BNE RLOOP
09740          LDA #0
09750          STA I
09760 .2       RTS
09770 ;
09780 TEMP    .DA #0
09790 WSHAPE  .DA #0
09800 RX      .DA #120
09810 RY      .DA #30
09820 RAMSPEED .DA #1
09830 NEWSHAPE .DA #0
09840 RAMCOLOR .DA #56,#38,#8,#116,#136,#38,#$34,#548
09850 RSHAPE1
09860    .DA #0,#24,#60,#231,#36,#60,#36,#0,#24,#60,#60,#36,#255,#0,#0,#0
09870    .DA #0,#24,#255,#36,#231,#60,#36,#0,#24,#60,#60,#231,#60,#195,#0,#0
09880    .DA #24,#24,#24,#24,#24,#36,#0,#0,#0,#66,#24,#24,#24,#0,#0,#0
09890    .DA #24,#24,#24,#24,#24,#36,#0,#0,#0,#66,#24,#153,#153,#0,#0,#0
09900    .DA #102,#102,#102,#24,#36,#36,#60,#60,#36,#36,#36,#36,#219,#219,#195,#0
09910    .DA #102,#102,#102,#24,#36,#36,#60,#60,#36,#36,#36,#36,#219,#219,#195,#0
09920    .DA #90,#126,#255,#126,#255,#102,#0,#60,#36,#0,#24,#255,#0,#24,#255,#24
09930    .DA #90,#126,#126,#255,#126,#102,#0,#60,#36,#0,#24,#24,#231,#24,#24,#255
09940 RSHAPE2
09950    .DA #60,#126,#255,#60,#255,#255,#102,#90,#126,#126,#126,#255,#60,#231,#231,#36
09960    .DA #60,#126,#60,#255,#60,#255,#102,#90,#126,#126,#126,#60,#255,#36,#231,#36
09970    .DA #60,#102,#90,#195,#195,#0,#90,#90,#126,#66,#66,#60,#0,#0,#0,#0
09980    .DA #36,#126,#66,#195,#195,#0,#90,#90,#126,#66,#90,#165,#153,#0,#0,#0
09990    .DA #0,#126,#24,#0,#0,#0,#36,#60,#165,#165,#231,#231,#24,#219,#0,#102
10000    .DA #102,#24,#126,#0,#0,#0,#36,#60,#165,#165,#231,#231,#219,#24,#195,#102
10010    .DA #60,#24,#153,#153,#153,#0,#60,#126,#126,#126,#0,#231,#231,#0,#231,#231
10020    .DA #60,#24,#153,#153,#153,#0,#60,#126,#126,#126,#0,#231,#231,#0,#231,#231
10030 GEAR     .DA #0
10040 HSPEED   .DA #1
10050 MISSLE   LDA MX
10060          STA 53252
10070          LDA MY
10080          STA SOUND+2
10090          LDA #$48
10100          STA SOUND+3
10110          LDX #0
10120          LDY MY    ;ERASE
10130          LDA #0
10140 DRAYM    STA PLAYER+$300,Y
10150          INY
10160          INX
10170          CPX #8
10180          BCC DRAWM
10190          LDA MY
10200          SEC
10210          SBC #10
10220          STA MY
10230          TAY
10240          LDA #1    ;DRAY
10250          LDX #0
10260 MERASE   STA PLAYER+$300,Y
10270          INY
10280          INX
10290          CPR #8
10300          BCC MERASE
10310          LDY MY
10320          CPY #10
10330          BCS OK2
10340          LDA #0
10350          STA MISSLEON
10360          STA SOUND+2
10370          STA SOUND+3
10380          DEC NMISSLE
10390 OK2      RTS
10400 ;
10410 NMISSLE  .DA #50
10420 MX       .DA #0
10430 MY       .DA #0
10440 MISSLEON .DA #0
10450 GOTHIT   .DA #0
10460 HITSPEED .DA #3
10470 SPEED    .DA #0
10480 MILES    .EQ 1537
10490 PRINTNUM LDY #0
10500          STY FIRSTDIG
10510          STY SECONDDIG
10520          STY THIRDDIG
10530          CMP #100
10540          BCC .2
10550 .1       SEC
10560          SBC #100
10570          INC FIRSTDIG
10580          CMP #100
10590          BCS .1
10600 .2       CMP #10
10610          BCC .3
10620          SEC
10630          SBC #10
10640          INC SECONDDIG
10650          CMP #10
10660          BCS .2
10670 .3       STA THIRDDIG
10680          LDA FIRSTDIG
10690          ORA #$30
10700          JSR PRINT
10710          LDA SECONDDIG
10720          ORA #$30
10730          JSR PRINT
10740          LDA THIRDDIG
10750          ORA #$30
10760          JSR PRINT
10770          RTS
10780 ;
10790 ;
10800 FIRSTDIG  .DA #0
10810 SECONDDIG .DA #0
10820 THIRDDIG  .DA #0
10830 PRINT     .EQ $F6A4
10840 MPH       .DA #100
10850 AMUCARON  .DA #0
10860 AMUCOUNTER .DA #0
10870 ;
10880 ;
10890 EXPLOSION
10900    .DA #8,#34,#194,#40,#16,#161,#4,#32,#0,#136,#33,#0,#64,#0,#0,#0
10910    .DA #0,#16,#0,#4,#64,#5,#4,#96,#0,#144,#130,#136,#18,#18,#64,#64
10920 ;
10930 EXPLOSIONS
10940    .DA #20,#28,#60,#22,#76,#30,#56,#28,#108,#18,#8,#8,#2,#16,#2,#0
10950    .DA #0,#12,#58,#58,#47,#58,#10,#23,#117,#66,#9,#65,#73,#9,#0,#0
10960 ;
10970 ;
10980 ;
10990 ;
11000 CRASH    JSR CLEAR
11010          LDA #0
11020          STA I
11030          STA MISSLEON
11040          LDA #200
11050          JSR RND
11060          STA PCOLORO
11070          STA SOUND
11080          LDA #$88
11090          STA SOUND+1
11100          LDA OY
11110          CMP #150
11120          BCS .44
11130          CLC
11140          ADC HSPEED
11150          STA OY
11160 .44      CMP #150
11170          BCC CONT
11180          LDA #0
11190          STA CRASHED
11200          LDA #1
11210          STA 53278
11220          LDA #$76
11230          STA PCOLORO ;RESTORE
11240          LDA #$72    ;COLOR
11250          STA PCOLOR1
11260          CLV
11270          LDA ENERGY
11280          SEC
11290          SBC #50
11300          BCS .1
11310          LDA #1
11320          STA STATE
11330          JMP CONT
11340 .1       STA ENERGY
11350 CONT     LDA OX
11360          STA HPOSPO
11370          STA HPOSP1
11380          LDY OY
11390          LDX SHAPES
11400          BEQ .1
11410          LDX #0
11420          STX SHAPES
11430          JMP M1
11440 .1       LDX #16
11450          STX SHAPES
11460 M1       LDA CRASHSHAPE,X
11470          STA PLAYER+$400,Y
11480          LDA CRASHSHAPE1,X
11490          STA PLAYER+$500,Y
11500          INY
11510          INX
11520          INC I
11530          LDA I
11540          CMP #16
11550          BNE MS
11560          RTS
11570 ;
11580 CLEAR    LDY OY
11590          LDX #0
11600          STX I
11610 M2       LDA #0
11620          STA PLAYER+$400,Y
11630          STA PLAYER+$500,Y
11640          INY
11650          INX
11660          INC I
11670          LDA I
11680          CMP #18
11690          BNE M2
11700          RTS
11710 ;
11720 SHAPES   .DA #0
11730 CRASHED  .DA #0
11740 ;
11750 AMUCAR
11760    .DA #24,#255,#60,#255,#0,#0,#0,#0,#126,#0,#0,#129,#0,#129,#0,#0
11770    .DA #24,#60,#255,#60,#0,#0,#0,#0,#126,#0,#0,#0,#129,#0,#0,#0
11780 AMUCAR1
11790    .DA #36,#195,#195,#195,#60,#36,#66,#126,#0,#126,#126,#195,#219,#195,#90,#126
11800    .DA #36,#195,#195,#195,#60,#36,#66,#126,#0,#126,#126,#195,#219,#195,#90,#126
11810 CRASHSHAPE
11820    .DA #0,#24,#255,#235,#199,#60,#36,#0,#28,#60,#60,#155,#199,#213,#0,#0
11830    .DA #0,#24,#60,#231,#52,#60,#42,#32,#25,#60,#54,#68,#215,#16,#100,#8
11840 CRASHSHAPE1
11850    .DA #60,#126,#56,#48,#28,#235,#102,#90,#112,#110,#90,#0,#40,#2,#203,#4
11860 .DA #60,#126,#255,#60,#239,#247,#96,#90,#126,#118,#84,#159,#4,#229,#131,#32
11870 TIMER    .DA #0
11880 ENERGY   .DA #250
11890 WRITE    LDX #0
11900          LDY #21
11910          LDA #0
11920          JSR POSITION
11930          LDA #1
11940          STA 752
11950          LDY #0
11960          STY I
11970 .1       LDY I
11980          LDA MESSAGE,Y
11990          JSR PRINT
12000          INC I
12010          LDY I
12020          CPY #80
12030          BCC .1
12040          LDY #0
12050          STY I
12060          RTS
12070 ;
12080 ;
12090 MESSAGE
12100    .AS "    MILE: 000 INTERCEPTOR ENERGY: 000 "
12110    .AS "    GEAR: 000 PC: 000    MISSLE: 000   "
12120 PRESIDENT      .DA #140
12130 DEADPRESIDENT  .EQ 1538
    BCS .44
11130         CLC
11140         ADC HSPEED
11150         STA OY
11160 .44     CM8!