Unnaturally heavy rainfall has caused a landslide in the area of Boulder, Colorado. The debris has created an effective earth dam which is keeping the water from the storm from flowing away ... thereby threatening to flood the town.
Boulder has hired your demolition company to clear away the rubble. Because of the unsure footing on the pile, it has been decided to clear away the rocks with bombs dropped from aircraft flying above.
Before typing anything, look at the listings accompanying this article.
Listing 1 is the BASIC data and data checking routine. This listing is used to create both cassette and disk versions of Boulder Bombers. The data statements are listed in hexadecimal (base 16), so that the program will fit in 16K cassette systems.
Listing 2 is the assembly language source code for the game of Boulder Bombers. created with the OSS MAC/65 assembler. You don't have to type this listing to play the game! It is included for readers interested in assembly language.
Follow the instructions below to make either a cassette or disk version of Boulder Bombers.
1. Type Listing 1 into your computer using the BASIC cartridge and verify your typing with Unicheck (See CCheck, DCheck or UniCheck).
2. Type RUN and press RETURN. The program will begin and ask:MAKE CASSETTE (0) OR DISK (1)? Type 0 and press RETURN. The program will begin checking the DATA statements, printing the line number of each as it goes. It will alert you if it finds any problems. Fix any incorrect lines and re-RUN the program, if necessary, until all errors are eliminated.
3. When all of your DATA lines are correct, the computer will beep twice and prompt you to READY CASSETTE AND PRESS RETURN. Now, insert a blank cassette in your recorder, press the RECORD and PLAY buttons simultaneously and hit RETURN. The message WRITING FILE will appear, and the program will create a machine language boot tape version of Boulder Bombers, printing each DATA line number as it goes. When the READY prompt appears, the game is recorded and ready to play. CSAVE the BASIC program onto a separate tape before continuing.
4. To play, rewind the tape created by the BASIC program to the beginning. Turn your computer OFF and remove all cartridges. Press the PLAY button on your recorder and turn ON your computer while holding down the START key. If you have a 600 or 800XL computer, you must hold the START and OPTION keys when you turn on the power. The computer will "beep" once. Hit the RETURN key, and Boulder Bombers will load and run automatically.
1. Type Listing 1 into your computer using the BASIC cartridge and verify your typing with Unicheck (See CCheck, DCheck or UniCheck).
2. Type RUN and press RETURN. The program will begin and ask:MAKE CASSETTE (0) OR DISK (1)? Type 1 and press RETURN. The program will begin checking the DATA lines, printing the line number of each statement as it goes. It will alert you if it finds any problems. Fix incorrect lines and re-RUN the program, if necessary, until all errors are eliminated.
3. When all the DATA lines are correct, you will be prompted to INSERT DISK WITH DOS AND PRESS RETURN. Put a disk containing DOS 2.0S into drive #1, and press RETURN. The message WRITING FILE will appear, and the program will create an AUTORUN.SYS file on the disk, displaying each DATA line number as it goes. When the READY prompt appears, the game is ready to play. Be sure the BASIC program is SAVEd before continuing.
4. To play the game, insert the disk containing the AUTORUN.SYS file into drive #1. Turn your computer OFF, remove all cartridges and turn your computer back ON. Boulder Bombers will load and run automatically.
Boulder Bombers is a cooperative/competitive game for one or two players. The number of players is chosen using the SELECT key.
You start the game in a hot air balloon, flying high above the rock-filled canyon. Bombs are dropped by pressing the joystick trigger buttons. When half of the rocks we gone, you will automatically switch to quicker planes. When the entire canyon is cleared of rocks, you advance to the next level, where everything goes faster.
At the start of Boulder Bombers, you are allotted three bombs, shown next to your score at the bottom of the screen. You are penalized bombs whenever you make a miss or fail to attempt a drop on a pass over the canyon.
Extra bombs are awarded at 1000, 3000, 5000, 7000 and, finally, at 9000 points. Up to three bombs will be shown on the screen at a time, but extras earned will be kept in reserve. When you miss with your last bomb, the game ends.
The worth of rocks cleared varies, depending upon their original depth: red-2, yellow-4, blue-6.
Boulder Bombers may be paused by hitting the space bar. Play is resumed by moving either joystick. Commence earth-moving operations!
BASIC listing. |
---|
10 REM *** BOULDER BOMBERS *** 20 TRAP 20:? "MAKE CASSETTE (0), OR DI SK (1)";:INPUT DSK:IF DSK>1 THEN 20 30 TRAP 40000:DATA 0,1,2,3,4,5,6,7,8,9 ,0,0,0,0,0,0,0,10,11,12,13,14,15 40 DIM DAT$(91),HEX(22):FOR X=0 TO 22: READ N:HEX(X)=N:NEXT X:LINE=990:RESTOR E 1000:TRAP 120:? "CHECKING DATA" 50 LINE=LINE+10:? "LINE:";LINE:READ DA T$:IF LEN(DAT$)<>90 THEN 220 60 DATLIN=PEEK(183)+PEEK(184)*256:IF D ATLIN<>LINE THEN ? "LINE ";LINE;" MISS ING!":END 70 FOR X=1 TO 89 STEP 2:D1=ASC(DAT$(X, X))-48:D2=ASC(DAT$(X+1,X+1))-48:BYTE=H EX(D1)*16+HEX(D2) 80 IF PASS=2 THEN PUT #1,BYTE:NEXT X:R EAD CHKSUM:GOTO 50 90 TOTAL=TOTAL+BYTE:IF TOTAL>999 THEN TOTAL=TOTAL-1000 100 NEXT X:READ CHKSUM:IF TOTAL=CHKSUM THEN 50 110 GOTO 220 120 IF PEEK(195)<>6 THEN 220 130 IF PASS=0 THEN 170 140 IF NOT DSK THEN 160 150 PUT #1,224:PUT #1,2:PUT #1,225:PUT #1,2:PUT #1,0:PUT #1,32:CLOSE #1:END 160 FOR X=1 TO 104:PUT #1,0:NEXT X:CLO SE #1:END 170 IF NOT DSK THEN 200 180 ? "INSERT DISK WITH DOS, PRESS RET URN";:DIM IN$(1):INPUT IN$:OPEN #1,8,0 ,"D:AUTORUN.SYS" 190 PUT #1,255:PUT #1,255:PUT #1,0:PUT #1,32:PUT #1,111:PUT #1,40:GOTO 210 200 ? "READY CASSETTE AND PRESS RETURN ";:OPEN #1,8,128,"C:":RESTORE 230:FOR X=1 TO 40:READ N:PUT #1,N:NEXT X 210 ? :? "WRITING FILE":PASS=2:LINE=99 0:RESTORE 1000:TRAP 120:GOTO 50 220 ? "BAD DATA: LINE ";LINE:END 230 DATA 0,18,216,31,255,31,169,0,141, 47,2,169,60,141,2,211,169,0,141,231,2, 133,14,169,56,141,232,2 240 DATA 133,15,169,0,133,10,169,32,13 3,11,24,96 1000 DATA A26FBDFC279D002CCA10F7A9008D 0ED4A9348D16D0A9288D17D0A9848D18D0A9C4 8D19D0A9008D1AD0A2039D08,415 1010 DATA D0CA10FAA9288D12D0A9848D13D0 A9C88D14D0A9C88D15D0A9308D07D4A93E8D00 D4A9038D1DD0A070B900E099,358 1020 DATA 002CC8D0F7B900E199002DC8D0F7 A92C8D09D4A900A0229912008810FAA02799FC 298810FA204B25A9008D08D2,550 1030 DATA A9038D0FD2A938852DA948852EA9 2C852BA9CC852CA9008D00D48D05D285158D07 D2207925A9AE8D02D4A9258D,475 1040 DATA 03D4A9FF8513A90185148519A900 8518A93E8D00D4A9038512AD1FD02903C901D0 15AD1FD02902F0F9A51A4901,76 1050 DATA 851A1869118D2926D004C902F015 A518D00BAD0AD22901AABDAC258517201D244C CD20AD1FD02901F0F9A90385,502 1060 DATA 13A90085198D00D4A2029D59269D 6326CA10F7A9108D5C268D6626A202A9CD9D5E 269D6826CA10F7A903852985,215 1070 DATA 2AA91185278528A51A0A0A0AA207 A8B99A259D4F26C8CA10F6A9D18D02D4A9258D 03D4A93E8D00D4204B25A903,855 1080 DATA 85178512A90185148532A92A8531 207925A90085188D06D2A92C852BA9CC852C8D 1ED0A908851BA513C9AFF005,394 1090 DATA 38E9048513A201B51FD0034C3423 BD06D0D0034CE7222907D0034CBD22A9008534 B51F38E96729F88533063306,595 1100 DATA 33263418653385339002E634B52B 38E92F4A4A18653385339002E6341869FC8533 A53469298534A000B133F004,765 1110 DATA C9049022C8B133F004C9049019A0 28B133F004C904900FC8B133D0034CE722C904 90034CE7220A8516A9009133,433 1120 DATA A53138E9018531B002C632A9FE85 15BCAA25A51618795926995926A9038516B959 26F023C91A901A38E90A9959,108 1130 DATA 2688C6163014B95926D002A91018 6901995926D0DDC8E616D0D8A9598533A92685 348AF00BA90A186533853390,898 1140 DATA 02E634A000B133D93A26F004B009 9011C8C004D0F0F00AA003B133993A268810F8 BCAA25B95626D527D014F629,78 1150 DATA B529C904B00A187DAA25A8A9CD99 5A26F627F62FB52FC51BD02A8A1869368534B5 1F8533A005A90091338810FB,985 1160 DATA 8A0AA8A9009900D29901D2951FB5 2FD04D2062254C2E238A1869368534B51F8533 A900A00591338810FBF625B5,513 1170 DATA 254A4A4A4A851618751FC9C4B0C5 951F8533A005B9602C91338810F88A0AA8A516 18752395239900D2A9A838E5,241 1180 DATA 169901D2CA30424C9C21B529F0F6 8A18E51AD01BA5143008B52BC94490E6B006B5 2BC9B8B0DEAD0AD2290FF007,561 1190 DATA D0D5BD10D0D0D0B52D186908951F A9009525952FF621A9329523D0BB8D1ED0201D 24A515F012C615C61549F08D,794 1200 DATA 04D24A4A4A4A498F8D05D2AD1FD0 C907F0034C9420A531D007A532D0034C6321AD FC02C921D01AA9008D01D28D,615 1210 DATA 03D28D05D2AD00D3C9FFF0F9A9FF 8DFC028DF202A512290FF0034C9A21A927851D A908851EA96418651D8533A9,948 1220 DATA 2B69008534A000B133F01EAAA028 B133D0178A9133A000989133A53338E9288533 B002C634C61E300FA53338E9,563 1230 DATA 288533B002C634C61E10CDC61D10 B84C9A21A518D035A517C903F00CA9968D06D2 A9248D07D2D023A9008D06D2,456 1240 DATA A9028D07D2A201B52D85338A1869 348534A00FB9502C91338810F8CA10E9E612A5 122517D061A52B186514852B,918 1250 DATA 8D00D08D02D0A51449FE18652C85 2C8D01D08D03D0A517C901D03FA5122902F039 A514851CA201B52D85338A18,443 1260 DATA 69348534A51229040A8516A51C29 101865168616AAA000BD302C9133E8C8C008D0 F5A51C49FE851CA616CA10CD,915 1270 DATA A20FA41388D0FDCAD0F8A9018518 A52BC92CF004C9CCD055A9008D05D28D07D285 158518A201B51FF007B52FD0,504 1280 DATA 03206225B521D003206225CA10EB 207925A61AA5291875296519F025A51449FE85 14A62DA42E862E842DA90385,640 1290 DATA 12A532D00EA531C995B008A90185 17A904851B606868A9088516A2FFA0FFAD1FD0 C907D00A88D0F6CAD0F1C616,269 1300 DATA 10EB4C9420A000B96C2699242AC8 D0F7A091B96B2799232B88D0F760B529F012D6 29B529C903B00A187DAA25A8,578 1310 DATA A900995B2660A900A89900349900 3599003699003788D0F1851F8520852185228D 01D28D03D260B2A5B4B5B0AD,390 1320 DATA AFA39280B2A5B9A1ACB0030D0103 707070462F2670707070707070707044242A04 040404040404040447F32506,97 1330 DATA 0641AE2570707070707070707070 70707044242A040404040404040404462F2670 060641D1258080E2EFF5ECE4,37 1340 DATA E5F28080E2EFEDE2E5F2F3808000 0000627900006D61726B007072696365000000 0000000000302C2139253233,159 1350 DATA 1A00110000000000000000000028 2927281A0000000010000000000000302C2139 253200110000000000000000,690 1360 DATA 0000000000000000000000000000 00000000000000000000010101010101010101 010101010101010101010101,711 1370 DATA 0101010101010101010101010101 01010101018501010101010101010101010101 010101010101010101010101,888 1380 DATA 0101010101010101010101010185 84850101010101010101010101010101010101 010101010101010101010101,328 1390 DATA 0101010101010184858485020202 02020202020202020202020202020202020202 020202020202020202020202,933 1400 DATA 0202848584848502020202020202 02020202020202020202020202020202020202 020202020202020284848584,196 1410 DATA 8485020202020202020202020202 02020202020202020202020202020202020202 020202848485848484850303,461 1420 DATA 0303030303038503030303030303 03030303030303850303030303030303848484 858484848503030303030303,890 1430 DATA 8484850385030303030303030385 03848485030303030303038484848584848484 850303030303848484848484,998 1440 DATA 8503030303030384848484848485 03030303038484848485848484848485030303 848484848484848485030303,750 1450 DATA 0384848484848484848503030384 84848484850000000000000000545454545454 5400A8A8A8A8A8A8A800FCFC,12 1460 DATA FCFCFCFCFC00FFFFFFFFFFFFFFFF FCFCFCFCFCFCFCFC000001033FD3FE80000001 83BFD37E00000080C0FCCB7F,550 1470 DATA 01000080C1FDCB7E003C7EFF00FF FF7E3C1824241818000000A040E0E0E0400000 6C7C387C7C7C381000000000,427 |
|
10 DATA 883,351,496,811,423,729,200,60 3,555,573,694,613,29,205,214,7379 160 DATA 139,198,962,604,491,30,155,11 3,169,69,43,822,931,966,720,6412 1060 DATA 930,958,707,682,514,568,751, 664,875,889,595,735,987,895,757,11507 1210 DATA 972,571,686,533,643,718,955, 594,963,842,520,467,416,252,546,9678 1360 DATA 345,458,484,572,680,693,794, 42,94,468,801,605,6036 |