A.N.A.L.O.G. ISSUE 72 / MAY 1989 / PAGE 75
It’s audition night at one of the toughest circuses in the world. You’ve heard the circus is looking for a clown, but not just any clown, they want someone who is also an acrobatic expert! The audition is simple enough.
Standing on a 100-foot-high platform, you must jump across numerous rising balloons to get to a platform on the other side of the circus tent, and when you get there, you have to try to make it back again—but don’t fall, because this circus doesn’t use nets.
The game starts with you, the clown, standing on the platform at the left side of the screen. You must jump from balloon to balloon to get to the platform on the right side of the screen, then make it back to the platform on the left again. You control the clown with a joystick. To move left or right, simply move the joystick in the corresponding direction. To jump, press the fire button, and move the joystick in the direction you wish to jump.
You have a choice of a short jump or a long jump. For a short jump press the fire button, and move the joystick either left or right. For a long jump, press the fire button, and move the joystick either diagonal right or diagonal left. When you land on a balloon, you can jump off, drop off the side to a balloon below you or just stand there and enjoy the ride to the top of the screen.
A status line at the top of the screen displays your score, the level you are currently on, and the number of clowns you have remaining. You get 500 points for each level you complete. Also, a bonus dollar sign will occasionally rise up on one of the balloons. Touching it gives you a 100-point bonus.
Crazy Clown Jumper has nine levels of difficulty. You’ll advance in level every time you make it completely around. That is, jumping from the left platform to the right. then back again. At Level 2, the platforms will begin to slowly rise and fall. At Level 3, they’ll also begin to expand and contract. The speed of the balloons and platforms will increase as you progress to higher levels, and the number of balloons appearing on screen will decrease.
You begin the game with four men. If you make it to Level 6, you’ll gain an extra man.
1000 DATA 255,255,0,64,171,76,32,136,68,32,147,68,162,143,169,0,4652 1010 DATA 149,0,232,208,251,32,181,68, 32,219,69,169,10,141,200,2,6346 1020 DATA 169,130,141,196,2,169,10,141 ,198,2,169,68,141,197,2,169,6680 1030 DATA 248,141,199,2,160,2,169,0,14 5,88,32,129,74,32,109,66,2346 1040 DATA 32,20,75,32,228,67,169,16,14 1,111,2,169,0,141,8,210,4201 1050 DATA 169,3,141,15,210,169,16,133, 137,169,80,133,138,169,9,133,6770 1060 DATA 175,32,18,73,169,0,32,105,69 ,165,196,240,11,198,175,208,9729 1070 DATA 7,169,9,133,175,32,71,73,165 ,180,240,3,32,252,71,165,7732 1080 DATA 191,240,3,32,89,66,165,190,2 40,20,201,4,208,5,169,0,5332 1090 DATA 76,80,67,201,8,208,5,169,1,7 6,80,67,208,6,165,188,5730 1100 DATA 240,2,208,34,230,192,32,131, 65,169,2,32,254,68,165,192,8160 1110 DATA 201,60,240,2,208,179,169,0,1 41,0,210,141,1,210,133,165,8315 1120 DATA 32,91,72,76,94,64,165,188,20 1,4,240,216,165,165,208,9,167 1130 DATA 165,192,201,5,144,3,32,51,66 ,165,162,240,18,169,3,32,3735 1140 DATA 254,68,169,0,133,192,133,162 ,173,148,75,201,41,144,181,165,259 1150 DATA 196,240,13,165,190,240,9,169 ,1,32,254,68,169,0,133,192,7533 1160 DATA 173,132,2,240,72,173,120,2,2 01,15,208,3,76,99,64,201,5650 1170 DATA 7,208,27,32,131,65,165,188,2 40,5,169,3,32,254,68,173,7371 1180 DATA 147,75,201,205,240,36,169,2, 32,105,69,76,99,64,201,11,3898 1190 DATA 208,24,32,131,65,165,188,240 ,5,169,3,32,254,68,173,147,7970 1200 DATA 75,201,45,240,5,169,1,32,105 ,69,76,99,64,173,120,2,2819 1210 DATA 201,11,208,10,169,32,133,194 ,169,9,133,204,208,92,201,7,8258 1220 DATA 208,8,169,0,133,194,133,204, 240,80,201,10,208,10,169,128,9061 1230 DATA 133,194,169,27,133,204,208,6 6,201,6,208,10,169,64,133,194,8708 1240 DATA 169,18,133,204,208,52,76,99, 64,162,0,160,0,200,208,253,9420 1250 DATA 165,180,240,7,134,149,32,252 ,71,166,149,165,196,240,7,134,402 1260 DATA 149,32,71,73,166,149,232,224 ,9,208,226,96,24,165,132,105,9199 1270 DATA 20,133,132,165,133,105,0,133 ,133,96,169,3,133,195,164,204,9206 1280 DATA 185,191,75,133,206,200,185,1 91,75,133,207,200,185,191,75,133,2671 1290 DATA 208,165,196,240,3,32,71,73,1 65,180,240,3,32,252,71,165,8274 1300 DATA 207,32,254,68,173,147,75,201 ,45,208,3,76,158,64,173,147,7812 1310 DATA 75,201,205,208,3,76,158,64,1 65,208,32,105,69,165,190,240,397 1320 DATA 18,201,4,208,5,169,0,76,80,6 7,201,8,208,19,169,1,3449 1330 DATA 76,80,67,165,188,240,10,165, 165,208,3,32,51,66,76,192,5978 1340 DATA 64,165,191,240,3,32,89,66,19 8,206,208,165,230,204,230,204,5295 1350 DATA 230,204,198,195,208,136,76,9 9,64,169,1,133,165,169,180,141,9882 1360 DATA 0,210,169,175,141,1,210,133, 177,169,15,133,176,96,169,1,7459 1370 DATA 133,164,169,250,133,178,141, 2,210,169,239,141,3,210,96,32,8906 1380 DATA 72,66,32,8,72,169,100,133,15 2,169,0,133,153,133,191,32,6732 1390 DATA 223,72,96,169,1,133,166,169, 0,133,169,133,167,165,170,240,1694 1400 DATA 252,169,0,133,170,169,1,133, 169,165,170,240,252,169,1,133,1163 1410 DATA 167,169,0,133,166,169,44,141 ,198,2,160,0,185,138,76,145,7086 1420 DATA 88,200,192,34,208,246,173,13 2,2,208,251,169,0,133,167,133,785 1430 DATA 161,32,228,67,32,18,73,96,32 ,8,72,169,1,133,161,173,4400 1440 DATA 135,75,201,1,208,249,169,1,1 33,166,133,169,169,0,133,200,9797 1450 DATA 133,199,165,199,201,4,208,25 0,169,1,133,171,165,199,201,5,829 1460 DATA 208,250,169,0,133,171,165,19 9,201,23,208,250,169,0,133,166,1288 1470 DATA 133,169,169,1,133,167,160,0, 169,3,141,141,75,141,189,75,7017 1480 DATA 169,130,141,149,75,141,150,7 5,169,180,141,152,75,169,0,133,7964 1490 DATA 128,169,102,133,129,162,2,32 ,204,69,169,1,133,173,141,177,8176 1500 DATA 75,32,193,74,169,17,141,186, 75,169,32,141,188,75,169,0,6374 1510 DATA 133,196,133,185,133,186,141, 176,75,169,100,141,153,75,169,255,2161 1520 DATA 141,184,75,141,185,75,169,10 ,141,154,75,169,0,133,156,133,7448 1530 DATA 157,133,158,76,148,66,170,16 9,0,133,192,138,240,22,169,3,7518 1540 DATA 205,190,75,240,3,76,233,64,2 30,197,208,0,169,2,141,190,9632 1550 DATA 75,76,233,64,169,2,205,190,7 5,240,3,76,233,64,230,197,1091 1560 DATA 165,197,201,2,240,2,208,36,1 69,0,133,197,238,186,75,173,625 1570 DATA 186,75,201,26,208,5,206,186, 75,208,17,32,174,67,32,13,3827 1580 DATA 68,169,244,133,152,169,1,133 ,153,32,223,72,169,3,141,190,8503 1590 DATA 75,76,233,64,160,0,185,11,76 ,145,88,200,192,40,208,246,569 1600 DATA 206,186,75,160,17,173,186,75 ,145,88,169,1,133,161,32,8,4715 1610 DATA 72,169,15,133,198,160,0,162, 0,200,208,253,232,208,250,198,6013 1620 DATA 198,208,246,238,186,75,169,0 ,133,161,160,0,185,227,75,145,82 1630 DATA 88,200,192,40,208,246,172,18 7,75,173,186,75,145,88,173,189,2157 1640 DATA 75,240,15,162,0,160,30,169,3 ,145,88,200,232,236,189,75,610 1650 DATA 208,247,96,173,186,75,201,17 ,240,42,201,18,208,5,169,1,6587 1660 DATA 133,196,96,201,19,208,13,206 ,141,75,169,1,133,185,133,186,9539 1670 DATA 32,105,68,96,201,20,208,4,32 ,105,68,96,201,21,208,4,4442 1680 DATA 32,105,68,96,201,22,208,16,3 2,105,68,206,141,75,238,189,9266 1690 DATA 75,238,188,75,32,248,67,96,2 01,23,208,3,32,105,68,201,6475 1700 DATA 24,208,4,32,105,68,96,201,25 ,208,3,32,105,68,96,56,2868 1710 DATA 173,184,75,233,25,141,184,75 ,141,185,75,56,173,153,75,233,127 1720 DATA 5,141,153,75,24,173,154,75,1 05,10,141,154,75,96,162,96,6331 1730 DATA 169,12,157,66,3,32,86,228,96 ,162,96,169,3,157,66,3,4134 1740 DATA 169,12,157,74,3,169,0,157,75 ,3,169,178,157,68,3,169,5427 1750 DATA 68,157,69,3,32,86,228,96,83, 58,155,169,0,133,128,169,6937 1760 DATA 80,133,129,169,0,133,130,169 ,224,133,131,160,0,162,2,177,8066 1770 DATA 130,145,128,200,208,249,230, 129,230,131,202,208,242,169,8,133,4408 1780 DATA 128,169,80,133,129,160,0,185 ,58,75,145,128,200,192,16,208,9362 1790 DATA 246,162,0,189,98,75,145,128, 200,232,224,8,208,245,169,80,2724 1800 DATA 141,244,2,96,201,0,240,101,2 01,1,240,15,201,2,240,50,7992 1810 DATA 201,3,208,6,169,1,133,163,20 8,1,96,172,148,75,162,12,6349 1820 DATA 177,139,136,145,139,200,200, 202,208,246,24,173,148,75,105,10,9555 1830 DATA 168,162,4,177,141,136,145,14 1,200,200,202,208,246,206,148,75,4726 1840 DATA 208,84,24,173,148,75,105,11, 168,162,12,177,139,200,145,139,9387 1850 DATA 136,136,202,208,246,24,173,1 48,75,105,13,168,162,4,177,141,8422 1860 DATA 200,145,141,136,136,202,208, 246,238,148,75,208,41,240,39,201,3270 1870 DATA 0,240,35,201,1,240,5,201,2,2 40,15,96,206,147,75,173,8711 1880 DATA 147,75,141,0,208,141,1,208,2 08,12,238,147,75,173,147,75,9333 1890 DATA 141,0,208,141,1,208,165,163, 240,5,169,0,133,163,96,32,6963 1900 DATA 131,65,169,0,133,190,133,188 ,173,13,208,133,190,173,5,208,774 1910 DATA 133,188,162,0,189,8,208,240, 4,133,191,208,5,232,224,4,9974 1920 DATA 208,242,169,0,141,30,208,96, 169,0,133,128,169,100,133,129,8404 1930 DATA 162,2,160,0,169,0,145,128,20 0,208,251,230,129,202,208,246,6422 1940 DATA 96,160,11,162,70,169,7,32,92 ,228,173,48,2,133,128,173,6869 1950 DATA 49,2,133,129,160,6,169,0,145 ,128,200,145,128,160,8,169,8190 1960 DATA 38,145,128,200,192,29,208,24 9,165,88,133,132,165,89,133,133,980 1970 DATA 96,165,167,240,3,76,249,71,2 06,140,75,208,27,169,0,133,8059 1980 DATA 77,173,141,75,141,140,75,169 ,1,133,147,133,162,230,202,165,2096 1990 DATA 202,201,8,240,6,141,5,212,76 ,194,71,32,166,65,32,166,6178 2000 DATA 65,165,132,133,135,165,133,1 33,136,169,0,133,202,141,5,212,9560 2010 DATA 32,166,65,160,0,162,0,177,13 2,145,135,200,192,20,208,247,1968 2020 DATA 24,165,135,105,20,133,135,16 5,136,105,0,133,136,32,166,65,5978 2030 DATA 160,0,232,224,22,208,224,165 ,171,240,2,208,82,165,166,240,4191 2040 DATA 94,165,169,208,49,160,0,166, 200,189,62,76,201,128,240,7,9737 2050 DATA 145,135,200,230,200,208,240, 192,0,208,10,169,0,168,145,135,354 2060 DATA 200,192,20,208,249,230,199,2 30,200,165,199,201,7,208,4,169,3212 2070 DATA 1,133,170,76,186,71,160,0,16 9,0,145,135,200,192,20,208,9279 2080 DATA 249,230,199,165,199,201,20,2 08,234,169,1,133,170,208,228,160,4556 2090 DATA 0,185,124,76,145,135,200,192 ,14,208,246,230,199,208,212,206,7254 2100 DATA 135,75,240,3,76,100,71,173,1 42,75,16,19,169,4,133,160,5218 2110 DATA 169,16,133,159,173,142,75,73 ,128,141,142,75,76,9,71,169,6079 2120 DATA 5,133,160,169,17,133,159,173 ,142,75,73,128,141,142,75,162,8832 2130 DATA 0,169,0,157,0,6,232,224,40,2 08,248,164,160,173,10,210,1696 2140 DATA 205,153,75,176,54,173,10,210 ,41,3,170,189,143,75,153,0,6379 2150 DATA 6,169,130,153,20,6,169,0,153 ,40,6,165,180,208,28,165,6950 2160 DATA 161,208,24,173,10,210,205,15 4,75,176,16,185,155,75,133,182,281 2170 DATA 169,1,133,180,132,146,32,52, 72,164,146,200,200,196,159,208,2987 2180 DATA 188,169,0,133,201,169,3,141, 135,75,166,201,160,0,189,0,7524 2190 DATA 6,145,135,200,232,192,20,208 ,245,24,165,201,105,20,133,201,1335 2200 DATA 206,137,75,208,59,169,5,141, 137,75,166,203,160,0,189,66,8425 2210 DATA 75,145,137,232,200,192,8,208 ,245,173,134,75,201,0,240,18,596 2220 DATA 165,203,201,24,240,7,24,105, 8,133,203,16,19,206,134,75,5908 2230 DATA 240,14,165,203,240,7,56,233, 8,133,203,16,3,238,134,75,7711 2240 DATA 165,88,133,132,165,89,133,13 3,165,165,240,28,198,176,240,14,1835 2250 DATA 165,177,41,240,5,176,141,1,2 10,133,177,76,226,71,169,0,8474 2260 DATA 141,0,210,141,1,210,133,165, 165,164,240,19,56,165,178,233,2540 2270 DATA 10,133,178,141,2,210,208,7,1 69,0,133,164,141,3,210,76,7619 2280 DATA 98,228,165,147,240,28,198,18 1,165,181,201,40,208,21,169,0,9638 2290 DATA 133,180,169,0,133,128,169,99 ,133,129,160,0,152,145,128,200,71 2300 DATA 208,251,96,169,13,141,175,75 ,164,181,169,0,133,128,169,99,9495 2310 DATA 133,129,32,253,73,169,0,133, 147,96,169,0,133,128,169,99,8034 2320 DATA 133,129,160,208,132,181,162, 0,189,51,76,145,128,200,232,224,3218 2330 DATA 11,208,245,164,182,162,4,152 ,157,3,208,200,200,202,208,247,5905 2340 DATA 96,172,148,75,162,0,189,122, 75,145,139,200,232,224,12,208,2347 2350 DATA 245,169,175,141,1,210,169,0, 133,168,32,131,65,169,2,32,5024 2360 DATA 254,68,230,168,165,168,141,0 ,210,173,148,75,201,250,208,234,6057 2370 DATA 169,0,172,188,75,145,88,206, 188,75,206,189,75,173,189,75,1724 2380 DATA 201,255,208,13,169,0,141,0,2 10,141,1,210,133,191,32,178,9161 2390 DATA 66,169,65,141,147,75,56,173, 149,75,233,12,141,148,75,169,9046 2400 DATA 0,133,197,133,192,169,3,141, 190,75,133,183,169,45,141,151,389 2410 DATA 75,32,194,69,32,232,74,32,20 ,75,169,0,141,1,210,141,5775 2420 DATA 0,210,133,191,96,169,0,133,1 50,133,151,162,15,24,6,152,5899 2430 DATA 38,153,248,165,150,101,150,1 33,150,165,151,101,151,133,151,216,306 7 2440 DATA 202,16,235,24,248,165,150,10 1,158,133,158,165,157,101,151,133,1881 2450 DATA 157,165,156,105,0,133,156,21 6,172,139,75,136,162,0,200,181,840 2460 DATA 156,72,41,240,74,74,74,74,9, 16,145,88,104,41,15,9,954 2470 DATA 16,200,145,88,232,224,3,208, 229,172,139,75,162,3,177,88,283 2480 DATA 201,16,208,8,169,0,145,88,20 0,202,208,242,96,206,182,75,3007 2490 DATA 208,86,169,0,133,128,169,102 ,133,129,173,184,75,141,182,75,286 2500 DATA 173,176,75,240,37,238,149,75 ,173,149,75,201,200,208,7,169,2071 2510 DATA 0,141,176,75,240,234,24,173, 149,75,105,3,168,32,11,74,5039 2520 DATA 165,185,240,3,32,25,74,76,16 2,73,206,149,75,173,149,75,8297 2530 DATA 201,50,208,7,169,1,141,176,7 5,208,197,172,149,75,32,253,1230 2540 DATA 73,165,185,240,3,32,25,74,20 6,183,75,240,1,96,173,185,9733 2550 DATA 75,141,183,75,169,0,133,128, 169,103,133,129,173,177,75,240,1810 2560 DATA 35,238,150,75,173,150,75,201 ,200,208,7,169,0,141,177,75,9533 2570 DATA 240,234,24,173,150,75,105,3, 168,32,11,74,165,186,240,3,7239 2580 DATA 32,77,74,96,206,150,75,173,1 50,75,201,50,208,7,169,1,7475 2590 DATA 141,177,75,208,199,172,150,7 5,32,253,73,165,186,240,3,32,9755 2600 DATA 77,74,96,174,175,75,177,128, 136,145,128,200,200,202,208,246,6363 2610 DATA 96,162,6,136,177,128,200,145 ,128,136,136,202,208,246,96,206,5121 2620 DATA 180,75,240,1,96,173,178,75,1 41,180,75,165,183,240,20,238,2759 2630 DATA 151,75,173,151,75,201,46,208 ,6,169,0,133,183,240,236,141,2496 2640 DATA 2,208,96,206,151,75,173,151, 75,201,19,208,242,169,1,133,839 2650 DATA 183,208,216,206,181,75,240,1 ,96,173,179,75,141,181,75,165,1359 2660 DATA 184,240,20,206,152,75,173,15 2,75,201,179,208,6,169,0,133,9567 2670 DATA 184,240,236,141,3,208,96,238 ,152,75,173,152,75,201,201,208,4422 2680 DATA 242,169,1,133,184,208,216,16 9,96,141,7,212,169,3,141,29,8540 2690 DATA 208,169,62,141,47,2,169,0,13 3,128,169,99,133,129,160,0,6875 2700 DATA 162,6,152,145,128,200,208,25 1,230,129,202,208,246,169,0,133,4984 2710 DATA 139,169,100,133,140,169,0,13 3,141,169,101,133,142,169,70,141,9981 2720 DATA 192,2,169,132,141,193,2,169, 0,133,128,169,102,133,129,172,9821 2730 DATA 149,75,162,3,169,255,145,128 ,200,202,208,250,230,129,172,150,6825 2740 DATA 75,162,3,145,128,200,202,208 ,250,165,173,240,1,96,172,148,3634 2750 DATA 75,162,0,189,106,75,145,139, 200,232,224,12,208,245,136,136,4090 2760 DATA 189,106,75,145,141,200,232,2 24,16,208,245,169,0,141,0,208,1536 2770 DATA 141,1,208,141,2,208,141,3,20 8,96,173,147,75,141,0,208,9146 2780 DATA 141,1,208,173,151,75,141,2,2 08,173,152,75,141,3,208,169,320 2790 DATA 3,141,10,208,141,11,208,169, 118,141,194,2,141,195,2,96,8275 2800 DATA 60,126,255,255,251,243,126,2 4,24,24,48,48,96,192,96,48,6388 2810 DATA 24,48,24,48,24,48,96,48,24,1 2,24,12,24,12,6,12,6164 2820 DATA 24,12,12,12,6,3,6,12,24,36,2 4,126,153,60,36,102,491 2830 DATA 0,24,36,24,126,231,189,165,6 0,60,102,0,0,102,102,0,2961 2840 DATA 0,24,165,153,255,102,60,36,6 0,60,102,0,1,1,0,5,8959 2850 DATA 0,8,3,3,128,1,65,1,193,65,10 8,130,130,45,180,100,5751 2860 DATA 10,0,0,0,0,80,88,96,104,112, 120,128,136,144,152,160,8270 2870 DATA 168,176,0,0,0,13,0,1,10,10,1 0,10,255,255,255,255,8686 2880 DATA 17,22,32,3,3,4,1,2,8,0,2,4,2 ,2,4,1,3383 2890 DATA 1,8,0,1,4,2,1,12,1,2,8,0,2,1 2,2,2,3419 2900 DATA 12,1,1,8,0,1,12,2,1,0,0,51,3 5,47,50,37,6131 2910 DATA 26,0,0,0,0,0,0,0,0,44,37,54, 37,44,0,0,5528 2920 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,2920 2930 DATA 0,0,0,0,0,0,0,10,10,10,10,0, 44,37,54,37,5802 2940 DATA 44,0,0,0,35,47,45,48,44,37,5 2,37,36,0,10,10,6700 2950 DATA 10,10,0,0,0,0,0,0,0,24,24,60 ,102,48,24,12,6754 2960 DATA 102,60,24,24,0,0,0,0,35,50,3 3,58,57,0,35,44,7194 2970 DATA 47,55,46,128,128,0,0,0,0,0,0 ,0,42,53,45,48,7148 2980 DATA 37,50,128,128,0,0,0,0,0,0,0, 0,0,34,57,128,7392 2990 DATA 128,0,0,0,0,34,50,33,36,0,52 ,41,45,45,41,46,7890 3000 DATA 51,128,0,0,0,0,0,39,33,45,37 ,0,47,54,37,50,7495 3010 DATA 0,0,0,0,0,48,50,37,51,51,0,5 2,40,37,0,38,7183 3020 DATA 41,50,37,34,53,52,52,47,46,0 ,52,47,0,51,52,33,8297 3030 DATA 50,52,226,2,227,2,0,64,0,0,0 ,0,0,0,0,0,5529
;---------------------------------- ;SOURCE CODE: CRAZY CLOWN JUMPER ;---------------------------------- ;MAIN FILE ;---------------------------------- ;WRITTEN FOR THE MACRO ASSEMBLER ;---------------------------------- ORG $4000 OPEN: = $03 CLOSE: = $0C GETREC: = $05 PUTREC: = $09 EOL: = $9B ICCOM: = $342 ICSTA: = $343 ICBAL: = $344 ICBAH: = $345 ICPTL: = $346 ICPTH: = $347 ICBLL: = $348 ICBLH: = $349 AUX1: = $34A AUX2: = $34B CIOV: = $E456 ;MISC. EQUATES RAMSET: = $5000 ROMSET: = 57344 SCREEN: = 132 VSCROL: = $D405 SETVBV: = $E45C XITVBV: = $E462 DLIST: = 560 COLOR0: = 708 COLOR1: = COLOR0+1 COLOR2: = COLOR1+1 COLOR3: = COLOR2+1 COLOR4: = COLOR3+1 BX: = 135 TAILAD: = 137 RANDOM: = $D20A STICK0: = 632 STRIG0: = 644 WORKP: = 128 ;PLAYER-MISSILE EQUATES PMBASE: = $6000 PMI: = PMBASE+768 PM0: = PMBASE+1024 PM1: = PM0+256 PM2: = PM1+256 PM3: = PM2+256 ;HORIZONAL POSITION REGISTERS HPOSP0: = 53248 HPOSP1: = 53249 HPOSP2: = 53250 HPOSP3: = 53251 ;HORIZONTAL MISSILE POS. REGISTERS HPOSM0: = 53252 ;COLLSION REGISTERS ;PLAYER COLLSION WITH PLAYFEID P0PF: = 53252 P1PF: = 53253 ;PLAYER COLLSION WITH OTHER PLAYER P0PL: = 53260 P1PL: = 53261 ;MISSILE COLLISION WITH PLAYER M0PL: = 53256 M1PL: = 53257 M2PL: = 53258 M3PL: = 53259 ;MISSILE COLLISION WITH PLAYFIELD M0PF: = 53248 M1PF: = 53249 M2PF: = 53250 M3PF: = 53251 HITCLR: = 53278 PAD0: = 139 PAD1: = 141 ;SOUND EQUATES AUDF1: = $D200 AUDC1: = $D201 AUDF2: = $D202 AUDC2: = $D203 AUDCTL: = $D208 SKCTL: = $D20F LAB15: INCLUDE D:PAGESIX.LNK ;MAIN SET UP JSR CLOSIO JSR GRAPH ;PUT ZEROS IN ZERO PAGE LDX #143 LDA #0 ZAPL: STA 0,X INX BNE ZAPL JSR CHAR JSR LINKVBI ;SET SCREEN COLORS ;BACKGROUND LDA #10 STA COLOR4 ;UPPERCASE LDA #130 STA COLOR0 ;INVERSE UPPERCASE LDA #10 STA COLOR2 ;LOWERCASE LDA #64+4 STA COLOR1 ;INVERSE LOWERCASE LDA #240+8 STA COLOR3 LDY #2 LDA #0 STA (88),Y JSR PMINT JSR XSTART JSR CORZ JSR BOARD ;SET ENABLE FIFTH PLAYER LDA #16 STA 623 ;SET UP FOR SOUND LDA #0 STA AUDCTL LDA #3 STA SKCTL ;SET ADDRESS OF TAIL CHAR LDA #16;LOW RAMSET STA TAILAD LDA #HIGH RAMSET STA TAILAD+1 LDA #9 STA GFLAG5 ;PRINT ZERO TO SCORE JSR PSCOR QQQ: LDA #0 JSR XMOVE ;MAIN TESTING ROUTINE ;TEST CLOWN TO WHAT ITS STANDING ON ;IS A JUMP IN PROGRESS? ;IF SO, GO TO MAIN JUMP ROUTNE ;IF NOT, CONTINUE LOOP ;IS IT ON A PLATFORM? ;IF IT IS, GO TEST JOYSTICK ;IF NOT, GO TEST FOR BALLOONS ;ALSO,CHECK FOR DOLLAR MAINT: LDA CRITP BEQ MAIN3 DEC GFLAG5 BNE MAIN3 LDA #9 STA GFLAG5 JSR MPLM ;CHECK FOR DOLLOR MAIN3: LDA DMARK BEQ MAIN4 JSR CDOLL MAIN4: LDA MCOLL1 BEQ MAIN5 JSR ADOLL MAIN5: LDA PCOLL1 BEQ BALTEST;GO TEST BALLOON CMP #4 BNE MAIN1 LDA #0 JMP PLAT MAIN1: CMP #8 BNE MAIN2 LDA #1 JMP PLAT MAIN2: BNE FALL ;IS HE ON A BALLOON? ;IF SO MOVE HIM UP AT THE SAME RATE ;AS THE BALLOONS ;IF NOT HE FALLS BALTEST: LDA COLL1 BEQ FALL BNE ONBALL ;CLOWN FALLING, IF CFALL REACHES ;60, THEN NOTHING CAN STOP IT FALL: INC CFALL JSR NDELAY LDA #2 JSR YMOVE LDA CFALL CMP #60 BEQ CDEAD BNE MAINT CDEAD: LDA #0 STA AUDF1 STA AUDC1 STA TFLAG5 JSR FDEAD JMP QQQ ;CLOWN IS STANDING ON A BALLOON. ;TEST TO SEE IF SOUND IS IN PROGRESS ;IF NOT,TEST FALL DURATION.IF FALL ;IS LONGER THEN 12 THEN START SOUND. ;MOVE HIM UP ONE AT SAME RATE AS ;THE BALLOONS, THEN SET CFALL TO ;ZERO AND GO TEST THE JOYSTICK. ;IS STANDING ON A TAIL? ONBALL: LDA COLL1 CMP #4 BEQ FALL LDA TFLAG5 BNE ON1 LDA CFALL CMP #5 BCC ON1 ;SET UP FOR SOUND EFFECT JSR XSOU1 ON1: LDA TFLAG2 BEQ ST LDA #3 JSR YMOVE LDA #0 STA CFALL STA TFLAG2 LDA CY0 CMP #41 BCC FALL ;TEST FIRE BUTTON IF ITS PRESSED, GO ;TO JUMP JOYSTICK ROUTINE. IF NOT, ;TEST STICK FOR NORMAL LEFT OR RIGHT ;MOVEMENT. ;IF STICK IS NOT MOVED GO TO MAIN ;TESTING ROUTINE ST: LDA CRITP BEQ STJ1 ;CHECK TO SEE IF PLATFORM IS MOVING LDA PCOLL1 BEQ STJ1 LDA #1 JSR YMOVE LDA #0 STA CFALL STJ1: LDA STRIG0 BEQ JUMPST; PRESSED GO TO ROUTINE ;TEST STICK FOR NORMAL MOVEMENT STJ: LDA STICK0 CMP #15 BNE ST9 JMP MAINT ST9: CMP #7 BNE ST1 ;MOVE CLOWN RIGHT ;IF CLOWN IS ON BALLOON MOVE UP JSR NDELAY LDA COLL1 BEQ ST10 LDA #3 JSR YMOVE ST10: LDA CX0 CMP #205 BEQ ST2 LDA #2 JSR XMOVE JMP MAINT ST1: CMP #11 BNE ST2 ;MOVE CLOWN LEFT JSR NDELAY LDA COLL1 BEQ ST11 LDA #3 JSR YMOVE ST11: LDA CX0 CMP #45 BEQ ST2 LDA #1 JSR XMOVE ST2: JMP MAINT ;TEST JOYSTICK FOR THE DIRECTION ;IS CLOWN IS TO JUMP IN. JUMPST: LDA STICK0 CMP #11 BNE JST1 ;SHORT JUMP LEFT LDA #32 STA JPOINT;SET POINTER TO 16 LDA #9 STA GPOINT BNE RJUMP JST1: CMP #7 BNE JST2 ;SHORT JUMP RIGHT LDA #0 STA JPOINT;SET POINTER TO 0 STA GPOINT BEQ RJUMP JST2: CMP #10 BNE JST3 ;JUMP HIGH LEFT LDA #128 STA JPOINT LDA #27 STA GPOINT BNE RJUMP JST3: CMP #6 BNE JST4 ;JUMP HIGH RIGHT LDA #64 STA JPOINT LDA #18 STA GPOINT BNE RJUMP JST4: JMP MAINT ;DELAY MOVE MOVEMENT OF CLOWN ;CHECK DOLLAR SIGN NDELAY: LDX #0 LDY #0 DEL2: INY BNE DEL2 LDA DMARK BEQ DEL3 STX TEMP11+1 JSR CDOLL LDX TEMP11+1 DEL3: LDA CRITP BEQ DEL4 STX TEMP11+1 JSR MPLM LDX TEMP11+1 DEL4: INX CPX #9 BNE DEL2 RTS ;ADD 20 TO SCREEN ADDRESS ADD20: CLC LDA SCREEN ADC #20 STA SCREEN LDA SCREEN+1 ADC #0 STA SCREEN+1 RTS ;CLOWN IS JUMPING ;GET LENGTH RJUMP: LDA #3 STA JMAX RJP1: LDY GPOINT LDA JCORDN,Y STA TJUMP INY ;GET Y CORDINATE LDA JCORDN,Y STA TJUMP+1 INY ;GET X CORDINATE LDA JCORDN,Y STA TJUMP+2 RJ: LDA CRITP BEQ RJ7 JSR MPLM RJ7: LDA DMARK BEQ RJ8 JSR CDOLL ;DO Y CORDINATE RJ8: LDA TJUMP+1 JSR YMOVE ;STOP CLOWN FROM JUMPING OUT OF ;BOUNDS LDA CX0 CMP #45 BNE RJ11 JMP FALL RJ11: LDA CX0 CMP #205 BNE RJ12 JMP FALL ;DO X CORDINATE RJ12: LDA TJUMP+2 JSR XMOVE ;CHECK FOR COLLISION LDA PCOLL1 BEQ RJ1 CMP #4 BNE RJ4 LDA #0 JMP PLAT RJ4: CMP #8 BNE RJ2 LDA #1 JMP PLAT ;CHECK FOR BALLOON RJ1: LDA COLL1 BEQ RJ2 LDA TFLAG5 BNE RJ9 JSR XSOU1 RJ9: JMP ONBALL RJ2: LDA MCOLL1 BEQ RJ10 JSR ADOLL RJ10: DEC TJUMP BNE RJ INC GPOINT INC GPOINT INC GPOINT DEC JMAX BNE RJP1 JMP MAINT ;SET UP FOR SOUND EFFECT ;CLOWN HITTING BALLOON XSOU1: LDA #1 STA TFLAG5 LDA #180 STA AUDF1 LDA #160+15 STA AUDC1 STA SOUND1+1 LDA #15 STA SOUND1 RTS ;SET UP FOR SOUND EFFECT ;CLOWN HITTING DOLLAR SIGN XSOU2: LDA #1 STA TFLAG4 LDA #250 STA SOUND2 STA AUDF2 LDA #224+15 STA AUDC2 RTS ;CLOWN HAS HIT DOLLAR SIGN DO IT ADOLL: JSR XSOU2 JSR DKILL ;DO SCORE LDA #100 STA TEMP14 LDA #0 STA TEMP14+1 STA MCOLL1 JSR DCON RTS XSTART: LDA #1 STA TFLAG6 LDA #0 STA TFLAG9 STA TFLAG7 ;SCROLL UP TITLE XST1: LDA FLAG10 BEQ XST1 LDA #0 STA FLAG10 ;SCROLL UP SPACES LDA #1 STA TFLAG9 XST2: LDA FLAG10 BEQ XST2 ;WAIT FOR FIRE BUTTON TO BE PRESSED LDA #1 STA TFLAG7 LDA #0 STA TFLAG6 ;SET COLOR2 LDA #44 STA COLOR2 ;PRINT THE MESSAGE" PRESS THE ;FIREBUTTON TO START." XST5: LDY #0 XST3: LDA MESS2,Y STA (88),Y INY CPY #34 BNE XST3 ;WAIT FOR THE FIREBUTTON TO BE PRESS XST4: LDA STRIG0 BNE XST4 LDA #0 STA TFLAG7 STA TFLAG1 JSR BOARD JSR PSCOR RTS ;START GAME OVER SEQUENCE ;KILL DOLLAR SIGN GAMEO: JSR DKILL LDA #1 STA TFLAG1 ;WAIT FOR BALLOONS TO GET CLEAR GA4: LDA RCOUNT CMP #1 BNE GA4 LDA #1 STA TFLAG6 STA TFLAG9 LDA #0 STA TPOINT STA TCOUNT ;SCROLL UP THREE FOR SPACES GA1: LDA TCOUNT CMP #4 BNE GA1 ;PRINT"GAME OVER" LDA #1 STA GFLAG1 GA2: LDA TCOUNT CMP #5 BNE GA2 ;PRINT MORE SPACES LDA #0 STA GFLAG1 GA3: LDA TCOUNT CMP #23 BNE GA3 LDA #0 STA TFLAG6 STA TFLAG9 LDA #1 STA TFLAG7 LDY #0 ;SET VALUES BACK TO DEFAULT LDA #3 STA PEMPB STA MEN LDA #130 STA PY2 STA PY3 ;SET PLATFORM BACK TO DEFAULT POS. LDA #180 STA PX3 LDA #LOW PM2 STA WORKP LDA #HIGH PM2 STA WORKP+1 LDX #2 JSR CRA2 LDA #1 STA GFLAG3 STA PD3 JSR PDR1 LDA #17 STA LEVEL LDA #32 STA MPOINT LDA #0 STA CRITP STA MARK2 STA MARK3 STA PD2 LDA #100 STA BNUMB LDA #255 STA PERMP STA PERMP+1 LDA #10 STA DNUMB ;SET SCORE BACK TO ZERO LDA #0 STA SCORE STA SCORE+1 STA SCORE+2 JMP XST5 LAB8: INCLUDE D:LEVEL.LNK LAB: INCLUDE D:LINK1.LNK ;GENERAL PURPOSE ERASE ROUTINE CRASE: LDA #LOW PM0 STA WORKP LDA #HIGH PM0 STA WORKP+1 LDX #2 CRA2: LDY #0 LDA #0 CRA1: STA (WORKP),Y INY BNE CRA1 INC WORKP+1 DEX BNE CRA1 RTS LAB4: INCLUDE D:VBILINK.LNK LAB9: INCLUDE D:VBISUB.LNK LAB5: INCLUDE D:DOLLAR.LNK LAB6: INCLUDE D:FALLING.LNK LAB7: INCLUDE D:SCORE.LNK LAB4: INCLUDE D:PLATFORM.LNK LAB2: INCLUDE D:PMINT.LNK LAB3: INCLUDE D:BDATA.LNK