A.N.A.L.O.G. ISSUE 74 / JULY 1989 / PAGE 74
Left over from ancient days, the maze was always a great place to play and explore. At least it was until you and your friend, Velbert, got lost. With night coming on, you and Velbert grew more and more confused. Suddenly, the huge stone blocks comprising the maze rearranged themselves, shifting into new configurations. Far off in the distance you heard the scratching sounds of something big wandering the maze. Too late you remembered the legend of the monsters, the spirits of those who died in the maze, who, destined to wander it for all eternity, came out with the stars and hunted those who are unwise enough to remain in the maze at night….
The object is to maneuver your player from the top left corner of the maze to the exit located at the lower right of the maze. The game can be paused by pressing any key, and can be aborted by pressing a console key (not System Reset), except when the game has been paused. Along the right side of the screen are choices to modify the game. To change any of the values, press Option until the larger cursor is opposite the category you want to change. Then press Select, either to move the smaller cursors, changing the visibility or game variation, or to change numbers, representing speeds or number of monsters.
There are three different game variations. These are capture, paralyze and kill. In capture, a player must touch the four monsters controlled by the computer before he or she can exit. The eight colored boxes on the far right signify which of the monsters (orange to the orange monster, blue to blue, etc.) have already been “captured.” The top four correspond to the first player, the bottom four to the second player. In the paralyze option, the object is to exit without touching any of the computer-controlled monsters. If a player is touched, he or she is frozen for a few seconds and then slowly regains speed. In the kill variation, touching any of the monsters ends the game for that player. The other player can continue on, and try to get to the exit.
There are three different visibility levels. These are clear, blackout and flash. When the visibility is clear, the entire maze is visible at all times. When it’s set on blackout, the maze is black and the walls are not visible. In the flash level, the maze is black except for periodic flashes of visibility, which last for a fraction of a second. In all three levels the players and monsters are always visible.
Here the players can choose the number of computer-controlled enemies they will face in the kill and paralyze variations. The number ranges from 0 to 16. Whatever number is chosen, though, does not affect the capture variation, in which there are always four computer-controlled monsters.
This allows the players to choose speeds for the monsters and each of the players individually. Speeds range from 1 to 4, 1 being fastest and 4 being slowest.
There are only two possible selections for this choice: Y for yes and N for no. During every game the timer counts from 000 to 999. If Y is chosen for the time limit, the game ends when the counter reaches 999. Otherwise, the counter just rolls over to 000 and continues counting. The time it takes for the counter to count from 000 to 999 is about 2 minutes, 45 seconds.
Good luck!
1000 DATA 255,255,0,96,251,96,169,12,133,12,169,96,133,13,169,1,4049 1010 DATA 133,9,32,64,108,169,64,133,2 04,169,0,133,203,162,0,160,7168 1020 DATA 0,145,203,200,208,251,230,20 4,232,224,16,208,242,169,83,133,4392 1030 DATA 203,162,96,169,3,157,66,3,16 9,0,157,69,3,169,203,157,6002 1040 DATA 68,3,169,12,157,74,3,169,0,1 57,75,3,32,86,228,169,4446 1050 DATA 0,133,88,169,64,133,89,169,0 ,141,47,2,169,0,141,48,2380 1060 DATA 2,169,128,141,49,2,169,46,14 1,47,2,169,255,141,28,208,6982 1070 DATA 169,148,141,198,2,169,150,14 1,196,2,169,68,141,197,2,32,5544 1080 DATA 151,96,32,170,96,32,100,98,3 2,230,98,169,97,141,231,6,6845 1090 DATA 169,193,141,36,2,169,110,141 ,37,2,76,171,100,160,0,132,4027 1100 DATA 203,169,64,133,204,185,74,11 2,145,203,200,192,160,208,246,96,3966 1110 DATA 169,0,133,208,133,209,169,16 0,133,206,169,64,133,207,162,5,9913 1120 DATA 32,239,96,202,16,250,162,87, 32,2,97,202,16,250,32,217,7595 1130 DATA 96,32,217,96,162,5,32,239,96 ,202,16,250,76,42,97,160,6952 1140 DATA 0,32,32,97,200,169,0,145,206 ,200,192,25,208,249,169,240,3693 1150 DATA 145,206,76,20,97,160,0,169,2 55,145,206,200,192,25,208,249,3173 1160 DATA 169,240,252,96,247,97,145,20 6,32,20,97,96,160,0,32,32,3208 1170 DATA 97,200,169,0,145,206,200,192 ,24,208,249,32,32,97,24,169,7328 1180 DATA 40,101,206,144,2,230,207,133 ,206,96,169,255,145,206,200,169,4725 1190 DATA 240,145,206,96,173,10,210,41 ,63,133,206,56,233,26,176,244,217 1200 DATA 173,10,210,41,62,133,207,56, 233,48,176,244,169,0,133,203,73 1210 DATA 133,204,24,165,207,133,203,6 ,203,6,203,101,203,133,203,162,1255 1220 DATA 4,6,203,38,204,202,208,249,2 4,165,203,101,206,144,2,230,1392 1230 DATA 204,133,203,24,165,203,105,1 60,144,2,230,204,133,203,24,165,328 1240 DATA 204,105,64,133,204,160,0,177 ,203,41,64,208,167,169,1,133,7891 1250 DATA 207,173,10,210,41,3,106,144, 33,106,144,18,198,204,160,96,7313 1260 DATA 32,207,97,230,204,165,206,20 8,71,198,204,76,238,97,160,160,3220 1270 DATA 32,207,97,165,206,208,57,76, 3,98,106,144,12,160,1,32,2776 1280 DATA 207,97,165,206,240,92,76,230 ,97,198,204,160,255,32,207,97,2561 1290 DATA 230,204,165,206,240,101,76,2 30,97,177,203,41,64,133,206,165,1217 1300 DATA 207,208,1,96,165,206,240,3,7 6,81,98,169,1,133,206,96,7176 1310 DATA 232,224,15,208,156,76,42,97, 169,80,160,216,145,203,160,176,1789 1320 DATA 145,203,248,97,243,98,160,13 6,145,203,160,96,145,203,76,61,104 1330 DATA 98,169,80,160,80,145,203,160 ,120,145,203,160,200,145,203,160,3535 1340 DATA 160,145,203,76,61,98,160,0,1 77,203,9,85,145,203,160,40,7225 1350 DATA 145,203,169,80,160,41,145,20 3,160,1,145,203,76,61,98,160,7766 1360 DATA 39,169,85,145,203,160,255,19 8,204,145,203,24,230,208,208,2,2777 1370 DATA 230,209,165,208,201,228,208, 9,165,209,201,1,208,3,96,104,8894 1380 DATA 104,24,152,101,203,144,2,230 ,204,133,203,162,0,134,207,76,9665 1390 DATA 135,97,162,1,134,205,202,189 ,218,110,133,203,232,189,218,110,4688 1400 DATA 133,204,164,205,136,192,0,24 0,24,32,218,98,76,118,98,189,8249 1410 DATA 218,110,201,24,208,2,230,204 ,24,101,203,144,2,230,204,133,462 1420 DATA 203,160,0,132,206,232,189,21 8,110,24,42,42,101,205,168,185,9819 1430 DATA 113,111,164,206,192,9,240,8, 145,203,200,132,206,76,151,98,533 1440 DATA 224,151,208,203,230,205,165, 205,201,5,240,5,162,0,76,105,8062 1450 DATA 98,162,31,189,45,113,157,176 ,6,202,16,247,162,5,189,75,7556 1460 DATA 113,157,240,6,202,16,247,96, 165,203,24,105,40,144,2,230,7519 1470 DATA 204,133,203,96,160,2,185,80, 113,133,203,185,83,113,133,204,400 1480 DATA 185,86,244,98,239,99,113,145 ,203,136,16,238,96,173,228,6,106 1490 DATA 208,35,206,229,6,16,30,169,4 ,141,229,6,173,31,208,201,8046 1500 DATA 3,240,32,201,5,240,101,201,6 ,240,16,173,132,2,240,11,6889 1510 DATA 173,133,2,240,6,32,128,109,7 6,95,228,173,214,6,208,248,1077 1520 DATA 76,154,106,162,1,189,192,6,2 01,0,240,5,169,0,76,65,4287 1530 DATA 99,169,150,141,196,2,173,176 ,6,10,32,110,99,169,0,160,4631 1540 DATA 0,145,203,238,176,6,173,176, 6,201,7,208,5,169,0,141,6250 1550 DATA 176,6,24,10,32,110,99,169,25 5,160,0,145,203,76,35,99,6162 1560 DATA 170,189,178,6,133,203,189,17 9,6,133,204,96,173,176,6,170,9607 1570 DATA 56,233,2,176,57,32,163,99,16 9,0,145,203,254,192,6,189,9868 1580 DATA 192,6,201,3,208,5,169,0,157, 192,6,32,163,99,169,60,5435 1590 DATA 145,203,76,35,99,173,176,6,2 40,2,169,3,24,125,192,6,4435 1600 DATA 168,185,194,6,133,203,185,20 0,6,133,204,160,0,96,233,1,7925 1610 DATA 176,101,238,241,6,173,241,6, 201,10,208,25,238,240,6,169,214 1620 DATA 0,141,241,6,173,176,6,10,32, 110,99,198,203,198,203,173,769 1630 DATA 240,6,32,14,100,173,241,6,20 1,7,208,18,173,240,6,201,8605 1640 DATA 1,208,240,99,235,100,11,169, 0,141,240,6,141,241,6,76,7012 1650 DATA 210,99,173,176,6,10,32,110,9 9,198,203,173,241,6,32,14,5576 1660 DATA 100,76,35,99,10,10,105,109,1 70,160,0,189,113,111,145,203,7974 1670 DATA 152,24,105,40,168,232,192,16 0,208,241,96,233,1,176,32,173,1060 1680 DATA 176,6,10,32,110,99,198,203,1 98,203,238,242,6,173,242,6,1740 1690 DATA 201,5,208,5,169,1,141,242,6, 32,14,100,76,35,99,233,4738 1700 DATA 2,176,36,173,176,6,10,32,110 ,99,198,203,173,176,6,41,6149 1710 DATA 1,170,254,243,6,189,243,6,20 1,5,208,5,169,1,157,243,9359 1720 DATA 6,32,14,100,76,35,99,173,176 ,6,10,32,110,99,198,203,6071 1730 DATA 198,203,198,203,173,231,6,73 ,84,141,231,6,32,18,100,76,4780 1740 DATA 35,99,169,204,141,34,2,169,1 10,141,35,2,32,115,101,169,4625 1750 DATA 0,141,223,6,173,192,6,208,8, 238,223,6,169,2,141,227,9397 1760 DATA 6,169,4,141,229,6,169,251,14 1,34,2,169,98,141,35,2,4516 1770 DATA 169,0,141,228,6,169,150,141, 196,2,32,124,108,169,0,141,6146 1780 DATA 232,6,141,233,6,141,234,6,14 1,235,6,141,226,6,133,224,9919 1790 DATA 141,224,6,141,225,6,165,224, 240,252,141,228,6,169,160,141,3136 1800 DATA 1,210,236,100,231,101,32,52, 108,169,0,141,218,6,169,16,5793 1810 DATA 141,219,6,169,0,141,8,210,16 9,3,141,15,210,169,0,141,6299 1820 DATA 220,6,141,221,6,169,15,141,1 10,6,141,111,6,32,115,101,3436 1830 DATA 169,1,141,214,6,169,0,162,3, 157,192,2,202,16,250,169,8657 1840 DATA 150,141,196,2,32,170,96,32,1 75,103,169,0,133,209,32,160,7135 1850 DATA 108,169,255,141,30,208,169,0 ,141,34,2,169,107,141,35,2,3787 1860 DATA 206,214,6,165,224,240,252,17 3,218,6,240,10,169,0,141,8,8102 1870 DATA 210,169,3,141,15,210,173,31, 208,201,7,240,3,76,140,100,7427 1880 DATA 173,232,6,240,16,173,233,6,2 40,11,76,153,100,173,31,208,8749 1890 DATA 201,7,208,249,96,162,1,189,1 02,6,201,132,208,23,189,210,690 1900 DATA 6,208,18,169,5,141,218,6,169 ,15,141,220,6,169,30,141,6509 1910 DATA 221,6,76,153,100,202,16,223, 198,224,162,1,189,232,6,208,1530 1920 DATA 38,189,234,6,240,11,32,165,1 07,173,208,6,240,25,76,194,8639 1930 DATA 101,254,224,6,189,224,6,221, 243,6,208,11,169,0,142,108,8056 1940 DATA 6,157,224,6,32,232,103,202,1 6,210,238,226,6,173,226,6,405 1950 DATA 205,242,6,240,3,76,73,101,16 9,0,141,226,6,173,192,6,6667 1960 DATA 240,6,232,101,227,102,32,244 ,101,76,73,101,32,141,105,76,6100 1970 DATA 73,101,238,80,6,174,80,6,224 ,16,208,6,162,255,142,80,8583 1980 DATA 6,96,189,48,6,201,6,240,233, 189,0,6,133,203,189,16,7856 1990 DATA 6,133,204,62,64,6,62,64,6,17 6,16,32,218,102,165,203,6783 2000 DATA 157,0,6,165,204,157,16,6,76, 244,101,189,48,6,201,4,5247 2010 DATA 240,65,41,8,240,23,169,64,15 7,64,6,160,0,32,157,103,4058 2020 DATA 160,40,32,157,103,169,6,157, 48,6,76,244,101,198,204,160,9772 2030 DATA 216,32,86,106,230,204,160,0, 32,103,106,160,1,32,103,106,4592 2040 DATA 160,80,32,90,106,165,208,201 ,1,208,8,189,48,6,73,2,3680 2050 DATA 76,204,102,173,10,210,41,3,1 33,207,189,48,6,201,4,240,7867 2060 DATA 11,165,207,93,48,6,240,4,41, 1,240,231,165,207,106,144,110 2070 DATA 31,106,144,16,160,216,198,20 4,32,86,106,230,204,165,208,240,4919 2080 DATA 210,76,202,102,160,80,32,86, 106,165,208,240,198,76,202,102,1720 2090 DATA 106,144,12,160,1,32,99,106,1 65,208,240,183,76,202,102,160,1205 2100 DATA 0,32,99,106,165,208,240,171, 165,207,157,48,6,169,1,157,8835 2110 DATA 64,6,32,218,102,76,32,102,18 9,48,6,106,144,33,106,144,4907 2120 DATA 15,160,228,102,223,103,40,32 ,157,103,198,204,160,216,32,167,1141 2130 DATA 103,76,146,103,160,0,32,157, 103,160,80,32,167,103,160,40,5959 2140 DATA 76,146,103,160,0,32,157,103, 160,40,32,157,103,189,48,6,4449 2150 DATA 106,106,144,63,24,126,32,6,1 26,32,6,176,11,160,0,32,827 2160 DATA 167,103,160,40,32,167,103,96 ,189,32,6,240,25,160,0,32,3868 2170 DATA 167,103,160,40,32,167,103,16 0,1,169,128,32,170,103,160,41,6545 2180 DATA 169,128,32,170,103,96,160,1, 32,146,103,169,160,157,32,6,5363 2190 DATA 76,27,103,62,32,6,176,14,62, 32,6,160,0,32,167,103,1882 2200 DATA 160,40,32,167,103,96,24,62,3 2,6,189,32,6,240,22,32,2050 2210 DATA 89,103,198,204,160,255,169,2 ,32,170,103,230,204,169,2,160,933 2220 DATA 39,32,170,103,96,160,255,198 ,204,32,146,103,169,10,157,32,8256 2230 DATA 6,76,89,103,152,24,101,203,1 44,2,230,204,133,203,96,189,1631 2240 DATA 32,6,73,255,49,203,145,203,9 6,189,32,6,17,203,145,203,9289 2250 DATA 96,169,120,141,7,212,24,105, 2,133,206,169,255,141,108,6,8570 2260 DATA 169,3,141,29,208,162,3,169,1 ,157,8,208,202,16,250,169,9826 2270 DATA 202,141,192,2,169,138,141,19 3,2,96,238,108,6,173,108,6,6650 2280 DATA 201,2,224,103,219,104,208,6, 169,255,141,108,6,96,173,108,9455 2290 DATA 6,170,240,2,169,128,133,205, 189,96,6,133,203,189,98,6,8722 2300 DATA 133,204,62,106,6,62,106,6,17 6,15,32,226,104,173,192,6,6191 2310 DATA 208,6,32,54,109,174,108,6,96 ,169,0,133,207,157,104,6,5930 2320 DATA 189,120,2,141,109,6,201,11,2 40,84,254,104,6,201,13,240,9364 2330 DATA 77,254,104,6,201,7,240,70,25 4,104,6,201,14,240,63,169,9533 2340 DATA 0,157,104,6,173,109,6,29,110 ,6,201,15,240,40,230,207,8666 2350 DATA 173,109,6,73,15,93,110,6,76, 29,104,165,207,240,13,169,7550 2360 DATA 0,157,104,6,198,207,189,110, 6,76,29,104,173,218,6,208,8545 2370 DATA 5,169,1,141,218,6,169,64,157 ,106,6,76,7,104,169,0,3634 2380 DATA 133,77,189,104,6,106,144,44, 106,144,24,160,216,198,204,32,9406 2390 DATA 86,106,230,204,165,208,240,1 95,222,98,6,160,96,32,21,105,8162 2400 DATA 76,209,104,160,80,32,86,106, 165,208,240,175,160,160,32,21,9329 2410 DATA 105,76,209,104,106,144,15,16 0,1,32,99,106,165,208,240,155,316 2420 DATA 32,21,105,76,209,104,160,0,3 2,99,106,165,208,240,140,222,2042 2430 DATA 98,6,160,255,32,21,105,173,1 09,6,157,110,6,169,1,157,5504 2440 DATA 106,6,220,104,215,105,32,226 ,104,76,7,104,188,100,6,169,7030 2450 DATA 1,32,133,105,189,104,6,106,1 44,18,106,144,6,222,100,6,4945 2460 DATA 76,252,104,254,100,6,188,100 ,6,76,119,105,106,144,6,254,7951 2470 DATA 102,6,76,14,105,222,102,6,18 9,102,6,157,0,208,96,152,6942 2480 DATA 24,125,96,6,144,3,254,98,6,1 57,96,6,96,165,209,73,6979 2490 DATA 2,133,209,230,206,170,169,0, 133,205,32,62,105,232,169,128,1077 2500 DATA 133,205,32,62,105,198,206,96 ,138,73,2,170,189,120,6,168,8259 2510 DATA 169,0,145,205,32,133,105,145 ,205,200,145,205,138,73,2,170,253 2520 DATA 41,1,168,189,124,6,153,2,208 ,138,77,227,6,170,189,138,9890 2530 DATA 6,153,194,2,138,77,227,6,170 ,189,120,6,168,32,119,105,7130 2540 DATA 96,169,0,145,205,169,1,32,13 3,105,169,0,145,205,96,200,9357 2550 DATA 145,205,200,145,205,200,96,2 38,136,6,173,136,6,201,4,208,185 2560 DATA 8,169,255,141,136,6,76,54,10 9,170,189,112,6,133,203,189,28 2570 DATA 116,6,133,204,62,132,6,62,13 2,6,176,6,32,112,106,76,3599 2580 DATA 141,105,198,204,160,216,32,8 6,106,230,204,160,0,32,103,106,8456 2590 DATA 160,1,32,103,106,160,80,32,9 0,106,165,208,201,1,208,10,7654 2600 DATA 189,128,216,105,211,106,6,73 ,2,133,207,76,240,105,173,10,8312 2610 DATA 210,41,3,133,207,93,128,6,24 0,4,41,1,240,240,165,207,910 2620 DATA 106,144,44,106,144,24,160,21 6,198,204,32,86,106,230,204,165,2786 2630 DATA 208,240,219,160,96,222,116,6 ,32,140,106,76,70,106,160,80,7127 2640 DATA 32,86,106,165,208,240,199,16 0,160,32,140,106,76,70,106,106,8801 2650 DATA 144,17,160,1,32,99,106,165,2 08,240,179,160,1,32,140,106,8546 2660 DATA 76,70,106,160,0,32,99,106,16 5,208,240,162,160,255,222,116,4552 2670 DATA 6,32,140,106,165,207,157,128 ,6,169,1,157,132,6,32,112,5485 2680 DATA 106,76,141,105,169,0,133,208 ,177,203,41,5,208,2,230,208,865 2690 DATA 96,169,0,133,208,177,203,41, 80,208,2,230,208,96,189,128,2020 2700 DATA 6,106,144,11,106,144,4,222,1 20,6,96,254,120,6,96,106,6616 2710 DATA 144,4,254,124,6,96,222,124,6 ,96,152,24,125,112,6,144,5833 2720 DATA 3,254,116,6,157,112,6,96,169 ,0,133,77,141,223,6,141,7079 2730 DATA 227,6,32,203,107,173,192,6,2 08,26,169,4,141,210,6,141,8000 2740 DATA 211,6,169,192,141,14,212,169 ,23,141,0,2,169,108,141,1,5344 2750 DATA 2,76,234,106,169,64,141,14,2 12,169,0,141,210,6,141,211,9953 2760 DATA 6,173,212,106,207,107,240,6, 240,2,169,10,109,241,6,170,9337 2770 DATA 202,169,4,202,48,6,157,48,6, 76,225,106,169,1,133,224,8240 2780 DATA 162,5,169,0,157,168,6,202,16 ,250,169,255,141,252,2,76,1080 2790 DATA 95,228,173,252,2,201,255,240 ,13,169,12,141,117,228,169,96,2204 2800 DATA 141,118,228,76,120,110,169,1 ,133,224,173,193,6,240,40,173,1078 2810 DATA 222,6,240,6,206,222,6,76,69, 107,169,0,141,196,2,173,7725 2820 DATA 193,6,201,1,240,17,173,10,21 0,41,127,208,10,169,10,141,7320 2830 DATA 222,6,169,150,141,196,2,173, 192,6,208,6,32,35,105,76,5295 2840 DATA 154,107,162,0,189,4,208,240, 62,173,192,6,201,1,240,28,9186 2850 DATA 189,232,6,208,20,169,255,157 ,232,6,169,2,141,218,6,169,218 2860 DATA 128,141,221,6,169,15,141,220 ,6,76,149,107,189,234,6,201,415 2870 DATA 255,240,20,169,15,141,220,6, 169,224,141,221,6,169,4,141,9574 2880 DATA 218,6,169,255,157,234,6,232, 224,2,208,184,169,255,141,30,3618 2890 DATA 208,32,202,108,76,95,228,169 ,0,141,208,6,254,236,6,189,1588 2900 DATA 236,6,221,234,6,208,21,94,23 4,6,169,0,157,236,6,189,9408 2910 DATA 234,6,201,1,208,3,222,234,6, 238,208,6,96,169,30,133,9233 2920 DATA 203,169,208,107,203,108,67,1 33,204,162,4,32,246,107,202,208,2647 2930 DATA 250,232,32,11,108,232,224,4, 208,248,32,246,107,202,208,250,6311 2940 DATA 162,7,189,234,112,157,160,6, 202,16,247,96,160,0,173,192,883 2950 DATA 6,208,2,169,168,41,168,145,2 03,160,40,145,203,160,80,145,1482 2960 DATA 203,24,169,240,101,203,144,2 ,230,204,133,203,96,72,152,72,1122 2970 DATA 172,216,6,185,160,6,141,10,2 12,141,23,208,200,192,8,208,1038 2980 DATA 2,160,0,140,216,6,104,168,10 4,64,162,48,189,242,112,157,1021 2990 DATA 96,6,202,16,247,96,160,0,185 ,32,113,153,0,128,200,192,9627 3000 DATA 13,208,245,152,153,0,128,200 ,192,106,208,248,169,65,153,0,1487 3010 DATA 128,200,169,0,153,0,128,200, 169,63,153,0,128,160,21,162,7951 3020 DATA 4,169,141,153,0,128,153,41,1 28,152,24,105,6,168,202,208,9548 3030 DATA 240,96,162,15,169,104,157,0, 6,169,79,157,16,6,169,10,4060 3040 DATA 157,32,6,169,6,157,48,6,169, 64,157,64,6,169,0,157,4923 3050 DATA 80,6,202,16,223,96,160,0,169 ,0,153,0,120,153,0,121,5465 3060 DATA 153,0,122,153,0,123,200,208, 241,169,1,141,20,122,141,21,7974 3070 DATA 122,141,148,122,141,149,122, 169,40,141,0,208,141,1,208,96,8980 3080 DATA 162,4,204,108,199,109,254,16 8,6,189,168,6,201,10,208,10,8962 3090 DATA 169,0,157,168,6,202,224,0,20 8,236,162,3,189,168,6,24,8545 3100 DATA 42,42,105,109,168,185,113,11 1,157,88,78,32,49,109,200,138,8512 3110 DATA 56,233,159,144,240,138,41,3, 170,202,224,0,208,222,162,3,1328 3120 DATA 189,168,6,201,9,208,33,202,2 08,246,173,231,6,201,97,208,4289 3130 DATA 23,169,1,141,232,6,141,233,6 ,169,6,141,218,6,169,0,7060 3140 DATA 141,221,6,169,40,141,220,6,7 6,128,109,138,105,40,170,96,7881 3150 DATA 162,1,160,3,189,102,6,89,124 ,6,41,254,208,53,189,100,8673 3160 DATA 6,89,120,6,41,254,208,43,140 ,212,6,152,224,0,240,3,9087 3170 DATA 24,105,4,168,185,160,6,240,2 3,169,0,153,160,6,222,210,522 3180 DATA 6,169,15,141,220,6,169,0,141 ,221,6,169,3,141,218,6,7404 3190 DATA 172,212,6,136,16,190,202,240 ,185,96,173,218,6,240,57,201,3555 3200 DATA 2,240,54,201,3,240,83,201,4, 240,116,201,5,208,3,76,8654 3210 DATA 33,110,201,6,208,3,76,61,110 ,174,219,6,202,142,219,6,9374 3220 DATA 169,240,141,0,210,138,24,105 ,160,141,1,210,224,0,208,8,8719 3230 DATA 142,218,6,169,16,141,219,6,9 6,169,32,32,106,110,173,221,9348 3240 DATA 6,233,200,109,195,110,8,176, 11,174,220,6,202,48,9,142,7883 3250 DATA 220,6,169,128,141,221,6,96,1 69,0,141,218,6,96,169,160,9547 3260 DATA 32,106,110,173,221,6,24,105, 32,144,233,174,220,6,202,202,2260 3270 DATA 48,9,142,220,6,169,0,141,221 ,6,96,169,160,141,1,210,9376 3280 DATA 76,218,109,169,64,32,106,110 ,173,221,6,56,233,32,176,196,687 3290 DATA 174,220,6,202,48,194,142,220 ,6,169,224,141,221,6,96,169,1889 3300 DATA 160,32,106,110,173,221,6,24, 105,32,144,11,174,220,6,202,8352 3310 DATA 48,166,142,220,6,138,10,141, 221,6,96,169,110,141,1,210,8964 3320 DATA 173,220,6,141,0,210,174,221, 6,232,224,60,208,22,173,220,3446 3330 DATA 6,201,60,208,8,169,160,141,1 ,210,76,218,109,169,60,141,552 3340 DATA 220,6,162,0,142,221,6,96,24, 109,220,6,141,1,210,173,8467 3350 DATA 221,6,141,0,210,96,169,140,1 41,34,2,169,110,141,35,2,5555 3360 DATA 169,255,141,252,2,169,160,14 1,1,210,169,0,141,196,2,173,85 3370 DATA 192,6,208,3,32,35,105,173,25 2,2,201,255,240,30,169,255,4413 3380 DATA 141,252,2,169,0,141,34,2,169 ,107,141,35,2,169,255,141,8842 3390 DATA 30,208,173,193,6,208,5,169,1 50,141,196,2,76,95,228,173,1238 3400 DATA 223,6,196,110,191,111,240,3, 32,35,105,76,98,228,173,192,826 3410 DATA 6,208,3,32,35,105,32,128,109 ,76,95,228,211,65,44,45,6577 3420 DATA 46,47,48,37,26,26,26,200,4,1 ,19,22,23,20,6,26,7524 3430 DATA 26,200,19,1,20,1,12,24,25,6, 26,200,11,51,52,53,9755 3440 DATA 26,26,26,26,26,24,38,39,40,4 1,42,43,22,24,37,200,677 3450 DATA 4,12,6,1,20,26,26,26,26,200, 2,3,1,4,11,18,6960 3460 DATA 23,22,26,200,7,12,1,21,8,6,2 1,26,26,24,6,13,6334 3470 DATA 14,15,16,17,37,27,28,24,21,1 9,6,6,5,37,26,26,6271 3480 DATA 26,200,6,13,14,15,16,17,37,2 8,26,200,19,12,1,24,8497 3490 DATA 6,20,28,37,28,200,19,12,1,24 ,6,20,29,37,28,24,7591 3500 DATA 12,9,10,49,50,37,24,26,26,24 ,22,9,10,6,20,37,6534 3510 DATA 27,27,27,0,48,204,252,204,48 ,204,252,204,240,207,243,252,9919 3520 DATA 48,48,48,60,252,192,192,252, 240,204,204,240,252,240,192,252,2692 3530 DATA 252,240,192,192,204,252,204, 204,207,207,204,204,60,252,204,12,7383 3540 DATA 204,240,240,204,192,192,192, 252,243,243,207,207,63,60,48,63,3997 3550 DATA 60,63,51,48,243,243,48,48,48 ,240,192,192,252,204,204,252,7946 3560 DATA 252,204,192,111,187,112,252, 192,252,204,240,204,252,240,12,252,391 3570 DATA 252,48,48,48,204,204,204,252 ,204,252,48,48,252,60,192,252,6430 3580 DATA 0,0,0,0,252,204,204,252,48,2 40,48,252,252,60,192,252,6920 3590 DATA 252,60,12,252,192,204,252,12 ,252,240,12,252,252,192,252,252,650 3600 DATA 252,12,48,192,252,204,252,25 2,252,204,252,12,0,48,0,48,9716 3610 DATA 204,204,252,48,207,207,192,2 07,204,12,204,204,240,207,243,252,790 3620 DATA 51,51,51,51,12,12,12,204,255 ,192,207,255,12,51,63,51,8161 3630 DATA 60,63,51,48,243,243,51,51,24 0,192,0,240,207,195,195,195,6025 3640 DATA 192,0,0,0,204,204,204,207,12 ,12,12,207,0,0,0,192,5076 3650 DATA 255,255,255,60,60,15,240,63, 252,63,252,63,240,60,60,60,240 3660 DATA 60,60,60,63,252,63,240,0,48, 0,0,243,195,15,207,192,9860 3670 DATA 252,252,195,51,204,255,255,2 55,0,0,0,63,252,60,60,0,7362 3680 DATA 252,63,240,60,60,60,60,63,60 ,63,60,63,240,60,60,0,4048 3690 DATA 60,204,0,204,204,195,3,0,240 ,204,195,51,204,0,0,0,6794 3700 DATA 0,0,0,51,204,63,252,63,0,60, 0,63,192,60,60,60,4122 3710 DATA 252,60,252,60,0,63,192,0,60, 48,0,204,207,195,3,0,5734 3720 DATA 192,240,188,112,88,113,195,5 1,60,0,0,0,0,0,0,48,9603 3730 DATA 12,60,60,63,252,63,252,60,60 ,63,252,60,60,60,60,63,6366 3740 DATA 252,60,60,0,0,240,0,192,204, 195,3,0,192,204,60,51,8155 3750 DATA 60,0,0,0,104,70,22,118,104,7 0,22,118,145,145,65,65,5072 3760 DATA 19,19,40,40,0,0,64,64,0,0,0, 0,167,124,81,103,1827 3770 DATA 65,72,79,79,19,63,107,107,12 8,84,40,128,0,0,0,0,578 3780 DATA 64,64,64,64,0,0,106,72,24,12 0,112,112,112,78,0,64,3302 3790 DATA 14,14,14,0,77,64,65,0,0,220, 65,76,69,188,72,156,6030 3800 DATA 74,100,75,44,76,68,77,0,0,16 3,107,51,19,219,163,66,6035 3810 DATA 67,68,70,70,71,0,1,1,1,1,163 ,18,218,66,70,65,2749 3820 DATA 60,60,255,226,2,227,2,0,96,0 ,0,0,0,0,0,0,7919
.OPT OBJ .OPT NOLIST ; MAZERUNNER by Matt Fruin 12/86 STICK0 = $0278 HPOS = $D000 PCLR = $02C0 EHPOS = $D002 EPCLR = $02C2 RND = $D20A VVBLKI = $0222 CONSOL = $D01F L1 = $CB VALUE = $CF NEWDIR = $CF SPACES = $D0 L2 = $CC PLOC1 = $CB PLOC2 = $CC PMLO = $CD PMHI = $CE L3 = $CE L4 = $CF HALF = $D1 YG1 = $D0 YG2 = $D1 FB = $CE FLAG = $CF LINE = $CD MVYET? = $E0 CHAR = $CE ENEMLO = $0600 ENEMHI = $0610 ENEMASK = $0620 DIR = $0630 MVCTER = $0640 ENEMNUM = $0650 PLRLO = $0660 PLRHI = $0662 PLRY = $0664 PLRX = $0666 PLDIR = $0668 PLMVCTER = $066A PLRNUM = $066C DIR2 = $066D DIR3 = $066E ENLO = $0670 ENHI = $0674 ENY = $0678 ENX = $067C EDIR = $0680 EMVCTER = $0684 ENNUM = $0688 FP? = $06DF NOMV = $06E4 CLR = $068A LMT = $06E7 WTR = $06E5 FLASH = $06DE MASK = $06E3 KILL? = $06E8 PY? = $06EA PARALYZCNT = $06EC MOVPLR? = $06D0 COLRCT = $06D8 CAUGHT = $06D2 READY? = $06D6 TMP1 = $06D4 CLRLIST = $06A0 TM = $06A8 TMSCREEN = $4E58 ICCOM = $0342 ICBAL = $0344 ICBAH = $0345 ICAX1 = $034A ICAX2 = $034B CIOV = $E456 SAVMSC = $58 SDMCTL = $022F SDLSTL = $0230 ENCNT1 = $06F0 ENCNT2 = ENCNT1+1 ENEMSPD = ENCNT1+2 P1SPD = ENCNT1+3 P2SPD = ENCNT1+4 POSCNTR = $06B0 POSLO = POSCNTR+2 POSHI = POSCNTR+3 LOVAL = POSCNTR+$12 HIVAL = POSCNTR+$18 MOVCNTR = POSCNTR+$10 P1SPDCNT = $06E0 P2SPDCNT = $06E1 ENEMSCNT = $06E2 SOUND = $06DA LOUD = $06DB SOUNDLP1 = $06DC SOUNDLP2 = $06DD ; *= $6000 RESET LDA #START&255 STA $0C LDA #START/256 STA $0D LDA #$01 STA $09 START JSR SCREENLIST LDA #$40 STA L2 LDA #$00 STA L1 LDX #$00 CLS1 LDY #$00 CLS2 STA (L1),Y INY BNE CLS2 INC L2 INX CPX #$10 BNE CLS1 LDA #$53 STA L1 LDX #$60 LDA #$03 STA ICCOM,X LDA #$00 STA ICBAH,X LDA #$CB STA ICBAL,X LDA #$0C STA ICAX1,X LDA #$00 STA ICAX2,X JSR CIOV LDA #$00 STA SAVMSC LDA #$40 STA SAVMSC+1 LDA #$00 STA SDMCTL LDA #$00 STA SDLSTL LDA #$80 STA SDLSTL+1 LDA #$2E STA SDMCTL LDA #$FF STA $D01C LDA #$94 STA $02C6 LDA #$96 STA $02C4 LDA #$44 STA $02C5 JSR TITLE JSR BORDER JSR DOCHOICES JSR PUTBLIPS LDA #$61 STA LMT LDA #TRU&255 STA VVBLKI+2 LDA #TRU/256 STA VVBLKI+3 JMP SETUP2 ; TITLE LDY #$00 STY L1 LDA #$40 STA L2 LP1 LDA MESSAGE,Y STA (L1),Y INY CPY #$A0 BNE LP1 RTS ; BORDER LDA #$00 STA YG1 STA YG2 LDA #$A0 STA L3 LDA #$40 STA L4 LDX #$05 TOP JSR VERT DEX BPL TOP LDX #$57 MIDDLE JSR SIDES DEX BPL MIDDLE JSR BOTTOMROW JSR BOTTOMROW LDX #$05 BOTTOM JSR VERT DEX BPL BOTTOM JMP DOMAZE BOTTOMROW LDY #$00 JSR SIDE INY LDA #$00 LLP4 STA (L3),Y INY CPY #$19 BNE LLP4 LDA #$F0 STA (L3),Y JMP ADD40 VERT LDY #$00 LDA #$FF LOOP3 STA (L3),Y INY CPY #$19 BNE LOOP3 LDA #$F0 STA (L3),Y JSR ADD40 RTS SIDES LDY #$00 JSR SIDE INY LDA #$00 LOOP4 STA (L3),Y INY CPY #$18 BNE LOOP4 JSR SIDE ADD40 CLC LDA #$28 ADC L3 BCC J1 INC L4 J1 STA L3 RTS SIDE LDA #$FF STA (L3),Y INY LDA #$F0 STA (L3),Y RTS DOMAZE LDA RND AND #$3F STA L3 SEC SBC #$1A BCS DOMAZE PP2 LDA RND AND #$3E STA L4 SEC SBC #$30 BCS PP2 LDA #$00 STA L1 STA L2 CLC LDA L4 STA L1 ASL L1 ASL L1 ADC L1 STA L1 LDX #$04 LOOP5 ASL L1 ROL L2 DEX BNE LOOP5 CLC LDA L1 ADC L3 BCC J2 INC L2 J2 STA L1 CLC LDA L1 ADC #$A0 BCC J3 INC L2 J3 STA L1 CLC LDA L2 ADC #$40 STA L2 LDY #$00 LDA (L1),Y AND #$40 BNE DOMAZE LDA #$01 STA FLAG WALL LDA RND AND #$03 ROR A BCC LORR ROR A BCC DN DEC L2 LDY #$60 JSR FILLED? INC L2 LDA FB BNE FILLED DEC L2 JMP PLOTUP DN LDY #$A0 JSR FILLED? LDA FB BNE FILLED JMP PLOTDOWN LORR ROR A BCC LT LDY #$01 JSR FILLED? LDA FB BEQ PLOTRIGHT JMP FILLED LT DEC L2 LDY #$FF JSR FILLED? INC L2 LDA FB BEQ PLOTLEFT JMP FILLED FILLED? LDA (L1),Y AND #$40 STA FB LDA FLAG BNE J4 RTS J4 LDA FB BEQ J5 JMP DONE3 J5 LDA #$01 STA FB RTS FILLED INX CPX #$0F BNE WALL JMP DOMAZE PLOTUP LDA #$50 LDY #$D8 STA (L1),Y LDY #$B0 STA (L1),Y LDY #$88 STA (L1),Y LDY #$60 STA (L1),Y JMP DONE PLOTDOWN LDA #$50 LDY #$50 STA (L1),Y LDY #$78 STA (L1),Y LDY #$C8 STA (L1),Y LDY #$A0 STA (L1),Y JMP DONE PLOTRIGHT LDY #$00 LDA (L1),Y ORA #$55 STA (L1),Y LDY #$28 STA (L1),Y LDA #$50 LDY #$29 STA (L1),Y LDY #$01 STA (L1),Y JMP DONE PLOTLEFT LDY #$27 LDA #$55 STA (L1),Y LDY #$FF DEC L2 STA (L1),Y DONE CLC INC YG1 BNE J6 INC YG2 J6 LDA YG1 CMP #$E4 BNE DONE2 LDA YG2 CMP #$01 BNE DONE2 RTS DONE3 PLA PLA DONE2 CLC TYA ADC L1 BCC J7 INC L2 J7 STA L1 LDX #$00 STX FLAG JMP WALL ; DOCHOICES LDX #$01 STX LINE DEX GETLOC LDA LIST,X STA L1 INX LDA LIST,X STA L2 LDY LINE J8 DEY CPY #$00 BEQ J12 JSR PLUS40 JMP J8 J9 LDA LIST,X CMP #$18 BNE J10 INC L2 J10 CLC ADC L1 BCC J11 INC L2 J11 STA L1 J12 LDY #$00 STY CHAR J13 INX LDA LIST,X CLC ROL A ROL A ADC LINE TAY LDA BYTES,Y LDY CHAR CPY #$09 BEQ J14 STA (L1),Y INY STY CHAR JMP J13 J14 CPX #$97 BNE J9 INC LINE LDA LINE CMP #$05 BEQ OUT LDX #$00 JMP GETLOC OUT LDX #$1F J15 LDA LTS,X STA POSCNTR,X DEX BPL J15 LDX #$05 J16 LDA LTS2,X STA ENCNT1,X DEX BPL J16 RTS PLUS40 LDA L1 CLC ADC #$28 BCC J17 INC L2 J17 STA L1 RTS ; PUTBLIPS LDY #$02 PB2 LDA BLIPS,Y STA L1 LDA BLIPS+3,Y STA L2 LDA BLIPS+6,Y STA (L1),Y DEY BPL PB2 RTS ; CHANGE LDA NOMV BNE LEAVE DEC WTR BPL LEAVE LDA #$04 STA WTR LDA CONSOL CMP #$03 BEQ OPTION CMP #$05 BEQ SELECT CMP #$06 BEQ STARTED LDA $0284 BEQ STARTED LDA $0285 BEQ STARTED LEAVE JSR DOSOUND LV2 JMP $E45F STARTED LDA READY? BNE LV2 JMP SETUPGAME OPTION LDX #$01 LDA MOVCNTR,X CMP #$00 BEQ NOBLACK LDA #$00 JMP STORCOL NOBLACK LDA #$96 STORCOL STA $02C4 LDA POSCNTR ASL A JSR NEWPOS LDA #$00 LDY #$00 STA (L1),Y INC POSCNTR LDA POSCNTR CMP #$07 BNE PLUS5 LDA #$00 STA POSCNTR PLUS5 CLC ASL A JSR NEWPOS LDA #$FF LDY #$00 STA (L1),Y JMP LEAVE NEWPOS TAX LDA POSLO,X STA L1 LDA POSHI,X STA L2 RTS SELECT LDA POSCNTR TAX SEC SBC #$02 BCS ISIT2 JSR CHANGELOC LDA #$00 STA (L1),Y INC MOVCNTR,X LDA MOVCNTR,X CMP #$03 BNE NOT3 LDA #$00 STA MOVCNTR,X NOT3 JSR CHANGELOC LDA #$3C STA (L1),Y JMP LEAVE CHANGELOC LDA POSCNTR BEQ NNOT1 LDA #$03 NNOT1 CLC ADC MOVCNTR,X TAY LDA LOVAL,Y STA L1 LDA HIVAL,Y STA L2 LDY #$00 RTS ISIT2 SBC #$01 BCS ISIT3 INC ENCNT2 LDA ENCNT2 CMP #$0A BNE ADD1 INC ENCNT1 LDA #$00 STA ENCNT2 ENEMINC LDA POSCNTR ASL A JSR NEWPOS DEC L1 DEC L1 LDA ENCNT1 JSR DOCHAR ADD1 LDA ENCNT2 CMP #$07 BNE NOTYET LDA ENCNT1 CMP #$01 BNE NOTYET LDA #$00 STA ENCNT1 STA ENCNT2 JMP ENEMINC NOTYET LDA POSCNTR ASL A JSR NEWPOS DEC L1 LDA ENCNT2 JSR DOCHAR JMP LEAVE DOCHAR ASL A ASL A ADC #$6D DOCHAR2 TAX LDY #$00 J18 LDA BYTES,X STA (L1),Y ADD40TOY TYA CLC ADC #$28 TAY INX CPY #$A0 BNE J18 RTS ISIT3 SBC #$01 BCS ISIT4OR5 LDA POSCNTR ASL A JSR NEWPOS DEC L1 DEC L1 INC ENEMSPD LDA ENEMSPD CMP #$05 BNE NOT5 LDA #$01 STA ENEMSPD NOT5 JSR DOCHAR JMP LEAVE ISIT4OR5 SBC #$02 BCS ITS6 LDA POSCNTR ASL A JSR NEWPOS DEC L1 LDA POSCNTR AND #$01 TAX INC P1SPD,X LDA P1SPD,X CMP #$05 BNE NOTOVER LDA #$01 STA P1SPD,X NOTOVER JSR DOCHAR JMP LEAVE ITS6 LDA POSCNTR ASL A JSR NEWPOS DEC L1 DEC L1 DEC L1 LDA LMT EOR #$54 STA LMT JSR DOCHAR2 JMP LEAVE ; STOPPED LDA #VRTWAIT&255 STA VVBLKI LDA #VRTWAIT/256 STA VVBLKI+1 WAIT3 JSR WAIT SETUP LDA #$00 STA FP? LDA MOVCNTR BNE SETUP2 INC FP? LDA #$02 STA MASK SETUP2 LDA #$04 STA WTR LDA #CHANGE&255 STA VVBLKI LDA #CHANGE/256 STA VVBLKI+1 LDA #$00 STA NOMV LDA #$96 STA $02C4 JSR ENSETUP LDA #$00 STA KILL? STA KILL?+1 STA PY? STA PY?+1 STA ENEMSCNT STA MVYET? STA P1SPDCNT STA P2SPDCNT SYNCH LDA MVYET? BEQ SYNCH STA NOMV LDA #$A0 STA $D201 JSR SETUPPLS LDA #$00 STA SOUND LDA #$10 STA LOUD LDA #$00 STA $D208 LDA #$03 STA $D20F LDA #$00 STA SOUNDLP1 STA SOUNDLP2 LDA #$0F STA DIR3 STA DIR3+1 WAIT4 JSR WAIT LDA #$01 STA READY? LDA #$00 LDX #$03 UY STA $02C0,X DEX BPL UY LDA #$96 STA $02C4 JSR BORDER JSR INITPLS LDA #$00 STA $D1 JSR SCREENCLR LDA #$FF STA $D01E LDA #VRTBLNK&255 STA VVBLKI LDA #VRTBLNK/256 STA VVBLKI+1 DEC READY? SYNCH2 LDA MVYET? BEQ SYNCH2 LDA SOUND BEQ SOUNDR LDA #$00 STA $D208 LDA #$03 STA $D20F SOUNDR LDA $D01F CMP #$07 BEQ GHJ JMP STOPPED GHJ LDA KILL? BEQ PLRLP LDA KILL?+1 BEQ PLRLP JMP SETUP WAIT LDA $D01F CMP #$07 BNE WAIT RTS PLRLP LDX #$01 PLRLP2 LDA PLRX,X CMP #$84 BNE MOVPL LDA CAUGHT,X BNE MOVPL LDA #$05 STA SOUND LDA #$0F STA SOUNDLP1 LDA #$1E STA SOUNDLP2 JMP SETUP MOVPL DEX BPL PLRLP2 DEC MVYET? LDX #$01 MOV? LDA KILL?,X BNE NXTPL LDA PY?,X BEQ MOVYET? JSR ISPYD? LDA MOVPLR? BEQ NXTPL JMP GOMOV MOVYET? INC P1SPDCNT,X LDA P1SPDCNT,X CMP P1SPD,X BNE NXTPL GOMOV LDA #$00 STX PLRNUM STA P1SPDCNT,X JSR J32 NXTPL DEX BPL MOV? MVNEMY? INC ENEMSCNT LDA ENEMSCNT CMP ENEMSPD BEQ GOMOVENEM JMP SYNCH2 GOMOVENEM LDA #$00 STA ENEMSCNT LDA MOVCNTR BEQ PLAMOV JSR BEGIN JMP SYNCH2 PLAMOV JSR MVNEM JMP SYNCH2 ; BEGIN INC ENEMNUM LDX ENEMNUM CPX #$10 BNE J19 LDX #$FF STX ENEMNUM RTS J19 LDA DIR,X CMP #$06 BEQ BEGIN LDA ENEMLO,X STA L1 LDA ENEMHI,X STA L2 ROL MVCTER,X ROL MVCTER,X BCS PICKDIR JSR MVENEM EXIT LDA L1 STA ENEMLO,X LDA L2 STA ENEMHI,X JMP BEGIN PICKDIR LDA DIR,X CMP #$04 BEQ J21 AND #$08 BEQ J20 LDA #$40 STA MVCTER,X LDY #$00 JSR CLEAR LDY #$28 JSR CLEAR LDA #$06 STA DIR,X JMP BEGIN J20 DEC L2 LDY #$D8 JSR CHECKVERT INC L2 LDY #$00 JSR CHECKHORIZ2 LDY #$01 JSR CHECKHORIZ2 LDY #$50 JSR CHECKVERT2 LDA SPACES CMP #$01 BNE J21 LDA DIR,X EOR #$02 JMP DIROK2 J21 LDA RND AND #$03 STA NEWDIR LDA DIR,X CMP #$04 BEQ DIRPICKED LDA NEWDIR EOR DIR,X BEQ DIRPICKED AND #$01 BEQ J21 DIRPICKED LDA NEWDIR ROR A BCC LEFTORRIGHT ROR A BCC CHECKDOWN LDY #$D8 DEC L2 JSR CHECKVERT INC L2 LDA SPACES BEQ J21 JMP DIROK3 CHECKDOWN LDY #$50 JSR CHECKVERT LDA SPACES BEQ J21 JMP DIROK3 LEFTORRIGHT ROR A BCC CHECKLEFT LDY #$01 JSR CHECKHORIZ LDA SPACES BEQ J21 JMP DIROK3 CHECKLEFT LDY #$00 JSR CHECKHORIZ LDA SPACES BEQ J21 DIROK3 LDA NEWDIR DIROK2 STA DIR,X DIROK LDA #$01 STA MVCTER,X JSR MVENEM JMP EXIT MVENEM LDA DIR,X ROR A BCC J23 ROR A BCC J22 LDY #$28 JSR CLEAR DEC L2 LDY #$D8 JSR PLOT1 JMP DONMOV J22 LDY #$00 JSR CLEAR LDY #$50 JSR PLOT1 LDY #$28 JMP DONMOV J23 LDY #$00 JSR CLEAR LDY #$28 JSR CLEAR LDA DIR,X ROR A ROR A BCC J27 CLC ROR ENEMASK,X ROR ENEMASK,X BCS J25 J24 LDY #$00 JSR PLOT1 LDY #$28 JSR PLOT1 RTS J25 LDA ENEMASK,X BEQ J26 LDY #$00 JSR PLOT1 LDY #$28 JSR PLOT1 LDY #$01 LDA #$80 JSR PLOT2 LDY #$29 LDA #$80 JSR PLOT2 RTS J26 LDY #$01 JSR DONMOV LDA #$A0 STA ENEMASK,X JMP J24 J27 ROL ENEMASK,X BCS J29 ROL ENEMASK,X J28 LDY #$00 JSR PLOT1 LDY #$28 JSR PLOT1 RTS J29 CLC ROL ENEMASK,X LDA ENEMASK,X BEQ J30 JSR J28 DEC L2 LDY #$FF LDA #$02 JSR PLOT2 INC L2 LDA #$02 LDY #$27 JSR PLOT2 RTS J30 LDY #$FF DEC L2 JSR DONMOV LDA #$0A STA ENEMASK,X JMP J28 DONMOV TYA CLC ADC L1 BCC J31 INC L2 J31 STA L1 RTS CLEAR LDA ENEMASK,X EOR #$FF AND (L1),Y STA (L1),Y RTS PLOT1 LDA ENEMASK,X PLOT2 ORA (L1),Y STA (L1),Y RTS ; INITPLS LDA #$78 STA $D407 CLC ADC #$02 STA PMHI LDA #$FF STA PLRNUM LDA #$03 STA $D01D LDX #$03 LDA #$01 CLRLOOP STA $D008,X DEX BPL CLRLOOP LDA #$CA STA $02C0 LDA #$8A STA $02C1 MKM RTS ; MOVPLS INC PLRNUM LDA PLRNUM CMP #$02 BNE J32 LDA #$FF STA PLRNUM RTS J32 LDA PLRNUM TAX BEQ J33 LDA #$80 J33 STA PMLO LDA PLRLO,X STA PLOC1 LDA PLRHI,X STA PLOC2 ROL PLMVCTER,X ROL PLMVCTER,X BCS PLPICKDIR JSR MVPLS PLEXIT LDA MOVCNTR BNE PLEXT2 JSR CAPTENEMY? LDX PLRNUM PLEXT2 RTS PLPICKDIR LDA #$00 STA FLAG STA PLDIR,X LDA STICK0,X TRANSDIR STA DIR2 CMP #$0B BEQ CHEKDIR INC PLDIR,X CMP #$0D BEQ CHEKDIR INC PLDIR,X CMP #$07 BEQ CHEKDIR INC PLDIR,X CMP #$0E BEQ CHEKDIR LDA #$00 STA PLDIR,X LDA DIR2 ORA DIR3,X CMP #$0F BEQ GOEXIT2 INC FLAG LDA DIR2 EOR #$0F EOR DIR3,X JMP TRANSDIR GOEXIT LDA FLAG BEQ NOMOV LDA #$00 STA PLDIR,X DEC FLAG LDA DIR3,X JMP TRANSDIR NOMOV LDA SOUND BNE GOEXIT2 LDA #$01 STA SOUND GOEXIT2 LDA #$40 STA PLMVCTER,X JMP PLEXIT CHEKDIR LDA #$00 STA $4D LDA PLDIR,X ROR A BCC PLLEFTORRIGHT ROR A BCC PLCHECKDOWN PLCHECKUP LDY #$D8 DEC PLOC2 JSR CHECKVERT INC PLOC2 LDA SPACES BEQ GOEXIT DEC PLRHI,X LDY #$60 JSR ADJUSTL JMP PLDIROK PLCHECKDOWN LDY #$50 JSR CHECKVERT LDA SPACES BEQ GOEXIT LDY #$A0 JSR ADJUSTL JMP PLDIROK PLLEFTORRIGHT ROR A BCC PLCHECKLEFT PLCHECKRIGHT LDY #$01 JSR CHECKHORIZ LDA SPACES BEQ GOEXIT JSR ADJUSTL JMP PLDIROK PLCHECKLEFT LDY #$00 JSR CHECKHORIZ LDA SPACES BEQ GOEXIT DEC PLRHI,X LDY #$FF JSR ADJUSTL PLDIROK LDA DIR2 STA DIR3,X LDA #$01 STA PLMVCTER,X JSR MVPLS JMP PLEXIT MVPLS LDY PLRY,X LDA #$01 JSR EMIDDLE LDA PLDIR,X ROR A BCC RIGHTORLEFT ROR A BCC DOWN UP DEC PLRY,X JMP YCHANGE DOWN INC PLRY,X YCHANGE LDY PLRY,X JMP NEWDRAW RIGHTORLEFT ROR A BCC LEFT RIGHT INC PLRX,X JMP CHANGEX LEFT DEC PLRX,X CHANGEX LDA PLRX,X STA HPOS,X RTS ADJUSTL TYA CLC ADC PLRLO,X BCC J36 INC PLRHI,X J36 STA PLRLO,X RTS ; TRANSFER LDA HALF EOR #$02 STA HALF INC PMHI TAX LDA #$00 STA PMLO LOOOOOP4 JSR SWITCH INX LDA #$80 STA PMLO JSR SWITCH DEC PMHI RTS SWITCH TXA EOR #$02 TAX LDA ENY,X TAY LDA #$00 STA (PMLO),Y JSR EMIDDLE STA (PMLO),Y INY STA (PMLO),Y TXA EOR #$02 TAX AND #$01 TAY LDA ENX,X STA EHPOS,Y TXA EOR MASK TAX LDA CLR,X STA EPCLR,Y TXA EOR MASK TAX LDA ENY,X TAY JSR NEWDRAW RTS NEWDRAW LDA #$00 STA (PMLO),Y LDA #$01 JSR EMIDDLE LDA #$00 STA (PMLO),Y RTS EMIDDLE INY STA (PMLO),Y INY STA (PMLO),Y INY RTS ; MVNEM INC ENNUM LDA ENNUM CMP #$04 BNE NOT1 LDA #$FF STA ENNUM JMP CAPTENEMY? NOT1 TAX LDA ENLO,X STA L1 LDA ENHI,X STA L2 ROL EMVCTER,X ROL EMVCTER,X BCS EPICKDIR JSR MVFOUR JMP MVNEM EPICKDIR DEC L2 LDY #$D8 JSR CHECKVERT INC L2 LDY #$00 JSR CHECKHORIZ2 LDY #$01 JSR CHECKHORIZ2 LDY #$50 JSR CHECKVERT2 LDA SPACES CMP #$01 BNE J37 LDA EDIR,X EOR #$02 STA VALUE JMP J38 J37 LDA RND AND #$03 STA VALUE EOR EDIR,X BEQ J38 AND #$01 BEQ J37 J38 LDA VALUE ROR A BCC ELEFTORRIGHT ROR A BCC ECHECKDOWN LDY #$D8 DEC L2 JSR CHECKVERT INC L2 LDA SPACES BEQ J37 LDY #$60 DEC ENHI,X JSR EADJUSTL JMP DIRPICKED2 ECHECKDOWN LDY #$50 JSR CHECKVERT LDA SPACES BEQ J37 LDY #$A0 JSR EADJUSTL JMP DIRPICKED2 ELEFTORRIGHT ROR A BCC ECHECKLEFT LDY #$01 JSR CHECKHORIZ LDA SPACES BEQ J37 LDY #$01 JSR EADJUSTL JMP DIRPICKED2 ECHECKLEFT LDY #$00 JSR CHECKHORIZ LDA SPACES BEQ J37 LDY #$FF DEC ENHI,X JSR EADJUSTL DIRPICKED2 LDA VALUE DIRPICKED3 STA EDIR,X DIRPICKD LDA #$01 STA EMVCTER,X JSR MVFOUR JMP MVNEM CHECKVERT LDA #$00 STA SPACES CHECKVERT2 LDA (L1),Y AND #$05 BNE JUUMP03 INC SPACES JUUMP03 RTS CHECKHORIZ LDA #$00 STA SPACES CHECKHORIZ2 LDA (L1),Y AND #$50 BNE JUUMP04 INC SPACES JUUMP04 RTS MVFOUR LDA EDIR,X ROR A BCC ERIGHTORLEFT ROR A BCC EDOWN EUP DEC ENY,X RTS EDOWN INC ENY,X RTS ERIGHTORLEFT ROR A BCC ELEFT ERIGHT INC ENX,X RTS ELEFT DEC ENX,X RTS EADJUSTL TYA CLC ADC ENLO,X BCC J39 INC ENHI,X J39 STA ENLO,X RTS ; SETUPGAME LDA #$00 STA $4D STA FP? STA MASK JSR DOBOXES LDA MOVCNTR BNE J40 LDA #$04 STA CAUGHT STA CAUGHT+1 LDA #$C0 STA $D40E LDA #DLI&255 STA $0200 LDA #DLI/256 STA $0200+1 JMP DONSETUP J40 LDA #$40 STA $D40E LDA #$00 STA CAUGHT STA CAUGHT+1 LDA ENCNT1 BEQ NO10 LDA #$0A NO10 ADC ENCNT2 TAX DEX LDA #$04 STORDIR DEX BMI DONSETUP STA DIR,X JMP STORDIR DONSETUP LDA #$01 STA MVYET? LDX #$05 LDA #$00 J41 STA TM,X DEX BPL J41 LDA #$FF STA $02FC JMP $E45F ; VRTBLNK LDA $02FC CMP #$FF BEQ J42 LDA #START&255 STA $E475 LDA #START/256 STA $E476 JMP VCTRSET J42 LDA #$01 STA MVYET? LDA MOVCNTR+1 BEQ J44 LDA FLASH BEQ J43 DEC FLASH JMP J44 J43 LDA #$00 STA $02C4 LDA MOVCNTR+1 CMP #$01 BEQ J44 LDA RND AND #$7F BNE J44 LDA #$0A STA FLASH LDA #$96 STA $02C4 J44 LDA MOVCNTR BNE CHECKPLFLD JSR TRANSFER JMP ENDVRT CHECKPLFLD LDX #$00 J45 LDA $D004,X BEQ NXTPLR LDA MOVCNTR CMP #$01 BEQ PY LDA KILL?,X BNE NXTPLRGGO LDA #$FF STA KILL?,X LDA #$02 STA SOUND LDA #$80 STA SOUNDLP2 LDA #$0F STA SOUNDLP1 NXTPLRGGO JMP NXTPLR PY LDA PY?,X CMP #$FF BEQ NXTPLR LDA #$0F STA SOUNDLP1 LDA #$E0 STA SOUNDLP2 LDA #$04 STA SOUND LDA #$FF STA PY?,X NXTPLR INX CPX #$02 BNE J45 ENDVRT LDA #$FF STA $D01E JSR TIMERCLR JMP $E45F ; ISPYD? LDA #$00 STA MOVPLR? INC PARALYZCNT,X LDA PARALYZCNT,X CMP PY?,X BNE BYE LSR PY?,X LDA #$00 STA PARALYZCNT,X LDA PY?,X CMP #$01 BNE J46 DEC PY?,X J46 INC MOVPLR? BYE RTS ; DOBOXES LDA #$1E STA L1 LDA #$43 STA L2 LDX #$04 J47 JSR DOBOX DEX BNE J47 INX J48 JSR ADD240TOL INX CPX #$04 BNE J48 J49 JSR DOBOX DEX BNE J49 LDX #$07 J50 LDA CLRLIST2,X STA CLRLIST,X DEX BPL J50 RTS DOBOX LDY #$00 LDA MOVCNTR BNE PLOTBOX LDA #$A8 PLOTBOX AND #$A8 STA (L1),Y LDY #$28 STA (L1),Y LDY #$50 STA (L1),Y ADD240TOL CLC LDA #$F0 ADC L1 BCC J51 INC L2 J51 STA L1 RTS ; DLI PHA TYA PHA LDY COLRCT LDA CLRLIST,Y STA $D40A STA $D017 INY CPY #$08 BNE J52 LDY #$00 J52 STY COLRCT PLA TAY PLA RTI ; SETUPPLS LDX #$30 J53 LDA DATALIST,X STA $0660,X DEX BPL J53 RTS ; SCREENLIST LDY #$00 J54 LDA DLISTDATA,Y STA $8000,Y INY CPY #$0D BNE J54 TYA J55 STA $8000,Y INY CPY #$6A BNE J55 LDA #$41 STA $8000,Y INY LDA #$00 STA $8000,Y INY LDA #$3F STA $8000,Y LDY #$15 LDX #$04 J56 LDA #$8D STA $8000,Y STA $8029,Y TYA CLC ADC #$06 TAY DEX BNE J56 RTS ; ENSETUP LDX #$0F J57 LDA #$68 STA $0600,X LDA #$4F STA $0610,X LDA #$0A STA $0620,X LDA #$06 STA $0630,X LDA #$40 STA $0640,X LDA #$00 STA $0650,X DEX BPL J57 RTS ; SCREENCLR LDY #$00 LDA #$00 J58 STA $7800,Y STA $7900,Y STA $7A00,Y STA $7B00,Y INY BNE J58 LDA #$01 STA $7A14 STA $7A15 STA $7A94 STA $7A95 LDA #$28 STA $D000 STA $D001 RTS ; TIMERCLR LDX #$04 J59 INC TM,X LDA TM,X CMP #$0A BNE J60 LDA #$00 STA TM,X DEX CPX #$00 BNE J59 J60 LDX #$03 J61 LDA TM,X CLC ROL A ROL A ADC #$6D TAY J62 LDA BYTES,Y STA TMSCREEN,X JSR TIADD40TOX INY TXA SEC SBC #$9F BCC J62 TXA AND #$03 TAX DEX CPX #$00 BNE J61 LDX #$03 J63 LDA TM,X CMP #$09 BNE BYETM DEX BNE J63 LDA LMT CMP #$61 BNE BYETM LDA #$01 STA KILL? STA KILL?+1 LDA #$06 STA SOUND LDA #$00 STA SOUNDLP2 LDA #$28 STA SOUNDLP1 BYETM JMP DOSOUND TIADD40TOX TXA ADC #$28 TAX RTS ; CAPTENEMY? LDX #$01 J65 LDY #$03 J66 LDA PLRX,X EOR ENX,Y AND #$FE BNE EXITLOOP LDA PLRY,X EOR ENY,Y AND #$FE BNE EXITLOOP STY TMP1 TYA CPX #$00 BEQ J67 CLC ADC #$04 J67 TAY LDA CLRLIST,Y BEQ BLANK LDA #$00 STA CLRLIST,Y DEC CAUGHT,X LDA #$0F STA SOUNDLP1 LDA #$00 STA SOUNDLP2 LDA #$03 STA SOUND BLANK LDY TMP1 EXITLOOP DEY BPL J66 DEX BEQ J65 RTS ; DOSOUND LDA SOUND BEQ BYESOUND CMP #$02 BEQ SOUND2 CMP #$03 BEQ SOUND3 CMP #$04 BEQ SOUND4 CMP #$05 BNE K8 JMP SOUND5 K8 CMP #$06 BNE K9 JMP SOUND6 K9 LDX LOUD DEX STX LOUD LDA #$F0 STA $D200 TXA CLC ADC #$A0 STA $D201 CPX #$00 BNE BYESOUND STX SOUND LDA #$10 STA LOUD BYESOUND RTS SOUND2 LDA #$20 JSR J71 LDA SOUNDLP2 SBC #$08 BCS CONTSND2 LDX SOUNDLP1 DEX BMI BYESOUND2 STX SOUNDLP1 LDA #$80 CONTSND2 STA SOUNDLP2 RTS BYESOUND2 LDA #$00 STA SOUND RTS SOUND3 LDA #$A0 JSR J71 LDA SOUNDLP2 CLC ADC #$20 BCC CONTSND2 LDX SOUNDLP1 DEX DEX BMI ENDSOUND STX SOUNDLP1 LDA #$00 STA SOUNDLP2 RTS ENDSOUND LDA #$A0 STA $D201 JMP BYESOUND2 SOUND4 LDA #$40 JSR J71 LDA SOUNDLP2 SEC SBC #$20 BCS CONTSND2 LDX SOUNDLP1 DEX BMI BYESOUND2 STX SOUNDLP1 LDA #$E0 STA SOUNDLP2 RTS SOUND5 LDA #$A0 JSR J71 LDA SOUNDLP2 CLC ADC #$20 BCC J68 LDX SOUNDLP1 DEX BMI BYESOUND2 STX SOUNDLP1 TXA ASL A J68 STA SOUNDLP2 RTS SOUND6 LDA #$6E STA $D201 LDA SOUNDLP1 STA $D200 LDX SOUNDLP2 INX CPX #$3C BNE J70 LDA SOUNDLP1 CMP #$3C BNE J69 LDA #$A0 STA $D201 JMP BYESOUND2 J69 LDA #$3C STA SOUNDLP1 LDX #$00 J70 STX SOUNDLP2 RTS J71 CLC ADC SOUNDLP1 STA $D201 LDA SOUNDLP2 STA $D200 RTS ; VCTRSET LDA #PAUSVCTR&255 STA VVBLKI LDA #PAUSVCTR/256 STA VVBLKI+1 LDA #$FF STA $02FC LDA #$A0 STA $D201 PAUSVCTR LDA #$00 STA $02C4 LDA MOVCNTR BNE WY JSR TRANSFER WY LDA $02FC CMP #$FF BEQ GD LDA #$FF STA $02FC LDA #VRTBLNK&255 STA VVBLKI LDA #VRTBLNK/256 STA VVBLKI+1 LDA #$FF STA $D01E LDA MOVCNTR+1 BNE GD LDA #$96 STA $02C4 GD JMP $E45F ; TRU LDA FP? BEQ TRU2 JSR TRANSFER TRU2 JMP $E462 ; VRTWAIT LDA MOVCNTR BNE VRTWAIT3 JSR TRANSFER VRTWAIT3 JSR DOSOUND JMP $E45F ; LIST .BYTE 211,65,44,45,46,47,48,37,26,26,26 .BYTE 200,4,1,19,22,23,20,6,26,26 .BYTE 200,19,1,20,1,12,24,25,6,26 .BYTE 200,11,51,52,53,26,26,26,26,26 .BYTE 24,38,39,40,41,42,43,22,24,37 .BYTE 200,4,12,6,1,20,26,26,26,26 .BYTE 200,2,3,1,4,11,18,23,22,26 .BYTE 200,7,12,1,21,8,6,21,26,26 .BYTE 24,6,13,14,15,16,17,37,27,28 .BYTE 24,21,19,6,6,5,37,26,26,26 .BYTE 200,6,13,14,15,16,17,37,28,26 .BYTE 200,19,12,1,24,6,20,28,37,28 .BYTE 200,19,12,1,24,6,20,29,37,28 .BYTE 24,12,9,10,49,50,37,24,26,26 .BYTE 24,22,9,10,6,20,37,27,27,27 ; BYTES .BYTE 0,48,204,252,204,48,204,252,204 .BYTE 240,207,243,252,48,48,48,60 .BYTE 252,192,192,252,240,204,204,240 .BYTE 252,240,192,252,252,240,192,192 .BYTE 204,252,204,204,207,207,204,204 .BYTE 60,252,204,12,204,240,240,204 .BYTE 192,192,192,252,243,243,207,207 .BYTE 63,60,48,63,60,63,51,48 .BYTE 243,243,48,48,48,240,192,192 .BYTE 252,204,204,252,252,204,252,192 .BYTE 252,204,240,204,252,240,12,252 .BYTE 252,48,48,48,204,204,204,252 .BYTE 204,252,48,48,252,60,192,252 .BYTE 0,0,0,0,252,204,204,252 .BYTE 48,240,48,252,252,60,192,252 .BYTE 252,60,12,252,192,204,252,12 .BYTE 252,240,12,252,252,192,252,252 .BYTE 252,12,48,192 .BYTE 252,204,252,252,252,204,252,12 .BYTE 0,48,0,48,204,204,252,48 .BYTE 207,207,192,207,204,12,204,204 .BYTE 240,207,243,252,51,51,51,51 .BYTE 12,12,12,204,255,192,207,255 .BYTE 12,51,63,51,60,63,51,48 .BYTE 243,243,51,51,240,192,0,240 .BYTE 207,195,195,195,192,0,0,0 .BYTE 204,204,204,207,12,12,12,207,0,0,0,192 ; MESSAGE .BYTE 255,255,255,60,60,15,240,63,252,63,252,63,240,60,60,60,60,60,60,63,252,63,240,0,48,0,0,243,195 .BYTE 15,207,192,252,252,195,51,204,255,255,255 .BYTE 0,0,0,63,252,60,60,0,252,63,240,60,60,60,60,63,60,63,60,63,240,60,60,0,60,204,0,204,204,195 .BYTE 3,0,240,204,195,51,204,0,0,0 .BYTE 0,0,0,51,204,63,252,63,0,60,0,63,192,60,60,60,252,60,252,60,0,63,192,0,60,48,0,204,207,195,3,0,192 .BYTE 240,195,51,60,0,0,0 .BYTE 0,0,0,48,12,60,60,63,252,63,252,60,60,63,252,60,60,60,60,63,252,60,60,0,0,240,0,192,204,195,3,0,192 .BYTE 204,60,51,60,0,0,0 ; CLRLIST2 .BYTE $68,$46,$16,$76,$68,$46,$16,$76 DATALIST .BYTE 145,145,65,65,19,19,40,40,0,0,64,64,0,0,0,0 .BYTE 167,124,81,103,65,72,79,79,19,63,107,107,128,84,40,128 .BYTE 0,0,0,0,64,64,64,64,0,0,106,72,24,120 DLISTDATA .BYTE 112,112,112,78,0,64,14,14,14,0,77,64,65 LTS .BYTE 0,0,220,65,76,69,188,72,156,74,100,75,44,76,68,77,0,0,163,107,51,19,219,163,66,67,68,70,70,71 LTS2 .BYTE 0,1,1,1,1 BLIPS .BYTE 163,18,218,66,70,65,$3C,$3C,$FF *= $02E0 .WORD RESET