====== HAUNTED BURROW ====== {{:otros:Haunted Burrow_p1.jpg?690|}} ===== Info ===== ^ Author | Phil Lawson | ^ Computer | Amstrad PCW 8256 / 8512 / 9512 | ^ Year | 1988 | ^ Gender | Arcade | ^ Controls | Keyboard | ^ Languages | English | ^ Status | [[preserved|Preserved]] | ===== Screenshots ===== {{:otros:Haunted_Burrow_screenshot01.png?220}} {{:otros:Haunted_Burrow_screenshot02.png?220}} {{:otros:Haunted_Burrow_screenshot03.png?220}} {{:otros:Haunted_Burrow_screenshot04.png?220}} ===== Description ===== It's Easter, and all the bunnies have gone pretty crazy. Instead of collecting eggs and delivering them to the people who deserve them, as they have always traditionally done, this year they stole and hid the batch in their network of underground tunnels. Legend has it that if such sacrilege ever occurred, the former ghost of Robin the Rabbit, protector of Easter eggs, would return to save the day. Robin must collect all 200 eggs before he wakes up, but to help him, if he manages to find a clock, time will slow down a bit. Sensing the imminent appearance of Robin, the Militant Leftist Tendency of the Bunnies, the Militant Leftist Tendency of the Nies (Democratically Elected Rabbits Under Control) have booby-trapped the lair with a system of special doors that can only be passed through one time. Luckily they forgot about the magic keys that will open all locked doors immediately. If Robin manages to find all 200 eggs, he will go to another burrow, and so on until dawn. Your task is to guide Robin's spectral head, collecting as many eggs as you can before sunrise. The time before sunrise is shown as a bar at the bottom of the screen, and you'll have a few graceful moments before the countdown begins. Haunted Burrow is a fun game where our friend Robin the rabbit will have to find the way out of the maze to pass the level. It has good graphics quality and is easy to use. Our mission is to go into the depths of a maze and collect all the eggs we can to increase our score and the keys that are found anywhere in it. The only catch is that time flies and we won't be able to stop because Robin's time is running out. Along the way we will find a series of objects that will help us or make our lives impossible. Among the objects we will find eggs: they will add points and will be needed to complete the mission. Clock: It will increase the time we have left. Disk: This acts as an open door, but be careful that once we go through it it will become a closed door, hindering the return from where we came to it. Key: This will allow us to complete the mission and get out of the maze before time runs out. The movement is controlled with the keys Z, X, K and M corresponding to left, right, up and down, respectively. The number of eggs collected is displayed at the top of the screen. When you have completed a level, you will move on to the next. Although the layout of the maze will be the same, the eggs are placed in different positions. Don't expect to finish level one on your first try, as the playing area is 50 times larger than what is shown on the screen. ===== Listing ===== * **__Listing - BUNNY.BAS__** 10 REM Haunted Burrow 20 REM by Phil Lawson 30 REM (c) Computing with the Amstrad 40 REM --------------PCW------------- 50 MEMORY &HCF00 60 e$=CHR$(27):cls$=e$+"E"+e$+"H" 70 DEF FNat$(x,y)=e$+"Y"+CHR$(32+y)+CHR$(32+x) 80 GOSUB 1990:lev=1 90 WHILE -1 100 POKE time,60:CALL keyboard 110 PRINT cls$:CALL screen 120 PRINT FNat$(20,0);"Eggs collected" 130 PRINT FNat$(60,0);"Level" 140 PRINT FNat$(26,2);0 150 PRINT FNat$(61,2);lev 160 POKE posit,&HF9:POKE posit+1,&HD9 170 GOSUB 500:POKE &HD9F9,5 180 PRINT e$+"p" 190 PRINT FNat$(23,5);SPACE$(40) 200 FOR a=6 TO 23 210 PRINT FNat$(23,a);" " 220 PRINT FNat$(61,a);" ":NEXT 230 PRINT FNat$(23,24);SPACE$(40) 240 PRINT e$+"q":PRINT FNat$(12,26);CHR$(134)+STRING$(60,CHR$(138))+CHR$(140) 250 PRINT FNat$(12,27);CHR$(133);FNat$(73,27);CHR$(133) 260 PRINT FNat$(12,28);CHR$(131)+STRING$(60,CHR$(138))+CHR$(137) 270 PRINT e$+"p":PRINT FNat$(13,27);SPACE$(60):PRINT e$+"q" 280 PRINT FNat$(3,27);"T I M E" 290 GOSUB 1190:REM eggs,keys & clocks 300 CALL drawmap 310 POKE dead,0:POKE parameter3,255 320 POKE eggs,0:oldegg=0 330 WHILE PEEK(dead)<>255 AND PEEK(eggs)<>200:i$="" 340 WHILE i$="":i$=INKEY$ 350 CALL timer:i$=UPPER$(i$+" "):WEND 360 POKE parameter1,ASC(i$) 370 IF oldegg<>PEEK(eggs) THEN oldegg=oldegg+1:PRINT FNat$(26,2);oldegg 380 CALL moverabbit:CALL timer 390 WEND 400 addr=PEEK(posit+1)*256+PEEK(posit) 410 IF PEEK(eggs)=200 THEN FOR a=1 TO 15:POKE addr,5:CALL drawmap:FOR b=1 TO 50:NEXT:POKE addr,8:CALL drawmap:FOR b=1 TO 50:NEXT:NEXT:lev=lev+1 420 PRINT e$+"p" 430 FOR a=6 TO 23:PRINT FNat$(23,a);SPACE$(38):NEXT 440 IF PEEK(eggs)=200 THEN a$="C O N G R A T U L A T I O N S":PRINT FNat$(27,12);a$ 450 PRINT e$+"q":a$="Press spacebar to play" 460 PRINT FNat$(31,14);a$ 470 WHILE INKEY$<>" ":WEND 480 CALL resetscreen 490 WEND 500 REM setup graphics characters 510 addr=&HE21C 520 FOR a=0 TO 63:POKE addr+a,0:REM path 530 POKE addr+a+64,170:NEXT:REM wall 540 RESTORE 570:FOR a=128 TO 575 550 READ b:POKE addr+a,b:NEXT:RETURN 560 REM data for egg character 570 DATA 0,0,0,1,3,6,13,15 580 DATA 0,15,117,235,85,171,85,255 590 DATA 0,240,222,171,213,170,213,255 600 DATA 0,0,0,128,192,224,112,240 610 DATA 14,13,6,3,1,0,0,0 620 DATA 171,85,171,85,235,117,15,0 630 DATA 170,213,170,213,171,222,240,0 640 DATA 176,112,224,192,128,0,0,0 650 REM data for closed door 660 DATA 0,3,3,3,3,3,3,3 670 DATA 0,255,255,170,213,170,213,170 680 DATA 0,255,255,170,213,170,213,170 690 DATA 0,192,192,192,192,192,192,192 700 DATA 3,3,3,3,3,3,3,0 710 DATA 191,160,160,191,213,255,255,0 720 DATA 253,5,5,253,85,255,255,0 730 DATA 192,192,192,192,192,192,192,0 740 REM data for key character 750 DATA 0,0,1,6,29,58,53,59 760 DATA 0,0,224,184,86,235,53,43 770 DATA 0,0,0,0,0,0,255,255 780 DATA 0,0,0,0,0,0,248,248 790 DATA 53,26,7,1,0,0,0,0 800 DATA 215,174,88,224,0,0,0,0 810 DATA 6,6,0,0,0,0,0,0 820 DATA 176,48,0,0,0,0,0,0 830 REM bunny right 840 DATA 0,0,0,0,0,0,0,7 850 DATA 0,0,0,0,0,0,255,0 860 DATA 0,0,7,24,96,199,25,2 870 DATA 0,224,16,28,234,50,204,112 880 DATA 24,32,116,50,15,0,0,0 890 DATA 112,32,128,64,183,152,0,0 900 DATA 7,4,8,112,128,0,0,0 910 DATA 128,0,0,0,0,0,0,0 920 REM data for clock character 930 DATA 0,1,6,24,48,96,96,96 940 DATA 0,255,0,1,1,1,1,1 950 DATA 0,255,0,128,128,128,128,128 960 DATA 0,192,48,24,12,6,6,6 970 DATA 96,96,96,48,12,3,0,0 980 DATA 6,24,96,0,0,0,255,0 990 DATA 0,0,0,0,0,0,255,0 1000 DATA 6,6,6,12,24,96,0,0 1010 REM data for open door 1020 DATA 0,3,3,3,3,3,3,3 1030 DATA 0,255,0,0,1,14,13,14 1040 DATA 0,255,7,58,213,170,93,230 1050 DATA 0,192,192,192,192,192,192,192 1060 DATA 3,3,3,3,3,3,3,0 1070 DATA 13,14,15,1,0,0,255,0 1080 DATA 133,230,93,234,58,7,255,0 1090 DATA 192,192,192,192,192,192,192,0 1100 REM bunny left 1110 DATA 0,7,8,56,87,76,51,14 1120 DATA 0,0,224,24,6,227,152,64 1130 DATA 0,0,0,0,0,0,255,0 1140 DATA 0,0,0,0,0,0,0,224 1150 DATA 1,0,0,0,0,0,0,0 1160 DATA 224,32,16,14,1,0,0,0 1170 DATA 14,4,1,2,237,25,0,0 1180 DATA 24,4,46,76,240,0,0,0 1190 REM set up eggs,doors & keys 1200 RESTORE 1340:FOR a=1 TO 12 1210 READ door$:door$="&H"+door$ 1220 POKE VAL(door$),7:NEXT 1230 FOR a=1 TO 4 1240 READ key$:key$="&H"+key$ 1250 POKE VAL(key$),4:NEXT 1260 FOR a=1 TO 12 1270 READ clock$:clock$="&H"+clock$ 1280 POKE VAL(clock$),6:NEXT 1290 FOR a=1 TO 200 1300 x=INT(RND*4180) 1310 IF PEEK(&HD000+x)<>0 THEN 1300 1320 POKE &HD000+x,2:NEXT:RETURN 1330 REM data for doors 1340 DATA D398,D24D,D246 1350 DATA D376,D37D,D488 1360 DATA D735,DB66,DD7A 1370 DATA DF8C,E0BB,DF9E 1380 REM data for keys 1390 DATA D68E,D251,DF59,DC4B 1400 REM data for clocks 1410 DATA D1B2,D490,D4CB,D606 1420 DATA D83B,D8B6,D9C5,DC4B 1430 DATA DF02,DF16,E019,E0A4 1440 REM data for map 1450 DATA 3E0000000004220800,06C 1460 DATA 007FEFF4A77402EB0E,478 1470 DATA F7020114B73422A900,2C4 1480 DATA 413E7D17A1B5FA0800,36B 1490 DATA 7F1EE1B237B402A902,3C8 1500 DATA 43C28C227097BEA902,423 1510 DATA 407AB8E6E4C402A806,4B0 1520 DATA 4302A20CCE75FAE902,41B 1530 DATA 77FE8FF89F04020902,3AC 1540 DATA 0608F803BFF7EFE802,498 1550 DATA D0EB8DF60004020802,34E 1560 DATA 5FA80117FFF5FAFF0E,51A 1570 DATA 10ABBDD00095000002,2DF 1580 DATA 76AA051F00957FFF0A,361 1590 DATA 048AF5007E90200102,2B4 1600 DATA F5AE05EF40DFAFF906,564 1610 DATA 15ABDC085E10240100,237 1620 DATA 552A07FFC3D774050E,3A6 1630 DATA 557AF4000011144500,22D 1640 DATA 750A05EF7FF574E507,447 1650 DATA 45EBBD094024144500,2B3 1660 DATA 6D08017B5FAFC40502,2CA 1670 DATA 2D7BFF4140A07C8502,3CB 1680 DATA 8D0A005F7EAFC7BD0E,3B5 1690 DATA 2DEAEFD002A0100000,388 1700 DATA 2508281F7EBDFFFF0F,3BC 1710 DATA 757FFAC140A5002000,3B4 1720 DATA 2508825B5FA16FA30E,32A 1730 DATA 2DEAEFF1502F24380A,3DC 1740 DATA 890A080157A1E40A0A,28C 1750 DATA 39EB7BFF542F2EEA0A,443 1760 DATA 000940005701002A0A,0D5 1770 DATA 3F7DE7FFD1FFFFA202,615 1780 DATA 0C080C001C1104AE0A,109 1790 DATA EFCF79DDFFD7242C0A,544 1800 DATA 085803040013AEAE0A,1E0 1810 DATA 7B53FE76FDF020A30A,4FC 1820 DATA 435002228017FFA802,2F7 1830 DATA 5F5FFAFABFD0222B0A,498 1840 DATA 51400202841FAAE902,2CD 1850 DATA 557FFFDEF5F02A090A,4D3 1860 DATA 554200008515EAFD02,31A 1870 DATA 544ABF6CBD55080506,2EE 1880 DATA 13CABC4C85542FFF00,3EC 1890 DATA FBC881C0F454A00407,4F7 1900 DATA 090AFFFD85D7BDF504,521 1910 DATA 604BA0048510E01504,2DD 1920 DATA 3FEA2FF7EF77BDF506,56D 1930 DATA 024808100200801504,0FD 1940 DATA 4ADFC99FFFF6FDF505,67D 1950 DATA 6A104BD10712801504,248 1960 DATA 2AF77BD5D05FFDF506,598 1970 DATA 2A0000041FC0001100,11E 1980 DATA END,END 1990 REM set up machine code data 2000 l=1:addr=&HE641:RESTORE 2250 2010 READ a$,c$:WHILE a$<>"END" 2020 FOR a=1 TO 23 STEP 2 2030 POKE addr,VAL("&H"+MID$(a$,a,2)) 2040 check=check+PEEK(addr):addr=addr+1 2050 NEXT 2060 IF check<>VAL("&H"+c$) THEN PRINT"Error in data line";l*10+2210:END 2070 check=0:READ a$,c$:l=l+1:WEND 2080 REM game variables 2090 screen=&HE641:map=&HD000 2100 fillmap=&HE66B:posit=&HE45C 2110 drawmap=&HE6B4:pathdata=&HE21C 2120 moverabbit=&HE70B:time=&HE461 2130 parameter1=&HE45E:parameter2=&HE45F 2140 keyboard=&HE7AE:timer=&HE7B8 2150 parameter3=&HE460:dead=&HE640 2160 eggs=&HE63F:resetscreen=&HE815 2170 REM poke map 2180 addr=&HE462:RESTORE 1440:READ a$,c$ 2190 WHILE a$<>"END" 2200 FOR a=1 TO 17 STEP 2 2210 POKE addr,VAL("&H"+MID$(a$,a,2)) 2220 addr=addr+1:NEXT:READ a$,c$:WEND 2230 CALL fillmap:RETURN 2240 REM machine code data 2250 DATA CD64E611982C2100B6016801,42D 2260 DATA 3E20F5D53E0873237223133D,3E9 2270 DATA 20F8D1EB09EBF13D20ECC9C1,78C 2280 DATA CD5AFCE900C92100D0011C12,4F5 2290 DATA 3601230B78B120F82134D1FD,4C9 2300 DATA 2162E406350E081608FD7E00,351 2310 DATA CB273600CB16231520F60DFD,461 2320 DATA 2320ECFD7E00878787871604,4E0 2330 DATA CB273600CB16231520F6FD23,477 2340 DATA 1108001910CFC9CD64E6E5D5,5AB 2350 DATA 2A5CE401CCFE09FD21D86A06,5A4 2360 DATA 090E09E56E26002929292929,266 2370 DATA 29111CE219C506207EFD7700,42E 2380 DATA 23FD2310F711B002FD190620,449 2390 DATA 7EFD770023FD2310F71130FD,57A 2400 DATA FD19C1E1230D20CB118004FD,565 2410 DATA 191143001910BED1E1C93A5E,467 2420 DATA E42A5CE4EB2A5CE4EBFE5828,70C 2430 DATA 13FE4D2817FE4B2818FE5AC0,53E 2440 DATA 01FFFF3E051218100101003E,2BC 2450 DATA 08121808014C00180301B4FF,256 2460 DATA 097EFE01C8FE03C8C5FE0628,608 2470 DATA 28FE04284EFE02CC7CE7C12A,5BA 2480 DATA 5CE4563A5FE4FE07280F3600,485 2490 DATA 09225CE47E72325FE4CDB4E6,637 2500 DATA C9360318EFCD84E73E3C3261,54E 2510 DATA E418D73A3FE63C323FE6C9CD,65B 2520 DATA 64E62188A516FF01E0017223,524 2530 DATA 0B78B120F93E013260E4C921,4EC 2540 DATA 00D0011C123E03EDB120AB2B,3D4 2550 DATA 03360718F6260A2E02CD5AFC,3D1 2560 DATA E000C9CD64E63A60E43D3260,60D 2570 DATA E4C03E083260E43A61E43D6F,58B 2580 DATA 26002929290188A5097ECB27,348 2590 DATA 0608772310FCA7C03A61E43D,4D7 2600 DATA 3261E43CC03EFF3240E6C9CD,69E 2610 DATA 64E62188A216AACD0AE801D0,5E5 2620 DATA 0009CD0AE801D00009CD0AE8,461 2630 DATA C901000272230B78B120F9C9,477 2640 DATA 2100D0011C127E3D28023600,23B 2650 DATA 0B2378B120F4C90000000000,334 2660 DATA END,END ===== Controls ===== K = UP M = DOWN X = RIGHT Z = LEFT ===== Loading the program ===== 1.- Insert the CP/M disc on side 2 2.- Write BASIC and wait for it to load 3.- Remove the CP/M disk and insert the disk containing the Haunted Burrow game 4.- Type run "Bunny" and press the "ENTER" key ===== Extras ===== * Listing of the program in a large-circulation magazine of the time {{:otros:haunted_burrow_01.jpg?170}} {{:otros:haunted_burrow_02.jpg?170}} {{:otros:haunted_burrow_03.jpg?170}} ===== Download ===== * {{:otros:Haunted Burrow (Basic).zip|Haunted Burrow }}(juego en formato dsk, comprimido con zip) ===== Video ===== {{ youtube>Mhru-lth2yM?large }}