Jet Set Willy disassembly ========================= Originally written by Matthew Smith for the ZX Spectrum in 1984, Jet Set Willy was converted to the BBC Micro by Chris Robson. It is a platform game where the player must collect items while avoiding static hazards and moving enemies. The following disassembly was created by reverse engineering binary images, without access to any source code. It is nevertheless reasonably complete, allowing the technical approaches used to be understood. The author of this disassembly imposes no additional copyright restrictions beyond those already present on the game itself. It is provided for educational purposes only, and it is hoped that the original authors will accept it in the good faith it was intended - as a tribute to their skills. Technical notes =============== The game consists of two BASIC loaders and two binaries. The binaries are relocated around a custom-sized MODE 1 screen (&3000-&59ff, &200 per 8 rows). The use of vectors in the first binary indicates it was built from sections. There are 256 8x8 pixel, 1 bit per pixel, background sprites, not all of which are used. A room consists of 32x16 tiles, built using six of these sprites. A table is used to store the type of tile in a given position: 0 space 1 platform 2 wall 3 slope 4 conveyor 5 + c0 deadly 80 + n enemy n e0 + n item n There are 60 rooms. Room data is stored as follows: 4 bits for number of items For each item: 1 bit for whether it has been collected (reset at start of game) 6 bits for room number to the left 6 bits for room number to the right 6 bits for room number to the up 6 bits for room number to the down 1 bit for direction of conveyor in room (0 = left, 1 = right) 1 bit for direction of slope in room (0 = /, 1 = \) 1 bit for whether the room has a rope 2 bits for logical colour of deadly tiles 2 bits for logical colour of conveyor tiles 2 bits for logical colour of slope tiles 2 bits for logical colour of wall tiles 2 bits for logical colour of platform tiles 5 bits for sprite used for item tiles 5 bits for sprite used for deadly tiles 5 bits for sprite used for conveyor tiles 5 bits for sprite used for slope tiles 5 bits for sprite used for wall tiles 5 bits for sprite used for platform tiles For each of four screen colours: 3 bits for logical colour of screen colour 4 bits for tab position of title For the title, read 5 bits at a time until &1c is found: &00 - &1a a - z &1b ' &1c end of title &1d space, making next character uppercase &1e space &1f "The" For the tiles, read 2 bits at a time until value isn't 11: 00 set tile for subsequent operations 3 bits for tile to use 01 move to 5 bits for x position 4 bits for y position 10 add line of tiles 1 bit for direction (0 = horizontal, 1 = vertical) 5 bits for length 11 00 add block of tiles 5 bits for width 4 bits for final y position 11 01 add series of tiles 4 bits for number of tiles minus one For each tile: 5 bits for x position 4 bits for y position 11 10 add slope 1 bit for direction (0 = /, 1 = \) 5 bits for length 11 11 00 end of tile data 11 11 01 unused 11 11 10 add triangle of tiles 1 bit for direction (0 = /, 1 = \) 5 bits for length 3 bits for number of enemies For each enemy: 6 bits for sprite 5 bits for x position 4 bits for y position 5 bits for minimum position 5 bits for maximum position 1 bit for direction (0 = horizontal, 1 = vertical) 1 bit for direction (0 = left/up, 1=right/down) 3 bits for speed 2 bits for logical colour For each of two arrows: 1 bit for presence If present: 4 bits for y position 3 bits for timing of firing (via lookup table) There are 160 16x16 pixel, 1 bit per pixel, enemy sprites, which are unpacked as needed. There are also 8 16x16 pixel 2 bit per pixel sprites for the player, and 2 8x8 pixel 2 bit per pixel sprites for the arrows, stored unpacked. A screenshot map may be found at: http://www.level7.org.uk/miscellany/jet-set-willy-map.png Game-play notes =============== There are 80 items in total. All are needed to clear the house. Jumping up from "Watch Tower" or "Rescue Esmerelda" puts the player in "Ballroom East". Pokes ===== &0c9b = &0f collect one item to clear house &1073 = &f3 run game at maximum speed &17cd = &24 infinite lives &1930 = &24 allow the player to fall without dying &1b84 = &24, &1ba3 = &24 allow the player to touch enemies without dying Disassembly =========== ; $.JETSET 001900 001900 000550 ; BASIC &1900 0d 00 02 16 20 d2 3d b8 50 2b 26 33 43 30 3a 6a ; 2 LOMEM=TOP+&3C0:jpos=TOP &1910 70 6f 73 3d b8 50 0d 00 04 0f 20 eb 31 3a d3 3d ; 4 MODE1:HIMEM=&2800 &1920 26 32 38 30 30 0d 00 05 27 20 e3 20 58 3d 30 20 ; 5 FOR X=0 TO &3f STEP2:X?&900=X:X?&901=0:NEXT &1930 b8 20 26 33 46 20 88 32 3a 58 3f 26 39 30 30 3d ; 55 VDU19,2,6;0;0 # Set colour 2 to cyan &1940 58 3a 58 3f 26 39 30 31 3d 30 3a ed 0d 00 37 0f ; 500 VDU23;2,90,0;0;0; # R2: Horizontal sync position register &1950 20 ef 31 39 2c 32 2c 36 3b 30 3b 0d 01 f4 14 20 ; 510 VDU23;6,15,0;0;0; # R6: Vertical displayed register &1960 ef 32 33 3b 32 2c 39 30 2c 30 3b 30 3b 30 3b 0d ; 520 VDU23;7,29,0;0;0; # R7: Vertical sync position &1970 01 fe 14 20 ef 32 33 3b 36 2c 31 35 2c 30 3b 30 ; 530 VDU23;8;&C0,0;0;0; # R8: Interlace and delay register &1980 3b 30 3b 0d 02 08 14 20 ef 32 33 3b 37 2c 32 39 ; 540 VDU23;1,64;0;0;0; # R1: Horizontal displayed register &1990 2c 30 3b 30 3b 30 3b 0d 02 12 15 20 ef 32 33 3b ; 550 ?&352=0:?&E0=&0:?&E1=&9 # Set bytes per line, row table address &19a0 38 2c 26 43 30 2c 30 3b 30 3b 30 3b 0d 02 1c 13 ; 560 FOR X=0 TO &9F:X?&32B0=X?(jpos+&280):X?&34B0=X?(jpos+&320):NEXT &19b0 20 ef 32 33 3b 31 2c 36 34 3b 30 3b 30 3b 30 0d ; 570 PRINTTAB(12,4);"Presents" &19c0 02 26 1c 20 3f 26 33 35 32 3d 30 3a 3f 26 45 30 ; 600 FOR X=0 TO 319:X?&3C60=X?jpos:X?&3E60=X?(jpos+&140):NEXT &19d0 3d 26 30 3a 3f 26 45 31 3d 26 39 0d 02 30 3f 20 ; 605 VDU28,6,14,31,9 # Define text window &19e0 20 e3 20 58 3d 30 20 b8 20 26 39 46 3a 58 3f 26 ; 700CHAIN"JSWL" &19f0 33 32 42 30 3d 58 3f 28 6a 70 6f 73 2b 26 32 38 &1a00 30 29 3a 58 3f 26 33 34 42 30 3d 58 3f 28 6a 70 &1a10 6f 73 2b 26 33 32 30 29 3a ed 0d 02 3a 17 20 f1 &1a20 8a 31 32 2c 34 29 3b 22 50 72 65 73 65 6e 74 73 &1a30 22 0d 02 58 37 20 e3 20 58 3d 30 20 b8 20 33 31 &1a40 39 3a 58 3f 26 33 43 36 30 3d 58 3f 6a 70 6f 73 &1a50 3a 58 3f 26 33 45 36 30 3d 58 3f 28 6a 70 6f 73 &1a60 2b 26 31 34 30 29 3a ed 0d 02 5d 12 20 ef 32 38 &1a70 2c 36 2c 31 34 2c 33 31 2c 39 0d 02 bc 0b d7 22 &1a80 4a 53 57 4c 22 0d ff ; JET SET WILLY logo &1a87 bc 74 74 74 77 00 00 00 ff f0 f0 f0 fe 32 32 32 &1a97 ff f0 f0 f0 f3 e2 e2 e2 ee e2 e2 e2 ee 00 00 00 &1aa7 ff f8 f8 f8 f8 f8 f8 f8 ff f0 f0 f0 f7 c4 f7 f0 &1ab7 ff f0 f0 f0 ff 00 88 88 bb ba ba ba bb 00 00 00 &1ac7 ff f0 f0 f0 fe 32 32 32 ff f0 f0 f0 f3 e2 e2 e2 &1ad7 ee e2 e2 e2 ee 00 00 00 00 11 32 32 32 32 11 00 &1ae7 ff f0 f0 f0 f1 f0 f0 f8 ff f0 f0 fc 33 88 c4 f3 &1af7 cc e2 f1 f1 ff 00 00 88 77 74 74 74 74 74 74 74 &1b07 ff f0 f0 f0 f3 e2 f3 f0 ff f0 f0 f0 ff 00 cc c4 &1b17 dd d5 d5 d5 dd 00 00 00 ff f0 f0 f0 ff 11 11 11 &1b27 ff f0 f0 f0 f1 f1 f1 f1 ff f1 f1 f1 ff 00 00 00 &1b37 11 11 11 11 11 11 11 11 ff f0 f0 f0 f0 f0 f0 f0 &1b47 88 88 88 88 88 88 88 aa ff f8 f8 f8 f8 f8 f8 f8 &1b57 dd d5 d5 d5 d5 c4 c4 c4 ff f0 f0 f0 fe 32 32 32 &1b67 ff f0 f0 f0 f3 e2 e2 e2 dd d5 d5 d5 dd 11 11 11 &1b77 ff f1 f1 f1 f1 f1 f1 f1 00 00 00 00 00 00 00 00 &1b87 00 00 00 00 00 00 00 00 ff f8 f8 f8 f8 f8 f8 f8 &1b97 88 88 88 88 88 88 88 88 00 00 00 00 00 00 00 00 &1ba7 77 74 74 74 74 74 32 33 cc c4 c4 e4 f3 f0 f0 f0 &1bb7 33 32 32 72 fc f0 f0 f0 ee e2 e2 e2 e2 e2 e2 e2 &1bc7 00 00 00 77 74 74 32 11 32 32 32 ba f0 f0 f0 ff &1bd7 e2 e2 e2 e2 e2 e2 c4 88 00 00 00 00 00 00 00 00 &1be7 f8 f8 f8 f8 f8 f8 f8 ff f0 f7 c4 f7 f0 f0 f0 ff &1bf7 88 88 00 ff f0 f0 f0 ff 00 00 00 88 88 88 88 88 &1c07 32 32 32 32 32 32 32 33 e2 e2 e2 e2 e2 e2 e2 ee &1c17 00 00 00 00 00 00 00 00 00 00 00 33 32 32 11 00 &1c27 76 11 00 ee f1 f0 f0 ff f0 f0 f8 74 f8 f0 f0 ff &1c37 c4 e2 f1 f1 f1 f1 e2 cc 74 74 74 74 74 74 74 77 &1c47 f0 f3 e2 f3 f0 f0 f0 ff c4 cc 00 ff f0 f0 f0 ff &1c57 00 00 00 cc c4 c4 c4 cc 11 11 11 11 11 11 11 11 &1c67 f1 f1 f1 f1 f1 f1 f1 ff 00 00 00 00 00 00 00 00 &1c77 11 11 11 11 11 00 00 00 f0 f0 f0 f0 f0 f8 74 33 &1c87 fd f8 f0 f0 f0 f2 d5 88 f8 f8 f0 f0 f0 f0 f1 ee &1c97 c4 c4 c4 d5 d5 99 11 11 32 32 32 fe f0 f0 f0 ff &1ca7 e2 e2 e2 f3 f0 f0 f0 ff 11 11 11 dd d5 d5 d5 dd &1cb7 f1 f1 f1 f1 f0 f0 f0 ff 00 00 00 ff f0 f0 f0 ff &1cc7 00 00 00 ee e2 e2 e2 ee f8 f8 f8 f8 f8 f8 f8 ff &1cd7 88 88 88 ff f0 f0 f0 ff 00 00 00 ff f1 f1 f1 ff &1ce7 00 00 00 77 74 74 33 00 ff 00 00 88 f7 f0 f0 ff &1cf7 fe 32 32 74 f8 f0 f3 cc e2 e2 e2 c4 c4 88 00 00 ; TYNESOFT logo &1d07 70 70 60 00 00 00 00 00 f0 f0 70 70 70 70 70 70 &1d17 f0 f0 30 30 30 30 10 00 00 00 00 e0 e0 c0 f0 f0 &1d27 00 00 00 f0 f0 70 f0 e0 00 00 00 f0 f0 70 70 60 &1d37 00 00 00 00 80 c0 e0 f0 00 00 00 f0 f0 60 60 60 &1d47 00 00 00 f0 f0 70 70 70 00 00 00 f0 f0 10 20 e0 &1d57 00 00 00 b0 f0 e0 b0 30 00 00 00 d0 f0 30 10 c0 &1d67 00 00 00 80 80 90 b0 30 00 00 00 70 f0 f0 c0 80 &1d77 00 00 00 90 c0 e0 f0 70 00 00 00 f0 f0 70 70 70 &1d87 00 00 00 f0 f0 00 00 10 f0 f0 c0 c0 c0 c0 00 00 &1d97 f0 f0 e0 e0 e0 e0 e0 e0 e0 e0 60 00 00 00 00 00 &1da7 00 00 00 00 00 00 00 00 07 07 07 07 07 07 0f 0f &1db7 00 00 00 00 00 00 08 08 07 03 03 03 07 07 00 00 &1dc7 0c 08 08 08 0c 0c 00 00 06 06 06 06 0f 0f 00 00 &1dd7 07 03 01 00 00 00 00 00 0e 0e 0e 0e 06 06 00 00 &1de7 07 07 07 07 07 07 00 00 0e 02 01 01 0f 0f 00 00 &1df7 01 08 0e 0f 0f 0d 00 00 0f 07 03 0f 0f 0f 00 00 &1e07 03 0f 0f 0d 08 00 00 00 08 08 0c 0f 0f 07 00 00 &1e17 07 07 0f 0e 0c 09 00 00 07 07 07 07 0f 0f 00 00 &1e27 0f 0f 01 00 08 0c 00 00 00 00 00 00 00 00 01 01 &1e37 0e 0e 0e 0e 0e 0e 0f 0f 00 00 00 00 00 00 00 00 ; unused # Copy of &1e47 - &1e4f from relocated $.JSW1 &1e47 7a &1e48 10 f8 BPL &1e42 &1e4a 60 RTS &1e4b 18 CLC &1e4c a5 97 LDA &97 &1e4e 10 01 BPL &1e51 ; $.JSWL ff1900 ff8023 00012d ; BASIC &0900 0d 00 0a 1b e7 90 3c 3e 26 39 30 30 8c d0 3d 26 ; 10IFPAGE<>&900THENPAGE=&900:CHAIN"JSWL" &0910 39 30 30 3a d7 22 4a 53 57 4c 22 0d 00 14 0a d3 ; 20HIMEM=&D00 &0920 3d 26 44 30 30 0d 00 1e 0a 50 25 3d 26 34 46 0d ; 30P%=&4F &0930 00 28 09 5b 4f 50 54 30 0d 00 32 07 53 45 49 0d ; 40[OPT0 &0940 00 33 2c 4c 44 58 23 30 3a 54 58 41 3a 2e 57 20 ; 50SEI &0950 53 54 41 20 26 32 41 31 2c 58 3a 49 4e 58 3a 43 ; 51LDX#0:TXA:.W STA &2A1,X:INX:CPX#16:BNE W # Zero paged ROM &0960 50 58 23 31 36 3a 42 4e 45 20 57 0d 00 3c 07 54 ; 60TAX # type table &0970 41 58 0d 00 46 12 2e 53 54 20 4c 44 41 26 31 31 ; 70.ST LDA&1100,X &0980 30 30 2c 58 0d 00 50 12 2e 46 49 20 53 54 41 20 ; 80.FI STA &B00,X # Relocate &0990 26 42 30 30 2c 58 0d 00 5a 0e 49 4e 58 3a 42 4e ; 90INX:BNE ST # &1100-&35ff &09a0 45 20 53 54 0d 00 64 15 49 4e 43 20 53 54 2b 32 ; 100INC ST+2:INC FI+2 # to &0b00-&2fff &09b0 3a 49 4e 43 20 46 49 2b 32 0d 00 6e 14 4c 44 41 ; 110LDA ST+2:CMP#&36 &09c0 20 53 54 2b 32 3a 43 4d 50 23 26 33 36 0d 00 78 ; 120BNE ST &09d0 0a 42 4e 45 20 53 54 0d 00 82 0f 4c 44 58 23 26 ; 130LDX#&FF:TXS # Reset stack &09e0 46 46 3a 54 58 53 0d 00 8c 07 43 4c 49 0d 00 96 ; 140CLI &09f0 0d 4a 4d 50 20 26 35 32 30 30 0d 00 a0 05 5d 0d ; 150JMP &5200 # Call entry point &0a00 00 aa 11 2a 4c 2e 20 4a 53 57 31 20 31 31 30 30 ; 160] &0a10 0d 00 b4 0c 2a 4c 2e 20 4a 53 57 32 0d 00 be 07 ; 170*L. JSW1 1100 &0a20 2a 54 2e 0d 00 c8 08 d6 26 34 46 0d ff ; 180*L. JSW2 ; 190*T. ; 200CALL&4F ; $.JSW1 000b00 001f90 002500 ; to_write_status_line &0b00 4c 50 0c JMP &0c50 ; write_status_line ; to_handle_rope_time_and_events &0b03 4c 2a 0b JMP &0b2a ; handle_rope_time_and_events ; to_collect_item &0b06 4c 8d 0c JMP &0c8d ; collect_item ; to_reset_game # Unused &0b09 4c 48 0d JMP &0d48 ; reset_game ; to_mark_enemies_that_overlap_player &0b0c 4c 0b 0e JMP &0e0b ; mark_enemies_that_overlap_player ; to_update_arrows &0b0f 4c 33 0e JMP &0e33 ; update_arrows ; to_to_calculate_screen_address # Unused &0b12 4c 18 11 JMP &1118 ; to_calculate_screen_address ; to_update_lives &0b15 4c d5 0e JMP &0ed5 ; update_lives ; to_initialise_room_background_tiles_and_title &0b18 4c 1c 0f JMP &0f1c ; initialise_room_background_tiles_and_title ; to_initialise_arrows &0b1b 20 c4 0f JSR &0fc4 ; initialise_arrows ; to_handle_room_tweaks_on_entry # Unused &0b1e 4c 01 10 JMP &1001 ; handle_room_tweaks_on_entry ; to_real_entry_point &0b21 4c 4f 10 JMP &104f ; real_entry_point ; to_game_over # Unused &0b24 4c 78 10 JMP &1078 ; game_over ; to_play_sound_number_a &0b27 4c d1 10 JMP &10d1 ; play_sound_number_a ; handle_rope_time_and_events &0b2a a5 6f LDA &6f ; room_contains_rope &0b2c f0 3e BEQ &0b6c ; no_rope &0b2e 20 d0 0b JSR &0bd0 ; unplot_rope &0b31 a9 80 LDA #&80 &0b33 85 5d STA &5d ; rope_end_x &0b35 a9 00 LDA #&00 &0b37 85 7b STA &7b ; rope_pixel_touched &0b39 85 5e STA &5e ; rope_end_y &0b3b a6 5f LDX &5f ; rope_position &0b3d a9 1f LDA #&1f &0b3f 85 7a STA &7a ; rope_pixel_to_consider ; update_rope_pixels_loop &0b41 20 72 0b JSR &0b72 ; update_rope_pixel &0b44 c6 7a DEC &7a ; rope_pixel_to_consider &0b46 d0 f9 BNE &0b41 ; update_rope_pixels_loop &0b48 a5 5c LDA &5c ; rope_velocity_relative_to_centre &0b4a 0a ASL A &0b4b 18 CLC &0b4c 65 5f ADC &5f ; rope_position &0b4e a8 TAY &0b4f c9 d2 CMP #&d2 &0b51 d0 08 BNE &0b5b ; rope_didn't_change_sides &0b53 a5 5b LDA &5b ; rope_position_relative_to_centre &0b55 49 ff EOR #&ff &0b57 85 5b STA &5b ; rope_position_relative_to_centre &0b59 a9 08 LDA #&08 ; rope_didn't_change_sides &0b5b c9 08 CMP #&08 &0b5d d0 08 BNE &0b67 ; rope_didn't_reach_end &0b5f a5 5c LDA &5c ; rope_velocity_relative_to_centre &0b61 49 ff EOR #&ff &0b63 85 5c STA &5c ; rope_velocity_relative_to_centre &0b65 e6 5c INC &5c ; rope_velocity_relative_to_centre ; rope_didn't_reach_end &0b67 84 5f STY &5f ; rope_position &0b69 20 e6 0b JSR &0be6 ; check_for_player_contact_with_rope ; no_rope &0b6c 20 d4 0c JSR &0cd4 ; handle_time &0b6f 4c 85 0d JMP &0d85 ; handle_endgame ; update_rope_pixel &0b72 86 96 STX &96 ; rope_pixel_position &0b74 8a TXA &0b75 10 08 BPL &0b7f ; skip_floor &0b77 a2 26 LDX #&26 &0b79 c9 f0 CMP #&f0 &0b7b b0 02 BCS &0b7f ; skip_floor &0b7d a2 27 LDX #&27 ; skip_floor &0b7f bd 00 09 LDA &0900,X ; rope_x_delta_table &0b82 c5 5b CMP &5b ; rope_position_relative_to_centre &0b84 90 02 BCC &0b88 ; skip_inversion &0b86 49 ff EOR #&ff ; skip_inversion &0b88 65 5d ADC &5d ; rope_end_x &0b8a 85 5d STA &5d ; rope_end_x &0b8c a5 5e LDA &5e ; rope_end_y &0b8e 18 CLC &0b8f 7d 28 09 ADC &0928,X ; rope_y_delta_table &0b92 85 5e STA &5e ; rope_end_y &0b94 a4 7a LDY &7a ; rope_pixel_to_consider &0b96 99 b6 09 STA &09b6,Y ; rope_pixels_y &0b99 aa TAX &0b9a a5 5d LDA &5d ; rope_end_x &0b9c 99 94 09 STA &0994,Y ; rope_pixels_x &0b9f 20 b2 0b JSR &0bb2 ; plot_rope_pixel &0ba2 a5 90 LDA &90 ; screen_address_low &0ba4 a6 7a LDX &7a ; rope_pixel_to_consider &0ba6 9d 50 09 STA &0950,X ; rope_pixels_screen_address_low_table &0ba9 a5 91 LDA &91 ; screen_address_high &0bab 9d 72 09 STA &0972,X ; rope_pixels_screen_address_high_table &0bae a6 96 LDX &96 ; rope_pixel_position &0bb0 e8 INX &0bb1 60 RTS ; plot_rope_pixel &0bb2 85 97 STA &97 ; rope_pixel_x &0bb4 20 18 11 JSR &1118 ; to_calculate_screen_address &0bb7 a0 00 LDY #&00 &0bb9 b1 90 LDA (&90),Y ; screen_address &0bbb f0 04 BEQ &0bc1 ; rope_not_touching_player # Bug: triggers for enemies too (e.g. Cold Store) &0bbd a5 7a LDA &7a ; rope_pixel_to_consider &0bbf 85 7b STA &7b ; rope_pixel_touched ; rope_not_touching_player &0bc1 a5 97 LDA &97 ; rope_pixel_x &0bc3 29 03 AND #&03 &0bc5 aa TAX &0bc6 bd cc 0b LDA &0bcc,X ; rope_pixel_values_table &0bc9 91 90 STA (&90),Y ; screen_address &0bcb 60 RTS ; rope_pixel_values_table &0bcc 88 44 22 11 ; unplot_rope &0bd0 a2 1f LDX #&1f &0bd2 a0 00 LDY #&00 ; unplot_rope_loop &0bd4 bd 50 09 LDA &0950,X ; rope_pixels_screen_address_low_table &0bd7 85 90 STA &90 ; rope_pixels_screen_address_low &0bd9 bd 72 09 LDA &0972,X ; rope_pixels_screen_address_high_table &0bdc 85 91 STA &91 ; rope_pixels_screen_address_high &0bde a9 00 LDA #&00 &0be0 91 90 STA (&90),Y ; rope_pixels_screen_address &0be2 ca DEX &0be3 10 ef BPL &0bd4 ; unplot_rope_loop &0be5 60 RTS ; check_for_player_contact_with_rope &0be6 a6 9f LDX &9f ; player_rope_pixel &0be8 d0 17 BNE &0c01 ; player_already_on_rope &0bea a5 7b LDA &7b ; rope_pixel_touched &0bec f0 61 BEQ &0c4f ; leave &0bee a2 00 LDX #&00 &0bf0 86 9a STX &9a ; player_entered_room_falling_too_far &0bf2 ad 24 0a LDA &0a24 ; player_y_in_enemies ; check_y_loop &0bf5 e8 INX &0bf6 dd b6 09 CMP &09b6,X ; rope_pixels_y &0bf9 90 fa BCC &0bf5 ; check_y_loop &0bfb e0 02 CPX #&02 &0bfd 90 43 BCC &0c42 ; remove_player_from_rope &0bff 86 9f STX &9f ; player_rope_pixel ; player_already_on_rope &0c01 a5 65 LDA &65 ; player_jump_timer &0c03 c9 0e CMP #&0e &0c05 b0 3b BCS &0c42 ; remove_player_from_rope &0c07 a9 00 LDA #&00 &0c09 85 64 STA &64 ; player_is_jumping &0c0b 85 65 STA &65 ; player_jump_timer &0c0d bd 94 09 LDA &0994,X ; rope_pixels_x &0c10 38 SEC &0c11 e9 04 SBC #&04 &0c13 29 fe AND #&fe &0c15 8d 1b 0a STA &0a1b ; player_x_in_enemies &0c18 bd b6 09 LDA &09b6,X ; rope_pixels_y &0c1b 38 SEC &0c1c e9 06 SBC #&06 &0c1e 10 02 BPL &0c22 ; skip_floor &0c20 a9 c0 LDA #&c0 ; skip_floor &0c22 8d 24 0a STA &0a24 ; player_y_in_enemies &0c25 a5 8e LDA &8e ; player_horizontal_speed &0c27 f0 26 BEQ &0c4f ; leave &0c29 a5 5b LDA &5b ; rope_position_relative_to_centre &0c2b 45 5c EOR &5c ; rope_velocity_relative_to_centre &0c2d e8 INX &0c2e 45 8e EOR &8e ; player_horizontal_speed &0c30 10 02 BPL &0c34 ; player_moving_up_rope ; player_moving_down_rope &0c32 ca DEX &0c33 ca DEX ; player_moving_up_rope &0c34 86 9f STX &9f ; player_rope_pixel &0c36 e0 03 CPX #&03 &0c38 b0 15 BCS &0c4f ; leave &0c3a ad 24 0a LDA &0a24 ; player_y_in_enemies # Make player fall off bottom of rope &0c3d 69 04 ADC #&04 &0c3f 8d 24 0a STA &0a24 ; player_y_in_enemies ; remove_player_from_rope &0c42 ad 24 0a LDA &0a24 ; player_y_in_enemies &0c45 29 fc AND #&fc &0c47 8d 24 0a STA &0a24 ; player_y_in_enemies &0c4a a9 00 LDA #&00 &0c4c 85 9f STA &9f ; player_rope_pixel &0c4e 60 RTS ; leave &0c4f 60 RTS ; write_status_line &0c50 a2 ff LDX #&ff ; write_items_collected_loop &0c52 e8 INX &0c53 bd 63 0c LDA &0c63,X ; items_collected_string &0c56 20 ee ff JSR &ffee ; OSWRCH &0c59 c9 04 CMP #&04 &0c5b d0 f5 BNE &0c52 ; write_items_collected_loop &0c5d 20 ad 0c JSR &0cad ; write_items_collected &0c60 4c 23 0d JMP &0d23 ; write_time ; items_collected_string &0c63 1a 1f 00 14 49 74 65 6d 73 20 63 6f 6c 6c 65 63 ; Restore default window, TAB(&00, &14) &0c73 74 65 64 20 30 30 30 20 54 69 6d 65 20 20 37 3a ; "Items collected 000 Time 7:00pm" &0c83 30 30 70 6d 1c 00 14 1f 00 04 ; Define text window x:(&00,&1f) y:(&04,&14) ; collect_item &0c8d a9 18 LDA #&18 ; sound_3 &0c8f 20 d1 10 JSR &10d1 ; play_sound_number_a # Play sound for collecting item &0c92 ee bc 0c INC &0cbc ; items_collected_low &0c95 ad bc 0c LDA &0cbc ; items_collected_low &0c98 c9 0a CMP #&0a &0c9a 90 11 BCC &0cad ; write_items_collected &0c9c ee bd 0c INC &0cbd ; items_collected_high &0c9f a9 00 LDA #&00 &0ca1 8d bc 0c STA &0cbc ; items_collected_low &0ca4 ad bd 0c LDA &0cbd ; items_collected_high &0ca7 c9 08 CMP #&08 &0ca9 90 02 BCC &0cad ; write_items_collected &0cab e6 9e INC &9e ; house_clear # 80 items needed to clear house ; write_items_collected &0cad a2 11 LDX #&11 &0caf ac bd 0c LDY &0cbd ; items_collected_high &0cb2 20 be 0c JSR &0cbe ; write_digit_y_at_status_line_column_x &0cb5 ad bc 0c LDA &0cbc ; items_collected_low &0cb8 20 cd 0c JSR &0ccd ; write_digit_a &0cbb 60 RTS ; items_collected_low &0cbc 00 ; items_collected_high &0cbd 00 ; write_digit_y_at_status_line_column_x &0cbe a9 1f LDA #&1f &0cc0 20 ee ff JSR &ffee ; OSWRCH &0cc3 8a TXA &0cc4 20 ee ff JSR &ffee ; OSWRCH &0cc7 a9 14 LDA #&14 &0cc9 20 ee ff JSR &ffee ; OSWRCH &0ccc 98 TYA ; write_digit_a &0ccd 18 CLC &0cce 69 30 ADC #&30 ; "0" &0cd0 20 ee ff JSR &ffee ; OSWRCH &0cd3 60 RTS ; handle_time &0cd4 c6 57 DEC &57 ; game_timer &0cd6 d0 6a BNE &0d42 ; leave &0cd8 ee 47 0d INC &0d47 ; time_fraction &0cdb ad 47 0d LDA &0d47 ; time_fraction &0cde c9 03 CMP #&03 &0ce0 d0 60 BNE &0d42 ; leave &0ce2 a0 00 LDY #&00 &0ce4 8c 47 0d STY &0d47 ; time_fraction &0ce7 ee 43 0d INC &0d43 ; minutes_low &0cea ad 43 0d LDA &0d43 ; minutes_low &0ced c9 0a CMP #&0a &0cef 90 32 BCC &0d23 ; write_time &0cf1 8c 43 0d STY &0d43 ; minutes_low &0cf4 ee 44 0d INC &0d44 ; minutes_high &0cf7 ad 44 0d LDA &0d44 ; minutes_high &0cfa c9 06 CMP #&06 &0cfc 90 25 BCC &0d23 ; write_time &0cfe 8c 44 0d STY &0d44 ; minutes_high &0d01 ee 45 0d INC &0d45 ; hours_low &0d04 ad 45 0d LDA &0d45 ; hours_low &0d07 c9 0a CMP #&0a &0d09 90 08 BCC &0d13 &0d0b 8c 45 0d STY &0d45 ; hours_low &0d0e a9 01 LDA #&01 &0d10 8d 46 0d STA &0d46 ; hours_high &0d13 ad 45 0d LDA &0d45 ; hours_low &0d16 c9 02 CMP #&02 &0d18 d0 09 BNE &0d23 ; write_time &0d1a ad 46 0d LDA &0d46 ; hours_high &0d1d 30 04 BMI &0d23 ; write_time &0d1f e6 9d INC &9d ; out_of_time &0d21 e6 63 INC &63 ; player_killed ; write_time &0d23 a2 19 LDX #&19 &0d25 ac 46 0d LDY &0d46 ; hours_high &0d28 20 be 0c JSR &0cbe ; write_digit_y_at_status_line_column_x &0d2b ad 45 0d LDA &0d45 ; hours_low &0d2e 20 cd 0c JSR &0ccd ; write_digit_a &0d31 a9 3a LDA #&3a ; ":" &0d33 20 ee ff JSR &ffee ; OSWRCH &0d36 ad 44 0d LDA &0d44 ; minutes_high &0d39 20 cd 0c JSR &0ccd ; write_digit_a &0d3c ad 43 0d LDA &0d43 ; minutes_low &0d3f 20 cd 0c JSR &0ccd ; write_digit_a ; leave &0d42 60 RTS ; minutes_low &0d43 00 ; minutes_high &0d44 00 ; hours_low &0d45 07 ; hours_high &0d46 f0 ; time_fraction &0d47 00 ; reset_game &0d48 a9 00 LDA #&00 &0d4a 8d 47 0d STA &0d47 ; time_fraction &0d4d 85 9a STA &9a ; player_entered_room_falling_too_far &0d4f 8d bc 0c STA &0cbc ; items_collected_low &0d52 8d bd 0c STA &0cbd ; items_collected_high &0d55 8d 43 0d STA &0d43 ; minutes_low &0d58 8d 44 0d STA &0d44 ; minutes_high &0d5b 85 9e STA &9e ; house_clear &0d5d 85 9d STA &9d ; out_of_time &0d5f 85 64 STA &64 ; player_is_jumping &0d61 85 65 STA &65 ; player_jump_timer &0d63 85 4f STA &4f ; swimming_pool_item_collected &0d65 a9 f0 LDA #&f0 &0d67 8d 46 0d STA &0d46 ; hours_high &0d6a a9 07 LDA #&07 # Game starts at 7:00pm &0d6c 8d 45 0d STA &0d45 ; hours_low &0d6f a9 07 LDA #&07 # Player starts with 7 lives &0d71 85 9b STA &9b ; player_lives &0d73 a9 68 LDA #&68 &0d75 8d 24 0a STA &0a24 ; player_y_in_enemies &0d78 a9 a8 LDA #&a8 &0d7a 8d 1b 0a STA &0a1b ; player_x_in_enemies &0d7d a9 15 LDA #&15 # Player starts in "The Bathroom" &0d7f 85 55 STA &55 ; player_room &0d81 20 00 11 JSR &1100 ; to_reset_items &0d84 60 RTS ; handle_endgame &0d85 a5 55 LDA &55 ; player_room &0d87 c9 13 CMP #&13 ; Master Bedroom &0d89 d0 1f BNE &0daa ; not_master_bedroom &0d8b ad 24 0a LDA &0a24 ; player_y_in_enemies &0d8e c9 67 CMP #&67 &0d90 b0 0a BCS &0d9c ; below_maria &0d92 a2 0a LDX #&0a &0d94 c9 60 CMP #&60 &0d96 b0 0f BCS &0da7 ; set_maria_offset &0d98 a2 0b LDX #&0b # Make Maria raise her arm when Willy in line of sight &0d9a d0 0b BNE &0da7 ; set_maria_offset ; below_maria &0d9c ad 0a 0a LDA &0a0a ; enemies_unpacked_sprite_offset + 1 &0d9f 29 09 AND #&09 &0da1 49 01 EOR #&01 &0da3 8d 0a 0a STA &0a0a ; enemies_unpacked_sprite_offset + 1 &0da6 aa TAX ; set_maria_offset &0da7 8e 0a 0a STX &0a0a ; enemies_unpacked_sprite_offset + 1 ; not_master_bedroom &0daa c9 15 CMP #&15 ; The Bathroom &0dac d0 0e BNE &0dbc ; not_the_bathroom &0dae a5 57 LDA &57 ; game_timer &0db0 29 01 AND #&01 &0db2 d0 08 BNE &0dbc ; not_the_bathroom &0db4 ad 0b 0a LDA &0a0b ; enemies_unpacked_sprite_offset + 2 &0db7 49 01 EOR #&01 # Make the toilet flap its lid &0db9 8d 0b 0a STA &0a0b ; enemies_unpacked_sprite_offset + 2 ; not_the_bathroom &0dbc a5 9e LDA &9e ; house_clear &0dbe f0 4a BEQ &0e0a ; leave # Has the player collected all the items? &0dc0 30 17 BMI &0dd9 ; dash_for_toilet # If so, are they dashing for the toilet? ; check_for_pillow &0dc2 a5 55 LDA &55 ; player_room &0dc4 c9 13 CMP #&13 ; Master Bedroom &0dc6 d0 42 BNE &0e0a ; leave &0dc8 a9 00 LDA #&00 &0dca 8d 49 0a STA &0a49 ; enemies_colour + 1 # Hide Maria if all items have been collected &0dcd ad 1b 0a LDA &0a1b ; player_x_in_enemies &0dd0 c9 18 CMP #&18 &0dd2 d0 36 BNE &0e0a ; leave # Is the player about to touch the pillow? &0dd4 a9 ff LDA #&ff # If so, make them dash for the toilet &0dd6 85 9e STA &9e ; house_clear &0dd8 60 RTS ; dash_for_toilet &0dd9 a9 02 LDA #&02 &0ddb 85 8e STA &8e ; player_horizontal_speed # Make the player move right. &0ddd a9 00 LDA #&00 &0ddf 85 8b STA &8b ; player_started_jump &0de1 a5 55 LDA &55 ; player_room &0de3 c9 14 CMP #&14 ; Top Landing # Is the player in Top Landing? &0de5 d0 0e BNE &0df5 ; not_top_landing &0de7 ad 1b 0a LDA &0a1b ; player_x_in_enemies &0dea c9 88 CMP #&88 # Jump over hole &0dec f0 04 BEQ &0df2 ; force_jump &0dee c9 b0 CMP #&b0 # Jump over enemy &0df0 d0 02 BNE &0df4 ; leave ; force_jump &0df2 e6 8b INC &8b ; player_started_jump ; leave &0df4 60 RTS ; not_top_landing &0df5 90 13 BCC &0e0a ; leave # Is the player in The Bathroom? &0df7 ad 1b 0a LDA &0a1b ; player_x_in_enemies &0dfa c9 d8 CMP #&d8 &0dfc 90 0c BCC &0e0a ; leave # Is the player about to touch the toilet? &0dfe a9 0a LDA #&0a &0e00 0d 0b 0a ORA &0a0b ; enemies_unpacked_sprite_offset + 2 &0e03 8d 0b 0a STA &0a0b ; enemies_unpacked_sprite_offset + 2 # Set the toilet to contain the player's legs. &0e06 a9 02 LDA #&02 &0e08 85 9c STA &9c ; player_not_plotted # Set the player to be unplotted, but not plotted ; leave &0e0a 60 RTS ; mark_enemies_that_overlap_player # Called with tile_address of the player &0e0b a0 20 LDY #&20 &0e0d 20 1e 0e JSR &0e1e ; check_tiles_for_enemy &0e10 a0 40 LDY #&40 &0e12 20 1e 0e JSR &0e1e ; check_tiles_for_enemy &0e15 ad 24 0a LDA &0a24 ; player_y_in_enemies &0e18 29 07 AND #&07 &0e1a f0 16 BEQ &0e32 ; leave &0e1c a0 60 LDY #&60 ; check_tiles_for_enemy &0e1e 20 22 0e JSR &0e22 ; check_tile_for_enemy &0e21 c8 INY ; check_tile_for_enemy &0e22 b1 60 LDA (&60),Y ; tile_address &0e24 10 0c BPL &0e32 ; leave # Is there an enemy in this tile? &0e26 c9 8a CMP #&8a &0e28 b0 08 BCS &0e32 ; leave &0e2a 29 0f AND #&0f &0e2c aa TAX &0e2d a9 02 LDA #&02 &0e2f 9d 63 0a STA &0a63,X ; enemies_need_replot # Set enemy to not need unplotting, killing player ; leave &0e32 60 RTS ; update_arrows &0e33 a0 01 LDY #&01 ; update_arrows_loop &0e35 be 7c 0a LDX &0a7c,Y ; arrow_timer &0e38 30 2a BMI &0e64 ; update_active_arrow &0e3a f0 24 BEQ &0e60 ; consider_next_arrow &0e3c a5 57 LDA &57 ; game_timer &0e3e 29 01 AND #&01 &0e40 d0 1e BNE &0e60 ; consider_next_arrow &0e42 ca DEX &0e43 d0 0e BNE &0e53 ; no_new_arrow &0e45 a9 ff LDA #&ff &0e47 99 7c 0a STA &0a7c,Y ; arrow_timer &0e4a b9 cd 0e LDA &0ecd,Y ; arrow_initial_x_positions &0e4d 99 d1 0e STA &0ed1,Y ; arrow_x &0e50 4c 7d 0e JMP &0e7d ; arrow_still_active ; no_new_arrow &0e53 8a TXA &0e54 99 7c 0a STA &0a7c,Y ; arrow_timer &0e57 c9 03 CMP #&03 &0e59 d0 05 BNE &0e60 ; consider_next_arrow &0e5b a9 20 LDA #&20 ; sound_4 &0e5d 20 d1 10 JSR &10d1 ; play_sound_number_a # Play sound for arrow firing ; consider_next_arrow &0e60 88 DEY &0e61 10 d2 BPL &0e35 ; update_arrows_loop &0e63 60 RTS ; update_active_arrow &0e64 20 91 0e JSR &0e91 ; plot_arrow # Unplot arrow &0e67 b9 d1 0e LDA &0ed1,Y ; arrow_x &0e6a 18 CLC &0e6b 79 cf 0e ADC &0ecf,Y ; arrow_speeds &0e6e 99 d1 0e STA &0ed1,Y ; arrow_x &0e71 d9 cd 0e CMP &0ecd,Y ; arrow_initial_x_positions &0e74 d0 07 BNE &0e7d ; arrow_still_active &0e76 a9 7f LDA #&7f &0e78 99 7c 0a STA &0a7c,Y ; arrow_timer &0e7b 10 e3 BPL &0e60 ; consider_next_arrow ; arrow_still_active &0e7d 20 91 0e JSR &0e91 ; plot_arrow &0e80 a2 08 LDX #&08 # Use enemy slot 8 for arrow &0e82 20 15 11 JSR &1115 ; to_calculate_tile_address_for_enemy_X &0e85 a0 20 LDY #&20 &0e87 b1 60 LDA (&60),Y ; tile_address &0e89 a4 96 LDY &96 ; arrow &0e8b 99 d3 0e STA &0ed3,Y ; arrow_active &0e8e 4c 60 0e JMP &0e60 ; consider_next_arrow ; plot_arrow &0e91 84 96 STY &96 ; arrow &0e93 b9 d1 0e LDA &0ed1,Y ; arrow_x &0e96 8d 23 0a STA &0a23 ; enemies_x + 8 &0e99 be 7e 0a LDX &0a7e,Y ; arrow_y &0e9c 8e 2c 0a STX &0a2c ; enemies_y + 8 &0e9f 20 18 11 JSR &1118 ; to_calculate_screen_address &0ea2 b9 cb 0e LDA &0ecb,Y ; arrow_sprite_offsets &0ea5 8d b0 0e STA &0eb0 ; arrow_sprite_address_low &0ea8 b9 d3 0e LDA &0ed3,Y ; arrow_active &0eab 30 0f BMI &0ebc ; unplot_arrow &0ead a0 0f LDY #&0f ; plot_arrow_loop &0eaf b9 60 70 LDA &7060,Y ; &7060 = sprite_arrow_left # actually LDA arrow_sprite_address,Y &0eb2 51 90 EOR (&90),Y ; screen_address &0eb4 91 90 STA (&90),Y ; screen_address &0eb6 88 DEY &0eb7 d0 f6 BNE &0eaf ; plot_arrow_loop &0eb9 a4 96 LDY &96 ; arrow &0ebb 60 RTS ; unplot_arrow &0ebc a9 00 LDA #&00 &0ebe 99 d3 0e STA &0ed3,Y ; arrow_active &0ec1 a0 0f LDY #&0f ; wipe_arrow_loop &0ec3 91 90 STA (&90),Y ; screen_address &0ec5 88 DEY &0ec6 d0 fb BNE &0ec3 ; wipe_arrow_loop &0ec8 a4 96 LDY &96 ; arrow &0eca 60 RTS ; arrow_sprite_offsets &0ecb 70 60 ; arrow_initial_x_positions &0ecd 00 f8 ; arrow_speeds &0ecf 08 f8 ; arrow_x &0ed1 00 00 ; arrow_active &0ed3 00 00 ; update_lives &0ed5 a5 57 LDA &57 ; game_timer &0ed7 29 03 AND #&03 &0ed9 d0 3b BNE &0f16 ; leave &0edb ad 17 0f LDA &0f17 ; life_sprite_address_low &0ede 18 CLC &0edf 69 40 ADC #&40 &0ee1 8d 17 0f STA &0f17 ; life_sprite_address_low &0ee4 85 92 STA &92 ; sprite_address_low &0ee6 a9 72 LDA #&72 ; &7200 = player_sprite_right_frame_0 &0ee8 85 93 STA &93 ; sprite_address_high &0eea a9 03 LDA #&03 &0eec 85 7b STA &7b ; life_colour &0eee a9 f0 LDA #&f0 &0ef0 85 97 STA &97 ; life_x &0ef2 a5 9b LDA &9b ; player_lives &0ef4 f0 20 BEQ &0f16 ; leave &0ef6 85 96 STA &96 ; lives_remaining_to_plot ; update_lives_loop &0ef8 a6 7b LDX &7b ; life_colour &0efa ca DEX &0efb d0 02 BNE &0eff ; skip_floor &0efd a2 03 LDX #&03 ; skip_floor &0eff 86 7b STX &7b ; life_colour &0f01 bd 18 0f LDA &0f18,X ; life_colours &0f04 85 89 STA &89 ; sprite_colour &0f06 a5 97 LDA &97 ; life_x &0f08 18 CLC &0f09 69 10 ADC #&10 &0f0b 85 97 STA &97 ; life_x &0f0d a6 4d LDX &4d ; life_y &0f0f 20 0f 11 JSR &110f ; to_plot_sprite &0f12 c6 96 DEC &96 ; lives_remaining_to_plot &0f14 d0 e2 BNE &0ef8 ; update_lives_loop ; leave &0f16 60 RTS ; life_sprite_address_low &0f17 00 ; life_colours ; KK RR YY WW &0f18 00 0f f0 ff ; initialise_room_background_tiles_and_title &0f1c a0 04 LDY #&04 # For each of five tiles, ; set_tile_colours_loop &0f1e a2 02 LDX #&02 &0f20 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data # Get two bits of room data for each tile colour &0f23 99 f1 09 STA &09f1,Y ; background_tiles_colours &0f26 88 DEY &0f27 10 f5 BPL &0f1e ; set_tile_colours_loop &0f29 a0 05 LDY #&05 # For each of six tiles, ; set_tile_sprites_loop &0f2b a2 08 LDX #&08 # Get eight bits of room data for each tile sprite &0f2d 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0f30 99 f7 09 STA &09f7,Y ; background_tiles_sprites &0f33 88 DEY &0f34 10 f5 BPL &0f2b ; set_tile_sprites_loop &0f36 a0 03 LDY #&03 # For each of four screen colours, ; set_screen_colours_loop &0f38 a2 03 LDX #&03 &0f3a 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data # Get three bits of room data for each screen colour &0f3d 20 aa 0f JSR &0faa ; set_colour_y_to_a &0f40 88 DEY &0f41 10 f5 BPL &0f38 ; set_screen_colours_loop &0f43 a9 01 LDA #&01 # First word is uppercase &0f45 85 97 STA &97 ; start_of_word &0f47 a9 1f LDA #&1f &0f49 20 ee ff JSR &ffee ; OSWRCH &0f4c a2 04 LDX #&04 # Get four bits of room data for position of room title &0f4e 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0f51 20 ee ff JSR &ffee ; OSWRCH &0f54 a9 10 LDA #&10 &0f56 20 ee ff JSR &ffee ; OSWRCH # TAB to start of room title ; write_room_title_loop &0f59 a2 05 LDX #&05 # Get five bits of room data for each character of title &0f5b 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0f5e c9 1b CMP #&1b &0f60 b0 06 BCS &0f68 ; is_1b_1c_1d_1e_or_1f &0f62 20 99 0f JSR &0f99 ; write_letter # &00 to &1a writes "a" to "z" &0f65 4c 59 0f JMP &0f59 ; write_room_title_loop ; is_1b_1c_1d_1e_or_1f &0f68 d0 08 BNE &0f72 ; is_1c_1d_1e_or_1f &0f6a a9 27 LDA #&27 ; "'" # &1b writes "'" &0f6c 20 ee ff JSR &ffee ; OSWRCH &0f6f 4c 59 0f JMP &0f59 ; write_room_title_loop ; is_1c_1d_1e_or_1f &0f72 c9 1d CMP #&1d &0f74 f0 09 BEQ &0f7f ; is_1d &0f76 b0 01 BCS &0f79 ; is_1e_or_1f &0f78 60 RTS # &1c ends room title ; is_1e_or_1f &0f79 c9 1e CMP #&1e &0f7b d0 0a BNE &0f87 ; is_1f &0f7d e6 97 INC &97 ; start_of_word # &1e writes " ", resetting case ; is_1d &0f7f a9 20 LDA #&20 ; " " # &1d writes " ", keeping lower case &0f81 20 ee ff JSR &ffee ; OSWRCH &0f84 4c 59 0f JMP &0f59 ; write_room_title_loop ; is_1f &0f87 a9 13 LDA #&13 ; "t" # &1f writes "The" &0f89 20 99 0f JSR &0f99 ; write_letter &0f8c a9 68 LDA #&68 ; "h" &0f8e 20 ee ff JSR &ffee ; OSWRCH &0f91 a9 65 LDA #&65 ; "e" &0f93 20 ee ff JSR &ffee ; OSWRCH &0f96 4c 59 0f JMP &0f59 ; write_room_title_loop ; write_letter &0f99 18 CLC &0f9a 69 61 ADC #&61 ; "a" &0f9c a4 97 LDY &97 ; start_of_word &0f9e f0 06 BEQ &0fa6 ; lower_case &0fa0 29 df AND #&df &0fa2 a2 00 LDX #&00 &0fa4 86 97 STX &97 ; start_of_word ; lower_case &0fa6 20 ee ff JSR &ffee ; OSWRCH &0fa9 60 RTS ; set_colour_y_to_a &0faa aa TAX &0fab a9 13 LDA #&13 &0fad 20 ee ff JSR &ffee ; OSWRCH &0fb0 98 TYA &0fb1 20 ee ff JSR &ffee ; OSWRCH &0fb4 8a TXA &0fb5 20 ee ff JSR &ffee ; OSWRCH &0fb8 a9 00 LDA #&00 &0fba 20 ee ff JSR &ffee ; OSWRCH &0fbd 20 ee ff JSR &ffee ; OSWRCH &0fc0 20 ee ff JSR &ffee ; OSWRCH &0fc3 60 RTS ; initialise_arrows &0fc4 a0 01 LDY #&01 # For each of two arrows, ; initialise_arrows_loop &0fc6 a9 00 LDA #&00 &0fc8 99 d3 0e STA &0ed3,Y ; arrow_active &0fcb 99 7c 0a STA &0a7c,Y ; arrow_timer &0fce a2 01 LDX #&01 # Get one bit of room data for presence of arrow &0fd0 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0fd3 aa TAX &0fd4 f0 22 BEQ &0ff8 ; consider_next_arrow # If arrow present, &0fd6 a2 04 LDX #&04 # Get four bits of room data for arrow_y &0fd8 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0fdb aa TAX &0fdc f0 1a BEQ &0ff8 ; consider_next_arrow &0fde 0a ASL A &0fdf 0a ASL A &0fe0 0a ASL A &0fe1 49 78 EOR #&78 &0fe3 99 7e 0a STA &0a7e,Y ; arrow_y &0fe6 a2 03 LDX #&03 # Get three bits of room data for arrow timing &0fe8 20 12 11 JSR &1112 ; to_get_x_bits_of_room_data &0feb aa TAX &0fec bd fc 0f LDA &0ffc,X ; arrow_timers_table &0fef 99 7c 0a STA &0a7c,Y ; arrow_timer &0ff2 99 d1 0e STA &0ed1,Y ; arrow_x &0ff5 99 d3 0e STA &0ed3,Y ; arrow_active ; consider_next_arrow &0ff8 88 DEY &0ff9 10 cb BPL &0fc6 ; initialise_arrows_loop &0ffb 60 RTS ; arrow_timers_table ; 0 1 2 3 4 &0ffc d0 16 1e 26 7f # Third value unused ; handle_room_tweaks_on_entry &1001 a9 00 LDA #&00 &1003 a0 80 LDY #&80 &1005 a6 55 LDX &55 ; player_room &1007 e0 19 CPX #&19 ; Swimming Pool &1009 d0 22 BNE &102d ; fill_space_sprite # Is this the Swimming Pool? &100b a5 4f LDA &4f ; swimming_pool_item_collected &100d d0 05 BNE &1014 ; already_collected_item &100f e6 4f INC &4f ; swimming_pool_item_collected # If so, collect item on first visit &1011 20 8d 0c JSR &0c8d ; collect_item ; already_collected_item &1014 a2 00 LDX #&00 ; fill_enemy_with_water_loop &1016 a9 f0 LDA #&f0 # Set background of enemy sprite to be colour 2 (cyan) &1018 1d 00 73 ORA &7300,X ; unpacked_enemy_sprites &101b 9d 00 73 STA &7300,X ; unpacked_enemy_sprites &101e a9 f0 LDA #&f0 &1020 1d 00 74 ORA &7400,X ; unpacked_enemy_sprites + &100 &1023 9d 00 74 STA &7400,X ; unpacked_enemy_sprites + &100 &1026 ca DEX &1027 d0 ed BNE &1016 ; fill_enemy_with_water_loop &1029 a9 f0 LDA #&f0 # Set background of space sprite (used to unplot enemy &102b a0 01 LDY #&01 # after movement) to be the same. Use tile 1 for space, ; fill_space_sprite # so player can stand on swimming pool water. &102d 84 4e STY &4e ; space_tile &102f a2 3f LDX #&3f # Bug: fills half of player_background_buffer too ; fill_space_sprite_loop &1031 9d 00 70 STA &7000,X ; space_sprite &1034 ca DEX &1035 10 fa BPL &1031 ; fill_space_loop &1037 a2 00 LDX #&00 &1039 a5 55 LDA &55 ; player_room &103b c9 1b CMP #&1b ; The Nightmare Room # Is this The Nightmare Room? &103d d0 0c BNE &104b ; not_nightmare_room &103f a9 10 LDA #&10 &1041 8d 10 0a STA &0a10 ; enemies_unpacked_sprite_offset + 7 # If so, change left-most enemy to use Maria sprite. &1044 a9 03 LDA #&03 # It is originally a pig, setting up the sprite for: &1046 8d 07 0a STA &0a07 ; enemies_sprite + 7 &1049 a2 08 LDX #&08 # Use pig for player sprite. ; not_nightmare_room &104b 8e 09 0a STX &0a09 ; player_unpacked_sprite_offset # (otherwise use player) &104e 60 RTS ; real_entry_point &104f 20 00 04 JSR &0400 ; to_title_screen &1052 20 48 0d JSR &0d48 ; reset_game ; new_life_loop &1055 20 0c 11 JSR &110c ; to_initialise_room ; game_loop &1058 a9 13 LDA #&13 ; Wait for Vertical Retrace # Three v-syncs per game frame &105a 20 f4 ff JSR &fff4 ; OSBYTE &105d a9 13 LDA #&13 ; Wait for Vertical Retrace &105f 20 f4 ff JSR &fff4 ; OSBYTE &1062 a9 13 LDA #&13 ; Wait for Vertical Retrace &1064 20 f4 ff JSR &fff4 ; OSBYTE &1067 20 d5 0e JSR &0ed5 ; to_update_lives &106a 20 06 11 JSR &1106 ; to_update_game &106d 20 ac 10 JSR &10ac ; check_for_suicide &1070 a5 63 LDA &63 ; player_killed &1072 f0 e4 BEQ &1058 ; game_loop &1074 a5 9b LDA &9b ; player_lives &1076 10 dd BPL &1055 ; new_life_loop ; game_over &1078 a2 00 LDX #&00 ; write_clear_window_loop &107a bd b8 10 LDA &10b8,X ; clear_window_string &107d 20 ee ff JSR &ffee ; OSWRCH &1080 e8 INX &1081 e0 0a CPX #&0a &1083 d0 f5 BNE &107a ; write_clear_window_loop &1085 a9 00 LDA #&00 &1087 20 2d 10 JSR &102d ; fill_space_sprite # Ensure space sprite is black &108a 20 03 11 JSR &1103 ; to_animate_game_over_boot &108d a2 00 LDX #&00 &108f 8e c6 10 STX &10c6 ; game_over_string + 4 ; game_over_loop &1092 a9 13 LDA #&13 ; Wait for Vertical Retrace &1094 20 f4 ff JSR &fff4 ; OSBYTE &1097 a0 00 LDY #&00 ; write_game_over_loop &1099 b9 c2 10 LDA &10c2,Y ; game_over_string &109c 20 ee ff JSR &ffee ; OSWRCH &109f c8 INY &10a0 c0 0f CPY #&0f &10a2 d0 f5 BNE &1099 ; write_game_over_loop &10a4 ee c6 10 INC &10c6 ; game_over_string + 4 &10a7 10 e9 BPL &1092 ; game_over_loop &10a9 4c 4f 10 JMP &104f ; real_entry_point ; check_for_suicide &10ac a5 ec LDA &ec ; Internal key number of most recently pressed key &10ae c9 70 CMP #&70; SHIFT-ESCAPE &10b0 d0 05 BNE &10b7 ; leave &10b2 68 PLA # Remove check_for_suicide from stack &10b3 68 PLA &10b4 4c 4f 10 JMP &104f ; real_entry_point ; leave &10b7 60 RTS ; clear_window_string &10b8 18 00 00 00 02 ff 03 ff 03 10 ; Define graphics window (&0000-&03ff, &03ff-&020A); clear graphics area ; game_over_string &10c2 1f 0b 08 11 00 47 61 6d 65 09 09 4f 76 65 72 ; TAB(&0b, &08); COLOUR 0; "Game Over" ; play_sound_number_a &10d1 8e e9 10 STX &10e9 ; tmp_x &10d4 8c ea 10 STY &10ea ; tmp_y &10d7 18 CLC &10d8 69 80 ADC #&80 &10da aa TAX &10db a0 08 LDY #&08 ; &0880 + A &10dd a9 07 LDA #&07 ; Generate a sound &10df 20 f1 ff JSR &fff1 ; OSWORD &10e2 ae e9 10 LDX &10e9 ; tmp_x &10e5 ac ea 10 LDY &10ea ; tmp_y &10e8 60 RTS ; tmp_x &10e9 00 ; tmp_y &10ea 00 ; unused &10eb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &10fb 00 00 00 00 00 ; to_reset_items &1100 4c 35 1d JMP &1d35 ; reset_items ; to_animate_game_over_boot &1103 4c 64 1e JMP &1e64 ; animate_game_over_boot ; to_update_game &1106 4c cf 16 JMP &16cf ; update_game ; to_initialise_enemies # Unused &1109 4c 01 18 JMP &1801 ; initialise_enemies ; to_initialise_room &110c 4c 1b 11 JMP &111b ; initialise_room ; to_plot_sprite &110f 4c 00 15 JMP &1500 ; plot_sprite ; to_get_x_bits_of_room_data &1112 4c b8 11 JMP &11b8 ; get_x_bits_of_room_data ; to_calculate_tile_address_for_enemy_X &1115 4c c6 18 JMP &18c6 ; calculate_tile_address_for_enemy_X ; to_calculate_screen_address &1118 4c d7 14 JMP &14d7 ; calculate_screen_address ; initialise_room &111b 20 2c 11 JSR &112c ; initialise_room_data &111e 20 01 18 JSR &1801 ; initialise_enemies &1121 20 1b 0b JSR &0b1b ; to_initialise_arrows &1124 4c af 1d JMP &1daf ; calculate_screen_address_of_conveyor ; entry_horizontal_speed &1127 00 ; entry_jump_timer &1128 00 ; entry_x &1129 00 ; entry_y &112a 00 ; entry_is_jumping &112b 00 ; initialise_room_data &112c a9 00 LDA #&00 &112e 85 52 STA &52 ; room_data_offset &1130 85 53 STA &53 ; bits_remaining_in_room_data_byte &1132 85 9f STA &9f ; player_rope_pixel &1134 85 5b STA &5b ; rope_position_relative_to_centre &1136 85 57 STA &57 ; game_timer &1138 a6 55 LDX &55 ; player_room &113a 20 59 1d JSR &1d59 ; calculate_room_data_address &113d a9 0c LDA #&0c ; CLS &113f 20 ee ff JSR &ffee ; OSWRCH &1142 20 b5 1c JSR &1cb5 ; initialise_room_items_and_exits &1145 20 18 0b JSR &0b18 ; to_initialise_room_background_tiles_and_title &1148 a9 ff LDA #&ff &114a 85 67 STA &67 ; item_number &114c a9 d2 LDA #&d2 &114e 85 5f STA &5f ; rope_position &1150 a9 01 LDA #&01 &1152 85 5c STA &5c ; rope_velocity_relative_to_centre &1154 85 9c STA &9c ; player_not_plotted # Mark player as not needing to be unplotted &1156 a5 9d LDA &9d ; out_of_time &1158 85 63 STA &63 ; player_killed &115a a5 8e LDA &8e ; player_horizontal_speed # Store how player entered room &115c 8d 27 11 STA &1127 ; entry_horizontal_speed &115f a5 65 LDA &65 ; player_jump_timer &1161 8d 28 11 STA &1128 ; entry_jump_timer &1164 ad 1b 0a LDA &0a1b ; player_x_in_enemies &1167 8d 29 11 STA &1129 ; entry_x &116a ad 24 0a LDA &0a24 ; player_y_in_enemies &116d 8d 2a 11 STA &112a ; entry_y &1170 85 62 STA &62 ; where_player_fell_from &1172 a5 64 LDA &64 ; player_is_jumping &1174 8d 2b 11 STA &112b ; entry_is_jumping &1177 a9 00 LDA #&00 &1179 85 73 STA &73 ; unused # Unused variable &117b 85 70 STA &70 ; tile_x &117d 85 71 STA &71 ; tile_y &117f 85 72 STA &72 ; tile_type &1181 20 00 0b JSR &0b00 ; to_write_status_line &1184 20 b8 18 JSR &18b8 ; wipe_tile_table ; initialise_background_scenery_loop &1187 a0 ff LDY #&ff ; calculate_routine_number_loop # Reading two bits at a time, count 11 as meaning +3 &1189 c8 INY &118a a2 02 LDX #&02 &118c 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &118f c9 03 CMP #&03 &1191 f0 f6 BEQ &1189 ; calculate_routine_number_loop &1193 85 7b STA &7b ; mod_three &1195 84 96 STY &96 ; times_three &1197 98 TYA &1198 0a ASL A &1199 0a ASL A &119a 65 7b ADC &7b ; mod_three &119c 38 SEC &119d e5 96 SBC &96 ; times_three &119f c9 06 CMP #&06 &11a1 f0 14 BEQ &11b7 ; leave &11a3 0a ASL A &11a4 aa TAX &11a5 bd da 11 LDA &11da,X ; background_initialisation_routines_address_table &11a8 8d b2 11 STA &11b2 ; background_initialisation_routine_address_low &11ab bd db 11 LDA &11db,X ; background_initialisation_routines_address_table + 1 &11ae 8d b3 11 STA &11b3 ; background_initialisation_routine_address_high &11b1 20 11 11 JSR &1111 # actually JSR background_initialisation_routine_address &11b4 4c 87 11 JMP &1187 ; initialise_background_scenery_loop ; null_routine ; leave &11b7 60 RTS ; get_x_bits_of_room_data &11b8 84 7b STY &7b ; tmp &11ba a9 00 LDA #&00 &11bc 85 96 STA &96 ; value ; get_x_bits_of_room_data_loop &11be c6 53 DEC &53 ; bits_remaining_in_room_data_byte &11c0 10 0c BPL &11ce ; bits_still_remaining &11c2 a9 07 LDA #&07 &11c4 85 53 STA &53 ; bits_remaining_in_room_data_byte &11c6 a4 52 LDY &52 ; room_data_offset &11c8 b1 50 LDA (&50),Y ; room_data_address &11ca 85 54 STA &54 ; room_data_byte &11cc e6 52 INC &52 ; room_data_offset ; bits_still_remaining &11ce 46 54 LSR &54 ; room_data_byte &11d0 26 96 ROL &96 ; value &11d2 ca DEX &11d3 d0 e9 BNE &11be ; get_x_bits_of_room_data_loop &11d5 a5 96 LDA &96 ; value &11d7 a4 7b LDY &7b ; tmp &11d9 60 RTS ; background_initialisation_routines_address_table &11da ec 11 ; &11ec = set_tile_type # 0 00 &11dc f4 11 ; &11f4 = set_tile_x_and_y # 1 01 &11de 03 12 ; &1203 = add_straight_line_of_tiles # 2 10 &11e0 4d 12 ; &124d = add_block_of_tiles # 3 11 00 &11e2 2a 12 ; &122a = add_series_of_tiles # 4 11 01 &11e4 0d 12 ; &120d = add_diagonal_line_of_tiles # 5 11 10 &11e6 b7 11 ; &11b7 = null_routine # 6 11 11 00 &11e8 b7 11 ; &11b7 = null_routine # 7 11 11 01 - unused &11ea a3 12 ; &12a3 = add_triangle_of_tiles # 8 11 11 10 ; set_tile_type &11ec a2 03 LDX #&03 # Get three bits of room data for tile type &11ee 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &11f1 85 72 STA &72 ; tile_type &11f3 60 RTS ; set_tile_x_and_y &11f4 a2 05 LDX #&05 # Get five bits of room data for x position &11f6 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &11f9 85 70 STA &70 ; tile_x &11fb a2 04 LDX #&04 # Get five bits of room data for y position &11fd 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1200 85 71 STA &71 ; tile_y &1202 60 RTS ; add_straight_line_of_tiles &1203 a9 01 LDA #&01 # Add first and last tiles &1205 a2 00 LDX #&00 # Get one bit of room data for direction &1207 a0 05 LDY #&05 # Get five bits of room data for length of run &1209 20 4a 13 JSR &134a ; add_line_of_tiles &120c 60 RTS ; add_diagonal_line_of_tiles &120d a5 72 LDA &72 ; tile_type &120f 85 81 STA &81 ; previous_tile_type &1211 a9 02 LDA #&02 ; SLOPE &1213 85 72 STA &72 ; tile_type &1215 a9 01 LDA #&01 # Add first and last tiles &1217 a2 08 LDX #&08 # Get one bit of room data for diagonal direction &1219 a0 04 LDY #&04 # Get four bits of room data &121b 20 4a 13 JSR &134a ; add_line_of_tiles &121e a5 81 LDA &81 ; previous_tile_type &1220 85 72 STA &72 ; tile_type &1222 a5 70 LDA &70 ; tile_x &1224 18 CLC &1225 65 77 ADC &77 ; x_delta &1227 85 70 STA &70 ; tile_x &1229 60 RTS ; add_series_of_tiles &122a a2 04 LDX #&04 &122c 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get four bits of room data for number of tiles &122f 85 6e STA &6e ; length ; add_series_of_tiles_loop # For each tile, &1231 a2 05 LDX #&05 &1233 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get five bits of room data for x co-ordinate &1236 85 70 STA &70 ; tile_x &1238 a2 04 LDX #&04 &123a 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get four bits of room data for y co-ordinate &123d 85 71 STA &71 ; tile_y &123f 20 b1 13 JSR &13b1 ; add_background_tile &1242 c6 6e DEC &6e ; length &1244 10 eb BPL &1231 ; add_series_of_tiles_loop &1246 a9 00 LDA #&00 &1248 85 70 STA &70 ; tile_x &124a 85 71 STA &71 ; tile_y &124c 60 RTS ; add_block_of_tiles &124d a2 05 LDX #&05 &124f 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get five bits of room data for width of block &1252 85 79 STA &79 ; width &1254 a5 70 LDA &70 ; tile_x &1256 85 75 STA &75 ; start_x &1258 a5 71 LDA &71 ; tile_y &125a 85 76 STA &76 ; height &125c a2 04 LDX #&04 &125e 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get four bits of room data for y end &1261 85 71 STA &71 ; tile_y &1263 a5 76 LDA &76 ; height &1265 38 SEC &1266 e5 71 SBC &71 ; tile_y &1268 a2 01 LDX #&01 &126a b0 06 BCS &1272 ; skip_inversion &126c 49 ff EOR #&ff &126e 69 01 ADC #&01 &1270 a2 ff LDX #&ff ; skip_inversion &1272 85 76 STA &76 ; height &1274 86 7a STX &7a ; block_y_delta ; add_block_of_tiles_loop &1276 a9 00 LDA #&00 # Add tiles from left to right &1278 85 7c STA &7c ; direction &127a a5 79 LDA &79 ; width &127c 85 74 STA &74 ; length &127e a5 75 LDA &75 ; start_x &1280 85 70 STA &70 ; tile_x &1282 a9 01 LDA #&01 # Add first and last tiles &1284 a2 80 LDX #&80 # Use previous direction &1286 20 4a 13 JSR &134a ; add_line_of_tiles &1289 a5 71 LDA &71 ; tile_y &128b 18 CLC &128c 65 7a ADC &7a ; block_y_delta &128e 85 71 STA &71 ; tile_y &1290 c6 76 DEC &76 ; height &1292 10 e2 BPL &1276 ; add_block_of_tiles_loop &1294 a5 71 LDA &71 ; tile_y &1296 38 SEC &1297 e5 7a SBC &7a ; block_y_delta &1299 85 71 STA &71 ; tile_y &129b a5 70 LDA &70 ; tile_x &129d 18 CLC &129e 65 77 ADC &77 ; x_delta &12a0 85 70 STA &70 ; tile_x &12a2 60 RTS ; add_triangle_of_tiles &12a3 a5 70 LDA &70 ; tile_x &12a5 85 75 STA &75 ; previous_x &12a7 a5 71 LDA &71 ; tile_y &12a9 85 76 STA &76 ; previous_y &12ab a2 01 LDX #&01 &12ad 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get one bit of room data for triangle direction &12b0 a2 01 LDX #&01 &12b2 86 6d STX &6d ; do_triangle_ends &12b4 85 7d STA &7d ; triangle_direction &12b6 a8 TAY &12b7 f0 02 BEQ &12bb ; skip_x_inversion &12b9 a2 ff LDX #&ff ; skip_x_inversion &12bb 86 7e STX &7e ; x_skip &12bd a2 04 LDX #&04 &12bf 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get four bits of room data for triangle height &12c2 85 7a STA &7a ; row_length &12c4 85 7f STA &7f ; triangle_length &12c6 38 SEC &12c7 e5 71 SBC &71 ; tile_y &12c9 85 80 STA &80 ; height &12cb b0 13 BCS &12e0 ; skip_y_inversion &12cd 49 ff EOR #&ff &12cf 69 01 ADC #&01 &12d1 85 80 STA &80 ; height &12d3 c6 6d DEC &6d ; do_triangle_ends &12d5 a5 7a LDA &7a ; row_length &12d7 a6 71 LDX &71 ; tile_y &12d9 85 71 STA &71 ; tile_y &12db 86 7a STX &7a ; row_length &12dd 4c f7 12 JMP &12f7 ; add_triangle_of_tiles_loop ; skip_y_inversion &12e0 a6 80 LDX &80 ; height &12e2 a5 7e LDA &7e ; x_skip &12e4 49 ff EOR #&ff &12e6 69 00 ADC #&00 &12e8 85 7e STA &7e ; x_skip &12ea 30 05 BMI &12f1 &12ec 8a TXA &12ed 49 ff EOR #&ff &12ef aa TAX &12f0 e8 INX &12f1 8a TXA &12f2 18 CLC &12f3 65 70 ADC &70 ; tile_x &12f5 85 70 STA &70 ; tile_x ; add_triangle_of_tiles_loop &12f7 a9 01 LDA #&01 # Add tiles from right to left &12f9 85 7c STA &7c ; direction &12fb a5 7a LDA &7a ; row_length &12fd 85 74 STA &74 &12ff a5 71 LDA &71 ; tile_y &1301 85 81 STA &81 ; previous_y &1303 a9 01 LDA #&01 # Add first and last tiles &1305 a2 80 LDX #&80 # Use previous direction &1307 20 4a 13 JSR &134a ; add_line_of_tiles &130a a5 81 LDA &81 ; previous_y &130c 85 71 STA &71 ; tile_y &130e a5 70 LDA &70 ; tile_x &1310 18 CLC &1311 65 7e ADC &7e ; x_skip &1313 85 70 STA &70 ; tile_x &1315 c6 7a DEC &7a ; row_length &1317 c6 80 DEC &80 ; height &1319 10 dc BPL &12f7 ; add_triangle_of_tiles_loop &131b a5 75 LDA &75 ; previous_x &131d 85 70 STA &70 ; tile_x &131f a5 76 LDA &76 ; previous_y &1321 85 71 STA &71 ; tile_y &1323 a5 7d LDA &7d ; triangle_direction &1325 85 7c STA &7c ; direction &1327 a5 7f LDA &7f ; triangle_length &1329 85 74 STA &74 ; length &132b a5 72 LDA &72 ; tile_type &132d 85 81 STA &81 ; previous_tile_type &132f a9 02 LDA #&02 ; WALL &1331 85 72 STA &72 ; tile_type &1333 a5 7d LDA &7d ; triangle_direction # Determine whether to add first and last tiles &1335 45 6c EOR &6c ; slope_direction # based on whether triangle faces same as room slope &1337 45 6d EOR &6d ; do_triangle_ends &1339 a2 88 LDX #&88 # Use previous diagonal direction &133b 20 4a 13 JSR &134a ; add_line_of_tiles &133e a5 81 LDA &81 ; previous_tile_type &1340 85 72 STA &72 ; tile_type &1342 a5 70 LDA &70 ; tile_x &1344 18 CLC &1345 65 77 ADC &77 ; x_delta &1347 85 70 STA &70 ; tile_x &1349 60 RTS ; add_line_of_tiles &134a 85 82 STA &82 ; add_first_and_last &134c 86 83 STX &83 ; direction_base &134e 8a TXA &134f 30 0e BMI &135f ; use_previous_direction &1351 a2 01 LDX #&01 &1353 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1356 85 7c STA &7c ; direction &1358 98 TYA &1359 aa TAX &135a 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &135d 85 74 STA &74 ; length ; use_previous_direction &135f a5 83 LDA &83 ; direction_base &1361 a6 71 LDX &71 ; tile_y &1363 29 7f AND #&7f &1365 18 CLC &1366 65 7c ADC &7c ; direction &1368 85 7c STA &7c ; direction &136a d0 02 BNE &136e ; vertical_line &136c a6 70 LDX &70 ; tile_x ; vertical_line &136e a5 74 LDA &74 ; length &1370 86 7b STX &7b ; tmp &1372 38 SEC &1373 e5 7b SBC &7b ; tmp &1375 b0 09 BCS &1380 ; skip_inversion &1377 49 ff EOR #&ff &1379 18 CLC &137a 69 01 ADC #&01 &137c e6 7c INC &7c ; direction &137e e6 7c INC &7c ; direction ; skip_inversion &1380 85 74 STA &74 ; length &1382 f0 25 BEQ &13a9 ; add_last_tile &1384 a6 7c LDX &7c ; direction &1386 bd c0 13 LDA &13c0,X ; directions_x &1389 85 77 STA &77 ; x_delta &138b bd c4 13 LDA &13c4,X ; directions_y &138e 85 78 STA &78 ; y_delta ; add_line_of_tiles_loop &1390 a5 82 LDA &82 ; add_first_and_last &1392 f0 03 BEQ &1397 ; skip_first &1394 20 b1 13 JSR &13b1 ; add_background_tile ; skip_first &1397 a5 70 LDA &70 ; tile_x &1399 18 CLC &139a 65 77 ADC &77 ; x_delta &139c 85 70 STA &70 ; tile_x &139e a5 71 LDA &71 ; tile_y &13a0 18 CLC &13a1 65 78 ADC &78 ; y_delta &13a3 85 71 STA &71 ; tile_y &13a5 c6 74 DEC &74 ; length &13a7 d0 e7 BNE &1390 ; add_line_of_tiles_loop ; add_last_tile &13a9 a5 82 LDA &82 ; add_first_and_last &13ab f0 03 BEQ &13b0 ; skip_last &13ad 20 b1 13 JSR &13b1 ; add_background_tile ; skip_last &13b0 60 RTS ; add_background_tile &13b1 a4 72 LDY &72 ; tile_type &13b3 be f1 09 LDX &09f1,Y ; background_tiles_colours &13b6 b9 f7 09 LDA &09f7,Y ; background_tiles_sprites &13b9 20 51 15 JSR &1551 ; plot_background_sprite &13bc 20 78 18 JSR &1878 ; set_tile_table_for_background &13bf 60 RTS ; directions_x &13c0 01 00 ff 00 # Last two bytes of all four tables are unused ; directions_y &13c4 00 01 00 ff ; diagonal_directions_x &13c8 01 ff 01 ff ; diagonal_directions_y &13cc 01 01 ff ff ; unpack_enemy_sprites &13d0 a9 00 LDA #&00 &13d2 85 84 STA &84 ; unpacked_sprite_address_low &13d4 a9 73 LDA #&73 ; &7300 = unpacked_enemy_sprites &13d6 85 85 STA &85 ; unpacked_sprite_address_high &13d8 a9 08 LDA #&08 # The player sprite has 8 frames &13da 85 86 STA &86 ; unpacked_sprite_offset &13dc a5 87 LDA &87 ; enemies_on_screen &13de 85 79 STA &79 ; enemy_to_consider &13e0 f0 51 BEQ &1433 ; leave ; unpack_enemy_sprites_loop &13e2 a6 79 LDX &79 ; enemy_to_consider &13e4 e4 87 CPX &87 ; enemies_on_screen &13e6 f0 17 BEQ &13ff ; first_enemy # If this isn't the first enemy, &13e8 a4 87 LDY &87 ; enemies_on_screen ; check_if_enemy_already_unpacked # has its sprite already been used? &13ea b9 00 0a LDA &0a00,Y ; enemies_sprite &13ed dd 00 0a CMP &0a00,X ; enemies_sprite &13f0 d0 08 BNE &13fa ; different_sprite &13f2 b9 09 0a LDA &0a09,Y ; enemies_unpacked_sprite_offset &13f5 9d 09 0a STA &0a09,X ; enemies_unpacked_sprite_offset &13f8 10 35 BPL &142f ; consider_next_enemy ; different_sprite &13fa 88 DEY &13fb c4 79 CPY &79 ; enemy_to_consider &13fd d0 eb BNE &13ea ; check_if_enemy_already_unpacked ; first_enemy # If not, unpack its sprite &13ff bc 00 0a LDY &0a00,X ; enemies_sprite &1402 a5 86 LDA &86 ; unpacked_sprite_offset &1404 9d 09 0a STA &0a09,X ; enemies_unpacked_sprite_offset &1407 b9 64 14 LDA &1464,Y ; enemy_sprites_frames &140a 85 7a STA &7a ; number_of_frames &140c 18 CLC &140d 65 86 ADC &86 ; unpacked_sprite_offset &140f 85 86 STA &86 ; unpacked_sprite_offset &1411 b9 90 14 LDA &1490,Y ; enemy_sprites_frame_offsets &1414 4a LSR A &1415 66 7b ROR &7b ; tmp &1417 4a LSR A &1418 66 7b ROR &7b ; tmp &141a 4a LSR A &141b 66 7b ROR &7b ; tmp &141d 18 CLC &141e 69 5a ADC #&5a ; &5a00 = packed_enemy_sprites &1420 85 91 STA &91 ; sprite_address_high &1422 a5 7b LDA &7b ; tmp &1424 29 e0 AND #&e0 &1426 85 90 STA &90 ; sprite_address_low ; unpack_frames_loop &1428 20 34 14 JSR &1434 ; unpack_enemy_sprite &142b c6 7a DEC &7a ; number_of_frames &142d d0 f9 BNE &1428 ; unpack_frames_loop ; consider_next_enemy &142f c6 79 DEC &79 ; enemy_to_consider &1431 d0 af BNE &13e2 ; unpack_enemy_sprites_loop ; leave &1433 60 RTS ; unpack_enemy_sprite &1434 a0 00 LDY #&00 ; unpack_enemy_sprite_loop &1436 b1 90 LDA (&90),Y ; sprite_address &1438 20 bc 14 JSR &14bc ; unpack_byte_of_sprite_data &143b a6 88 LDX &88 ; unpacked_byte_two &143d 85 88 STA &88 ; unpacked_byte_two &143f 8a TXA &1440 91 84 STA (&84),Y ; unpacked_sprite_address &1442 e6 84 INC &84 ; unpacked_sprite_address_low &1444 a5 88 LDA &88 ; unpacked_byte_two &1446 91 84 STA (&84),Y ; unpacked_sprite_address &1448 c8 INY &1449 c0 20 CPY #&20 &144b d0 e9 BNE &1436 ; unpack_enemy_sprite_loop &144d a5 90 LDA &90 ; sprite_address_low &144f 18 CLC &1450 69 20 ADC #&20 &1452 85 90 STA &90 ; sprite_address_low &1454 90 02 BCC &1458 &1456 e6 91 INC &91 ; sprite_address_high &1458 a5 84 LDA &84 ; unpacked_sprite_address_low &145a 18 CLC &145b 69 20 ADC #&20 &145d 85 84 STA &84 ; unpacked_sprite_address_low &145f 90 02 BCC &1463 &1461 e6 85 INC &85 ; unpacked_sprite_address_high &1463 60 RTS ; enemy_sprites_frames &1464 08 01 01 04 04 04 04 04 04 04 04 04 04 04 04 02 # Slot 0 is unused; eight frames suggests player &1474 02 02 02 04 04 08 08 08 02 02 04 08 04 04 04 01 # Last two slots, for sprites &2a and &2b, aren't used &1484 01 02 04 04 08 08 04 04 04 02 02 02 ; enemy_sprites_frame_offsets &1490 00 00 01 02 06 0a 0e 12 16 1a 1e 22 26 2a 2e 32 &14a0 34 36 38 3a 3e 42 4a 52 5a 5c 5e 62 6a 6e 72 76 &14b0 77 78 7a 7e 82 8a 92 96 9a 9e a0 a2 ; unpack_byte_of_sprite_data &14bc 85 96 STA &96 ; packed_byte &14be 29 f0 AND #&f0 &14c0 85 7b STA &7b ; tmp &14c2 4a LSR A &14c3 4a LSR A &14c4 4a LSR A &14c5 4a LSR A &14c6 05 7b ORA &7b ; tmp &14c8 85 88 STA &88 ; unpacked_byte_two &14ca a5 96 LDA &96 ; packed_byte &14cc 29 0f AND #&0f &14ce 85 7b STA &7b ; tmp &14d0 0a ASL A &14d1 0a ASL A &14d2 0a ASL A &14d3 0a ASL A &14d4 05 7b ORA &7b ; tmp &14d6 60 RTS ; calculate_screen_address &14d7 29 fc AND #&fc &14d9 0a ASL A &14da 26 91 ROL &91 &14dc 85 90 STA &90 ; screen_address_low &14de 8a TXA &14df 29 07 AND #&07 &14e1 18 CLC &14e2 65 90 ADC &90 ; screen_address_low &14e4 85 90 STA &90 ; screen_address_low &14e6 8a TXA &14e7 4a LSR A &14e8 4a LSR A &14e9 29 fe AND #&fe &14eb aa TAX &14ec a5 90 LDA &90 ; screen_address_low &14ee 18 CLC &14ef 7d c1 0a ADC &0ac1,X ; screen_address_lookup_table + 1 &14f2 85 90 STA &90 ; screen_address_low &14f4 a5 91 LDA &91 ; screen_address_high &14f6 29 01 AND #&01 &14f8 7d c0 0a ADC &0ac0,X ; screen_address_lookup_table &14fb 69 30 ADC #&30 ; &3000 = start of screen memory &14fd 85 91 STA &91 ; screen_address_high &14ff 60 RTS ; plot_sprite &1500 20 d7 14 JSR &14d7 ; calculate_screen_address &1503 a5 93 LDA &93 ; sprite_address_high &1505 8d 14 15 STA &1514 ; plot_sprite_address_high &1508 a5 92 LDA &92 ; sprite_address_low &150a 8d 13 15 STA &1513 ; plot_sprite_address_low &150d a6 94 LDX &94 ; sprite_size_in_bytes ; plot_sprite_group_loop &150f a4 95 LDY &95 ; sprite_width &1511 38 SEC ; plot_sprite_loop &1512 bd 11 11 LDA &1111,X # actually LDA plot_sprite_address,X &1515 25 89 AND &89 ; sprite_colour &1517 91 90 STA (&90),Y ; screen_address &1519 ca DEX &151a 98 TYA &151b e9 08 SBC #&08 &151d a8 TAY &151e b0 f2 BCS &1512 ; plot_sprite_loop &1520 8a TXA &1521 30 16 BMI &1539 ; leave ; plot_sprite_skipping_first_column &1523 e6 90 INC &90 ; screen_address_low &1525 a5 90 LDA &90 ; screen_address_low &1527 24 98 BIT &98 ; seven &1529 d0 e4 BNE &150f ; plot_sprite_group_loop &152b 38 SEC &152c e9 08 SBC #&08 &152e 85 90 STA &90 ; screen_address_low &1530 a5 91 LDA &91 ; screen_address_high &1532 18 CLC &1533 69 02 ADC #&02 &1535 85 91 STA &91 ; screen_address_high &1537 10 d6 BPL &150f ; plot_sprite_outer_loop ; leave &1539 60 RTS ; calculate_background_sprite_address &153a 0a ASL A &153b 26 91 ROL &91 ; sprite_address_high &153d 0a ASL A &153e 26 91 ROL &91 ; sprite_address_high &1540 0a ASL A &1541 26 91 ROL &91 ; sprite_address_high &1543 85 90 STA &90 ; sprite_address_low &1545 a5 91 LDA &91 ; sprite_address_high &1547 29 07 AND #&07 &1549 18 CLC &154a 69 78 ADC #&78 ; &7800 = background_sprite_data &154c 85 91 STA &91 ; sprite_address_high &154e a0 07 LDY #&07 &1550 60 RTS ; plot_background_sprite &1551 20 3a 15 JSR &153a ; calculate_background_sprite_address &1554 bd 87 15 LDA &1587,X ; colour_mask_values &1557 85 89 STA &89 ; sprite_colour ; unpack_background_sprite_loop &1559 b1 90 LDA (&90),Y ; sprite_address &155b 20 bc 14 JSR &14bc ; unpack_byte_of_sprite_data &155e 99 a8 70 STA &70a8,Y ; unpacked_background_sprite + 8 &1561 a5 88 LDA &88 ; unpacked_byte_two &1563 99 a0 70 STA &70a0,Y ; unpacked_background_sprite &1566 88 DEY &1567 10 f0 BPL &1559 ; unpack_background_sprite_loop &1569 a9 0f LDA #&0f &156b 38 SEC &156c e5 71 SBC &71 ; tile_y &156e 0a ASL A &156f 0a ASL A &1570 0a ASL A &1571 aa TAX &1572 a5 70 LDA &70 ; tile_x &1574 0a ASL A &1575 0a ASL A &1576 0a ASL A &1577 20 d7 14 JSR &14d7 ; calculate_screen_address &157a a0 0f LDY #&0f ; plot_background_sprite_loop &157c b9 a0 70 LDA &70a0,Y ; unpacked_background_sprite &157f 25 89 AND &89 ; sprite_colour &1581 91 90 STA (&90),Y ; screen_address &1583 88 DEY &1584 10 f6 BPL &157c ; plot_background_sprite_loop &1586 60 RTS ; colour_mask_values ; KK RR YY WW &1587 00 0f f0 ff ; calculate_enemy_sprite_address &158b bc 00 0a LDY &0a00,X ; enemies_sprite &158e c0 12 CPY #&12 &1590 d0 08 BNE &159a ; not_candelabra &1592 bd 09 0a LDA &0a09,X ; enemies_unpacked_sprite_offset &1595 49 01 EOR #&01 # Make candelabra flicker without moving &1597 9d 09 0a STA &0a09,X ; enemies_unpacked_sprite_offset ; not_candelabra &159a b9 64 14 LDA &1464,Y ; enemy_sprites_frames &159d 85 7b STA &7b ; sprite_frames &159f bd 12 0a LDA &0a12,X ; enemies_direction &15a2 d0 10 BNE &15b4 ; enemy_moving_vertically ; enemy_moving_horizontally # For horizontally moving enemies, &15a4 bd 1b 0a LDA &0a1b,X ; enemies_x # use the horizontal position to calculate frame &15a7 29 07 AND #&07 &15a9 4a LSR A &15aa bc 2d 0a LDY &0a2d,X ; enemies_speed &15ad 30 15 BMI &15c4 ; calculate_frame &15af 18 CLC &15b0 69 04 ADC #&04 &15b2 10 10 BPL &15c4 ; calculate_frame ; enemy_moving_vertically # For vertically moving enemies, &15b4 a5 57 LDA &57 ; game_timer &15b6 bc 2d 0a LDY &0a2d,X ; enemies_speed &15b9 30 02 BMI &15bd ; skip_inversion &15bb 49 ff EOR #&ff ; skip_inversion &15bd 18 CLC &15be 7d 24 0a ADC &0a24,X ; enemies_y # use the vertical position to calculate frame &15c1 29 07 AND #&07 &15c3 4a LSR A ; calculate_frame &15c4 c6 7b DEC &7b ; sprite_frames &15c6 25 7b AND &7b ; sprite_frames &15c8 18 CLC &15c9 7d 09 0a ADC &0a09,X ; enemies_unpacked_sprite_offset &15cc 4a LSR A &15cd 66 7b ROR &7b ; sprite_frames &15cf 4a LSR A &15d0 66 7b ROR &7b ; sprite_frames &15d2 18 CLC &15d3 69 71 ADC #&71 ; &7100 = unpacked_sprites &15d5 85 93 STA &93 ; sprite_address_high &15d7 a5 7b LDA &7b ; sprite_frames &15d9 29 c0 AND #&c0 &15db 85 92 STA &92 ; sprite_address_low &15dd bc 48 0a LDY &0a48,X ; enemies_colour &15e0 b9 87 15 LDA &1587,Y ; colour_mask_values &15e3 85 89 STA &89 ; sprite_colour &15e5 8a TXA &15e6 a8 TAY &15e7 be 24 0a LDX &0a24,Y ; enemies_y &15ea 60 RTS ; move_enemy &15eb a5 8a LDA &8a ; enemy_to_consider &15ed bc 12 0a LDY &0a12,X ; enemies_direction &15f0 f0 03 BEQ &15f5 ; enemy_moving_horizontally &15f2 18 CLC &15f3 69 09 ADC #&09 # Use vertical variables for vertically moving enemies ; enemy_moving_horizontally &15f5 a8 TAY &15f6 bd 2d 0a LDA &0a2d,X ; enemies_speed &15f9 9d 5a 0a STA &0a5a,X ; enemies_previous_speed &15fc 18 CLC &15fd 79 1b 0a ADC &0a1b,Y ; enemies_x &1600 dd 12 0a CMP &0a12,X ; enemies_direction &1603 b0 03 BCS &1608 ; at_edge_of_screen &1605 99 1b 0a STA &0a1b,Y ; enemies_x ; at_edge_of_screen &1608 dd 36 0a CMP &0a36,X ; enemies_minimum &160b 90 07 BCC &1614 ; flip_direction &160d f0 05 BEQ &1614 ; flip_direction &160f dd 3f 0a CMP &0a3f,X ; enemies_maximum &1612 90 0e BCC &1622 ; update_position ; flip_direction &1614 bd 2d 0a LDA &0a2d,X ; enemies_speed &1617 49 ff EOR #&ff &1619 38 SEC &161a 69 00 ADC #&00 &161c 9d 2d 0a STA &0a2d,X ; enemies_speed &161f b9 1b 0a LDA &0a1b,Y ; enemies_x ; update_position &1622 99 1b 0a STA &0a1b,Y ; enemies_x &1625 60 RTS ; plot_enemies &1626 a6 87 LDX &87 ; enemies_on_screen &1628 f0 16 BEQ &1640 ; leave &162a 86 8a STX &8a ; enemy_to_consider ; plot_enemies_loop &162c de 63 0a DEC &0a63,X ; enemies_need_replot &162f d0 09 BNE &163a ; skip_enemy &1631 20 8b 15 JSR &158b ; calculate_enemy_sprite_address &1634 20 07 1a JSR &1a07 ; plot_enemy &1637 20 c0 19 JSR &19c0 ; wipe_space_vacated_by_enemy ; skip_enemy &163a c6 8a DEC &8a ; enemy_to_consider &163c a6 8a LDX &8a ; enemy_to_consider &163e d0 ec BNE &162c ; plot_enemies_loop ; leave &1640 60 RTS ; plot_or_unplot_player_sprite &1641 a4 92 LDY &92 ; sprite_address_low &1643 8c 73 16 STY &1673 ; sprite_address_for_restore_lda_low &1646 8c 64 16 STY &1664 ; sprite_address_for_copy_and_low &1649 8c 6c 16 STY &166c ; sprite_address_for_copy_ora_low &164c a4 93 LDY &93 ; sprite_address_high &164e 8c 74 16 STY &1674 ; sprite_address_for_restore_lda_high &1651 8c 65 16 STY &1665 ; sprite_address_for_copy_and_high &1654 8c 6d 16 STY &166d ; sprite_address_for_copy_ora_high ; plot_or_unplot_previous_player_sprite &1657 20 d7 14 JSR &14d7 ; calculate_screen_address &165a a2 3f LDX #&3f ; plot_player_sprite_outer_loop &165c a0 18 LDY #&18 &165e 38 SEC ; plot_player_sprite_loop ; plot_player_sprite_mode &165f 90 11 BCC &1672 ; restore_background # also BCS &1672 ; restore_background ; copy_background # If BCC, copy screen memory to buffer &1661 b1 90 LDA (&90),Y ; screen_address &1663 3d 11 11 AND &1111,X # actually AND sprite_address,X &1666 9d 20 70 STA &7020,X ; player_background_buffer &1669 b1 90 LDA (&90),Y ; screen_address &166b 1d 11 11 ORA &1111,X # actually ORA sprite_address,X # adding player sprite &166e 91 90 STA (&90),Y ; screen_address &1670 b0 0c BCS &167e ; continue_with_next_byte ; restore_background # If BCS, copy buffer to screen memory &1672 bd 11 11 LDA &1111,X # actually LDA sprite_address,X &1675 49 ff EOR #&ff &1677 31 90 AND (&90),Y ; screen_address # using player sprite as mask &1679 1d 20 70 ORA &7020,X ; player_background_buffer &167c 91 90 STA (&90),Y ; screen_address ; continue_with_next_byte &167e ca DEX &167f 98 TYA &1680 e9 08 SBC #&08 &1682 a8 TAY &1683 b0 da BCS &165f ; plot_player_sprite_loop &1685 8a TXA &1686 30 16 BMI &169e ; leave &1688 e6 90 INC &90 ; screen_address_low &168a a5 90 LDA &90 ; screen_address_high &168c 24 98 BIT &98 ; seven &168e d0 cc BNE &165c ; plot_player_sprite_outer_loop &1690 38 SEC &1691 e9 08 SBC #&08 &1693 85 90 STA &90 ; screen_address_low &1695 a5 91 LDA &91 ; screen_address_high &1697 18 CLC &1698 69 02 ADC #&02 &169a 85 91 STA &91 ; screen_address_high &169c 10 be BPL &165c ; plot_player_sprite_outer_loop ; leave &169e 60 RTS ; check_for_keypress &169f a0 ff LDY #&ff &16a1 a9 81 LDA #&81 ; Scan for a particular key &16a3 20 f4 ff JSR &fff4 ; OSBYTE &16a6 8a TXA &16a7 60 RTS ; handle_player_keys &16a8 a5 69 LDA &69 ; player_conveyor_direction &16aa f0 06 BEQ &16b2 ; player_not_conveyed &16ac a9 00 LDA #&00 &16ae 85 69 STA &69 ; player_conveyor_direction # Mark player as not being conveyed &16b0 f0 15 BEQ &16c7 ; check_for_jump ; player_not_conveyed &16b2 a2 9e LDX #&9e ; Z &16b4 20 9f 16 JSR &169f ; check_for_keypress &16b7 29 fe AND #&fe &16b9 85 8e STA &8e ; player_horizontal_speed &16bb a2 bd LDX #&bd ; X &16bd 20 9f 16 JSR &169f ; check_for_keypress &16c0 29 02 AND #&02 &16c2 18 CLC &16c3 65 8e ADC &8e ; player_horizontal_speed &16c5 85 8e STA &8e ; player_horizontal_speed ; check_for_jump &16c7 a2 b7 LDX #&b7 ; * &16c9 20 9f 16 JSR &169f ; check_for_keypress &16cc 85 8b STA &8b ; player_started_jump &16ce 60 RTS ; update_game &16cf a5 9f LDA &9f ; player_rope_pixel &16d1 d0 06 BNE &16d9 ; consider_keys # Player can't jump when on the rope &16d3 a5 64 LDA &64 ; player_is_jumping &16d5 05 65 ORA &65 ; player_jump_timer &16d7 d0 03 BNE &16dc ; skip_keys # Player can't start jump or move when jumping ; consider_keys &16d9 20 a8 16 JSR &16a8 ; handle_player_keys ; skip_keys &16dc 20 03 0b JSR &0b03 ; to_handle_rope_time_and_events &16df 20 bc 1e JSR &1ebc ; handle_player_jumping &16e2 a5 8e LDA &8e ; player_horizontal_speed &16e4 f0 11 BEQ &16f7 ; player_isn't_moving &16e6 cd 2d 0a CMP &0a2d ; player_speed &16e9 f0 05 BEQ &16f0 ; player_already_moving # Is the player already facing in direction of move? &16eb 8d 2d 0a STA &0a2d ; player_speed # If not, make them face that direction, but don't move &16ee d0 07 BNE &16f7 ; player_isn't_moving ; player_already_moving &16f0 18 CLC &16f1 6d 1b 0a ADC &0a1b ; player_x_in_enemies &16f4 8d 1b 0a STA &0a1b ; player_x_in_enemies ; player_isn't_moving &16f7 20 8b 1a JSR &1a8b ; check_player_move_for_walls &16fa f0 09 BEQ &1705 ; player_can_move &16fc ad 1b 0a LDA &0a1b ; player_x_in_enemies &16ff 38 SEC &1700 e5 8e SBC &8e ; player_horizontal_speed &1702 8d 1b 0a STA &0a1b ; player_x_in_enemies ; player_can_move &1705 a2 00 LDX #&00 ; player &1707 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &170a 20 bc 1a JSR &1abc ; see_if_player_should_start_jump &170d 20 de 1a JSR &1ade ; check_player_jump_for_walls &1710 a5 65 LDA &65 ; player_jump_timer &1712 c9 07 CMP #&07 &1714 b0 44 BCS &175a ; player_falling_after_jump &1716 a5 6b LDA &6b ; player_on_slope &1718 f0 11 BEQ &172b ; not_jumping_along_slope &171a a5 8e LDA &8e ; player_horizontal_speed &171c f0 0d BEQ &172b ; not_jumping_along_slope &171e a6 6c LDX &6c ; slope_direction &1720 dd 58 1c CMP &1c58,X ; slope_speeds &1723 f0 06 BEQ &172b ; not_jumping_along_slope &1725 ee 24 0a INC &0a24 ; player_y_in_enemies # Make player move down to follow slope &1728 ee 24 0a INC &0a24 ; player_y_in_enemies ; not_jumping_along_slope &172b a2 00 LDX #&00 ; player &172d 86 6b STX &6b ; player_on_slope &172f 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &1732 20 e8 18 JSR &18e8 ; consider_tiles_under_player &1735 a6 6c LDX &6c ; slope_direction &1737 ad 1b 0a LDA &0a1b ; player_x_in_enemies &173a 29 07 AND #&07 &173c dd 54 1c CMP &1c54,X ; slope_checks &173f d0 19 BNE &175a ; not_slope &1741 bc 56 1c LDY &1c56,X ; slope_values &1744 b1 60 LDA (&60),Y ; tile_address &1746 c9 03 CMP #&03 ; SLOPE &1748 d0 10 BNE &175a ; not_slope &174a a5 8e LDA &8e ; player_horizontal_speed &174c dd 58 1c CMP &1c58,X ; slope_speeds &174f d0 09 BNE &175a ; not_slope &1751 ad 24 0a LDA &0a24 ; player_y_in_enemies &1754 38 SEC &1755 e9 02 SBC #&02 # If player moving up slope, move them upwards &1757 8d 24 0a STA &0a24 ; player_y_in_enemies ; player_falling_after_jump ; not_slope &175a 20 a7 1b JSR &1ba7 ; plot_room_items &175d 20 a7 1b JSR &1ba7 ; plot_room_items &1760 20 a7 1b JSR &1ba7 ; plot_room_items &1763 20 6d 1d JSR &1d6d ; update_conveyor &1766 20 62 19 JSR &1962 ; update_enemies &1769 a2 00 LDX #&00 ; player &176b 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &176e 20 0c 0b JSR &0b0c ; to_mark_enemies_that_overlap_player &1771 20 26 16 JSR &1626 ; plot_enemies &1774 a9 b0 LDA #&b0 ; BCS # Set to restore background &1776 8d 5f 16 STA &165f ; plot_player_sprite_mode &1779 c6 9c DEC &9c ; player_not_plotted &177b f0 11 BEQ &178e ; skip_unplot &177d a9 00 LDA #&00 &177f 8d bf 08 STA &08bf ; irq_counter ; wait_for_irq # Slight delay to stop player flickering &1782 ad bf 08 LDA &08bf ; irq_counter &1785 f0 fb BEQ &1782 ; wait_for_irq &1787 a5 8c LDA &8c ; player_x &1789 a6 8d LDX &8d ; player_y &178b 20 57 16 JSR &1657 ; plot_or_unplot_previous_player_sprite # Unplot player ; skip_unplot &178e 20 26 16 JSR &1626 ; plot_enemies &1791 20 0f 0b JSR &0b0f ; to_update_arrows &1794 a9 90 LDA #&90 ; BCC # Set to copy background &1796 8d 5f 16 STA &165f ; plot_player_sprite_mode &1799 c6 9c DEC &9c ; player_not_plotted &179b 10 15 BPL &17b2 ; skip_plot &179d a2 00 LDX #&00 ; player &179f 20 8b 15 JSR &158b ; calculate_enemy_sprite_address &17a2 ad 1b 0a LDA &0a1b ; player_x_in_enemies &17a5 29 f8 AND #&f8 &17a7 85 8c STA &8c ; player_x &17a9 86 8d STX &8d ; player_y &17ab a6 8d LDX &8d ; player_y &17ad 30 03 BMI &17b2 ; skip_plot &17af 20 41 16 JSR &1641 ; plot_or_unplot_player_sprite # Plot player ; skip_plot &17b2 a2 00 LDX #&00 ; player &17b4 86 9c STX &9c ; player_not_plotted &17b6 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &17b9 20 fc 1a JSR &1afc ; check_for_player_touching_tiles &17bc 20 6c 1c JSR &1c6c ; check_for_player_leaving_room &17bf a5 63 LDA &63 ; player_killed &17c1 f0 2a BEQ &17ed ; leave &17c3 a9 10 LDA #&10 ; sound_2 &17c5 20 27 0b JSR &0b27 ; to_play_sound_number_a # Play sounds for player dying &17c8 a9 28 LDA #&28 ; sound_5 &17ca 20 27 0b JSR &0b27 ; to_play_sound_number_a &17cd c6 9b DEC &9b ; player_lives &17cf ad 27 11 LDA &1127 ; entry_horizontal_speed # Set player back to where they entered the room &17d2 85 8e STA &8e ; player_horizontal_speed &17d4 ad 28 11 LDA &1128 ; entry_jump_timer &17d7 85 65 STA &65 ; player_jump_timer &17d9 ad 29 11 LDA &1129 ; entry_x &17dc 8d 1b 0a STA &0a1b ; player_x_in_enemies &17df ad 2a 11 LDA &112a ; entry_y &17e2 8d 24 0a STA &0a24 ; player_y_in_enemies &17e5 ad 2b 11 LDA &112b ; entry_is_jumping &17e8 85 64 STA &64 ; player_is_jumping &17ea 20 f5 1c JSR &1cf5 ; remove_collected_items_from_room_data ; leave &17ed 60 RTS ; jump_parabola_table &17ee 00 04 04 04 04 02 02 02 00 00 00 00 fe fe fe fe fc &17fe fc fc ; initialise_enemies &1801 a2 03 LDX #&03 &1803 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # Get three bits of room data for number of enemies &1806 85 87 STA &87 ; enemies_on_screen &1808 a8 TAY &1809 f0 63 BEQ &186e ; no_enemies ; initialise_enemies_loop # For each enemy, &180b a2 06 LDX #&06 # Get six bits of room data for sprite &180d 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1810 99 00 0a STA &0a00,Y ; enemies_sprite &1813 a2 05 LDX #&05 # Get five bits of room data for x position &1815 20 71 18 JSR &1871 ; get_x_bits_of_room_data_multiplied_by_eight &1818 99 1b 0a STA &0a1b,Y ; enemies_x &181b a2 04 LDX #&04 # Get four bits of room data for y position &181d 20 71 18 JSR &1871 ; get_x_bits_of_room_data_multiplied_by_eight &1820 99 24 0a STA &0a24,Y ; enemies_y &1823 a2 05 LDX #&05 # Get five bits of room data for minimum position &1825 20 71 18 JSR &1871 ; get_x_bits_of_room_data_multiplied_by_eight &1828 99 36 0a STA &0a36,Y ; enemies_minimum &182b a2 05 LDX #&05 # Get five bits of room data for maximum position &182d 20 71 18 JSR &1871 ; get_x_bits_of_room_data_multiplied_by_eight &1830 99 3f 0a STA &0a3f,Y ; enemies_maximum &1833 a2 01 LDX #&01 # Get one bit of room data for direction &1835 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (0 = horizontal, 1 = vertical) &1838 0a ASL A &1839 f0 02 BEQ &183d ; not_zero &183b a9 ff LDA #&ff ; not_zero &183d 99 12 0a STA &0a12,Y ; enemies_direction &1840 a2 01 LDX #&01 # Get one bit of room data for direction &1842 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (0 = left/up, 1=right/down) &1845 85 97 STA &97 ; invert &1847 a2 03 LDX #&03 # Get three bits of room data for speed &1849 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &184c 99 2d 0a STA &0a2d,Y ; enemies_speed &184f a6 97 LDX &97 ; invert &1851 d0 08 BNE &185b ; skip_inversion &1853 49 ff EOR #&ff &1855 18 CLC &1856 69 01 ADC #&01 &1858 99 2d 0a STA &0a2d,Y ; enemies_speed ; skip_inversion &185b a2 02 LDX #&02 # Get two bits of room data for colour &185d 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1860 99 48 0a STA &0a48,Y ; enemies_colour &1863 a9 00 LDA #&00 &1865 99 5a 0a STA &0a5a,Y ; enemies_previous_speed &1868 99 51 0a STA &0a51,Y ; enemies_previous_tile_address_low &186b 88 DEY &186c d0 9d BNE &180b ; initialise_enemies_loop ; no_enemies &186e 4c d0 13 JMP &13d0 ; unpack_enemy_sprites ; get_x_bits_of_room_data_multiplied_by_eight &1871 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1874 0a ASL A &1875 0a ASL A &1876 0a ASL A &1877 60 RTS ; set_tile_table_for_background &1878 a0 37 LDY #&37 ; &6e00 (tile_table) / &200 &187a 84 61 STY &61 ; tile_address_high &187c a9 0f LDA #&0f &187e 38 SEC &187f e5 71 SBC &71 ; tile_y &1881 0a ASL A &1882 0a ASL A &1883 0a ASL A &1884 0a ASL A &1885 0a ASL A &1886 26 61 ROL &61 ; tile_address_high &1888 65 70 ADC &70 ; tile_x &188a 85 60 STA &60 ; tile_address_low &188c a5 72 LDA &72 ; tile_type &188e 69 01 ADC #&01 &1890 c9 05 CMP #&05 ; DEADLY &1892 90 1f BCC &18b3 ; set_tile_table &1894 f0 1b BEQ &18b1 ; not_item &1896 e6 67 INC &67 ; item_number # If this tile is an item, store its details &1898 a6 67 LDX &67 ; item_number &189a a5 90 LDA &90 ; screen_address_low &189c 9d 8c 0a STA &0a8c,X ; items_screen_address_low &189f a5 91 LDA &91 ; screen_address_high &18a1 9d 98 0a STA &0a98,X ; items_screen_address_high &18a4 a5 60 LDA &60 ; tile_address_low &18a6 9d a8 0a STA &0aa8,X ; items_tile_address_low &18a9 a5 61 LDA &61 ; tile_address_high &18ab 9d b4 0a STA &0ab4,X ; items_tile_address_high &18ae 8a TXA &18af 09 10 ORA #&10 # Mark as item ; not_item &18b1 09 c0 ORA #&c0 # Mark as not enemy, nor background ; set_tile_table &18b3 a0 00 LDY #&00 &18b5 91 60 STA (&60),Y ; tile_address &18b7 60 RTS ; wipe_tile_table &18b8 a0 00 LDY #&00 &18ba a9 80 LDA #&80 ; wipe_tile_table_loop &18bc 99 00 6e STA &6e00,Y ; tile_table &18bf 99 00 6f STA &6f00,Y ; tile_table + &100 &18c2 c8 INY &18c3 d0 f7 BNE &18bc ; wipe_tile_table_loop &18c5 60 RTS ; calculate_tile_address_for_enemy_X &18c6 a9 37 LDA #&37 ; &37 = &6e00 (tile_table) / &200 &18c8 85 61 STA &61 ; tile_address_high &18ca bd 24 0a LDA &0a24,X ; enemies_y &18cd 38 SEC &18ce e9 08 SBC #&08 &18d0 b0 02 BCS &18d4 &18d2 c6 61 DEC &61 ; tile_address_high &18d4 0a ASL A &18d5 0a ASL A &18d6 26 61 ROL &61 ; tile_address_high &18d8 29 e0 AND #&e0 &18da 85 7b STA &7b ; tmp &18dc bd 1b 0a LDA &0a1b,X ; enemies_x &18df 4a LSR A &18e0 4a LSR A &18e1 4a LSR A &18e2 18 CLC &18e3 65 7b ADC &7b ; tmp &18e5 85 60 STA &60 ; tile_address_low &18e7 60 RTS ; consider_tiles_under_player # There are two tiles beneath the player's feet; one &18e8 a6 6c LDX &6c ; slope_direction # which may have a slope, and one which does not &18ea bc 5a 1c LDY &1c5a,X ; slope_tile_offsets &18ed b1 60 LDA (&60),Y ; tile_address # Consider tile beneath player's feet (with slope) &18ef f0 02 BEQ &18f3 ; is_space &18f1 10 0a BPL &18fd ; isn't_space ; is_space &18f3 e8 INX &18f4 bc 5a 1c LDY &1c5a,X ; slope_tile_offsets &18f7 b1 60 LDA (&60),Y ; tile_address # Consider tile beneath player's feet (without slope) &18f9 f0 4a BEQ &1945 ; player_in_midair # If both are empty, the player falls &18fb 30 48 BMI &1945 ; player_in_midair ; isn't_space &18fd c9 03 CMP #&03 ; SLOPE &18ff d0 07 BNE &1908 ; not_slope &1901 20 f8 1b JSR &1bf8 ; consider_slope_effect # If one is a slope, see how that affects the player &1904 f0 3f BEQ &1945 ; player_in_midair &1906 10 0d BPL &1915 ; check_for_conveyor ; not_slope &1908 85 7b STA &7b ; tile &190a ad 24 0a LDA &0a24 ; player_y_in_enemies &190d 29 07 AND #&07 &190f c9 03 CMP #&03 &1911 b0 32 BCS &1945 ; player_in_midair &1913 a5 7b LDA &7b ; tile ; check_for_conveyor &1915 c9 04 CMP #&04 ; CONVEYOR &1917 d0 03 BNE &191c ; not_conveyor &1919 20 5d 1c JSR &1c5d ; consider_conveyor_effect ; not_conveyor &191c a5 64 LDA &64 ; player_is_jumping &191e f0 18 BEQ &1938 ; align_player_with_tile &1920 a5 9a LDA &9a ; player_entered_room_falling_too_far &1922 d0 0c BNE &1930 ; player_fell_too_far &1924 ad 24 0a LDA &0a24 ; player_y_in_enemies &1927 38 SEC &1928 e5 62 SBC &62 ; where_player_fell_from &192a 30 06 BMI &1932 ; player_didn't_fall_too_far &192c c9 21 CMP #&21 # Has the player fallen more than four tiles? &192e 90 02 BCC &1932 ; player_didn't_fall_too_far ; player_fell_too_far &1930 e6 63 INC &63 ; player_killed # Kill the player if they hit after falling too far ; player_didn't_fall_too_far &1932 a9 00 LDA #&00 &1934 85 65 STA &65 ; player_jump_timer &1936 85 64 STA &64 ; player_is_jumping ; align_player_with_tile &1938 a5 6b LDA &6b ; player_on_slope &193a d0 08 BNE &1944 ; leave &193c ad 24 0a LDA &0a24 ; player_y_in_enemies &193f 29 f8 AND #&f8 &1941 8d 24 0a STA &0a24 ; player_y_in_enemies ; leave &1944 60 RTS ; player_in_midair &1945 a5 65 LDA &65 ; player_jump_timer &1947 d0 18 BNE &1961 ; leave &1949 a5 64 LDA &64 ; player_is_jumping &194b d0 07 BNE &1954 ; skip_noting_fall &194d ad 24 0a LDA &0a24 ; player_y_in_enemies &1950 85 62 STA &62 ; where_player_fell_from &1952 85 64 STA &64 ; player_is_jumping ; skip_noting_fall &1954 a9 00 LDA #&00 &1956 85 8e STA &8e ; player_horizontal_speed &1958 ad 24 0a LDA &0a24 ; player_y_in_enemies &195b 18 CLC &195c 69 04 ADC #&04 &195e 8d 24 0a STA &0a24 ; player_y_in_enemies ; leave &1961 60 RTS ; update_enemies &1962 a5 87 LDA &87 ; enemies_on_screen &1964 f0 59 BEQ &19bf ; leave &1966 85 8a STA &8a ; enemy_to_consider ; update_enemies_loop &1968 a6 8a LDX &8a ; enemy_to_consider &196a 20 eb 15 JSR &15eb ; move_enemy &196d a9 01 LDA #&01 &196f 9d 63 0a STA &0a63,X ; enemies_need_replot &1972 a9 00 LDA #&00 &1974 9d 6c 0a STA &0a6c,X ; enemy_has_moved &1977 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &197a bc 51 0a LDY &0a51,X ; enemies_previous_tile_address_low &197d 84 7b STY &7b ; previous_tile_address_low &197f dd 51 0a CMP &0a51,X ; enemies_previous_tile_address_low &1982 f0 37 BEQ &19bb ; consider_next_enemy &1984 fe 6c 0a INC &0a6c,X ; enemy_has_moved &1987 9d 51 0a STA &0a51,X ; enemies_previous_tile_address_low &198a 8a TXA &198b 09 80 ORA #&80 &198d a0 20 LDY #&20 # Mark enemy in four tiles &198f 91 60 STA (&60),Y ; tile_address &1991 c8 INY &1992 91 60 STA (&60),Y ; tile_address &1994 a0 40 LDY #&40 &1996 91 60 STA (&60),Y ; tile_address &1998 c8 INY &1999 91 60 STA (&60),Y ; tile_address &199b a5 7b LDA &7b ; previous_tile_address_low &199d f0 1c BEQ &19bb ; consider_next_enemy &199f bd 5a 0a LDA &0a5a,X ; enemies_previous_speed &19a2 f0 17 BEQ &19bb ; consider_next_enemy # If the enemy is moving, &19a4 0a ASL A &19a5 bd 12 0a LDA &0a12,X ; enemies_direction &19a8 29 02 AND #&02 &19aa 69 00 ADC #&00 &19ac aa TAX &19ad bc ff 19 LDY &19ff,X ; direction_tile_offsets_one &19b0 a5 4e LDA &4e ; space_tile &19b2 91 60 STA (&60),Y ; direction_tile_tile_address # Remove enemy from previously occupied tiles &19b4 bc 03 1a LDY &1a03,X ; offsets_two &19b7 91 60 STA (&60),Y ; tile_address &19b9 a6 8a LDX &8a ; enemy_to_consider ; consider_next_enemy &19bb c6 8a DEC &8a ; enemy_to_consider &19bd d0 a9 BNE &1968 ; update_enemies_loop ; leave &19bf 60 RTS ; wipe_space_vacated_by_enemy &19c0 a6 8a LDX &8a ; enemy_to_consider &19c2 bd 6c 0a LDA &0a6c,X ; enemy_has_moved &19c5 f0 37 BEQ &19fe ; leave &19c7 bd 12 0a LDA &0a12,X ; enemies_direction &19ca d0 32 BNE &19fe ; leave # Leave if this enemy is moving vertically. &19cc a9 08 LDA #&08 &19ce 85 95 STA &95 ; sprite_width # Set sprite size to be 16x2 pixels &19d0 a9 1f LDA #&1f &19d2 85 94 STA &94 ; sprite_size_in_bytes &19d4 a9 f8 LDA #&f8 &19d6 bc 5a 0a LDY &0a5a,X ; enemies_previous_speed &19d9 10 02 BPL &19dd ; enemy_moving_right ; enemy_moving_left &19db a9 0c LDA #&0c ; enemy_moving_right &19dd 18 CLC &19de 7d 1b 0a ADC &0a1b,X ; enemies_x &19e1 85 7b STA &7b ; enemy_x &19e3 a9 00 LDA #&00 &19e5 85 92 STA &92 ; sprite_address_low &19e7 a9 70 LDA #&70 ; &7000 = space_sprite &19e9 85 93 STA &93 ; sprite_address_high &19eb bd 24 0a LDA &0a24,X ; enemies_y &19ee aa TAX &19ef a5 7b LDA &7b ; enemy_x &19f1 20 00 15 JSR &1500 ; plot_sprite &19f4 a9 18 LDA #&18 # Restore sprite size to 16x16 pixels &19f6 85 95 STA &95 ; sprite_width &19f8 a9 3f LDA #&3f &19fa 85 94 STA &94 ; sprite_size_in_bytes &19fc a6 8a LDX &8a ; enemy_to_consider ; leave &19fe 60 RTS ; direction_tile_offsets_one &19ff 1f 22 00 60 ; direction_tile_offsets_two &1a03 3f 42 01 61 ; plot_enemy &1a07 b9 12 0a LDA &0a12,Y ; enemies_direction &1a0a f0 45 BEQ &1a51 ; enemy_moving_horizontally &1a0c b9 5a 0a LDA &0a5a,Y ; enemies_previous_speed &1a0f 30 49 BMI &1a5a ; enemy_moving_up ; enemy_moving_down # If this enemy is moving down, &1a11 be 00 0a LDX &0a00,Y ; enemies_sprite &1a14 e0 21 CPX #&21 &1a16 f0 36 BEQ &1a4e ; enemy_is_skull_mouth # The skull mouth will be overwritten by the skull top &1a18 85 7b STA &7b ; previous_speed # Otherwise, &1a1a 0a ASL A &1a1b 0a ASL A &1a1c e9 00 SBC #&00 &1a1e 85 94 STA &94 ; sprite_size_in_bytes # Set sprite to be section previously occupied &1a20 a5 92 LDA &92 ; sprite_address_low &1a22 85 97 STA &97 ; previous_sprite_address_low &1a24 a9 00 LDA #&00 &1a26 85 92 STA &92 ; sprite_address_low &1a28 a5 93 LDA &93 ; sprite_address_high &1a2a 85 96 STA &96 ; previous_sprite_address_high &1a2c a9 70 LDA #&70 &1a2e 85 93 STA &93 ; sprite_address_high &1a30 b9 24 0a LDA &0a24,Y ; enemies_y &1a33 38 SEC &1a34 e5 7b SBC &7b ; previous_speed &1a36 aa TAX &1a37 b9 1b 0a LDA &0a1b,Y ; enemies_x &1a3a 20 00 15 JSR &1500 ; plot_sprite # Wipe previous position of sprite &1a3d a5 96 LDA &96 ; previous_sprite_address_high &1a3f 85 93 STA &93 ; sprite_address_high &1a41 a9 3f LDA #&3f # Set sprite to be 16x16 pixels &1a43 85 94 STA &94 ; sprite_size_in_bytes &1a45 a5 97 LDA &97 ; previous_sprite_address_low &1a47 8d 13 15 STA &1513 ; plot_sprite_address_low # Plot sprite &1a4a 20 81 1a JSR &1a81 ; into_plot_sprite_with_skip &1a4d 60 RTS ; enemy_is_skull_mouth &1a4e be 24 0a LDX &0a24,Y ; enemies_y ; enemy_moving_horizontally &1a51 b9 1b 0a LDA &0a1b,Y ; enemies_x &1a54 29 f8 AND #&f8 &1a56 20 00 15 JSR &1500 ; plot_sprite &1a59 60 RTS ; enemy_moving_up # If the enemy is moving up, &1a5a b9 1b 0a LDA &0a1b,Y ; enemies_x &1a5d 20 00 15 JSR &1500 ; plot_sprite # Plot sprite &1a60 a9 00 LDA #&00 &1a62 8d 13 15 STA &1513 ; plot_sprite_address_low &1a65 a4 8a LDY &8a ; enemy_to_consider &1a67 a9 70 LDA #&70 &1a69 85 93 STA &93 ; sprite_address_high &1a6b b9 5a 0a LDA &0a5a,Y ; enemies_previous_speed &1a6e 49 ff EOR #&ff &1a70 18 CLC &1a71 69 01 ADC #&01 &1a73 0a ASL A &1a74 0a ASL A &1a75 e9 00 SBC #&00 &1a77 85 94 STA &94 ; sprite_size_in_bytes # Set sprite to be section previously occupied &1a79 20 81 1a JSR &1a81 ; into_plot_sprite_with_skip # Wipe previous position of sprite &1a7c a9 3f LDA #&3f &1a7e 85 94 STA &94 ; sprite_size_in_bytes # Restore sprite to 16x16 pixels &1a80 60 RTS ; into_plot_sprite_with_skip &1a81 a6 94 LDX &94 ; sprite_size_in_bytes &1a83 a5 93 LDA &93 ; sprite_address_high &1a85 8d 14 15 STA &1514 ; plot_sprite_address_high &1a88 4c 23 15 JMP &1523 ; plot_sprite_skipping_first_column ; check_player_move_for_walls &1a8b a2 00 LDX #&00 ; player &1a8d 86 96 STX &96 ; walls &1a8f 20 c6 18 JSR &18c6 ; calculate_tile_address_for_enemy_X &1a92 a0 20 LDY #&20 &1a94 a5 8e LDA &8e ; player_horizontal_speed &1a96 f0 13 BEQ &1aab ; leave_with_result # No walls hit if player not moving &1a98 30 01 BMI &1a9b ; player_moving_left ; player_moving_right &1a9a c8 INY ; player_moving_left &1a9b 20 ae 1a JSR &1aae ; check_tile_for_wall # Check top of player &1a9e 20 ae 1a JSR &1aae ; check_tile_for_wall # Check middle/bottom of player &1aa1 ad 24 0a LDA &0a24 ; player_y_in_enemies &1aa4 29 07 AND #&07 &1aa6 f0 03 BEQ &1aab ; leave_with_result &1aa8 20 ae 1a JSR &1aae ; check_tile_for_wall # Check bottom of player if not aligned ; leave_with_result &1aab a5 96 LDA &96 ; walls &1aad 60 RTS ; check_tile_for_wall &1aae b1 60 LDA (&60),Y ; tile_address &1ab0 c9 02 CMP #&02 ; WALL &1ab2 d0 02 BNE &1ab6 ; not_wall &1ab4 e6 96 INC &96 ; walls ; not_wall &1ab6 98 TYA &1ab7 18 CLC &1ab8 69 20 ADC #&20 &1aba a8 TAY &1abb 60 RTS ; see_if_player_should_start_jump &1abc a5 8b LDA &8b ; player_started_jump &1abe f0 1d BEQ &1add ; leave &1ac0 e6 64 INC &64 ; player_is_jumping &1ac2 a9 12 LDA #&12 &1ac4 85 65 STA &65 ; player_jump_timer &1ac6 e6 8b INC &8b ; player_started_jump &1ac8 ad 24 0a LDA &0a24 ; player_y_in_enemies &1acb 38 SEC &1acc e9 08 SBC #&08 &1ace 85 62 STA &62 ; where_player_fell_from &1ad0 20 de 1a JSR &1ade ; check_player_jump_for_walls &1ad3 f0 08 BEQ &1add ; leave &1ad5 a9 08 LDA #&08 ; sound_1 &1ad7 20 27 0b JSR &0b27 ; to_play_sound_number_a # Play sound for jumping &1ada 20 bc 1e JSR &1ebc ; handle_player_jumping ; leave &1add 60 RTS ; check_player_jump_for_walls &1ade ad 24 0a LDA &0a24 ; player_y_in_enemies &1ae1 29 07 AND #&07 &1ae3 d0 16 BNE &1afb ; leave &1ae5 a0 00 LDY #&00 # Consider tile above player's left &1ae7 b1 60 LDA (&60),Y ; tile_address &1ae9 49 02 EOR #&02 ; WALL &1aeb f0 07 BEQ &1af4 ; can't_jump &1aed c8 INY # Consider tile above player's right &1aee b1 60 LDA (&60),Y ; tile_address &1af0 49 02 EOR #&02 ; WALL &1af2 d0 07 BNE &1afb ; leave ; can't_jump &1af4 20 bc 1e JSR &1ebc ; handle_player_jumping # Conclude any existing jump &1af7 a9 00 LDA #&00 # If either is a wall, player can't jump &1af9 85 65 STA &65 ; player_jump_timer ; leave &1afb 60 RTS ; check_for_player_touching_tiles &1afc ad 24 0a LDA &0a24 ; player_y_in_enemies &1aff 09 07 ORA #&07 &1b01 38 SEC &1b02 ed 24 0a SBC &0a24 ; player_y_in_enemies &1b05 85 96 STA &96 ; rows_to_check &1b07 a0 20 LDY #&20 # Consider tile at top left of player &1b09 a9 3d LDA #&3d &1b0b 20 16 1b JSR &1b16 ; check_for_player_touching_tile &1b0e a0 21 LDY #&21 # Consider tile at top right of player &1b10 a9 3f LDA #&3f &1b12 20 16 1b JSR &1b16 ; check_for_player_touching_tile &1b15 60 RTS ; check_for_player_touching_tile &1b16 85 97 STA &97 ; buffer_offset &1b18 a6 96 LDX &96 ; rows_to_check &1b1a 20 2f 1b JSR &1b2f ; check_rows_of_player_against_tile # Check top of player (aligned to tile boundaries) &1b1d a2 07 LDX #&07 &1b1f 20 2f 1b JSR &1b2f ; check_rows_of_player_against_tile # Check middle of player &1b22 a9 07 LDA #&07 &1b24 38 SEC &1b25 e5 96 SBC &96 ; rows_to_check &1b27 f0 05 BEQ &1b2e ; leave &1b29 aa TAX &1b2a ca DEX &1b2b 20 2f 1b JSR &1b2f ; check_rows_of_player_against_tile # Check bottom of player ; leave &1b2e 60 RTS ; check_rows_of_player_against_tile &1b2f 98 TYA &1b30 18 CLC &1b31 69 20 ADC #&20 &1b33 85 7b STA &7b ; next_tile_offset # Consider tile immediately below when next called &1b35 b1 60 LDA (&60),Y ; tile_address &1b37 85 68 STA &68 ; tile &1b39 10 1e BPL &1b59 ; tile_is_background &1b3b a4 97 LDY &97 ; buffer_offset # If this tile is an enemy or an item, ; check_rows_of_player_against_tile # for each row of the player within the tile, &1b3d b9 20 70 LDA &7020,Y ; player_background_buffer &1b40 f0 03 BEQ &1b45 ; not_part_of_player_left # is there part of the player there? &1b42 20 67 1b JSR &1b67 ; player_is_touching_tile # If so, consider the interaction ; not_part_of_player_left &1b45 88 DEY &1b46 b9 20 70 LDA &7020,Y ; player_background_buffer # Check again on right-hand side &1b49 f0 03 BEQ &1b4e ; not_part_of_player_right &1b4b 20 67 1b JSR &1b67 ; player_is_touching_tile ; not_part_of_player_right &1b4e 88 DEY &1b4f 88 DEY &1b50 88 DEY &1b51 ca DEX &1b52 10 e9 BPL &1b3d ; check_rows_of_player_against_tile &1b54 84 97 STY &97 ; buffer_y &1b56 a4 7b LDY &7b ; next_tile_offset &1b58 60 RTS ; tile_is_background # If this tile is just background, &1b59 e8 INX # set things up for the next check &1b5a 8a TXA &1b5b 0a ASL A &1b5c 0a ASL A &1b5d 49 ff EOR #&ff &1b5f 38 SEC &1b60 65 97 ADC &97 ; buffer_offset &1b62 85 97 STA &97 ; buffer_offset &1b64 a4 7b LDY &7b ; next_y &1b66 60 RTS ; player_is_touching_tile &1b67 86 70 STX &70 ; x &1b69 84 71 STY &71 ; y &1b6b a9 00 LDA #&00 &1b6d 99 20 70 STA &7020,Y ; player_background_buffer &1b70 a5 68 LDA &68 ; tile &1b72 29 7f AND #&7f &1b74 f0 29 BEQ &1b9f ; tile_is_space &1b76 c9 4e CMP #&4e &1b78 b0 11 BCS &1b8b ; tile_is_item &1b7a c9 02 CMP #&02 &1b7c d0 06 BNE &1b84 ; not_bathroom_toilet # Is this the bathroom toilet? (room &15, slot 2) &1b7e a5 55 LDA &55 ; player_room &1b80 c9 15 CMP #&15 ; The Bathroom &1b82 f0 02 BEQ &1b86 ; leave_with_initial_x_and_y # If so, it isn't deadly. ; not_bathroom_toilet &1b84 e6 63 INC &63 ; player_killed # Otherwise, kill the player ; leave_with_initial_x_and_y &1b86 a6 70 LDX &70 ; x &1b88 a4 71 LDY &71 ; y &1b8a 60 RTS ; tile_is_item # If the tile is an item, &1b8b 29 0f AND #&0f &1b8d aa TAX &1b8e bd 80 0a LDA &0a80,X ; items_colour &1b91 f0 f3 BEQ &1b86 ; leave_with_initial_x_and_y # has it been collected? &1b93 a9 00 LDA #&00 &1b95 9d 80 0a STA &0a80,X ; items_colour # If not, remove it from the screen &1b98 86 67 STX &67 ; item_number &1b9a 20 06 0b JSR &0b06 ; to_collect_item &1b9d 10 e7 BPL &1b86 ; leave_with_initial_x_and_y ; tile_is_space &1b9f a5 6f LDA &6f ; room_contains_rope &1ba1 d0 e3 BNE &1b86 ; leave_with_initial_x_and_y &1ba3 e6 63 INC &63 ; player_killed # Player has been hit by an arrow or moving enemy &1ba5 d0 df BNE &1b86 ; leave_with_initial_x_and_y ; plot_room_items &1ba7 a6 66 LDX &66 ; items_in_room_minus_one &1ba9 30 4c BMI &1bf7 ; leave &1bab e4 67 CPX &67 ; item_number &1bad 90 40 BCC &1bef ; skip_item &1baf a6 67 LDX &67 ; item_number &1bb1 bd 8c 0a LDA &0a8c,X ; items_screen_address_low &1bb4 85 90 STA &90 ; screen_address_low &1bb6 bd 98 0a LDA &0a98,X ; items_screen_address_high &1bb9 85 91 STA &91 ; screen_address_high &1bbb bc 80 0a LDY &0a80,X ; items_colour &1bbe f0 0d BEQ &1bcd ; item_collected &1bc0 de 80 0a DEC &0a80,X ; items_colour &1bc3 d0 05 BNE &1bca ; skip_reset_colour &1bc5 a9 03 LDA #&03 &1bc7 9d 80 0a STA &0a80,X ; items_colour ; skip_reset_colour &1bca bc 80 0a LDY &0a80,X ; items_colour ; item_collected &1bcd b9 87 15 LDA &1587,Y ; colour_mask_values &1bd0 85 89 STA &89 ; sprite_colour &1bd2 a0 0f LDY #&0f ; plot_item_loop &1bd4 b9 a0 70 LDA &70a0,Y ; unpacked_background_sprites &1bd7 25 89 AND &89 ; sprite_colour &1bd9 91 90 STA (&90),Y ; screen_address &1bdb 88 DEY &1bdc 10 f6 BPL &1bd4 ; plot_item_loop &1bde bd a8 0a LDA &0aa8,X ; items_tile_address_low &1be1 85 90 STA &90 ; tile_address_low &1be3 bd b4 0a LDA &0ab4,X ; items_tile_address_high &1be6 85 91 STA &91 ; tile_address_high &1be8 8a TXA &1be9 09 e0 ORA #&e0 &1beb a0 00 LDY #&00 &1bed 91 90 STA (&90),Y ; tile_address ; skip_item &1bef c6 67 DEC &67 ; item_number &1bf1 10 04 BPL &1bf7 ; leave &1bf3 a9 0b LDA #&0b &1bf5 85 67 STA &67 ; item_number ; leave &1bf7 60 RTS ; consider_slope_effect &1bf8 a6 6c LDX &6c ; slope_direction &1bfa 98 TYA # Y is a tile offset of tile beneath player with slope &1bfb dd 5a 1c CMP &1c5a,X ; slope_tile_offsets &1bfe d0 4d BNE &1c4d ; leave_with_minus_one ; player_is_climbing_slope &1c00 e6 6b INC &6b ; player_on_slope &1c02 ad 24 0a LDA &0a24 ; player_y_in_enemies &1c05 29 07 AND #&07 &1c07 85 7b STA &7b ; player_y_fraction &1c09 ad 1b 0a LDA &0a1b ; player_x_in_enemies &1c0c 29 07 AND #&07 &1c0e 5d 50 1c EOR &1c50,X ; slope_climb_eors &1c11 38 SEC &1c12 7d 52 1c ADC &1c52,X ; slope_climb_adds &1c15 30 0c BMI &1c23 ; player_not_climbing_slope &1c17 c5 7b CMP &7b ; player_y_fraction &1c19 90 08 BCC &1c23 ; player_not_climbing_slope &1c1b ce 24 0a DEC &0a24 ; player_y_in_enemies # Make player move up to follow slope &1c1e ce 24 0a DEC &0a24 ; player_y_in_enemies &1c21 b0 27 BCS &1c4a ; leave_with_zero ; player_not_climbing_slope &1c23 18 CLC &1c24 69 04 ADC #&04 &1c26 c5 7b CMP &7b ; player_y_fraction &1c28 90 20 BCC &1c4a ; leave_with_zero &1c2a e9 02 SBC #&02 &1c2c 85 7b STA &7b ; player_y_fraction &1c2e ad 24 0a LDA &0a24 ; player_y_in_enemies &1c31 29 f8 AND #&f8 &1c33 05 7b ORA &7b ; player_y_fraction &1c35 e9 01 SBC #&01 &1c37 8d 24 0a STA &0a24 ; player_y_in_enemies &1c3a a9 01 LDA #&01 &1c3c a6 55 LDX &55 ; player_room &1c3e e0 16 CPX #&16 ; Halfway up the East Wall # The slopes in "Halfway up the East Wall" &1c40 f0 04 BEQ &1c46 ; leave_with_four &1c42 e0 1d CPX #&1d ; The Chapel # and "The Chapel" are treated as conveyors &1c44 d0 02 BNE &1c48 ; leave_with_one ; leave_with_four &1c46 a9 04 LDA #&04 ; CONVEYOR ; leave_with_one &1c48 aa TAX ; 1 = PLATFORM &1c49 60 RTS ; leave_with_zero &1c4a a9 00 LDA #&00 ; SPACE &1c4c 60 RTS ; leave_with_minus_one &1c4d a9 ff LDA #&ff # Treat tile as though not a slope &1c4f 60 RTS ; slope_climb_eors &1c50 ff 00 ; slope_climb_adds &1c52 05 fe ; slope_checks &1c54 00 06 ; slope_values &1c56 41 40 ; slope_speeds &1c58 02 fe ; slope_tile_offsets &1c5a 61 60 61 ; consider_conveyor_effect &1c5d a5 8e LDA &8e ; player_horizontal_speed # Is the player moving? &1c5f f0 04 BEQ &1c63 ; start_conveying_player &1c61 c5 6a CMP &6a ; conveyor_direction # If not, or they're moving in the conveyor's direction, ; start_conveying_player &1c63 d0 06 BNE &1c6b ; leave &1c65 a5 6a LDA &6a ; conveyor_direction # move them with the conveyor &1c67 85 8e STA &8e ; player_horizontal_speed &1c69 85 69 STA &69 ; player_conveyor_direction # (preventing them from changing direction) ; leave &1c6b 60 RTS ; check_for_player_leaving_room &1c6c a0 00 LDY #&00 &1c6e ad 1b 0a LDA &0a1b ; player_x_in_enemies &1c71 f0 27 BEQ &1c9a ; player_at_left_or_right_edge_of_room &1c73 c8 INY &1c74 c9 f6 CMP #&f6 &1c76 f0 22 BEQ &1c9a ; player_at_left_or_right_edge_of_room &1c78 c8 INY &1c79 a2 68 LDX #&68 &1c7b ad 24 0a LDA &0a24 ; player_y_in_enemies &1c7e 30 22 BMI &1ca2 ; player_at_top_or_bottom_edge_of_room &1c80 c8 INY &1c81 a2 01 LDX #&01 &1c83 c9 71 CMP #&71 &1c85 90 2d BCC &1cb4 ; leave &1c87 a5 64 LDA &64 ; player_is_jumping &1c89 f0 17 BEQ &1ca2 ; player_at_top_or_bottom_edge_of_room &1c8b ad 24 0a LDA &0a24 ; player_y_in_enemies &1c8e 38 SEC &1c8f e5 62 SBC &62 ; where_player_fell_from &1c91 c9 22 CMP #&22 &1c93 90 0d BCC &1ca2 ; player_at_top_or_bottom_edge_of_room &1c95 85 9a STA &9a ; player_entered_room_falling_too_far &1c97 4c a2 1c JMP &1ca2 ; player_at_top_or_bottom_edge_of_room ; player_at_left_or_right_edge_of_room &1c9a 49 f4 EOR #&f4 &1c9c 8d 1b 0a STA &0a1b ; player_x_in_enemies &1c9f 4c a9 1c JMP &1ca9 ; change_room ; player_at_top_or_bottom_edge_of_room &1ca2 8e 24 0a STX &0a24 ; player_y_in_enemies &1ca5 a9 00 LDA #&00 &1ca7 85 8e STA &8e ; player_horizontal_speed ; change_room &1ca9 b9 a4 0a LDA &0aa4,Y ; exit_rooms &1cac 85 55 STA &55 ; player_room &1cae 20 f5 1c JSR &1cf5 ; remove_collected_items_from_room_data &1cb1 20 1b 11 JSR &111b ; initialise_room ; leave &1cb4 60 RTS ; initialise_room_items_and_exits &1cb5 a2 04 LDX #&04 # Get four bits of room data for number of items in room &1cb7 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1cba a8 TAY &1cbb 88 DEY &1cbc 84 66 STY &66 ; items_in_room_minus_one &1cbe 30 0b BMI &1ccb ; no_items ; set_items_loop # For each item, &1cc0 a2 01 LDX #&01 # get one bit of room data for its state &1cc2 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (0 = collected, 1 = uncollected) &1cc5 99 80 0a STA &0a80,Y ; items_colour &1cc8 88 DEY &1cc9 10 f5 BPL &1cc0 ; set_items_loop ; no_items &1ccb a0 00 LDY #&00 ; set_exits_loop # For each of four directions &1ccd a2 06 LDX #&06 # get six bits of room data for the room exited to &1ccf 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1cd2 99 a4 0a STA &0aa4,Y ; exit_rooms &1cd5 c8 INY &1cd6 c0 04 CPY #&04 &1cd8 d0 f3 BNE &1ccd ; set_exits_loop &1cda a2 01 LDX #&01 # Get one bit of room data for conveyor direction &1cdc 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (0 = left, 1 = right) &1cdf 0a ASL A &1ce0 0a ASL A &1ce1 38 SEC &1ce2 e9 02 SBC #&02 &1ce4 85 6a STA &6a ; conveyor_direction &1ce6 a2 01 LDX #&01 # Get one bit of room data for slope direction &1ce8 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (0 = /, 1 = \) &1ceb 85 6c STA &6c ; slope_direction &1ced a2 01 LDX #&01 # Get one bit of room data for rope &1cef 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data # (1 = room contains rope) &1cf2 85 6f STA &6f ; room_contains_rope &1cf4 60 RTS ; remove_collected_items_from_room_data &1cf5 a0 00 LDY #&00 &1cf7 a6 66 LDX &66 ; items_in_room_minus_one &1cf9 30 31 BMI &1d2c ; leave &1cfb a9 04 LDA #&04 ; remove_collected_items_from_room_data_loop &1cfd 85 97 STA &97 ; bit_for_item &1cff c6 97 DEC &97 ; bit_for_item &1d01 10 05 BPL &1d08 ; skip_new_byte &1d03 a9 07 LDA #&07 &1d05 85 97 STA &97 ; bit_for_item &1d07 c8 INY ; skip_new_byte &1d08 bd 80 0a LDA &0a80,X ; items_colour &1d0b f0 02 BEQ &1d0f ; item_collected &1d0d a9 ff LDA #&ff ; item_collected &1d0f 85 7b STA &7b ; item_state &1d11 86 96 STX &96 ; x &1d13 a6 97 LDX &97 ; bit_for_item &1d15 bd 2d 1d LDA &1d2d,X ; inverse_of_bits &1d18 49 ff EOR #&ff &1d1a 25 7b AND &7b ; item_state &1d1c 85 7b STA &7b ; item_state &1d1e b1 50 LDA (&50),Y ; room_data_address &1d20 3d 2d 1d AND &1d2d,X ; inverse_of_bits &1d23 05 7b ORA &7b ; item_state &1d25 91 50 STA (&50),Y ; room_data_address &1d27 a6 96 LDX &96 ; x &1d29 ca DEX &1d2a 10 d3 BPL &1cff ; remove_collected_items_from_room_data_loop ; leave &1d2c 60 RTS ; inverse_of_bits &1d2d 7f bf df ef f7 fb fd fe ; reset_items &1d35 a0 0b LDY #&0b &1d37 a9 01 LDA #&01 ; mark_all_items_as_uncollected_loop &1d39 99 80 0a STA &0a80,Y ; items_colour &1d3c 88 DEY &1d3d 10 fa BPL &1d39 ; mark_all_items_as_uncollected_loop &1d3f a9 3c LDA #&3c &1d41 85 81 STA &81 ; room ; reset_items_room_loop &1d43 a6 81 LDX &81 ; room &1d45 20 59 1d JSR &1d59 ; calculate_room_data_address &1d48 a2 04 LDX #&04 &1d4a 20 b8 11 JSR &11b8 ; get_x_bits_of_room_data &1d4d 85 66 STA &66 ; items_in_room_minus_one &1d4f c6 66 DEC &66 ; items_in_room_minus_one &1d51 20 f5 1c JSR &1cf5 ; remove_collected_items_from_room_data &1d54 c6 81 DEC &81 ; room &1d56 d0 eb BNE &1d43 ; reset_items_room_loop &1d58 60 RTS ; calculate_room_data_address &1d59 a9 00 LDA #&00 &1d5b 85 52 STA &52 ; room_data_offset &1d5d 85 53 STA &53 ; bits_remaining_in_room_data_byte &1d5f bd 00 1f LDA &1f00,X ; room_data_address_low_table &1d62 85 50 STA &50 ; room_data_address_low &1d64 bd 3d 1f LDA &1f3d,X ; room_data_address_high_table &1d67 18 CLC &1d68 69 1f ADC #&1f &1d6a 85 51 STA &51 ; room_data_address_high &1d6c 60 RTS ; update_conveyor &1d6d a5 56 LDA &56 ; pages_of_tile_table_remaining_when_finding_conveyor &1d6f f0 3d BEQ &1dae ; leave # Is there a conveyor in this room? If not, leave &1d71 a5 57 LDA &57 ; game_timer &1d73 29 07 AND #&07 &1d75 aa TAX &1d76 a5 58 LDA &58 ; conveyor_length &1d78 85 7b STA &7b ; conveyor_sections_remaining_to_update &1d7a a5 59 LDA &59 ; conveyor_screen_address_low &1d7c 85 90 STA &90 ; screen_address_low &1d7e a5 5a LDA &5a ; conveyor_screen_address_high &1d80 85 91 STA &91 ; screen_address_high &1d82 a0 00 LDY #&00 &1d84 18 CLC ; update_conveyor_loop &1d85 bd 80 70 LDA &7080,X ; unpacked_conveyor_sprite &1d88 91 90 STA (&90),Y ; screen_address &1d8a c8 INY &1d8b c8 INY &1d8c bd 88 70 LDA &7088,X ; unpacked_conveyor_sprite + 8 &1d8f 91 90 STA (&90),Y ; screen_address &1d91 98 TYA &1d92 69 06 ADC #&06 &1d94 a8 TAY &1d95 bd 90 70 LDA &7090,X ; unpacked_conveyor_sprite + 16 &1d98 91 90 STA (&90),Y ; screen_address &1d9a c8 INY &1d9b c8 INY &1d9c bd 98 70 LDA &7098,X ; unpacked_conveyor_sprite + 24 &1d9f 91 90 STA (&90),Y ; screen_address &1da1 98 TYA &1da2 69 06 ADC #&06 &1da4 a8 TAY &1da5 d0 03 BNE &1daa &1da7 e6 91 INC &91 ; screen_address_high &1da9 18 CLC &1daa c6 7b DEC &7b ; conveyor_sections_remaining_to_update &1dac d0 d7 BNE &1d85 ; update_conveyor_loop &1dae 60 RTS ; calculate_screen_address_of_conveyor &1daf a0 00 LDY #&00 &1db1 84 60 STY &60 ; tile_address_low &1db3 a9 6e LDA #&6e ; &6e00 = tile_table &1db5 85 61 STA &61 ; tile_address_high &1db7 a9 02 LDA #&02 &1db9 85 56 STA &56 ; pages_of_tile_table_remaining_when_finding_conveyor ; find_start_of_conveyor_loop &1dbb 20 e5 1d JSR &1de5 ; check_if_tile_is_conveyor &1dbe d0 fb BNE &1dbb ; find_start_of_conveyor_loop &1dc0 84 59 STY &59 ; conveyor_screen_address_low &1dc2 a5 61 LDA &61 ; tile_address_high &1dc4 29 01 AND #&01 &1dc6 06 59 ASL &59 ; conveyor_screen_address_low &1dc8 2a ROL A &1dc9 06 59 ASL &59 ; conveyor_screen_address_low &1dcb 2a ROL A &1dcc 06 59 ASL &59 ; conveyor_screen_address_low &1dce 2a ROL A &1dcf 06 59 ASL &59 ; conveyor_screen_address_low &1dd1 2a ROL A &1dd2 69 30 ADC #&30 &1dd4 85 5a STA &5a ; conveyor_screen_address_high &1dd6 a2 00 LDX #&00 &1dd8 e6 56 INC &56 ; pages_of_tile_table_remaining_when_finding_conveyor ; find_end_of_conveyor_loop &1dda e8 INX &1ddb 20 e5 1d JSR &1de5 ; check_if_tile_is_conveyor &1dde f0 fa BEQ &1dda ; find_end_of_conveyor_loop &1de0 86 58 STX &58 ; conveyor_length &1de2 4c f6 1d JMP &1df6 ; prepare_conveyor_sprites ; check_if_tile_is_conveyor &1de5 c8 INY &1de6 d0 09 BNE &1df1 ; compare_tile_with_four &1de8 e6 61 INC &61 ; tile_address_high &1dea c6 56 DEC &56 ; pages_of_tile_table_remaining_when_finding_conveyor &1dec d0 03 BNE &1df1 ; compare_tile_with_four &1dee 68 PLA # Leave calculate_screen_address_of_conveyor at end of &1def 68 PLA # tile table &1df0 60 RTS ; compare_tile_with_four &1df1 b1 60 LDA (&60),Y ; tile_address &1df3 c9 04 CMP #&04 ; CONVEYOR &1df5 60 RTS ; prepare_conveyor_sprites &1df6 ad fa 09 LDA &09fa ; background_tiles_sprites + 1 &1df9 20 3a 15 JSR &153a ; calculate_background_sprite_address &1dfc ae f4 09 LDX &09f4 ; background_tiles_colours + 3 &1dff bd 87 15 LDA &1587,X ; colour_mask_values &1e02 85 81 STA &81 ; conveyor_colour &1e04 a0 00 LDY #&00 &1e06 a5 6a LDA &6a ; conveyor_direction &1e08 30 07 BMI &1e11 ; prepare_top_of_left_conveyor ; prepare_top_of_right_conveyor &1e0a a2 00 LDX #&00 # Prepare top of conveyor &1e0c 20 29 1e JSR &1e29 ; prepare_right_conveyor_bytes &1e0f 30 05 BMI &1e16 ; prepare_conveyor_bottom ; prepare_top_of_left_conveyor &1e11 a2 07 LDX #&07 &1e13 20 3a 1e JSR &1e3a ; prepare_left_conveyor_bytes ; prepare_conveyor_bottom &1e16 a0 02 LDY #&02 &1e18 a5 6a LDA &6a ; conveyor_direction &1e1a 30 07 BMI &1e23 ; prepare_bottom_of_left_conveyor ; prepare_bottom_of_right_conveyor &1e1c a2 0f LDX #&0f # Prepare bottom of conveyor &1e1e 20 3a 1e JSR &1e3a ; prepare_left_conveyor_bytes &1e21 30 05 BMI &1e28 ; leave ; prepare_bottom_of_left_conveyor &1e23 a2 08 LDX #&08 &1e25 20 29 1e JSR &1e29 ; prepare_right_conveyor_bytes ; leave &1e28 60 RTS ; prepare_right_conveyor_bytes &1e29 b1 90 LDA (&90),Y ; sprite_address &1e2b 85 97 STA &97 ; packed_byte &1e2d a9 07 LDA #&07 &1e2f 85 7a STA &7a ; count ; prepare_right_conveyor_bytes_loop &1e31 20 4b 1e JSR &1e4b ; rotate_and_store_conveyor_byte &1e34 e8 INX &1e35 c6 7a DEC &7a ; count &1e37 10 f8 BPL &1e31 ; prepare_right_conveyor_bytes_loop &1e39 60 RTS ; prepare_left_conveyor_bytes &1e3a b1 90 LDA (&90),Y ; sprite_address &1e3c 85 97 STA &97 ; packed_byte &1e3e a9 07 LDA #&07 &1e40 85 7a STA &7a ; count ; prepare_left_conveyor_bytes_loop &1e42 20 4b 1e JSR &1e4b ; rotate_and_store_conveyor_byte &1e45 ca DEX &1e46 c6 7a DEC &7a ; count &1e48 10 f8 BPL &1e42 ; prepare_left_conveyor_bytes_loop &1e4a 60 RTS ; rotate_and_store_conveyor_byte &1e4b 18 CLC &1e4c a5 97 LDA &97 ; packed_byte &1e4e 10 01 BPL &1e51 &1e50 38 SEC &1e51 2a ROL A &1e52 85 97 STA &97 ; packed_byte &1e54 20 bc 14 JSR &14bc ; unpack_byte_of_sprite_data &1e57 25 81 AND &81 ; conveyor_colour &1e59 9d 80 70 STA &7080,X ; unpacked_conveyor_sprite &1e5c a5 88 LDA &88 ; unpacked_byte_two &1e5e 25 81 AND &81 ; conveyor_colour &1e60 9d 90 70 STA &7090,X ; unpacked_conveyor_sprite + 16 &1e63 60 RTS ; animate_game_over_boot &1e64 a9 28 LDA #&28 &1e66 8d 84 08 STA &0884 ; sound_0_pitch &1e69 a9 00 LDA #&00 &1e6b 8d 8a 02 STA &028a ; melody_active # Disable melody &1e6e a2 00 LDX #&00 # Room 0 is the Game Over screen &1e70 20 59 1d JSR &1d59 ; calculate_room_data_address &1e73 20 01 18 JSR &1801 ; initialise_enemies &1e76 a9 01 LDA #&01 &1e78 8d 0b 0a STA &0a0b ; enemies_unpacked_sprite_offset + 2 # Set second barrel to use player sprite &1e7b 8d 64 0a STA &0a64 ; enemies_need_replot + 1 # Mark all enemies as needing plotting &1e7e 8d 65 0a STA &0a65 ; enemies_need_replot + 2 &1e81 8d 66 0a STA &0a66 ; enemies_need_replot + 3 &1e84 20 26 16 JSR &1626 ; plot_enemies &1e87 a9 73 LDA #&73 &1e89 85 93 STA &93 ; sprite_address_high &1e8b a9 40 LDA #&40 ; &7340 = unpacked_enemy_sprites + &40 &1e8d 85 92 STA &92 ; sprite_address_low ; animate_game_over_boot_loop &1e8f ad 1c 0a LDA &0a1c ; enemies_x + 1 &1e92 ae 25 0a LDX &0a25 ; enemies_y + 1 &1e95 20 00 15 JSR &1500 ; plot_sprite # Plot boot &1e98 ee 84 08 INC &0884 ; sound_0_pitch &1e9b ee 84 08 INC &0884 ; sound_0_pitch &1e9e a9 00 LDA #&00 ; sound_0 &1ea0 20 27 0b JSR &0b27 ; to_play_sound_number_a # Play game over sound &1ea3 a2 0f LDX #&0f &1ea5 20 b3 1e JSR &1eb3 ; delay &1ea8 ee 25 0a INC &0a25 ; enemies_y + 1 &1eab ad 25 0a LDA &0a25 ; enemies_y + 1 &1eae c9 61 CMP #&61 &1eb0 d0 dd BNE &1e8f ; animate_game_over_boot_loop &1eb2 60 RTS ; delay &1eb3 a0 00 LDY #&00 ; delay_loop &1eb5 88 DEY &1eb6 d0 fd BNE &1eb5 ; delay_loop &1eb8 ca DEX &1eb9 d0 fa BNE &1eb5 ; delay_loop &1ebb 60 RTS ; handle_player_jumping &1ebc a5 65 LDA &65 ; player_jump_timer &1ebe f0 14 BEQ &1ed4 ; leave &1ec0 aa TAX &1ec1 ad 24 0a LDA &0a24 ; player_y_in_enemies &1ec4 18 CLC &1ec5 7d ee 17 ADC &17ee,X ; jump_parabola_table &1ec8 8d 24 0a STA &0a24 ; player_y_in_enemies &1ecb c6 65 DEC &65 ; player_jump_timer &1ecd d0 05 BNE &1ed4 ; leave &1ecf 29 fc AND #&fc &1ed1 8d 24 0a STA &0a24 ; player_y_in_enemies ; leave &1ed4 60 RTS ; unused BASIC fragment &1ed5 36 20 88 32 0d 01 fe 0c 20 50 25 3d 26 42 30 30 ; ... 6 STEP 2 &1ee5 0d 02 03 0d 20 4f 25 3d 26 35 43 30 30 0d 02 08 ; 510 P%=&B00 &1ef5 05 20 0d 03 e8 0a 5b 4f 50 54 20 ; 515 O%=&5C00 ; 520 ; 1000 [OPT ; room_data_address_low_table &1f00 71 7a bb 07 40 8f c2 1a 72 a7 e2 2d 83 f3 36 7b &1f10 bb fd 43 85 b6 fa 33 70 a8 da 00 50 a6 db 1a 4e &1f20 71 a9 ef 3b 80 e5 28 69 99 b9 02 57 aa 0b 3b 6b &1f30 a2 ca 0e 74 cd 20 5c b3 04 36 70 e0 25 ; room_data_address_high_table &1f3d 10 00 00 01 01 01 01 02 02 02 02 03 03 03 04 04 &1f4d 04 04 05 05 05 05 06 06 06 06 07 07 07 07 08 08 &1f5d 08 08 08 09 09 09 0a 0a 0a 0a 0b 0b 0b 0c 0c 0c &1f6d 0c 0c 0d 0d 0d 0e 0e 0e 0f 0f 0f 0f 10 ; room_data ; room_01_data (Watch Tower) &1f7a f2 20 98 a1 c9 ef 60 77 3f 62 67 fb 6e aa 81 8c ; items: 4 (1111) &1f8a f8 cb ae 91 78 a0 cc 4a 62 c6 82 49 26 43 66 99 ; exits: left: &01, right: &01, up: &26, down: &05 &1f9a b9 71 34 ba 4e 96 94 16 1d 0a 56 1c 79 0a 10 21 ; conveyor: right, slope: /, rope: no &1faa 0a 5d 56 56 6c d8 f4 47 b1 4f 9d 91 89 35 fd 55 ; tiles: &db (2), &dc (3), &88 (3), &df (1), &dd (2), &e0 &1fba 00 ; screen colours: 4 5 3 7 ; title tab 10, text "Watch Tower" ; use WALL ; move to (6,6) ; vertical line, length 4 ; horizontal line, length 12 ; block, width 13, to y 0 ; move to (18,4) ; block, width 19, to y 0 ; horizontal line, length 25 ; vertical line, length 6 ; move to (19,11) ; use CONVEYOR ; horizontal line, length 11 ; use SLOPE ; slope \, length 7 ; use DEADLY ; series of 3 tiles at (10,5) (20,5) (24,5) ; use PLATFORM ; series of 5 tiles at (14,2) (15,2) (16,0) (17,0) (17,4) ; use ITEM ; series of 4 tiles at (10,6) (20,6) (24,6) (25,7) ; done ; enemies: 2 ; &23 (1) at (15,9), range (11,19), moving l 2 ; &24 (2) at (13,6), range (11,31), moving r 2 ; arrows: no, no ; room_02_data (Nomem Luni) &1fbb 00 c1 10 95 dc 04 59 18 53 96 97 1e a3 ad 33 c4 ; items: 0 &1fcb 3c 5d ac 38 db da 8d 5b f7 19 24 59 e6 e1 9b 0f ; exits: left: &02, right: &03, up: &02, down: &0a &1fdb 9f bc 09 35 30 17 fd 50 32 57 b3 ec 35 2d a7 d0 ; conveyor: right, slope: /, rope: no &1feb a4 5c 9e fc e8 d9 37 25 a0 23 4f 94 20 40 ac 13 ; tiles: &d2 (2), &d3 (1), &94 (3), &31 (1), &34 (2), &41 &1ffb c2 c0 20 b3 c2 a9 ab 8a d6 dc 94 01 ; screen colours: 0 3 4 7 ; title tab 11, text "Nomem Luni" ; series of 12 tiles at (11,7) (12,7) (13,7) (15,9) (16,4) ; (18,6) (19,3) (24,7) (27,3) (28,3) ; (28,9) (29,9) ; use WALL ; move to (12,0) ; block, width 29, to y 1 ; move to (31,0) ; vertical line, length 4 ; block, width 29, to y 5 ; horizontal line, length 26 ; move to (23,10) ; block, width 22, to y 9 ; block, width 20, to y 2 ; block, width 18, to y 9 ; series of 4 tiles at (25,3) (30,2) (30,6) (31,6) ; move to (9,0) ; use SLOPE ; slope /, length 4 ; done ; enemies: 4 ; &14 (3) at (16,4), range (0,8), moving d 2 ; &24 (1) at (4,3), range (0,12), moving l 2 ; &26 (2) at (20,3), range (18,23), moving r 2 ; &28 (3) at (22,11), range (7,12), moving u 4 ; arrows: no, no ; room_03_data (On the Roof) &2007 18 42 60 f8 7b 2b ca 2b c8 ca 89 59 44 39 7b ff ; items: 1 (1) &2017 8b ce d1 03 07 db 10 8e 1a 8d 71 38 0d 66 cd 8e ; exits: left: &02, right: &04, up: &03, down: &03 &2027 f9 46 56 88 12 a1 44 f1 38 5a 21 46 d9 e0 89 eb ; conveyor: right, slope: \, rope: yes &2037 74 61 f2 43 bb ae 9d 48 00 ; tiles: &46 (3), &4e (2), &4d (3), &50 (1), &4f (3), &51 ; screen colours: 0 1 2 3 ; title tab 10, text "On the Roof" ; use WALL ; block, width 3, to y 6 ; block, width 4, to y 3 ; horizontal line, length 10 ; block, width 11, to y 1 ; horizontal line, length 14 ; use CONVEYOR ; horizontal line, length 22 ; use WALL ; horizontal line, length 26 ; block, width 27, to y 8 ; block, width 31, to y 6 ; use DEADLY ; series of 5 tiles at (4,5) (4,4) (5,2) (5,1) (28,7) ; use SLOPE ; series of 5 tiles at (4,6) (5,3) (12,1) (28,8) (29,7) ; use ITEM ; series of 1 tile at (25,3) ; done ; enemies: 1 ; &1b (1) at (21,13), range (13,25), moving l 2 ; arrows: no, no ; room_04_data (Up on the Battlements) &2040 18 46 11 44 db 89 48 cb 48 4a 49 5b 84 15 7f 9d ; items: 1 (1) &2050 bd ff 41 90 b3 26 86 d8 9c 0e 1c 6c e1 23 2d 76 ; exits: left: &03, right: &05, up: &04, down: &04 &2060 a2 a6 4e b7 ec f9 06 1c 58 6a d2 42 15 96 4a b4 ; conveyor: left, slope: \, rope: no &2070 10 2d 13 53 96 6c 18 d6 5a 22 5d f8 fd a4 a4 41 ; tiles: &4b (2), &4a (3), &49 (2), &4c (1), &4b (3), &44 &2080 ed ac d4 45 ed b2 cc 46 ed b9 9c 4a cc b7 03 ; screen colours: 0 1 2 3 ; title tab 6, text "Up on the Battlements" ; use WALL ; block, width 3, to y 6 ; horizontal line, length 7 ; block, width 9, to y 6 ; horizontal line, length 13 ; block, width 17, to y 5 ; horizontal line, length 21 ; block, width 23, to y 6 ; horizontal line, length 27 ; block, width 31, to y 6 ; use PLATFORM ; move to (24,1) ; vertical line, length 5 ; move to (18,5) ; vertical line, length 1 ; move to (10,1) ; vertical line, length 5 ; move to (4,5) ; vertical line, length 1 ; use SLOPE ; series of 4 tiles at (4,6) (10,6) (18,6) (24,6) ; use CONVEYOR ; move to (13,6) ; horizontal line, length 17 ; use ITEM ; series of 1 tile at (31,11) ; done ; enemies: 4 ; &29 (2) at (5,8), range (5,13), moving d 1 ; &29 (1) at (11,10), range (5,13), moving d 2 ; &29 (3) at (19,6), range (5,13), moving d 4 ; &29 (1) at (25,5), range (4,12), moving d 7 ; arrows: yes (7,0), no ; room_05_data (We must perform a Quirkafleeg) &208f 18 c1 40 f4 7b 8b 88 4b 4a 88 89 2e 04 35 72 4d ; items: 1 (1) &209f 49 f9 7a 12 a9 8b e6 82 17 8a 88 0a 50 4d 08 3b ; exits: left: &04, right: &06, up: &01, down: &05 &20af 70 b0 91 6c 38 df 24 00 ca 50 19 5d f8 fd 30 61 ; conveyor: right, slope: \, rope: yes &20bf 0a 04 12 ; tiles: &45 (3), &46 (2), &48 (3), &49 (1), &47 (3), &44 ; screen colours: 0 1 4 6 ; title tab 2, text "We must perform a Quirkafleeg" ; use WALL ; block, width 3, to y 6 ; use DEADLY ; horizontal line, length 27 ; use WALL ; block, width 31, to y 6 ; move to (4,0) ; use PLATFORM ; vertical line, length 6 ; use SLOPE ; vertical line, length 6 ; use ITEM ; series of 1 tile at (31,11) ; done ; enemies: 1 ; &24 (1) at (6,5), range (0,8), moving l 2 ; arrows: no, no ; room_06_data (I'm sure I've seen this before) &20c2 18 c5 31 6c b9 8b 48 cb c8 12 ca 5f 0c 8a 6d 6e ; items: 1 (1) &20d2 2a 91 3c b1 2b b9 89 10 7b 33 17 e9 42 42 5d 24 ; exits: left: &05, right: &07, up: &06, down: &06 &20e2 07 0e b6 f0 91 16 3b d1 52 a7 5b f6 7c 03 0e 2c ; conveyor: right, slope: \, rope: no &20f2 35 69 a1 0a 4b 25 5a 88 96 89 29 4b 36 8c 2e fc ; tiles: &4f (3), &21 (1), &4d (3), &4c (1), &4b (2), &44 &2102 7e 5a d2 60 f6 54 ea a2 76 59 66 23 f6 5c 4e a5 ; screen colours: 4 1 2 7 &2112 76 96 10 01 0a 35 b1 04 ; title tab 1, text "I'm sure I've seen this before" ; use WALL ; block, width 3, to y 6 ; horizontal line, length 7 ; block, width 9, to y 6 ; horizontal line, length 13 ; block, width 17, to y 6 ; horizontal line, length 21 ; block, width 23, to y 6 ; horizontal line, length 27 ; block, width 31, to y 6 ; use PLATFORM ; move to (24,1) ; vertical line, length 5 ; move to (18,5) ; vertical line, length 1 ; move to (10,1) ; vertical line, length 5 ; move to (4,5) ; vertical line, length 1 ; use SLOPE ; series of 4 tiles at (4,6) (10,6) (18,6) (24,6) ; use ITEM ; series of 1 tile at (31,11) ; done ; enemies: 5 ; &29 (2) at (5,8), range (6,13), moving d 4 ; &29 (1) at (11,10), range (5,13), moving d 2 ; &29 (3) at (19,6), range (4,13), moving d 4 ; &29 (2) at (25,5), range (5,13), moving d 1 ; &24 (2) at (4,4), range (0,10), moving l 2 ; arrows: yes (9,0), yes (10,2) ; room_07_data (Rescue Esmerelda) &211a 34 46 64 6c 6a 17 90 e2 ef e6 e5 bb c3 88 24 a1 ; items: 2 (11) &212a 42 1e 49 86 44 a2 31 38 70 b0 85 8f b6 f8 c9 66 ; exits: left: &06, right: &08, up: &26, down: &0d &213a 96 0f f8 20 df cf 55 fe ad 77 7d 95 db d2 5c 70 ; conveyor: right, slope: /, rope: no &214a 18 79 b9 cc ed a7 16 99 39 93 21 28 d5 69 61 21 ; tiles: &3e (3), &3d (1), &bb (3), &3f (2), &4a (2), &40 &215a 76 77 06 5d 5c bb e6 49 49 82 d9 55 69 92 da 65 ; screen colours: 1 4 3 7 &216a 42 14 58 a4 38 10 a0 35 ; title tab 8, text "Rescue Esmerelda" ; use WALL ; block, width 3, to y 6 ; horizontal line, length 7 ; block, width 11, to y 6 ; horizontal line, length 15 ; block, width 19, to y 6 ; move to (19,4) ; triangle /, length 0 ; move to (30,0) ; horizontal line, length 31 ; move to (31,3) ; vertical line, length 10 ; move to (31,13) ; vertical line, length 15 ; move to (26,15) ; vertical line, length 10 ; move to (27,6) ; horizontal line, length 22 ; move to (26,0) ; slope /, length 3 ; use SLOPE ; move to (29,3) ; vertical line, length 6 ; move to (27,7) ; slope /, length 10 ; series of 2 tiles at (6,6) (14,6) ; move to (6,1) ; use PLATFORM ; vertical line, length 5 ; move to (14,5) ; vertical line, length 1 ; vertical line, length 1 ; use CONVEYOR ; move to (27,11) ; horizontal line, length 24 ; use ITEM ; series of 2 tiles at (26,13) (26,12) ; done ; enemies: 4 ; &29 (2) at (4,8), range (6,13), moving d 2 ; &29 (1) at (12,9), range (5,13), moving d 2 ; &24 (1) at (4,5), range (0,13), moving l 2 ; &11 (3) at (24,1), range (0,2), moving d 2 ; arrows: no, no ; room_08_data (On top of the house) &2172 18 27 4e 2e 79 8f 4a 49 76 0f 0f bd 4c 3a 7b b3 ; items: 1 (1) &2182 f3 d7 d1 fb 2f 77 25 91 03 a3 d5 3c 58 c4 fe 61 ; exits: left: &07, right: &08, up: &39, down: &0e &2192 01 57 2d e1 12 aa 15 08 ab 48 a3 a7 4c 4d ab 1f ; conveyor: right, slope: /, rope: no &21a2 ca 59 80 5d 02 ; tiles: &c2 (3), &c3 (2), &bb (3), &49 (1), &4a (2), &c5 ; screen colours: 4 1 5 7 ; title tab 9, text "On top of the house" ; use WALL ; horizontal line, length 11 ; move to (11,3) ; block, width 3, to y 4 ; move to (3,7) ; triangle /, length 3 ; move to (0,3) ; vertical line, length 10 ; series of 3 tiles at (3,10) (8,5) (11,5) ; use PLATFORM ; move to (1,10) ; vertical line, length 2 ; move to (12,5) ; slope /, length 10 ; move to (18,11) ; use ITEM ; vertical line, length 11 ; done ; enemies: 1 ; &13 (1) at (19,4), range (0,13), moving d 2 ; arrows: no, no ; room_09_data (Coservatory Roof) &21a7 f2 24 05 89 e8 76 70 a0 37 a6 bf ef 15 02 b9 44 ; items: 4 (1111) &21b7 62 05 d9 c5 f1 a2 73 f4 80 85 06 7e cc 2a ca c8 ; exits: left: &09, right: &0a, up: &02, down: &11 &21c7 c2 f9 fe 80 29 17 c8 d2 f6 e1 d5 e9 72 f3 e9 c7 ; conveyor: left, slope: /, rope: no &21d7 bf 3f a2 53 c7 8f 22 87 86 af 06 ; tiles: &be (1), &bf (3), &8c (2), &bd (3), &c0 (2), &c1 ; screen colours: 0 2 5 7 ; title tab 8, text "Coservatory Roof" (sic) ; use PLATFORM ; series of 1 tile at (22,0) ; move to (31,1) ; horizontal line, length 26 ; vertical line, length 2 ; horizontal line, length 24 ; horizontal line, length 26 ; use CONVEYOR ; horizontal line, length 31 ; move to (31,8) ; use WALL ; horizontal line, length 20 ; slope \, length 0 ; use DEADLY ; series of 3 tiles at (27,7) (24,7) (21,7) ; use ITEM ; series of 4 tiles at (22,7) (25,7) (28,7) (31,7) ; done ; enemies: 2 ; &0b (2) at (18,11), range (17,31), moving l 2 ; &09 (3) at (24,5), range (16,31), moving r 2 ; arrows: no, no ; room_0a_data (Under the Roof) &21e2 40 d2 90 84 dc a4 bb 7a e2 3b 3b 2e 26 8b c5 24 ; items: 0 &21f2 de ff a2 73 f4 08 68 10 86 4a 22 7c 5d b0 64 8d ; exits: left: &09, right: &0b, up: &02, down: &12 &2202 81 32 17 e8 32 44 f5 37 60 70 80 06 c6 8a 26 71 ; conveyor: left, slope: /, rope: no &2212 3e d1 7c f2 b4 cd 75 6d 86 71 e3 97 c3 cd 2b 53 ; tiles: &b8 (2), &b9 (1), &8f (3), &bc (1), &ba (2), &4b &2222 e7 51 44 12 30 34 1b d2 64 95 4c ; screen colours: 4 1 2 7 ; title tab 9, text "Under the Roof" ; move to (0,2) ; block, width 2, to y 1 ; horizontal line, length 5 ; move to (4,8) ; horizontal line, length 7 ; series of 8 tiles at (8,3) (9,3) (11,1) (16,2) (19,3) (20,0) ; (23,4) (24,4) ; move to (10,15) ; slope \, length 8 ; use WALL ; horizontal line, length 3 ; horizontal line, length 0 ; move to (12,0) ; block, width 13, to y 4 ; move to (12,9) ; use CONVEYOR ; horizontal line, length 31 ; use DEADLY ; move to (12,15) ; horizontal line, length 19 ; block, width 22, to y 13 ; horizontal line, length 29 ; move to (26,13) ; horizontal line, length 24 ; move to (17,13) ; horizontal line, length 15 ; series of 4 tiles at (16,14) (25,14) (20,12) (21,12) ; done ; enemies: 2 ; &22 (3) at (4,9), range (0,6), moving l 2 ; &0d (2) at (16,9), range (12,19), moving r 2 ; arrows: no, yes (3,1) ; room_0b_data (The Attic) &222d 40 31 b4 8c dc a5 5b db 24 5a 9a 2d a2 fe 03 39 ; items: 0 &223d 0b 74 f2 05 19 bb 85 10 31 52 e4 c9 b3 17 ad da ; exits: left: &0a, right: &0c, up: &0b, down: &13 &224d f8 fb 73 b8 4e 52 27 05 01 06 3c 14 78 20 c0 81 ; conveyor: left, slope: /, rope: no &225d 41 56 38 1a 0c 48 4a 17 76 7b c6 33 1e 07 d7 2b ; tiles: &b3 (3), &b4 (1), &48 (3), &b6 (1), &b5 (2), &4b &226d 9e 26 d7 4b 9e 17 d7 6b 5e 36 d7 29 5e 17 d7 49 ; screen colours: 0 1 2 3 &227d c1 26 d7 e9 92 26 ; title tab 10, text "The Attic" ; horizontal line, length 31 ; move to (0,9) ; horizontal line, length 13 ; series of 11 tiles at (2,1) (2,3) (2,5) (2,7) (18,7) (19,7) ; (20,5) (21,5) (22,3) (31,7) (30,7) ; use WALL ; series of 8 tiles at (4,9) (11,9) (5,0) (8,0) (12,0) (15,0) ; (20,0) (30,0) ; move to (0,1) ; block, width 1, to y 8 ; use DEADLY ; series of 5 tiles at (7,1) (12,1) (16,1) (4,10) (11,10) ; use CONVEYOR ; move to (27,7) ; horizontal line, length 24 ; done ; enemies: 6 ; &0f (2) at (3,8), range (7,11), moving d 2 ; &0f (1) at (5,9), range (7,11), moving d 2 ; &0f (3) at (7,10), range (7,11), moving d 2 ; &0f (2) at (9,11), range (7,11), moving u 2 ; &0f (1) at (11,10), range (7,11), moving u 2 ; &10 (3) at (13,9), range (7,11), moving u 2 ; arrows: yes (4,4), yes (6,2) ; room_0c_data (Dr Jones will never believe this) &2283 98 66 51 46 f7 36 d5 37 36 d4 d5 5e 04 e0 f8 a4 ; items: 1 (1) &2293 b3 24 dd 26 b4 be 96 54 12 2f 24 5a 90 4a 6e e6 ; exits: left: &0b, right: &0d, up: &05, down: &0c &22a3 22 1d 9c 0f 64 31 dc 47 b2 b6 c7 57 e2 a4 d2 63 ; conveyor: left, slope: \, rope: no &22b3 f1 3e 70 e8 48 09 53 91 a8 d0 8a 35 1b 5e bd fb ; tiles: &ad (1), &ae (3), &b0 (3), &b1 (2), &af (3), &b2 &22c3 8c 98 ab e8 52 e5 41 97 a1 02 c3 cb 86 a9 2c c3 ; screen colours: 0 1 2 7 &22d3 47 55 4c 49 cd f8 4d 34 60 e5 44 9b 1c 47 c9 12 ; title tab 0, text "Dr Jones will never believe this" &22e3 2b 53 66 e9 42 8e 47 4a 2a 61 93 85 1a 6e 4a 00 ; use CONVEYOR ; horizontal line, length 31 ; use PLATFORM ; move to (6,8) ; block, width 7, to y 7 ; block, width 9, to y 3 ; move to (13,11) ; block, width 15, to y 10 ; horizontal line, length 17 ; block, width 18, to y 10 ; move to (15,1) ; vertical line, length 3 ; series of 16 tiles at (0,7) (1,7) (2,5) (4,3) (5,4) (9,1) ; (10,1) (13,4) (13,6) (13,8) (15,5) ; (15,7) (15,9) (17,1) (19,10) (20,5) ; series of 3 tiles at (21,3) (24,2) (29,3) ; use WALL ; move to (8,1) ; horizontal line, length 7 ; vertical line, length 6 ; block, width 6, to y 5 ; move to (6,9) ; horizontal line, length 7 ; block, width 10, to y 10 ; horizontal line, length 12 ; vertical line, length 4 ; vertical line, length 12 ; block, width 15, to y 13 ; horizontal line, length 17 ; move to (16,1) ; vertical line, length 9 ; block, width 17, to y 6 ; block, width 19, to y 8 ; slope /, length 5 ; use DEADLY ; series of 3 tiles at (6,10) (12,10) (12,13) ; use ITEM ; series of 1 tile at (19,8) ; done ; enemies: 2 ; &14 (1) at (18,10), range (8,13), moving u 2 ; &28 (2) at (10,12), range (7,12), moving u 4 ; arrows: no, no ; room_0d_data (Emergency Generator) &22f3 c0 70 28 8b 35 09 aa 6a 80 2b 2b 4e c7 89 21 91 ; items: 0 &2303 11 8b c6 63 c4 92 08 b2 8b 07 86 cc e6 7c 7f e5 ; exits: left: &0c, right: &0e, up: &05, down: &0d &2313 f9 7f de 4a 65 84 e2 74 38 4b fd 48 2a 65 05 86 ; conveyor: left, slope: /, rope: no &2323 9b b3 66 d8 55 ba ca 45 90 a5 44 9d 86 3c d4 39 ; tiles: &a8 (1), &a9 (2), &03 (1), &ac (1), &aa (3), &20 &2333 d3 8f 02 ; screen colours: 4 3 1 7 ; title tab 7, text "Emergency Generator" ; use WALL ; horizontal line, length 4 ; block, width 27, to y 3 ; horizontal line, length 31 ; move to (31,10) ; horizontal line, length 30 ; move to (31,15) ; block, width 30, to y 13 ; move to (5,4) ; block, width 8, to y 5 ; use CONVEYOR ; horizontal line, length 23 ; use WALL ; block, width 26, to y 5 ; move to (31,1) ; use DEADLY ; vertical line, length 9 ; move to (6,10) ; use PLATFORM ; block, width 7, to y 6 ; move to (25,10) ; block, width 24, to y 6 ; slope \, length 5 ; use ITEM ; series of 6 tiles at (7,4) (8,2) (13,2) (18,2) (23,2) (24,4) ; done ; enemies: 1 ; &17 (2) at (7,3), range (5,31), moving l 2 ; arrows: no, no ; room_0e_data (Priests' Hole) &2336 98 e5 38 2d 79 97 4b 49 4a 94 95 7a 42 fa 28 48 ; items: 1 (1) &2346 ca 69 3f ee 34 39 70 60 a9 60 34 ab 7e b4 09 7e ; exits: left: &0d, right: &0e, up: &0e, down: &16 &2356 e0 82 6d 0e 04 b1 e2 10 8e 4b b2 60 59 a2 50 e1 ; conveyor: right, slope: /, rope: no &2366 a2 0b 72 9f f8 c4 81 89 06 cc 81 89 86 34 91 8b ; tiles: &a5 (3), &a6 (2), &48 (3), &49 (1), &4a (2), &a7 &2376 26 b5 c4 40 02 ; screen colours: 0 2 6 3 ; title tab 9, text "Priests' Hole" ; use WALL ; block, width 1, to y 10 ; move to (10,0) ; block, width 11, to y 3 ; move to (10,15) ; block, width 11, to y 6 ; move to (0,15) ; block, width 1, to y 13 ; use PLATFORM ; series of 12 tiles at (7,0) (4,1) (3,5) (3,8) (8,7) (3,10) ; (9,3) (8,3) (9,10) (8,10) (2,10) (3,10) ; use ITEM ; series of 1 tile at (9,13) ; done ; enemies: 4 ; &1f (1) at (4,7), range (0,12), moving u 1 ; &20 (1) at (6,7), range (0,12), moving u 1 ; &21 (1) at (5,9), range (2,14), moving u 1 ; &24 (1) at (21,10), range (8,24), moving l 2 ; arrows: no, no ; room_0f_data (Above the West Bedroom) &237b 98 17 78 3d fb 7d bc 4b 86 6c be 5d 04 03 e8 2a ; items: 1 (1) &238b b9 ff 35 92 f2 83 04 47 e7 cc 71 43 8a 3f 33 4b ; exits: left: &0f, right: &10, up: &0f, down: &17 &239b f2 53 16 25 28 72 e4 45 68 c0 89 40 56 13 65 ae ; conveyor: right, slope: /, rope: no &23ab da ac fb 08 ba d0 ed 91 e9 01 98 69 a9 0d da 3e ; tiles: &f6 (2), &d9 (3), &84 (3), &49 (1), &f7 (3), &f8 ; screen colours: 0 1 2 7 ; title tab 3, text "Above the West Bedroom" ; move to (27,0) ; horizontal line, length 20 ; move to (31,9) ; horizontal line, length 25 ; vertical line, length 4 ; horizontal line, length 31 ; horizontal line, length 20 ; series of 2 tiles at (9,0) (10,2) ; move to (24,9) ; slope \, length 1 ; use WALL ; move to (16,1) ; block, width 17, to y 0 ; use DEADLY ; series of 6 tiles at (18,2) (19,3) (21,5) (22,6) (23,7) (24,8) ; use ITEM ; series of 1 tile at (23,6) ; done ; enemies: 2 ; &19 (1) at (15,0), range (0,12), moving d 1 ; &29 (3) at (11,6), range (1,13), moving u 7 ; arrows: no, no ; room_10_data (West Wing Roof) &23bb f2 bc 28 18 c9 f3 f5 59 12 f8 e9 d1 2a b2 91 94 ; items: 4 (1111) &23cb 5f 13 96 bd e8 1c 3d 82 0c 29 cf 97 41 ce e1 55 ; exits: left: &0f, right: &11, up: &10, down: &18 &23db 20 50 10 60 fa f0 00 4a 60 68 92 15 19 36 52 b4 ; conveyor: right, slope: /, rope: no &23eb d8 41 97 99 4a cc b4 e5 91 96 97 77 54 52 5a 3f ; tiles: &f1 (1), &f2 (2), &03 (3), &49 (1), &f3 (2), &f5 &23fb b4 45 ; screen colours: 0 5 2 3 ; title tab 9, text "West Wing Roof" ; move to (0,9) ; horizontal line, length 4 ; vertical line, length 7 ; horizontal line, length 31 ; move to (6,0) ; horizontal line, length 28 ; slope /, length 3 ; series of 6 tiles at (0,4) (1,4) (2,0) (3,2) (31,0) (30,0) ; use WALL ; move to (4,0) ; block, width 5, to y 9 ; use DEADLY ; series of 5 tiles at (9,8) (13,8) (18,8) (22,8) (27,8) ; use ITEM ; series of 4 tiles at (6,5) (9,1) (19,2) (27,4) ; done ; enemies: 2 ; &16 (2) at (19,13), range (7,23), moving l 2 ; &24 (3) at (20,11), range (11,30), moving l 2 ; arrows: no, yes (10,1) ; room_11_data (Orangery) &23fd 7c 41 22 4d d4 56 22 50 1c 51 90 7f 11 e3 22 b0 ; items: 3 (111) &240d 8c c4 71 60 78 68 a9 c0 03 81 4b f3 4b 72 f6 99 ; exits: left: &10, right: &12, up: &09, down: &19 &241d 70 d1 64 d4 79 90 50 d9 0a b6 9c 3c eb a4 87 00 ; conveyor: left, slope: /, rope: no &242d 63 fd 8a 73 04 74 9e 2e 31 0a 79 ee 91 22 8b bb ; tiles: &9f (2), &a0 (1), &88 (3), &a3 (2), &40 (2), &a4 &243d 24 51 14 98 b3 4e ; screen colours: 0 1 2 7 ; title tab 12, text "Orangery" ; use WALL ; horizontal line, length 7 ; horizontal line, length 5 ; vertical line, length 5 ; move to (0,7) ; horizontal line, length 1 ; use PLATFORM ; move to (26,5) ; horizontal line, length 31 ; vertical line, length 4 ; horizontal line, length 28 ; series of 16 tiles at (6,4) (7,4) (11,2) (12,5) (14,7) (16,4) ; (16,10) (19,6) (20,1) (22,9) (25,3) ; (25,10) (28,9) (15,0) (16,0) (24,13) ; move to (31,5) ; use CONVEYOR ; horizontal line, length 28 ; move to (0,2) ; slope /, length 15 ; use ITEM ; series of 3 tiles at (6,2) (16,9) (28,14) ; done ; enemies: 2 ; &14 (1) at (9,10), range (7,14), moving u 2 ; &08 (3) at (20,5), range (0,12), moving d 4 ; arrows: no, yes (7,1) ; room_12_data (A bit of tree) &2443 20 ca 94 15 cd 04 73 f9 f3 72 b2 2d 42 c0 85 22 ; items: 0 &2453 5f 47 6f 8e 84 1c a8 85 31 4f fc 50 0f 04 1a 6a ; exits: left: &11, right: &13, up: &0a, down: &1a &2463 d0 b8 7d 07 1a 94 49 93 21 9b 25 cd 44 99 4a f7 ; conveyor: right, slope: /, rope: no &2473 1c 39 78 d8 16 8b 1d 7f 94 20 02 1a 8d 72 a7 7a ; tiles: &9b (2), &9c (1), &9e (2), &3f (1), &9d (1), &41 &2483 d9 00 ; screen colours: 0 1 2 3 ; title tab 4, text "A bit of tree" ; use WALL ; move to (13,0) ; block, width 12, to y 15 ; use DEADLY ; move to (31,0) ; vertical line, length 15 ; use PLATFORM ; move to (0,5) ; horizontal line, length 5 ; move to (16,5) ; horizontal line, length 14 ; series of 16 tiles at (14,0) (11,0) (10,6) (9,6) (9,8) (9,11) ; (6,9) (5,9) (18,2) (19,2) (20,11) (23,9) ; (24,9) (24,3) (24,6) (27,4) ; move to (20,6) ; slope /, length 7 ; done ; enemies: 2 ; &24 (3) at (2,2), range (0,11), moving l 2 ; &05 (1) at (7,7), range (5,11), moving d 2 ; arrows: yes (6,0), no ; room_13_data (Master Bedroom) &2485 20 29 b2 ac cb 32 32 b2 88 d3 d3 be 22 0d 48 99 ; items: 0 &2495 c4 07 09 8e ce 99 03 27 a1 ff e3 c7 69 c0 40 00 ; exits: left: &12, right: &14, up: &13, down: &13 &24a5 7e 48 36 e3 a5 40 2c e5 20 b2 80 e4 21 ec 1a 00 ; conveyor: left, slope: \, rope: no &24b5 30 ; tiles: &96 (2), &97 (1), &23 (2), &9a (2), &98 (3), &98 ; screen colours: 0 5 6 7 ; title tab 9, text "Master Bedroom" ; use WALL ; block, width 18, to y 1 ; move to (31,15) ; horizontal line, length 15 ; block, width 14, to y 5 ; horizontal line, length 0 ; block, width 1, to y 0 ; use PLATFORM ; move to (31,0) ; horizontal line, length 19 ; move to (19,1) ; slope \, length 2 ; horizontal line, length 1 ; use CONVEYOR ; move to (5,3) ; horizontal line, length 2 ; use DEADLY ; series of 1 tile at (2,4) ; done ; enemies: 1 ; &03 (3) at (14,11), range (0,0), moving l 0 ; arrows: no, no ; room_14_data (Top Landing) &24b6 58 56 19 27 b0 a5 0a f0 a3 24 27 dd 45 65 e7 9f ; items: 1 (1) &24c6 06 16 0b cb 0e 14 fc 40 9e 7b f3 d7 5f f3 38 fd ; exits: left: &13, right: &15, up: &0c, down: &1c &24d6 0a 10 40 b2 0d f2 45 9c 20 f2 24 51 a7 13 19 0e ; conveyor: right, slope: /, rope: no &24e6 df 98 b1 4b 17 90 3d a6 d8 20 bb 86 0c 21 31 65 ; tiles: &92 (2), &93 (1), &14 (3), &3f (0), &40 (0), &95 &24f6 fd aa af 02 ; screen colours: 0 5 3 7 ; title tab 10, text "Top Landing" ; use WALL ; move to (0,15) ; block, width 1, to y 3 ; block, width 29, to y 14 ; block, width 31, to y 13 ; move to (31,10) ; block, width 30, to y 3 ; horizontal line, length 23 ; slope \, length 4 ; use PLATFORM ; move to (0,0) ; horizontal line, length 19 ; move to (22,0) ; horizontal line, length 31 ; move to (2,3) ; horizontal line, length 16 ; move to (2,7) ; horizontal line, length 18 ; move to (2,11) ; horizontal line, length 23 ; use DEADLY ; move to (6,1) ; block, width 7, to y 13 ; horizontal line, length 12 ; block, width 13, to y 13 ; use ITEM ; series of 1 tile at (2,6) ; done ; enemies: 3 ; &0a (3) at (6,12), range (2,13), moving d 2 ; &02 (1) at (12,2), range (2,8), moving d 1 ; &0d (2) at (15,13), range (10,31), moving r 2 ; arrows: no, no ; room_15_data (The Bathroom) &24fa 58 51 55 15 7d 26 0a 24 00 c7 c5 7e 44 fd 07 41 ; items: 1 (1) &250a e6 d1 39 73 f2 ab 12 b5 15 20 a3 08 e8 87 79 2f ; exits: left: &14, right: &15, up: &15, down: &15 &251a f8 81 2b c8 62 23 57 1a ea 32 b6 60 3a 5d e8 f4 ; conveyor: left, slope: /, rope: no &252a 08 39 0b 00 d8 f1 0c 2e 0a ; tiles: &8d (1), &8e (2), &03 (3), &90 (3), &40 (2), &91 ; screen colours: 0 1 6 7 ; title tab 10, text "The Bathroom" ; horizontal line, length 31 ; vertical line, length 10 ; horizontal line, length 17 ; move to (13,10) ; horizontal line, length 0 ; move to (6,2) ; horizontal line, length 8 ; use WALL ; move to (31,0) ; block, width 30, to y 15 ; move to (0,15) ; block, width 1, to y 13 ; move to (0,9) ; vertical line, length 3 ; move to (17,3) ; vertical line, length 9 ; move to (16,10) ; slope \, length 3 ; use CONVEYOR ; move to (20,1) ; horizontal line, length 23 ; use ITEM ; series of 1 tile at (23,2) ; done ; enemies: 2 ; &04 (3) at (28,13), range (0,0), moving l 0 ; &1c (2) at (15,3), range (0,29), moving l 2 ; arrows: no, no ; room_16_data (Halfway up the East Wall) &2533 a0 6a 9c 37 5c a5 a5 24 89 a3 a3 ee 01 38 d0 b4 ; items: 0 &2543 81 71 8b bf ff 11 90 f2 6b 40 eb 03 07 be cc 47 ; exits: left: &15, right: &16, up: &0e, down: &1e &2553 da 68 50 fd e8 95 ed a7 94 f5 09 b0 2a 81 11 12 ; conveyor: right, slope: \, rope: no &2563 aa c4 69 91 45 d8 b0 1e d2 d4 90 40 01 ; tiles: &8a (1), &8b (1), &23 (3), &49 (1), &4a (0), &4b ; screen colours: 0 6 3 7 ; title tab 0, text "Halfway up the East Wall" ; use WALL ; block, width 1, to y 15 ; move to (6,7) ; block, width 9, to y 6 ; block, width 11, to y 0 ; move to (10,15) ; block, width 11, to y 13 ; move to (6,13) ; triangle /, length 10 ; move to (9,10) ; triangle /, length 8 ; use PLATFORM ; series of 6 tiles at (9,0) (6,2) (2,4) (5,5) (4,7) (5,10) ; use DEADLY ; series of 2 tiles at (1,11) (1,10) ; done ; enemies: 1 ; &0b (2) at (5,6), range (2,8), moving l 2 ; arrows: no, no ; room_17_data (West Bedroom) &2570 a0 1b bc 8f bc 05 05 1e f8 ee ef 3c 42 1a 49 f9 ; items: 0 &2580 41 82 a3 73 e6 40 23 4d 80 a8 12 c3 4f 0c b0 2a ; exits: left: &17, right: &18, up: &0f, down: &1f &2590 55 b9 6a b9 ea 6d fa 39 3a a5 de 3f 39 38 eb 11 ; conveyor: left, slope: /, rope: no &25a0 a5 05 a8 94 e9 18 a8 29 ; tiles: &ee (3), &ef (2), &3e (3), &f0 (1), &40 (2), &41 ; screen colours: 0 1 6 3 ; title tab 4, text "West Bedroom" ; use WALL ; move to (17,2) ; block, width 16, to y 0 ; horizontal line, length 10 ; vertical line, length 4 ; move to (16,15) ; block, width 17, to y 8 ; use PLATFORM ; series of 6 tiles at (9,5) (10,7) (10,11) (9,13) (10,15) ; (13,9) ; move to (31,3) ; horizontal line, length 11 ; horizontal line, length 20 ; vertical line, length 15 ; move to (31,12) ; horizontal line, length 28 ; use CONVEYOR ; horizontal line, length 26 ; done ; enemies: 2 ; &0a (2) at (11,4), range (0,10), moving u 2 ; &19 (1) at (14,3), range (0,10), moving d 1 ; arrows: no, no ; room_18_data (West Wing) &25a8 a0 9b 42 90 dc 04 05 f8 f1 6e 6f 1c a1 1b 49 f9 ; items: 0 &25b8 35 61 d9 81 92 1f 5a 06 f8 f0 7c 00 29 5a 0e 10 ; exits: left: &17, right: &19, up: &10, down: &20 &25c8 4c b0 ff af 3c 96 88 01 00 c6 9d 02 77 4a 44 01 ; conveyor: right, slope: /, rope: no &25d8 83 06 ; tiles: &ec (2), &ed (1), &1e (3), &3f (1), &40 (2), &41 ; screen colours: 0 2 4 3 ; title tab 11, text "West Wing" ; use WALL ; move to (4,15) ; block, width 5, to y 10 ; move to (16,0) ; triangle /, length 3 ; block, width 31, to y 0 ; use PLATFORM ; horizontal line, length 20 ; move to (13,3) ; horizontal line, length 0 ; move to (0,12) ; horizontal line, length 3 ; move to (31,15) ; slope \, length 4 ; done ; enemies: 3 ; &12 (3) at (4,6), range (0,0), moving l 0 ; &07 (2) at (14,5), range (0,14), moving d 4 ; &24 (3) at (8,10), range (0,12), moving l 2 ; arrows: no, no ; room_19_data (Swimming Pool) &25da 60 58 a2 d9 cc a4 a5 24 ab c3 c3 3c a2 52 13 c6 ; items: 0 &25ea 08 cb 9e 77 4e 9f f9 0c e7 b0 87 bf 90 13 30 98 ; exits: left: &18, right: &1a, up: &11, down: &19 &25fa 1f aa 7a a9 43 03 ; conveyor: right, slope: /, rope: yes ; tiles: &86 (2), &87 (1), &ab (2), &49 (1), &4a (2), &4b ; screen colours: 0 1 6 3 ; title tab 10, text "Swimming Pool" ; block, width 31, to y 3 ; use WALL ; block, width 28, to y 3 ; move to (28,3) ; triangle \, length 0 ; horizontal line, length 28 ; horizontal line, length 0 ; block, width 3, to y 3 ; done ; enemies: 1 ; &15 (3) at (11,13), range (5,14), moving l 2 ; arrows: no, no ; room_1a_data (The Banyan Tree) &2600 d8 b4 a5 28 b9 85 4a 49 02 07 05 3e 84 ff 07 81 ; items: 1 (1) &2610 1d c0 be 1c 09 39 70 18 17 67 cd 87 a4 52 bd 15 ; exits: left: &19, right: &1b, up: &12, down: &22 &2620 6b bc 58 a9 c5 32 2d d6 5e 7d 4c 95 ba af 00 05 ; conveyor: right, slope: /, rope: no &2630 64 cc 64 ed 7e 3a 31 be d2 54 15 74 41 e0 13 ad ; tiles: &81 (2), &82 (1), &03 (3), &49 (1), &4a (2), &85 &2640 55 fe 68 42 39 53 33 cc 3a 55 49 34 14 55 71 00 ; screen colours: 0 1 4 7 ; title tab 7, text "The Banyan Tree" ; use WALL ; block, width 6, to y 3 ; vertical line, length 3 ; horizontal line, length 26 ; block, width 31, to y 0 ; horizontal line, length 18 ; vertical line, length 5 ; move to (15,6) ; vertical line, length 3 ; move to (12,7) ; vertical line, length 3 ; move to (9,5) ; vertical line, length 3 ; move to (6,5) ; vertical line, length 3 ; move to (13,14) ; vertical line, length 15 ; horizontal line, length 12 ; vertical line, length 10 ; move to (11,11) ; slope \, length 4 ; use PLATFORM ; move to (8,0) ; horizontal line, length 24 ; block, width 25, to y 3 ; move to (13,13) ; triangle /, length 11 ; horizontal line, length 17 ; horizontal line, length 15 ; vertical line, length 9 ; move to (18,10) ; vertical line, length 8 ; use ITEM ; series of 1 tile at (8,1) ; done ; enemies: 4 ; &16 (3) at (22,10), range (19,31), moving l 2 ; &08 (2) at (10,7), range (6,10), moving d 1 ; &06 (1) at (13,7), range (5,10), moving u 2 ; &05 (3) at (16,10), range (5,10), moving u 1 ; arrows: no, no ; room_1b_data (The Nightmare Room) &2650 d8 72 ec 58 f5 dd 4a f9 13 fb fa 58 84 ff 67 05 ; items: 1 (1) &2660 e3 d9 80 48 5e 74 ce 1c 98 1f 59 f8 e5 01 e0 ff ; exits: left: &1a, right: &1c, up: &1b, down: &23 &2670 79 0c 76 79 28 51 ae ca b2 35 9b a1 b2 e6 68 d2 ; conveyor: left, slope: \, rope: no &2680 bc d5 52 bc b0 83 2e 2c 7b ae 0b 06 3a 09 6b 04 ; tiles: &7c (2), &7d (3), &23 (3), &7f (2), &4a (2), &ed &2690 76 06 ba 02 f6 0c 47 83 a6 0b 17 02 36 05 9f 04 ; screen colours: 0 1 2 3 &26a0 f6 08 77 04 76 0e ; title tab 7, text "The Nightmare Room" ; use WALL ; horizontal line, length 31 ; horizontal line, length 9 ; vertical line, length 1 ; triangle \, length 3 ; block, width 0, to y 0 ; move to (31,15) ; block, width 30, to y 3 ; use PLATFORM ; series of 14 tiles at (7,8) (10,4) (10,7) (10,10) (13,3) ; (13,6) (13,9) (16,10) (19,5) (19,8) ; (22,4) (22,7) (22,10) (26,5) ; use CONVEYOR ; series of 1 tile at (27,8) ; use ITEM ; series of 1 tile at (26,6) ; done ; enemies: 7 ; &17 (1) at (8,3), range (0,11), moving u 2 ; &03 (2) at (11,1), range (0,13), moving d 1 ; &01 (3) at (14,10), range (0,13), moving d 4 ; &03 (1) at (17,6), range (1,12), moving u 7 ; &03 (2) at (20,2), range (0,13), moving u 2 ; &03 (1) at (28,9), range (0,13), moving d 4 ; &03 (3) at (23,1), range (0,13), moving d 1 ; arrows: no, no ; room_1c_data (First Landing) &26a6 60 bb 4a 92 3d bd bc 24 f1 3c 3d 1e 21 a8 88 29 ; items: 0 &26b6 3f 0d 2c 16 96 1d 28 e0 81 ef f8 99 e2 87 19 08 ; exits: left: &1b, right: &1d, up: &14, down: &24 &26c6 96 1f 1e 5c 38 30 d5 fe 17 89 77 2a 16 5f 9f 7e ; conveyor: right, slope: /, rope: no &26d6 a8 ce 19 5f 09 ; tiles: &78 (1), &79 (2), &1e (3), &49 (1), &7a (3), &7a ; screen colours: 0 2 4 7 ; title tab 8, text "First Landing" ; use WALL ; move to (0,3) ; block, width 1, to y 15 ; move to (24,15) ; block, width 25, to y 4 ; move to (31,0) ; block, width 24, to y 1 ; use PLATFORM ; series of 4 tiles at (30,1) (28,1) (26,1) (24,1) ; horizontal line, length 21 ; move to (23,15) ; slope \, length 1 ; use DEADLY ; move to (29,12) ; vertical line, length 8 ; series of 2 tiles at (30,11) (28,11) ; done ; enemies: 1 ; &15 (1) at (25,12), range (24,31), moving r 2 ; arrows: no, no ; room_1d_data (The Chapel) &26db d8 71 dd 14 b9 b9 4b 49 02 bb 38 5f 44 ff 87 38 ; items: 1 (1) &26eb f0 44 1f 38 13 3d 30 17 e7 bf 91 8e 24 7f a2 04 ; exits: left: &1c, right: &1d, up: &1d, down: &25 &26fb 78 a9 82 2e dc 7c 86 b3 60 3a a5 9a 01 01 89 c5 ; conveyor: left, slope: /, rope: no &270b a0 2a ee 4f 03 66 16 6c 03 66 16 ae 40 6e 06 ; tiles: &73 (2), &74 (1), &03 (3), &49 (1), &4a (2), &77 ; screen colours: 0 1 2 7 ; title tab 11, text "The Chapel" ; use WALL ; block, width 25, to y 1 ; move to (28,0) ; block, width 29, to y 1 ; block, width 31, to y 15 ; move to (17,2) ; slope /, length 4 ; horizontal line, length 19 ; triangle /, length 8 ; vertical line, length 4 ; use PLATFORM ; move to (29,2) ; vertical line, length 8 ; use ITEM ; series of 1 tile at (29,9) ; done ; enemies: 6 ; &07 (2) at (6,8), range (6,11), moving u 2 ; &15 (1) at (12,12), range (0,16), moving l 2 ; &06 (3) at (17,8), range (5,10), moving u 1 ; &1f (2) at (25,6), range (0,12), moving d 1 ; &20 (2) at (27,6), range (0,12), moving d 1 ; &21 (2) at (26,8), range (2,14), moving d 1 ; arrows: no, no ; room_1e_data (East Wall Base) &271a e0 79 5a 96 bc a5 a5 24 25 9c 1c 27 22 09 48 f9 ; items: 0 &272a 35 a0 f5 83 20 91 03 07 be 0a 46 ab ea 47 07 d8 ; exits: left: &1e, right: &1e, up: &16, down: &26 &273a 20 20 91 11 15 a9 cc 51 b0 92 fd c8 e3 03 ed 1f ; conveyor: right, slope: /, rope: no &274a c7 09 6c 14 ; tiles: &71 (3), &72 (2), &48 (3), &49 (1), &4a (2), &4b ; screen colours: 0 1 2 6 ; title tab 9, text "East Wall Base" ; use WALL ; block, width 1, to y 15 ; move to (10,0) ; block, width 11, to y 5 ; move to (10,15) ; block, width 11, to y 8 ; use PLATFORM ; series of 9 tiles at (4,0) (9,1) (6,2) (5,4) (9,5) (6,7) (2,8) ; (6,10) (9,11) ; done ; enemies: 2 ; &1e (3) at (7,12), range (1,13), moving d 7 ; &07 (1) at (3,9), range (0,13), moving u 1 ; arrows: no, no ; room_1f_data (Back Door) &274e e0 07 fa 98 dc a4 a5 ae 03 ae 2e 5f 61 20 40 ea ; items: 0 &275e 61 e7 e2 81 86 9f 18 46 18 27 91 1f 01 f9 d8 0f ; exits: left: &1f, right: &20, up: &17, down: &31 &276e 49 0f 00 ; conveyor: right, slope: /, rope: no ; tiles: &e9 (2), &ea (1), &80 (3), &eb (1), &4a (2), &4b ; screen colours: 0 2 5 7 ; title tab 12, text "Back Door" ; use WALL ; move to (16,15) ; block, width 17, to y 8 ; move to (17,0) ; block, width 14, to y 4 ; horizontal line, length 9 ; triangle /, length 4 ; use PLATFORM ; horizontal line, length 31 ; use CONVEYOR ; move to (31,0) ; horizontal line, length 18 ; done ; enemies: 0 ; arrows: no, no ; room_20_data (Back Stairway) &2771 e0 87 c6 14 38 a5 a5 24 bd cf cf 9e 22 21 40 ea ; items: 0 &2781 a5 0c 44 6c 60 1c 90 2f 90 7c bf 47 f9 2b d6 bf ; exits: left: &1f, right: &21, up: &18, down: &32 &2791 09 d0 7f 93 be fe 02 59 84 c0 e5 b1 42 18 c8 95 ; conveyor: right, slope: /, rope: no &27a1 95 cc 4c 34 57 57 7f 15 ; tiles: &e6 (1), &e7 (2), &7b (3), &49 (0), &4a (0), &4b ; screen colours: 0 5 4 7 ; title tab 9, text "Back Stairway" ; use PLATFORM ; horizontal line, length 31 ; move to (0,4) ; horizontal line, length 31 ; move to (31,7) ; horizontal line, length 10 ; move to (31,10) ; horizontal line, length 13 ; move to (31,13) ; horizontal line, length 16 ; use WALL ; move to (31,14) ; block, width 18, to y 15 ; vertical line, length 15 ; slope \, length 0 ; use DEADLY ; series of 2 tiles at (1,0) (7,4) ; done ; enemies: 3 ; &14 (2) at (4,3), range (0,9), moving d 2 ; &1a (3) at (18,6), range (12,25), moving l 2 ; &0e (2) at (21,13), range (11,31), moving r 2 ; arrows: no, no ; room_21_data (Cold Store) &27a9 f2 41 64 86 dd dd c1 5e 52 c2 ce f6 55 1a 39 8d ; items: 4 (1111) &27b9 5f ca 2e 92 03 f3 67 39 08 10 48 a8 c0 43 05 15 ; exits: left: &20, right: &22, up: &19, down: &21 &27c9 2e d8 60 2b a7 91 55 fe 92 ed 95 19 b7 87 2e 33 ; conveyor: right, slope: /, rope: yes &27d9 61 2e 0a ef 93 d4 2f 98 c8 08 27 60 ea 14 19 10 ; tiles: &6d (3), &6e (1), &48 (3), &49 (1), &6f (3), &70 &27e9 c8 88 33 d0 2a 00 ; screen colours: 4 2 5 7 ; title tab 11, text "Cold Store" ; use WALL ; horizontal line, length 31 ; block, width 26, to y 7 ; use PLATFORM ; horizontal line, length 0 ; move to (0,4) ; horizontal line, length 5 ; move to (0,7) ; horizontal line, length 5 ; move to (0,10) ; horizontal line, length 7 ; move to (0,13) ; horizontal line, length 3 ; move to (21,3) ; horizontal line, length 22 ; use DEADLY ; series of 6 tiles at (7,15) (9,3) (13,14) (20,12) (24,14) ; (27,12) ; use ITEM ; series of 4 tiles at (6,4) (6,7) (8,10) (3,13) ; done ; enemies: 4 ; &25 (1) at (15,13), range (0,25), moving l 2 ; &22 (3) at (3,9), range (0,6), moving r 2 ; &25 (1) at (2,6), range (0,8), moving l 2 ; &22 (2) at (7,3), range (0,11), moving r 2 ; arrows: no, no ; room_22_data (West of Kitchen) &27ef 10 c6 56 a4 d4 a4 a5 6c f4 ac 2c 3d 41 1a 49 f9 ; items: 0 &27ff 3a fa 94 c8 88 13 7b e0 40 2f ff 40 40 3e 30 72 ; exits: left: &21, right: &23, up: &1a, down: &22 &280f b2 9f 73 8d 96 ec f7 5c 7f e5 ba 2a 4d 5d f5 ab ; conveyor: left, slope: \, rope: no &281f 46 ad c6 6a 3e 6c 1a 76 71 da 13 43 0e b0 6b c3 ; tiles: &69 (2), &6a (1), &5e (1), &6c (1), &4a (2), &4b &282f 05 b0 45 a3 0c b0 6b 63 0b b0 27 00 ; screen colours: 0 2 6 3 ; title tab 4, text "West of Kitchen" ; use WALL ; block, width 1, to y 7 ; vertical line, length 7 ; triangle /, length 0 ; horizontal line, length 0 ; horizontal line, length 31 ; use PLATFORM ; move to (17,3) ; horizontal line, length 19 ; move to (31,3) ; horizontal line, length 29 ; move to (17,6) ; horizontal line, length 19 ; move to (31,7) ; horizontal line, length 29 ; move to (31,10) ; horizontal line, length 29 ; move to (26,10) ; horizontal line, length 22 ; move to (11,10) ; vertical line, length 15 ; series of 6 tiles at (12,5) (13,5) (17,10) (22,7) (24,6) ; (25,6) ; use CONVEYOR ; move to (26,3) ; horizontal line, length 22 ; done ; enemies: 4 ; &18 (3) at (9,12), range (0,13), moving d 2 ; &18 (1) at (14,8), range (0,13), moving u 4 ; &18 (3) at (20,12), range (0,13), moving d 2 ; &18 (2) at (27,4), range (0,13), moving d 4 ; arrows: no, no ; room_23_data (The Kitchen) &283b 10 25 76 1c 3c a5 a5 24 81 cd cd 1e a1 fe 53 22 ; items: 0 &284b 23 4e ec 81 e9 f3 d1 af 73 3c eb e3 39 17 81 80 ; exits: left: &22, right: &24, up: &1b, down: &23 &285b 63 05 1e 21 a8 58 23 25 6b 2d 7a 21 05 11 e3 90 ; conveyor: right, slope: /, rope: no &286b 51 e2 a8 79 62 60 01 f6 64 c8 01 76 6d 78 07 b6 ; tiles: &66 (1), &67 (2), &03 (3), &49 (1), &4a (0), &4b &287b 68 14 01 f6 04 ; screen colours: 0 2 4 7 ; title tab 10, text "The Kitchen" ; use WALL ; horizontal line, length 23 ; block, width 31, to y 1 ; move to (31,5) ; block, width 28, to y 7 ; horizontal line, length 26 ; triangle /, length 7 ; horizontal line, length 28 ; slope \, length 1 ; use PLATFORM ; move to (0,3) ; horizontal line, length 13 ; move to (0,7) ; horizontal line, length 8 ; move to (0,10) ; horizontal line, length 13 ; move to (17,2) ; horizontal line, length 19 ; move to (13,6) ; horizontal line, length 11 ; series of 1 tile at (18,8) ; use DEADLY ; move to (3,1) ; block, width 4, to y 12 ; move to (9,1) ; block, width 10, to y 12 ; done ; enemies: 4 ; &18 (2) at (3,4), range (0,13), moving d 4 ; &18 (3) at (9,12), range (0,13), moving d 2 ; &18 (1) at (15,7), range (0,13), moving u 4 ; &18 (2) at (20,4), range (0,13), moving d 4 ; arrows: no, no ; room_24_data (To the Kitchens Main Stairway) &2880 74 9c 3a c9 7e 37 35 36 21 37 32 bc 19 c8 ee fe ; items: 2 (11) &2890 a7 44 46 9c d8 f4 de 7b 06 08 fb 52 06 22 36 30 ; exits: left: &23, right: &25, up: &1c, down: &24 &28a0 0e 9c 8f 02 1d e8 8a af 55 68 55 24 48 f5 57 b6 ; conveyor: right, slope: \, rope: no &28b0 c7 32 44 1e be c2 4b b9 f6 ac 45 f1 a2 77 e7 7e ; tiles: &61 (3), &62 (1), &27 (3), &64 (3), &63 (3), &65 &28c0 b9 bf 88 4c 26 59 d8 43 17 91 c9 7c c6 d5 01 15 ; screen colours: 4 1 3 7 &28d0 ed e0 44 5c 99 05 b6 0d 45 63 06 46 69 05 d3 13 ; title tab 0, text "To the Kitchens Main Stairway" &28e0 6d a9 94 09 05 ; use WALL ; block, width 31, to y 1 ; move to (0,5) ; block, width 1, to y 7 ; move to (8,15) ; vertical line, length 13 ; move to (8,5) ; vertical line, length 10 ; horizontal line, length 9 ; use PLATFORM ; horizontal line, length 21 ; move to (31,10) ; horizontal line, length 27 ; move to (28,6) ; horizontal line, length 24 ; move to (2,7) ; horizontal line, length 7 ; series of 5 tiles at (7,10) (10,7) (11,7) (19,5) (20,5) ; use CONVEYOR ; series of 2 tiles at (15,7) (14,7) ; move to (31,4) ; slope \, length 15 ; series of 2 tiles at (2,6) (9,9) ; use DEADLY ; series of 1 tile at (27,12) ; use ITEM ; series of 2 tiles at (2,6) (9,9) ; done ; enemies: 6 ; &0e (3) at (21,12), range (0,21), moving l 2 ; &1c (1) at (3,9), range (2,7), moving r 2 ; &26 (2) at (16,3), range (13,22), moving l 2 ; &0b (1) at (3,3), range (0,12), moving r 2 ; &1a (3) at (16,6), range (11,25), moving l 2 ; &1a (2) at (10,9), range (9,18), moving l 2 ; arrows: no, no ; room_25_data (Ballroom West) &28e5 fe 4f 32 37 5d 9f 06 52 fa 54 3a da 16 91 10 68 ; items: 7 (1111111) &28f5 1d 9d 33 af 91 94 0f cc f7 ff bc 55 e4 48 01 02 ; exits: left: &24, right: &26, up: &1d, down: &25 &2905 cc f7 7b 86 bf 02 04 7a 08 1b 28 9b ae 45 4e 5c ; conveyor: right, slope: \, rope: no &2915 b8 71 e7 c9 9b 1f 7b ac 98 4e 79 2e 98 59 db ad ; tiles: &5b (1), &5c (2), &2a (3), &5f (3), &4a (2), &60 &2925 c3 46 02 ; screen colours: 0 1 2 3 ; title tab 9, text "Ballroom West" ; use WALL ; horizontal line, length 31 ; move to (31,15) ; block, width 30, to y 13 ; move to (8,9) ; block, width 9, to y 4 ; use PLATFORM ; move to (0,1) ; horizontal line, length 31 ; move to (31,7) ; horizontal line, length 24 ; move to (31,10) ; horizontal line, length 0 ; move to (0,5) ; slope /, length 2 ; use CONVEYOR ; move to (16,2) ; horizontal line, length 27 ; use ITEM ; series of 7 tiles at (17,3) (18,3) (20,3) (22,3) (23,3) (25,3) ; (27,3) ; done ; enemies: 3 ; &1e (2) at (6,10), range (6,11), moving u 2 ; &1e (3) at (14,8), range (6,12), moving d 2 ; &1b (1) at (22,11), range (16,27), moving l 2 ; arrows: no, no ; room_26_data (Ballroom East) &2928 90 e6 5e 9e dc a4 a5 24 25 34 35 ce 21 21 d0 3a ; items: 0 &2938 3a 67 1e 01 29 1f 38 1f fd 15 a7 ae 48 f5 8f 5a ; exits: left: &25, right: &27, up: &1e, down: &27 &2948 c1 0f 5c 20 a8 c8 22 bf 47 4a be ea a9 47 8b 9b ; conveyor: right, slope: /, rope: no &2958 92 c7 83 9b 75 32 ca 3d b4 a7 4b 9a 29 64 08 b1 ; tiles: &58 (2), &59 (1), &48 (3), &49 (1), &4a (2), &4b &2968 19 ; screen colours: 0 6 1 7 ; title tab 9, text "Ballroom East" ; use WALL ; block, width 31, to y 1 ; move to (31,10) ; horizontal line, length 14 ; move to (11,10) ; horizontal line, length 9 ; move to (11,15) ; block, width 10, to y 13 ; move to (0,15) ; block, width 1, to y 13 ; use PLATFORM ; move to (0,10) ; horizontal line, length 9 ; vertical line, length 2 ; move to (31,7) ; horizontal line, length 9 ; move to (4,15) ; vertical line, length 10 ; done ; enemies: 5 ; &1e (2) at (5,10), range (7,12), moving u 4 ; &1e (3) at (7,8), range (7,12), moving d 2 ; &24 (3) at (24,10), range (14,30), moving l 2 ; &1e (1) at (11,10), range (9,12), moving d 1 ; &02 (2) at (12,2), range (2,6), moving d 1 ; arrows: no, no ; room_27_data (The Hall) &2969 90 15 de bc 5c a5 99 25 79 18 18 2c 62 fe e3 40 ; items: 0 &2979 eb 03 e7 a3 a0 52 a7 49 be c0 0f 91 25 41 86 22 ; exits: left: &26, right: &28, up: &1e, down: &33 &2989 3d 4e 72 c9 82 d6 33 d3 8f 92 94 01 00 de 78 04 ; conveyor: right, slope: \, rope: no ; tiles: &30 (1), &30 (1), &3c (3), &49 (1), &33 (2), &4b ; screen colours: 0 1 2 3 ; title tab 12, text "The Hall" ; use WALL ; block, width 31, to y 1 ; move to (0,10) ; horizontal line, length 21 ; block, width 22, to y 4 ; horizontal line, length 31 ; move to (0,7) ; slope /, length 2 ; use DEADLY ; series of 3 tiles at (8,2) (12,2) (17,2) ; done ; enemies: 3 ; &24 (3) at (19,10), range (9,20), moving l 2 ; &17 (2) at (19,3), range (5,31), moving l 2 ; &12 (3) at (10,6), range (0,0), moving l 0 ; arrows: yes (11,0), yes (14,1) ; room_28_data (The Front Door) &2999 38 2f 8a 65 b9 33 4a 49 52 31 88 05 5c fe 47 a3 ; items: 1 (1) &29a9 b3 f9 61 e7 e2 81 03 f1 a2 a0 a2 e9 82 ee 07 00 ; exits: left: &27, right: &28, up: &28, down: &34 ; conveyor: right, slope: \, rope: no ; tiles: &46 (3), &30 (1), &2a (3), &49 (1), &4a (2), &31 ; screen colours: 6 1 0 4 ; title tab 9, text "The Front Door" ; use WALL ; block, width 1, to y 1 ; slope \, length 1 ; move to (0,10) ; horizontal line, length 11 ; use ITEM ; series of 1 tile at (11,11) ; done ; enemies: 0 ; arrows: no, no ; room_29_data (Out on a limb) &29b9 74 51 95 75 34 e5 96 92 e4 e0 e2 bc 88 70 25 5f ; items: 2 (11) &29c9 67 2f b8 5a 18 78 a0 95 66 61 96 9f 41 12 72 42 ; exits: left: &28, right: &2a, up: &29, down: &2b &29d9 da 25 a3 5c d3 e9 e1 5d a4 98 68 32 11 a8 42 b3 ; conveyor: right, slope: /, rope: no &29e9 01 57 01 53 16 eb 39 9d 2e a2 a4 f7 38 49 ee 06 ; tiles: &39 (1), &3a (1), &38 (2), &49 (1), &4a (1), &3b &29f9 52 2b 95 bf ca 33 0d 6c 19 ; screen colours: 0 1 2 7 ; title tab 8, text "Out on a limb" ; use WALL ; move to (21,2) ; block, width 26, to y 1 ; horizontal line, length 26 ; move to (31,3) ; use PLATFORM ; horizontal line, length 18 ; use SLOPE ; move to (25,0) ; horizontal line, length 22 ; slope \, length 2 ; move to (17,4) ; slope \, length 6 ; move to (14,5) ; slope /, length 3 ; series of 14 tiles at (2,5) (3,2) (5,9) (6,4) (8,1) (10,8) ; (11,3) (12,0) (14,10) (16,1) (18,9) ; (20,6) (23,9) (25,7) ; use ITEM ; series of 2 tiles at (2,9) (5,14) ; done ; enemies: 3 ; &24 (1) at (18,7), range (14,24), moving l 2 ; &16 (2) at (20,10), range (19,31), moving r 2 ; &1e (3) at (12,11), range (0,13), moving u 4 ; arrows: no, no ; room_2a_data (Tree Top) &2a02 fc b2 aa 9a e9 c6 ce 26 d9 ce ca 72 11 93 23 21 ; items: 3 (111) &2a12 2f 3b 7f a0 09 8a 55 50 0c 02 c4 16 aa c8 28 2d ; exits: left: &29, right: &2a, up: &2a, down: &2c &2a22 c5 1d 48 d8 b6 ee 3c 64 b4 64 05 2b 56 69 d2 7c ; conveyor: right, slope: \, rope: no &2a32 d0 24 22 85 a2 c2 f0 75 80 10 10 21 c4 48 88 93 ; tiles: &34 (2), &35 (1), &b7 (3), &49 (1), &36 (1), &37 &2a42 20 ba 14 b7 4d a6 c7 09 17 20 d0 7a 27 fa 91 31 ; screen colours: 0 1 2 7 &2a52 2f 50 d0 1d 00 ; title tab 12, text "Tree Top" ; use WALL ; move to (18,0) ; vertical line, length 3 ; move to (10,0) ; vertical line, length 3 ; use PLATFORM ; horizontal line, length 0 ; move to (3,6) ; horizontal line, length 5 ; move to (8,9) ; horizontal line, length 10 ; move to (13,2) ; horizontal line, length 14 ; slope /, length 0 ; horizontal line, length 16 ; series of 12 tiles at (13,7) (14,7) (16,9) (17,6) (18,6) ; (20,1) (21,1) (21,4) (22,4) (22,7) ; (24,2) (25,2) ; use DEADLY ; move to (5,0) ; vertical line, length 2 ; vertical line, length 1 ; horizontal line, length 7 ; series of 8 tiles at (0,1) (1,0) (2,2) (2,1) (3,1) (4,2) (7,2) ; (8,2) ; use ITEM ; series of 3 tiles at (17,13) (22,12) (19,2) ; done ; enemies: 3 ; &24 (3) at (7,4), range (0,8), moving l 2 ; &17 (1) at (23,2), range (5,31), moving l 2 ; &23 (3) at (7,10), range (0,20), moving l 2 ; arrows: yes (7,0), no ; room_2b_data (On a Branch Over the Drive) &2a57 b8 68 ca 35 b9 d2 d1 4a c6 d3 50 5f 0c 3b 7b c1 ; items: 1 (1) &2a67 83 11 58 c4 9f ab 24 de ff 70 14 95 1c e0 8f c4 ; exits: left: &28, right: &2c, up: &29, down: &35 &2a77 2b b1 da 8c 96 70 a8 9a a2 88 32 46 55 8c d5 27 ; conveyor: right, slope: /, rope: no &2a87 5b ba db 67 69 ce a2 c8 69 70 a9 f8 f2 65 74 81 ; tiles: &2b (1), &2c (1), &8f (3), &49 (1), &2d (2), &2e &2a97 ca 13 32 6b f8 6a 85 97 b0 4b c7 39 e0 f1 e2 95 ; screen colours: 4 1 2 7 &2aa7 70 2b 5b ; title tab 3, text "On a Branch Over the Drive" ; use PLATFORM ; move to (31,8) ; horizontal line, length 17 ; slope \, length 4 ; horizontal line, length 13 ; move to (13,9) ; horizontal line, length 11 ; move to (4,3) ; horizontal line, length 5 ; move to (11,2) ; horizontal line, length 10 ; use DEADLY ; move to (9,8) ; block, width 10, to y 10 ; horizontal line, length 12 ; move to (21,7) ; block, width 19, to y 6 ; horizontal line, length 23 ; move to (27,7) ; block, width 26, to y 5 ; horizontal line, length 28 ; series of 2 tiles at (8,9) (25,6) ; use WALL ; series of 3 tiles at (20,7) (26,7) (26,6) ; use ITEM ; series of 1 tile at (5,4) ; done ; enemies: 4 ; &09 (3) at (19,5), range (16,31), moving r 2 ; &14 (1) at (7,10), range (8,13), moving d 2 ; &1c (3) at (14,7), range (0,7), moving u 1 ; &28 (2) at (30,10), range (8,14), moving d 2 ; arrows: no, yes (11,2) ; room_2c_data (Inside the Megatrunk) &2aaa 50 b7 d5 b6 dd a4 91 25 31 91 28 2d c2 84 4d 02 ; items: 0 &2aba 93 fb 9f 21 0c e4 58 ac 3a 50 10 51 05 26 28 ca ; exits: left: &2b, right: &2d, up: &2a, down: &36 &2aca 37 69 55 e6 09 d3 d7 aa be 9a 08 a1 5c 02 e5 72 ; conveyor: right, slope: \, rope: no &2ada 28 07 bb 9a b4 eb 76 e9 d3 89 17 3f 61 62 45 0b ; tiles: &29 (2), &12 (1), &19 (3), &49 (1), &13 (3), &4b &2aea 16 20 c2 73 cf 28 70 cb 84 2a b0 a8 64 75 78 a8 ; screen colours: 0 1 2 3 &2afa 38 73 fc e8 02 8d 70 cb 82 8e 70 ab 42 8c 70 6b ; title tab 6, text "Inside the Megatrunk" &2b0a 00 ; use WALL ; move to (0,8) ; horizontal line, length 10 ; vertical line, length 0 ; move to (18,0) ; vertical line, length 2 ; horizontal line, length 31 ; move to (18,5) ; vertical line, length 10 ; horizontal line, length 25 ; slope /, length 8 ; move to (18,15) ; vertical line, length 13 ; move to (10,15) ; vertical line, length 11 ; use DEADLY ; move to (1,0) ; vertical line, length 7 ; move to (4,0) ; vertical line, length 7 ; move to (7,0) ; vertical line, length 7 ; use PLATFORM ; series of 14 tiles at (11,2) (11,7) (11,11) (14,9) (15,9) ; (14,4) (15,4) (15,12) (16,12) (17,10) ; (17,6) (16,6) (16,0) (17,0) ; done ; enemies: 7 ; &1e (1) at (12,5), range (0,14), moving d 2 ; &24 (2) at (5,5), range (0,13), moving l 2 ; &24 (2) at (26,11), range (16,30), moving l 2 ; &23 (3) at (19,3), range (17,31), moving l 2 ; &28 (1) at (2,12), range (8,14), moving d 2 ; &28 (2) at (5,12), range (8,14), moving d 2 ; &28 (3) at (8,12), range (8,14), moving d 2 ; arrows: no, no ; room_2d_data (Cuckoo's Nest) &2b0b b8 69 db 3d bb 51 c0 49 02 c3 c0 58 44 a1 82 94 ; items: 1 (1) &2b1b 73 3b 3d 4b 52 3e 40 c7 13 b1 64 3c 5d 82 71 01 ; exits: left: &2c, right: &2d, up: &2d, down: &37 &2b2b c4 a0 89 74 c1 c7 23 8d 36 30 68 2e 84 c9 48 4d ; conveyor: right, slope: /, rope: no ; tiles: &0c (2), &0c (1), &03 (3), &49 (1), &0e (3), &28 ; screen colours: 0 1 2 3 ; title tab 10, text "Cuckoo's Nest" ; use PLATFORM ; move to (14,3) ; block, width 17, to y 1 ; vertical line, length 4 ; block, width 15, to y 2 ; slope \, length 2 ; use WALL ; horizontal line, length 14 ; horizontal line, length 0 ; use DEADLY ; move to (16,5) ; horizontal line, length 17 ; use ITEM ; series of 1 tile at (15,8) ; done ; enemies: 2 ; &16 (3) at (5,11), range (0,12), moving l 2 ; &0e (1) at (16,8), range (12,19), moving l 2 ; arrows: no, yes (6,2) ; room_2e_data (The Bow) &2b3b b8 eb bb 6e fd be 24 5c 04 3b 27 3d c2 fe 07 5d ; items: 1 (1) &2b4b 3b d0 61 55 20 3d df af b1 4b 29 96 4f 27 89 38 ; exits: left: &2e, right: &2f, up: &2e, down: &2e &2b5b df 80 d7 e8 c2 f6 47 59 e7 f6 d1 74 de f8 51 00 ; conveyor: right, slope: \, rope: no ; tiles: &92 (1), &73 (3), &83 (3), &e8 (3), &90 (2), &f4 ; screen colours: 0 2 4 7 ; title tab 13, text "The Bow" ; use WALL ; move to (24,6) ; vertical line, length 10 ; use PLATFORM ; horizontal line, length 23 ; horizontal line, length 31 ; move to (31,5) ; horizontal line, length 13 ; series of 3 tiles at (18,8) (26,7) (25,7) ; use DEADLY ; horizontal line, length 17 ; use CONVEYOR ; horizontal line, length 31 ; move to (16,1) ; slope \, length 6 ; use ITEM ; series of 1 tile at (27,7) ; done ; enemies: 2 ; &26 (3) at (23,3), range (22,31), moving l 2 ; &0b (2) at (19,13), range (17,31), moving l 2 ; arrows: no, no ; room_2f_data (The Yacht) &2b6b b8 1b fa 5e 76 8f 4c ce 07 63 ff 79 44 ff 37 00 ; items: 1 (1) &2b7b e2 f9 c0 e4 29 8a f3 fd 0a d2 8b 04 15 76 34 20 ; exits: left: &2e, right: &30, up: &2f, down: &2f &2b8b b8 10 9a 34 b4 8a 2c 79 d3 56 8c 2e 58 7c a4 89 ; conveyor: left, slope: \, rope: no &2b9b 25 1e 29 d7 e2 36 05 ; tiles: &fe (3), &1b (2), &83 (3), &cf (2), &c9 (1), &c4 ; screen colours: 0 1 6 3 ; title tab 11, text "The Yacht" ; use WALL ; horizontal line, length 19 ; block, width 20, to y 5 ; use CONVEYOR ; horizontal line, length 31 ; move to (31,5) ; use PLATFORM ; horizontal line, length 23 ; vertical line, length 2 ; move to (0,10) ; horizontal line, length 6 ; slope /, length 5 ; horizontal line, length 0 ; horizontal line, length 3 ; vertical line, length 1 ; use WALL ; move to (18,5) ; horizontal line, length 5 ; vertical line, length 10 ; use DEADLY ; series of 3 tiles at (15,6) (11,6) (20,6) ; use ITEM ; series of 1 tile at (13,1) ; done ; enemies: 2 ; &16 (1) at (8,13), range (4,15), moving l 2 ; &13 (2) at (21,10), range (7,13), moving u 2 ; arrows: no, no ; room_30_data (The Beach) &2ba2 b8 1f 87 81 9b fd c2 ff 7c 7f 7d de cb fc 07 09 ; items: 1 (1) &2bb2 40 fc e0 50 30 1d e1 7c 17 68 28 5a a0 48 96 05 ; exits: left: &2f, right: &31, up: &30, down: &30 &2bc2 59 8a 54 89 2e 34 7a 00 ; conveyor: left, slope: /, rope: yes ; tiles: &f9 (2), &fa (1), &fb (2), &fc (1), &0f (3), &fd ; screen colours: 4 6 3 7 ; title tab 12, text "The Beach" ; use CONVEYOR ; horizontal line, length 5 ; use PLATFORM ; block, width 23, to y 1 ; use WALL ; block, width 31, to y 7 ; move to (0,5) ; horizontal line, length 5 ; use SLOPE ; series of 1 tile at (5,1) ; use DEADLY ; series of 4 tiles at (8,2) (13,2) (17,2) (21,2) ; use ITEM ; series of 1 tile at (22,2) ; done ; enemies: 0 ; arrows: no, no ; room_31_data (Tool Shed) &2bca 78 98 fc 31 b5 9f 1e 9f e0 1d 1d 4e 44 65 e7 f4 ; items: 1 (1) &2bda 4b 9c e0 03 87 39 ce 84 b3 7d 7e f9 37 71 d4 ab ; exits: left: &30, right: &32, up: &1f, down: &31 &2bea fe bb 48 3e 37 c0 86 14 2d c6 bd 47 29 5c 7c d0 ; conveyor: right, slope: /, rope: no &2bfa 50 b2 10 86 2e 70 7c 4c 06 e3 01 a5 85 e5 1d c9 ; tiles: &e1 (3), &e2 (1), &1e (3), &e4 (2), &e3 (2), &e5 &2c0a ca e4 45 0d ; screen colours: 0 1 2 6 ; title tab 10, text "Tool Shed" ; use WALL ; block, width 6, to y 7 ; use CONVEYOR ; horizontal line, length 25 ; use WALL ; block, width 27, to y 7 ; block, width 31, to y 10 ; move to (31,13) ; horizontal line, length 17 ; block, width 10, to y 15 ; move to (10,15) ; triangle \, length 13 ; use SLOPE ; move to (7,12) ; slope \, length 8 ; use PLATFORM ; series of 9 tiles at (9,4) (11,4) (12,7) (15,7) (17,4) (20,3) ; (20,7) (24,2) (24,5) ; use DEADLY ; series of 1 tile at (16,12) ; use ITEM ; series of 1 tile at (7,1) ; done ; enemies: 3 ; &09 (2) at (16,6), range (7,16), moving l 2 ; &16 (1) at (16,13), range (7,23), moving l 2 ; &0d (3) at (9,9), range (7,20), moving r 2 ; arrows: no, no ; room_32_data (The Wine Cellar) &2c0e f6 8f 73 30 e5 ca ad 8d cd 80 f5 35 8f 88 ff 9a ; items: 6 (111111) &2c1e b0 e4 21 a2 35 88 07 0e ac c1 32 0c 33 e7 d0 fc ; exits: left: &31, right: &33, up: &20, down: &32 &2c2e 77 ff 9c ad ca 76 7b ae c8 07 57 98 ac 02 4a c2 ; conveyor: right, slope: /, rope: no &2c3e b0 03 0f e7 97 80 64 8b 67 b9 2a 55 b0 21 ab be ; tiles: &d6 (1), &d7 (2), &80 (2), &d9 (2), &d8 (3), &da &2c4e 4c 79 37 ee c5 08 59 f6 6c 38 73 7b ba 8a 94 10 ; screen colours: 0 1 6 3 &2c5e 89 13 47 4f 3f 51 2b 83 83 54 95 91 83 52 53 a2 ; title tab 8, text "The Wine Cellar" &2c6e 83 d6 c2 f2 8e 04 ; use WALL ; block, width 1, to y 10 ; block, width 3, to y 4 ; block, width 6, to y 1 ; horizontal line, length 25 ; block, width 28, to y 2 ; block, width 31, to y 15 ; move to (27,15) ; block, width 28, to y 13 ; vertical line, length 10 ; horizontal line, length 27 ; move to (27,7) ; horizontal line, length 29 ; move to (2,7) ; block, width 3, to y 10 ; horizontal line, length 6 ; move to (6,10) ; horizontal line, length 0 ; vertical line, length 4 ; horizontal line, length 6 ; use CONVEYOR ; move to (24,1) ; slope /, length 3 ; horizontal line, length 31 ; vertical line, length 4 ; use PLATFORM ; horizontal line, length 19 ; move to (20,7) ; horizontal line, length 26 ; move to (26,10) ; horizontal line, length 21 ; move to (0,13) ; horizontal line, length 4 ; series of 6 tiles at (15,10) (12,10) (15,7) (12,7) (15,4) ; (12,4) ; use DEADLY ; series of 4 tiles at (15,3) (12,3) (19,3) (22,15) ; use ITEM ; series of 6 tiles at (2,5) (4,2) (4,8) (28,8) (28,5) (28,11) ; done ; enemies: 4 ; &15 (1) at (21,3), range (0,28), moving l 2 ; &15 (2) at (10,6), range (4,28), moving l 2 ; &15 (3) at (18,9), range (2,28), moving l 2 ; &16 (1) at (16,13), range (7,23), moving l 2 ; arrows: no, no ; room_33_data (The Forgotten Abbey) &2c74 78 5a f2 59 5e aa ab a8 a9 2a 2b bd 82 fd 47 5d ; items: 1 (1) &2c84 64 2e 67 62 1f 80 90 8c 03 07 fe 60 cc f7 ff 3c ; exits: left: &32, right: &34, up: &27, down: &33 &2c94 1e 78 c5 60 a0 88 e8 a0 4c 72 97 af 21 c5 8a 0a ; conveyor: left, slope: \, rope: no &2ca4 4b 22 97 2c cb 0d 3b 36 3a 5d 40 f3 5c e5 4b 2c ; tiles: &52 (1), &53 (2), &55 (2), &56 (3), &54 (1), &57 &2cb4 52 35 ab 32 4a 4d eb 07 5a 1d db be 52 55 29 36 ; screen colours: 0 2 5 7 &2cc4 4a 15 4a 2a 5a f5 2a 2f 0a ; title tab 6, text "The Forgotten Abbey" ; use WALL ; block, width 1, to y 15 ; block, width 3, to y 1 ; horizontal line, length 31 ; move to (31,15) ; block, width 30, to y 3 ; block, width 1, to y 14 ; vertical line, length 3 ; use PLATFORM ; block, width 1, to y 4 ; move to (2,2) ; slope /, length 1 ; move to (6,4) ; horizontal line, length 29 ; series of 4 tiles at (29,6) (2,5) (3,5) (2,10) ; use CONVEYOR ; move to (4,8) ; horizontal line, length 29 ; use DEADLY ; series of 4 tiles at (9,13) (16,13) (24,13) (17,7) ; use ITEM ; series of 1 tile at (2,12) ; done ; enemies: 7 ; &15 (1) at (7,13), range (4,13), moving l 2 ; &15 (2) at (12,13), range (10,19), moving l 2 ; &15 (3) at (18,13), range (15,24), moving l 2 ; &15 (1) at (24,13), range (22,31), moving r 2 ; &15 (2) at (10,9), range (8,27), moving l 2 ; &15 (3) at (8,5), range (4,21), moving l 2 ; &15 (2) at (15,5), range (9,29), moving l 2 ; arrows: no, no ; room_34_data (The Security Guard) &2ccd 30 af c5 b5 3c a5 a5 f0 ad 71 71 1e c1 ff 4b 04 ; items: 0 &2cdd 95 28 f2 78 ac 80 88 0f 0c 94 41 de 7c f4 db 1c ; exits: left: &33, right: &35, up: &28, down: &3a &2ced 9d c5 76 9b c2 46 2b d6 59 b1 da 46 72 a8 e0 ab ; conveyor: right, slope: \, rope: no &2cfd 06 59 d8 f7 85 7f 02 48 3d 5a e7 e9 7e cf c2 7e ; tiles: &1c (1), &1d (2), &6b (3), &1f (1), &4a (2), &4b &2d0d ca 7b 52 9a 66 76 5a fa a0 76 55 26 67 f6 5c 8e ; screen colours: 0 2 4 7 &2d1d 66 76 09 ; title tab 7, text "The Security Guard" ; use WALL ; horizontal line, length 1 ; move to (6,0) ; horizontal line, length 30 ; block, width 31, to y 1 ; move to (31,6) ; block, width 28, to y 5 ; block, width 26, to y 3 ; move to (23,6) ; block, width 20, to y 3 ; move to (17,6) ; vertical line, length 3 ; move to (14,6) ; vertical line, length 3 ; move to (11,6) ; block, width 9, to y 3 ; horizontal line, length 5 ; move to (0,15) ; vertical line, length 10 ; block, width 2, to y 6 ; horizontal line, length 6 ; triangle \, length 15 ; move to (1,15) ; slope /, length 8 ; use PLATFORM ; move to (5,7) ; horizontal line, length 11 ; move to (14,7) ; horizontal line, length 23 ; move to (31,7) ; horizontal line, length 26 ; use CONVEYOR ; move to (31,2) ; horizontal line, length 30 ; done ; enemies: 4 ; &29 (1) at (12,11), range (6,13), moving d 1 ; &29 (2) at (15,8), range (5,13), moving d 2 ; &29 (3) at (18,7), range (6,13), moving d 4 ; &29 (1) at (24,11), range (6,13), moving d 2 ; arrows: no, no ; room_35_data (The Drive) &2d20 b0 6c f5 3d fc a4 a5 f0 33 71 71 66 62 fe c3 51 ; items: 0 &2d30 54 72 e0 20 2b ff 40 3e c8 b0 42 94 c0 83 88 40 ; exits: left: &34, right: &36, up: &2b, down: &3b &2d40 06 f2 60 c0 02 0a 7c ca f9 d5 5f 9d d4 0e 0f 99 ; conveyor: right, slope: \, rope: no &2d50 a4 72 4f 95 f0 64 0f 95 64 05 1f 09 ; tiles: &1c (2), &1d (3), &99 (3), &1f (1), &4a (0), &4b ; screen colours: 0 1 3 6 ; title tab 12, text "The Drive" ; use WALL ; block, width 2, to y 6 ; vertical line, length 7 ; triangle /, length 0 ; horizontal line, length 31 ; use PLATFORM ; horizontal line, length 24 ; move to (21,0) ; horizontal line, length 10 ; move to (0,7) ; horizontal line, length 2 ; use DEADLY ; move to (0,4) ; block, width 1, to y 3 ; block, width 3, to y 0 ; use CONVEYOR ; move to (0,2) ; horizontal line, length 1 ; done ; enemies: 5 ; &0e (3) at (15,13), range (11,31), moving r 2 ; &24 (1) at (21,11), range (16,30), moving l 2 ; &24 (2) at (18,10), range (14,30), moving r 2 ; &24 (2) at (7,9), range (6,30), moving l 2 ; &24 (1) at (19,5), range (0,31), moving l 2 ; arrows: no, no ; room_36_data (At the Foot of the Megatree) &2d5c fc 75 6f 9e ed 86 8a 2c d9 8e 84 68 11 04 f2 fd ; items: 3 (111) &2d6c 8f 3a 97 af a3 f7 3f 43 18 c8 91 90 03 f2 d5 1a ; exits: left: &35, right: &37, up: &2c, down: &3c &2d7c 7b 28 41 3f 89 fa 8a 5d 8e 11 2d 98 6e e8 8f a4 ; conveyor: right, slope: \, rope: no &2d8c 62 7f 27 d5 d7 e5 ab be 98 08 bf 54 f2 65 f2 2f ; tiles: &11 (2), &12 (1), &b7 (3), &49 (1), &13 (3), &15 &2d9c a5 4b 50 88 72 79 a2 89 25 1e 55 20 a7 36 59 50 ; screen colours: 0 1 2 3 &2dac c7 36 59 88 c2 26 05 ; title tab 2, text "At the Foot of the Megatree" ; use PLATFORM ; horizontal line, length 31 ; move to (11,5) ; horizontal line, length 13 ; slope /, length 2 ; horizontal line, length 16 ; move to (15,12) ; horizontal line, length 17 ; move to (15,10) ; horizontal line, length 13 ; series of 4 tiles at (17,8) (17,6) (16,6) (11,11) ; use WALL ; move to (31,8) ; horizontal line, length 18 ; vertical line, length 3 ; move to (31,11) ; horizontal line, length 18 ; vertical line, length 15 ; vertical line, length 14 ; horizontal line, length 31 ; move to (10,15) ; vertical line, length 3 ; use DEADLY ; move to (1,15) ; vertical line, length 5 ; move to (4,15) ; vertical line, length 6 ; move to (7,15) ; vertical line, length 5 ; use ITEM ; series of 3 tiles at (1,4) (4,5) (7,4) ; done ; enemies: 4 ; &16 (2) at (8,13), range (4,15), moving l 2 ; &28 (1) at (2,7), range (5,13), moving u 2 ; &28 (1) at (5,7), range (3,13), moving u 2 ; &28 (2) at (8,10), range (3,12), moving u 2 ; arrows: no, no ; room_37_data (Under the Megatree) &2db3 78 3b da 3d 83 21 c0 c1 c0 c0 c2 5c 84 17 8b 49 ; items: 1 (1) &2dc3 bc ff 19 c2 40 8e 84 1c 22 ff c8 31 ab fb f1 97 ; exits: left: &36, right: &38, up: &2d, down: &37 &2dd3 38 69 97 ec e5 4b 0b f2 77 79 89 92 ae 5c a7 75 ; conveyor: right, slope: /, rope: no &2de3 57 d1 53 b6 ea 61 37 6c 5c 28 88 30 41 87 08 2e ; tiles: &0c (2), &0d (1), &0c (0), &0c (0), &0e (3), &10 &2df3 92 2e b4 7f ec b9 62 e6 a8 6f a6 1f 69 fb 05 1f ; screen colours: 0 1 2 7 &2e03 0d ; title tab 7, text "Under the Megatree" ; use DEADLY ; move to (7,15) ; horizontal line, length 9 ; block, width 12, to y 13 ; move to (14,15) ; block, width 15, to y 14 ; horizontal line, length 17 ; block, width 18, to y 13 ; series of 3 tiles at (13,14) (19,14) (18,13) ; use PLATFORM ; horizontal line, length 31 ; series of 14 tiles at (7,10) (8,10) (9,7) (10,7) (11,9) (13,7) ; (14,10) (17,7) (18,9) (22,10) (23,8) ; (13,13) (16,13) (17,13) ; use WALL ; move to (0,8) ; horizontal line, length 6 ; move to (0,11) ; horizontal line, length 4 ; move to (0,14) ; horizontal line, length 9 ; use ITEM ; series of 1 tile at (22,15) ; done ; enemies: 3 ; &1e (1) at (14,10), range (6,12), moving d 4 ; &17 (1) at (27,3), range (5,31), moving l 2 ; &1b (3) at (15,13), range (0,31), moving l 2 ; arrows: no, no ; room_38_data (The Bridge) &2e04 b0 9f c7 91 54 a5 21 24 03 c0 c1 3e 21 ff 83 51 ; items: 0 &2e14 60 46 0e 0c fb f0 68 30 f2 24 f8 00 48 cb 17 40 ; exits: left: &37, right: &39, up: &38, down: &38 &2e24 38 31 c0 18 7c 9c 88 02 0a 95 e4 72 0f ed 1a 81 ; conveyor: right, slope: /, rope: no &2e34 fa 0b ; tiles: &06 (1), &07 (1), &80 (1), &49 (1), &08 (2), &4b ; screen colours: 0 2 6 7 ; title tab 9, text "The Bridge" ; use WALL ; horizontal line, length 6 ; triangle /, length 3 ; block, width 11, to y 0 ; move to (17,3) ; block, width 18, to y 0 ; triangle /, length 0 ; use PLATFORM ; horizontal line, length 22 ; horizontal line, length 31 ; move to (0,0) ; horizontal line, length 7 ; use DEADLY ; move to (16,0) ; block, width 12, to y 1 ; done ; enemies: 3 ; &24 (2) at (8,10), range (0,10), moving l 2 ; &24 (3) at (19,10), range (14,30), moving l 2 ; &1d (1) at (12,4), range (1,11), moving d 7 ; arrows: no, no ; room_39_data (The Off Licence) &2e36 f3 ff c7 79 9e b8 0d 14 08 04 18 10 e0 22 f2 3f ; items: 12 (111111111111) &2e46 47 e9 d3 02 11 8b c8 81 7a 89 a9 c9 2f 28 c9 ba ; exits: left: &38, right: &39, up: &39, down: &39 &2e56 00 f2 03 b0 cf 92 c9 82 4b ea eb e4 c7 1e 57 60 ; conveyor: left, slope: /, rope: no &2e66 97 b9 72 68 4f d9 f1 fc d4 00 ; tiles: &00 (2), &01 (1), &03 (3), &04 (2), &02 (3), &05 ; screen colours: 0 1 2 7 ; title tab 9, text "The Off Licence" ; use WALL ; move to (15,4) ; horizontal line, length 12 ; vertical line, length 12 ; horizontal line, length 31 ; vertical line, length 0 ; vertical line, length 4 ; horizontal line, length 26 ; slope \, length 0 ; use PLATFORM ; horizontal line, length 31 ; horizontal line, length 0 ; use CONVEYOR ; move to (30,6) ; horizontal line, length 19 ; use DEADLY ; series of 1 tile at (14,9) ; use ITEM ; move to (30,11) ; horizontal line, length 19 ; done ; enemies: 3 ; &1e (1) at (7,5), range (0,13), moving d 2 ; &27 (2) at (10,7), range (1,13), moving d 4 ; &26 (3) at (28,7), range (19,30), moving r 2 ; arrows: no, no ; room_3a_data (Entrance to Hades) &2e70 70 5d d7 15 b1 a5 a5 24 89 08 75 10 3a 89 cd 11 ; items: 0 &2e80 58 44 6e 76 8f 03 4c d2 81 03 1f f8 29 b7 cc 4d ; exits: left: &3a, right: &3a, up: &3a, down: &3a &2e90 a5 4e 2a b5 51 99 91 ca f4 5c aa e5 52 35 95 c9 ; conveyor: right, slope: /, rope: no &2ea0 a9 6c 5f a8 14 a5 ce 1c 25 cb 9a 24 73 a6 6a dd ; tiles: &5c (3), &21 (2), &22 (1), &49 (0), &4a (1), &4b &2eb0 16 2f ab dd 5a 9f b1 b5 f1 a6 ac b5 67 4a 6d ba ; screen colours: 3 1 4 0 &2ec0 a1 6a d0 0e 47 c9 1a 1d 46 cc d8 70 e2 c6 87 2e ; title tab 9, text "Entrance to Hades" &2ed0 52 d4 78 ec a3 06 3a 1e 90 06 3a 1e e2 45 36 0e ; use WALL ; block, width 1, to y 15 ; use PLATFORM ; move to (31,2) ; horizontal line, length 29 ; vertical line, length 6 ; move to (27,2) ; vertical line, length 5 ; move to (25,2) ; vertical line, length 5 ; move to (22,2) ; vertical line, length 6 ; move to (17,2) ; vertical line, length 6 ; move to (15,3) ; vertical line, length 5 ; move to (13,3) ; vertical line, length 5 ; move to (11,2) ; vertical line, length 6 ; move to (7,2) ; vertical line, length 6 ; series of 16 tiles at (8,5) (9,4) (10,5) (14,6) (14,2) (18,6) ; (19,5) (18,4) (19,3) (19,2) (21,6) ; (23,6) (26,3) (26,6) (21,11) (22,11) ; move to (15,9) ; horizontal line, length 13 ; vertical line, length 13 ; horizontal line, length 15 ; move to (18,9) ; vertical line, length 13 ; move to (23,9) ; horizontal line, length 20 ; vertical line, length 13 ; horizontal line, length 23 ; move to (16,10) ; vertical line, length 12 ; use SLOPE ; series of 13 tiles at (7,1) (9,3) (11,1) (14,1) (17,1) (19,1) ; (22,1) (25,1) (27,1) (30,1) (14,8) ; (18,8) (21,8) ; done ; enemies: 3 ; &1f (3) at (2,11), range (0,11), moving u 1 ; &20 (3) at (4,11), range (0,11), moving u 1 ; &21 (3) at (3,13), range (2,13), moving u 1 ; arrows: no, no ; room_3b_data (Under the Drive) &2ee0 70 3d eb ad 2d 17 27 16 8a c6 c7 1e 22 8b c5 24 ; items: 0 &2ef0 de ff 70 14 95 1c 38 f0 6b 3e 10 95 ef f8 59 3d ; exits: left: &3a, right: &3c, up: &35, down: &3b &2f00 bf e6 c5 9c 04 06 8f 5f 89 55 b2 66 9b 3e d8 af ; conveyor: left, slope: \, rope: no &2f10 49 64 39 62 c3 85 c5 1e 27 ae cd 43 32 2d ea 97 ; tiles: &c6 (1), &c7 (2), &a2 (2), &d0 (1), &c8 (3), &d1 &2f20 2b 49 80 58 01 ; screen colours: 0 1 4 7 ; title tab 9, text "Under the Drive" ; use WALL ; block, width 1, to y 15 ; vertical line, length 12 ; triangle /, length 0 ; horizontal line, length 10 ; horizontal line, length 31 ; move to (24,15) ; block, width 26, to y 11 ; block, width 31, to y 10 ; block, width 30, to y 8 ; block, width 28, to y 9 ; use PLATFORM ; move to (16,7) ; horizontal line, length 15 ; series of 5 tiles at (17,10) (20,9) (21,9) (22,12) (23,12) ; use CONVEYOR ; move to (31,5) ; horizontal line, length 18 ; use DEADLY ; series of 4 tiles at (17,1) (22,1) (26,1) (20,6) ; done ; enemies: 3 ; &24 (1) at (14,11), range (12,30), moving l 2 ; &0c (3) at (22,8), range (21,31), moving r 1 ; &14 (2) at (18,4), range (0,8), moving d 2 ; arrows: no, no ; room_3c_data (Tree Root) &2f25 f4 fd 3c 0f 72 5b 9c 5b c0 9b 9d f9 8a c9 91 90 ; items: 2 (11) &2f35 17 9d cb 07 e6 67 14 7e bc 7e 1e 4c 9b 29 3e 61 ; exits: left: &3b, right: &3c, up: &3c, down: &3c &2f45 c6 d4 a8 1d 16 82 1f 1c 40 2f 19 6a 8f c2 02 8d ; conveyor: left, slope: /, rope: no &2f55 21 cb 0c 35 7a ac 48 17 d5 dc 7e 42 11 01 22 ed ; tiles: &cc (2), &cd (1), &1e (3), &d0 (1), &ce (2), &d1 &2f65 d9 64 76 65 a7 f4 03 6d ae 24 32 05 ; screen colours: 0 5 6 7 ; title tab 12, text "Tree Root" ; use WALL ; horizontal line, length 31 ; horizontal line, length 24 ; vertical line, length 1 ; triangle /, length 7 ; vertical line, length 15 ; block, width 30, to y 0 ; block, width 22, to y 12 ; block, width 20, to y 7 ; block, width 16, to y 12 ; block, width 12, to y 10 ; block, width 10, to y 13 ; block, width 6, to y 8 ; move to (0,15) ; block, width 3, to y 8 ; use PLATFORM ; move to (15,4) ; horizontal line, length 24 ; move to (11,7) ; horizontal line, length 10 ; use CONVEYOR ; move to (0,5) ; horizontal line, length 12 ; use DEADLY ; series of 4 tiles at (6,1) (11,1) (15,1) (21,1) ; use ITEM ; series of 2 tiles at (10,12) (29,11) ; done ; enemies: 4 ; &0a (3) at (4,4), range (0,8), moving u 2 ; &1e (2) at (13,9), range (6,13), moving d 2 ; &1b (3) at (18,9), range (15,24), moving l 2 ; &19 (2) at (26,9), range (4,9), moving u 2 ; arrows: no, no ; room_00_data (Game Over screen) &2f71 86 fc 79 3f 84 fc 00 00 06 3d 00 a0 02 ; enemies: 3 ; &02 (1) @ (15,14), range (15,15), moving d 0 ; &02 (3) @ (15,12), range (0,0), moving l 0 ; &01 (2) @ (15,0), range (0,0), moving r 2 ; unused &2f7e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2f8e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2f9e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2fae 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2fbe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2fce 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2fde 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2fee 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &2ffe 00 00 ; $.JSW2 004e00 005200 0031ff ; to_title_screen &0400 4c 5b 04 JMP &045b ; title_screen ; scroll_scrolltext &0403 a2 57 LDX #&57 &0405 86 91 STX &91 ; target_address_high &0407 86 93 STX &93 ; source_address_high &0409 a0 f0 LDY #&f0 ; &57f0 = &5800 - &10 &040b 84 90 STY &90 ; target_address_low &040d a9 f8 LDA #&f8 ; &57f8 = &5808 - &10 &040f 85 92 STA &92 ; source_address_low &0411 a0 10 LDY #&10 &0413 a9 02 LDA #&02 &0415 85 7b STA &7b ; blocks_to_copy &0417 a2 f0 LDX #&f0 ; scroll_scrolltext_loop &0419 b1 92 LDA (&92),Y ; source_address &041b 91 90 STA (&90),Y ; target_address &041d c8 INY &041e d0 04 BNE &0424 &0420 e6 91 INC &91 ; target_address_high &0422 e6 93 INC &93 ; source_address_high &0424 ca DEX &0425 d0 f2 BNE &0419 ; scroll_scrolltext_loop &0427 c6 7b DEC &7b ; blocks_to_copy &0429 d0 ee BNE &0419 ; scroll_scrolltext_loop &042b 60 RTS ; plot_title_screen_logo &042c a9 0a LDA #&0a &042e 20 ee ff JSR &ffee ; OSWRCH &0431 20 ee ff JSR &ffee ; OSWRCH &0434 a9 11 LDA #&11 &0436 20 ee ff JSR &ffee ; OSWRCH &0439 a9 02 LDA #&02 &043b 20 ee ff JSR &ffee ; OSWRCH &043e a2 00 LDX #&00 ; plot_title_screen_logo_loop &0440 bd 63 06 LDA &0663,X ; title_screen_logo &0443 85 7b STA &7b &0445 a0 07 LDY #&07 ; unpack_byte_loop &0447 a9 20 LDA #&20 ; " " &0449 46 7b LSR &7b &044b 90 02 BCC &044f &044d a9 ff LDA #&ff &044f 20 ee ff JSR &ffee ; OSWRCH &0452 88 DEY &0453 10 f2 BPL &0447 ; unpack_byte_loop &0455 e8 INX &0456 e0 2f CPX #&2f &0458 d0 e6 BNE &0440 ; plot_title_screen_logo_loop &045a 60 RTS ; title_screen &045b a9 80 LDA #&80 &045d 85 4d STA &4d ; life_y &045f 8d 8a 02 STA &028a ; melody_active # Enable melody &0462 a9 10 LDA #&10 # Title screen has full line of lives &0464 85 9b STA &9b ; player_lives &0466 a9 0c LDA #&0c ; CLS &0468 20 ee ff JSR &ffee ; OSWRCH &046b 20 2c 04 JSR &042c ; plot_title_screen_logo &046e a9 11 LDA #&11 &0470 20 ee ff JSR &ffee ; OSWRCH &0473 a9 03 LDA #&03 # Use colour 3 for scrolltext &0475 20 ee ff JSR &ffee ; OSWRCH ; restart_scrolltext &0478 a9 05 LDA #&05 &047a 85 71 STA &71 ; scrolltext_address_high &047c a9 10 LDA #&10 ; &0510 = title_screen_scrolltext &047e 85 70 STA &70 ; scrolltext_address_low &0480 a0 00 LDY #&00 &0482 84 72 STY &72 ; scrolltext_offset ; title_screen_loop &0484 a4 72 LDY &72 ; scrolltext_offset &0486 a9 1f LDA #&1f # TAB(&1e, &14), i.e. end of scrolltext &0488 20 ee ff JSR &ffee ; OSWRCH &048b a9 1e LDA #&1e &048d 20 ee ff JSR &ffee ; OSWRCH &0490 a9 14 LDA #&14 &0492 20 ee ff JSR &ffee ; OSWRCH &0495 b1 70 LDA (&70),Y ; scrolltext_address # Write character of scrolltext &0497 20 ee ff JSR &ffee ; OSWRCH &049a aa TAX &049b f0 28 BEQ &04c5 ; end_of_scrolltext &049d a9 13 LDA #&13 ; Wait for Vertical Retrace &049f 20 f4 ff JSR &fff4 ; OSBYTE &04a2 a9 13 LDA #&13 ; Wait for Vertical Retrace &04a4 20 f4 ff JSR &fff4 ; OSBYTE &04a7 20 03 04 JSR &0403 ; scroll_scrolltext &04aa a9 13 LDA #&13 ; Wait for Vertical Retrace &04ac 20 f4 ff JSR &fff4 ; OSBYTE &04af 20 03 04 JSR &0403 ; scroll_scrolltext &04b2 e6 57 INC &57 ; game_timer &04b4 20 f2 04 JSR &04f2 ; change_colour &04b7 20 15 0b JSR &0b15 ; to_update_lives # Animate lives &04ba 20 df 04 JSR &04df ; check_for_space &04bd e6 72 INC &72 ; scrolltext_offset &04bf d0 c3 BNE &0484 ; title_screen_loop &04c1 e6 71 INC &71 ; scrolltext_address_high &04c3 d0 bf BNE &0484 ; title_screen_loop ; end_of_scrolltext &04c5 a9 80 LDA #&80 &04c7 85 70 STA &70 ; timer_one ; end_of_scrolltext_loop &04c9 a5 70 LDA &70 ; timer_one &04cb 29 07 AND #&07 &04cd d0 03 BNE &04d2 ; skip_colour_change &04cf 20 f2 04 JSR &04f2 ; change_colour &04d2 20 df 04 JSR &04df ; check_for_space ; skip_colour_change &04d5 c6 71 DEC &71 ; timer_two &04d7 d0 f0 BNE &04c9 ; end_of_scrolltext_loop &04d9 c6 70 DEC &70 ; timer_one &04db d0 ec BNE &04c9 ; end_of_scrolltext_loop &04dd f0 99 BEQ &0478 ; restart_scrolltext ; check_for_space &04df a9 81 LDA #&81 ; Scan for a particular key &04e1 a0 ff LDY #&ff &04e3 a2 9d LDX #&9d ; SPACE &04e5 20 f4 ff JSR &fff4 ; OSBYTE &04e8 8a TXA &04e9 f0 06 BEQ &04f1 ; leave &04eb a9 8c LDA #&8c &04ed 85 4d STA &4d ; life_y &04ef 68 PLA # Leave title_screen when SPACE pressed &04f0 68 PLA ; leave &04f1 60 RTS ; change_colour &04f2 ce 0c 05 DEC &050c ; change_colour_string + 2 &04f5 d0 05 BNE &04fc ; not_black &04f7 a9 07 LDA #&07 &04f9 8d 0c 05 STA &050c ; change_colour_string + 2 ; not_black &04fc a2 00 LDX #&00 ; write_change_colour &04fe bd 0a 05 LDA &050a,X ; change_colour_string &0501 20 ee ff JSR &ffee ; OSWRCH &0504 e8 INX &0505 e0 06 CPX #&06 &0507 d0 f5 BNE &04fe ; write_change_colour &0509 60 RTS ; change_colour_string &050a 13 02 05 00 00 00 ; title_screen_scrolltext &0510 2e 2e 2e 4a 65 74 73 65 74 20 57 69 6c 6c 79 20 : "...Jetset Willy " &0520 77 61 73 20 77 72 69 74 74 65 6e 20 66 6f 72 20 : "was written for " &0530 74 68 65 20 42 42 43 20 6d 69 63 72 6f 20 62 79 : "the BBC micro by" &0540 20 43 68 72 69 73 20 52 6f 62 73 6f 6e 2e 2e 2e : " Chris Robson..." &0550 2e 2e 2e 4a 65 74 20 53 65 74 20 57 69 6c 6c 79 : "...Jet Set Willy" &0560 20 77 61 73 20 70 72 65 70 61 72 65 64 20 62 79 : " was prepared by" &0570 20 54 79 6e 65 73 6f 66 74 20 75 6e 64 65 72 20 : " Tynesoft under " &0580 6c 69 63 65 6e 63 65 20 66 72 6f 6d 20 53 6f 66 : "licence from Sof" &0590 74 77 61 72 65 20 50 72 6f 6a 65 63 74 73 20 61 : "tware Projects a" &05a0 6e 64 20 69 73 20 63 6f 70 79 72 69 67 68 74 20 : "nd is copyright " &05b0 74 6f 20 53 6f 66 74 77 61 72 65 20 50 72 6f 6a : "to Software Proj" &05c0 65 63 74 73 2e 2e 2e 2e 2e 2e 59 6f 75 20 6d 75 : "ects......You mu" &05d0 73 74 20 67 75 69 64 65 20 57 69 6c 6c 79 20 74 : "st guide Willy t" &05e0 6f 20 63 6f 6c 6c 65 63 74 20 61 6c 6c 20 74 68 : "o collect all th" &05f0 65 20 69 74 65 6d 73 20 61 72 6f 75 6e 64 20 74 : "e items around t" &0600 68 65 20 68 6f 75 73 65 20 62 65 66 6f 72 65 20 : "he house before " &0610 6d 69 64 6e 69 67 68 74 20 73 6f 20 74 68 61 74 : "midnight so that" &0620 20 4d 61 72 69 61 20 77 69 6c 6c 20 6c 65 74 20 : " Maria will let " &0630 79 6f 75 20 67 6f 20 74 6f 20 62 65 64 2e 2e 2e : "you go to bed..." &0640 2e 2e 2e 2e 50 72 65 73 73 20 53 50 41 43 45 20 : "....Press SPACE " &0650 74 6f 20 73 74 61 72 74 20 74 68 65 20 67 61 6d : "to start the gam" &0660 65 2e 00 ; "e." ; title_screen_logo &0663 70 77 ee 0e 20 21 22 04 20 27 ee 04 20 21 28 04 &0673 30 27 ee 04 00 00 00 00 00 00 00 00 40 54 24 02 &0683 40 54 24 02 40 55 e4 03 40 55 84 00 c0 d7 9d ; unused code, corresponing to end of add_block_of_tiles &0692 c6 76 DEC &76 ; height # &0692-&06a1 is an unused copy of &1290 to &129f &0694 10 e2 BPL &0678 &0696 a5 71 LDA &71 ; tile_y &0698 38 SEC &0699 e5 7a SBC &7a ; block_y_delta &069b 85 71 STA &71 ; tile_y &069d a5 70 LDA &70 ; tile_x &069f 18 CLC &06a0 65 77 ADC &77 ; x_delta ; unused &06a2 78 SEI ; unused code, corresponding to end of add_line_of_tiles &06a3 85 71 STA &71 # &06a3-&06ff is an unused copy of &13a3 to &13ff &06a5 c6 74 DEC &74 &06a7 d0 e7 BNE &0690 &06a9 a5 82 LDA &82 &06ab f0 03 BEQ &06b0 &06ad 20 b1 13 JSR &13b1 &06b0 60 RTS ; unused code, corresponding to add_background_tile &06b1 a4 72 LDY &72 ; tile_type &06b3 be f1 09 LDX &09f1,Y ; background_tiles_colours &06b6 b9 f7 09 LDA &09f7,Y ; background_tiles_sprites &06b9 20 51 15 JSR &1551 ; plot_background_sprite &06bc 20 67 18 JSR &1867 # except this is &1878, set_tile_table_for_background &06bf 60 RTS ; unused data, corresponding to directions tables &06c0 01 00 ff 00 &06c4 00 01 00 ff &06c8 01 ff 01 ff &06cc 01 01 ff ff ; unused code, corresponding to start of unpack_enemy_sprites &06d0 a9 00 LDA #&00 &06d2 85 84 STA &84 ; unpacked_sprite_address_low &06d4 a9 73 LDA #&73 &06d6 85 85 STA &85 ; unpacked_sprite_address_high &06d8 a9 08 LDA #&08 &06da 85 86 STA &86 ; unpacked_sprite_offset &06dc a5 87 LDA &87 ; enemies_on_screen &06de 85 79 STA &79 ; enemy_to_consider &06e0 f0 51 BEQ &0733 &06e2 a6 79 LDX &79 ; enemy_to_consider &06e4 e4 87 CPX &87 ; enemies_on_screen &06e6 f0 17 BEQ &06ff &06e8 a4 87 LDY &87 ; enemies_on_screen &06ea b9 00 0a LDA &0a00,Y ; enemies_sprite &06ed dd 00 0a CMP &0a00,X ; enemies_sprite &06f0 d0 08 BNE &06fa &06f2 b9 09 0a LDA &0a09,Y ; enemies_unpacked_sprite_offset &06f5 9d 09 0a STA &0a09,X ; enemies_unpacked_sprite_offset &06f8 10 35 BPL &072f &06fa 88 DEY &06fb c4 79 CPY &79 ; enemy_to_consider &06fd d0 eb BNE &06ea &06ff bc LDY ; to_event_routine &0700 4c 06 07 JMP &0707 ; event_routine ; to_irq_routine &0703 4c 86 07 JMP &0786 ; irq_routine ; event_routine &0706 08 PHP &0707 48 PHA &0708 8a TXA &0709 48 PHA &070a 98 TYA &070b 48 PHA &070c a9 32 LDA #&32 # Set timer 2 to 12800 &070e 8d 69 fe STA &fe69 ; User VIA Timer 2 latch/counter MSB &0711 ad 8a 02 LDA &028a ; melody_active &0714 d0 07 BNE &071d ; play_melody &0716 a9 01 LDA #&01 &0718 8d 7d 07 STA &077d ; note_number &071b d0 45 BNE &0762 ; play_silence ; play_melody &071d ad 72 07 LDA &0772 ; music_enabled &0720 f0 2c BEQ &074e ; check_for_sound_keypresses &0722 ce 7c 07 DEC &077c ; note_length &0725 d0 27 BNE &074e ; check_for_sound_keypresses &0727 ae 7d 07 LDX &077d ; note_number &072a bd ce 07 LDA &07ce,X ; melody_duration_table &072d 8d 7c 07 STA &077c ; note_length &0730 bd a8 07 LDA &07a8,X ; melody_pitch_table &0733 8d 77 07 STA &0777 ; melody_sound_pitch &0736 a2 73 LDX #&73 &0738 a0 07 LDY #&07 ; &0773 = melody_sound &073a a9 07 LDA #&07 ; Generate a sound &073c 20 f1 ff JSR &fff1 ; OSWORD &073f ee 7d 07 INC &077d ; note_number &0742 ad 7d 07 LDA &077d ; note_number &0745 c9 25 CMP #&25 &0747 d0 05 BNE &074e ; check_for_sound_keypresses &0749 a9 00 LDA #&00 &074b 8d 7d 07 STA &077d ; note_number ; check_for_sound_keypresses &074e a5 ec LDA &ec ; Internal key number of most recently pressed key &0750 c9 d1 CMP #&d1 ; "S" &0752 d0 05 BNE &0759 ; s_not_pressed &0754 a9 01 LDA #&01 &0756 8d 72 07 STA &0772 ; music_enabled ; s_not_pressed &0759 c9 90 CMP #&90 ; "Q" &075b d0 0e BNE &076b ; q_not_pressed &075d a9 00 LDA #&00 &075f 8d 72 07 STA &0772 ; music_enabled ; play_silence &0762 a2 7e LDX #&7e &0764 a0 07 LDY #&07 ; &077e = sound_silence &0766 a9 07 LDA #&07 ; Generate a sound &0768 20 f1 ff JSR &fff1 ; OSWORD ; q_not_pressed &076b 68 PLA &076c a8 TAY &076d 68 PLA &076e aa TAX &076f 68 PLA &0770 28 PLP &0771 60 RTS ; music_enabled &0772 01 ; melody_sound ; chan vol pitch dur 3 4 5 6 7 8 9 a &0773 13 00 fa ff 00 00 20 00 &077b 00 ; note_length &077c 06 ; note_number &077d 01 ; sound_silence ; chan vol pitch dur &077e 13 00 00 00 00 00 00 00 ; irq_routine &0786 a5 fc LDA &fc ; irq_accumulator &0788 48 PHA &0789 8a TXA &078a 48 PHA &078b 98 TYA &078c 48 PHA &078d ad 6d fe LDA &fe6d ; User VIA interrupt flag register &0790 29 a0 AND #&a0 &0792 c9 a0 CMP #&a0 &0794 d0 06 BNE &079c ; skip_increment &0796 8d 6d fe STA &fe6d ; User VIA interrupt flag register &0799 ee bf 08 INC &08bf ; irq_counter ; skip_increment &079c 68 PLA &079d a8 TAY &079e 68 PLA &079f aa TAX &07a0 68 PLA &07a1 85 fc STA &fc ; irq_accumulator &07a3 6c bd 08 JMP (&08bd) ; previous_irq2_vector ; unused &07a6 00 00 ; melody_pitch_table &07a8 84 70 68 70 68 64 54 64 68 70 68 70 68 64 68 70 &07b8 78 7c 78 7c 78 70 84 80 78 70 68 64 68 70 64 74 &07c8 70 68 70 74 68 84 ; melody_duration_table &07ce 40 08 08 08 08 10 20 08 08 08 08 08 08 08 08 08 &07de 08 08 08 08 08 40 20 10 10 08 08 08 08 10 10 08 &07ee 08 08 08 10 10 00 ; unused &07f4 00 00 00 00 00 00 00 00 00 00 00 00 ; entry_point &5200 a9 c8 LDA #&c8 ; Read/Write BREAK/ESCAPE effect &5202 a2 03 LDX #&03 ; Normal ESCAPE effect, Memory cleared on next reset &5204 20 f4 ff JSR &fff4 ; OSBYTE &5207 a2 9f LDX #&9f ; copy_zero_page_values_loop # Copy &5600-&569f to &0000-&009f &5209 bd 00 56 LDA &5600,X ; initial_zero_page_values &520c 95 00 STA &00,X &520e ca DEX &520f d0 f8 BNE &5209 ; copy_zero_page_values_loop &5211 a2 00 LDX #&00 ; move_memory_loop # Copy &4e00-&51ff to &0400-&07ff &5213 bd 00 4e LDA &4e00,X # and &5300-&55ff to &0800-&0aff &5216 9d 00 04 STA &0400,X &5219 bd 00 4f LDA &4f00,X &521c 9d 00 05 STA &0500,X &521f bd 00 50 LDA &5000,X &5222 9d 00 06 STA &0600,X &5225 bd 00 51 LDA &5100,X &5228 9d 00 07 STA &0700,X &522b bd 00 53 LDA &5300,X &522e 9d 00 08 STA &0800,X &5231 bd 00 54 LDA &5400,X &5234 9d 00 09 STA &0900,X &5237 bd 00 55 LDA &5500,X &523a 9d 00 0a STA &0a00,X &523d ca DEX &523e d0 d3 BNE &5213 ; move_memory_loop &5240 ad 06 02 LDA &0206 ; irq2_vector_low &5243 8d bd 08 STA &08bd ; previous_irq2_vector_low &5246 ad 07 02 LDA &0207 ; irq2_vector_high &5249 8d be 08 STA &08be ; previous_irq2_vector_high &524c a9 03 LDA #&03 &524e 8d 06 02 STA &0206 ; irq2_vector_low &5251 a9 07 LDA #&07 ; &0703 = to_irq_routine &5253 8d 07 02 STA &0207 ; irq2_vector_high &5256 a9 a0 LDA #&a0 # Enable timer 2 &5258 8d 6e fe STA &fe6e ; User VIA Interrupt control register &525b a9 00 LDA #&00 &525d 8d 6b fe STA &fe6b ; Auxiliary control register &5260 a9 00 LDA #&00 &5262 8d 20 02 STA &0220 ; event_interrupt_vector_low &5265 a9 07 LDA #&07 ; &0700 = to_event_routine &5267 8d 21 02 STA &0221 ; event_interrupt_vector_high &526a a2 04 LDX #&04 ; vsync event &526c a9 0e LDA #&0e ; Enable Event &526e 20 f4 ff JSR &fff4 ; OSBYTE &5271 a9 01 LDA #&01 &5273 8d 8a 02 STA &028a ; melody_active &5276 a9 06 LDA #&06 # R6: Vertical displayed register &5278 8d 00 fe STA &fe00 # Write to video controller (register number) &527b a9 15 LDA #&15 &527d 8d 01 fe STA &fe01 # Write to video controller (register value) &5280 a9 c0 LDA #&c0 &5282 85 e0 STA &e0 ; os_row_multiplication_table_low &5284 a9 0a LDA #&0a ; &0ac0 = screen_address_lookup_table &5286 85 e1 STA &e1 ; os_row_multiplication_table_high &5288 a2 00 LDX #&00 ; write_text_window_loop &528a bd 98 52 LDA &5298,X ; text_window_string &528d 20 ee ff JSR &ffee ; OSWRCH &5290 e8 INX &5291 e0 05 CPX #&05 &5293 d0 f5 BNE &528a ; write_text_window_loop &5295 4c 21 0b JMP &0b21 ; to_real_entry_point ; text_window_string &5298 1c 00 14 1f 00 ; define text window x:(&00, &1f), y:(&00, &14) ; unused &529d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52ad 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52bd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52cd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52dd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52ed 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &52fd 00 00 00 ; OS sound workspace &0800 12 00 00 00 00 00 00 00 c0 c0 c0 c0 04 04 04 04 &0810 07 5a ea 64 ff 02 ff ff 00 04 00 00 00 00 00 00 &0820 05 05 05 05 ff 30 ff ff 00 02 00 00 00 00 00 00 &0830 00 00 00 00 00 e6 00 00 ff ff c1 00 00 f0 00 0e ; OS sound buffers &0840 90 07 04 90 07 04 90 07 04 90 07 04 90 07 04 04 &0850 08 18 5a 08 18 5a 08 08 18 5a 08 18 5a 08 18 5a &0860 e2 01 b8 e4 01 b8 e6 01 b8 e8 01 b8 ea 01 01 b8 &0870 64 06 f8 00 00 f8 00 00 f8 00 00 f8 00 00 00 90 ; chan vol pitch dur &0880 12 00 f8 ff ea 00 01 00 ; sound_0 (game over) &0888 12 00 01 00 46 00 0a 00 ; sound_1 (player jumping) &0890 11 00 04 00 5a 00 08 00 ; sound_2 (player death) &0898 12 00 02 00 aa 00 0a 00 ; sound_3 (item collected) &08a0 10 00 03 00 05 00 0a 00 ; sound_4 (arrow fired) &08a8 10 00 f3 ff 07 00 04 00 ; sound_5 (player death) ; unused &08b0 00 00 00 00 00 00 00 00 00 00 00 00 00 ; previous_irq2_vector_low &08bd 89 ; previous_irq2_vector_high &08be de ; irq_counter &08bf 01 ; OS envelope storage area &08c0 02 04 04 04 0a 0a 0a 0a 00 00 ec 5a 5a 00 00 00 ; envelope_1 &08d0 02 00 00 00 0a 28 08 19 05 fb f6 7e 6e 00 00 00 ; envelope_2 &08e0 01 00 00 00 01 04 08 04 05 fb 9c 64 00 00 00 00 ; envelope_3 &08f0 04 0a 14 28 01 01 09 00 00 00 00 00 00 00 00 00 ; envelope_4 (melody) ; rope_x_delta_table &0900 02 01 01 02 02 02 02 02 02 01 02 02 02 01 02 02 &0910 02 02 01 02 02 01 01 02 01 01 03 02 02 03 02 03 &0920 02 03 03 03 03 03 01 00 ; rope_y_delta_table &0928 03 03 03 03 02 03 03 02 02 03 02 02 02 03 02 02 &0938 02 02 03 02 02 03 03 02 03 03 01 03 03 01 02 01 &0948 02 01 02 02 02 02 03 03 ; rope_pixels_screen_address_low_table &0950 01 b9 bf c4 c2 c8 cd d2 d0 dd da df e4 e1 e6 e3 &0960 e8 ed ea ef f4 f1 f6 f3 f8 fd fa ff 04 01 06 03 ; unused &0970 03 6c ; rope_pixels_screen_address_high_table &0972 30 46 44 44 44 44 42 42 42 40 40 3e 3e 3e 3c 3c &0982 3c 3a 3a 38 38 38 36 36 36 34 34 32 33 33 31 31 ; unused &0992 30 30 ; rope_pixels_x &0994 30 5d 5f 60 62 64 66 68 6a 6c 6d 6e 70 71 72 73 &09a4 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 80 80 80 ; unused &09b4 00 00 ; rope_pixels_y &09b6 00 59 57 54 52 50 4d 4a 48 45 42 3f 3c 39 36 33 &09c6 30 2d 2a 27 24 21 1e 1b 18 15 12 0f 0c 09 06 03 ; unused &09d6 00 00 ; unused # &09d8-&09ef is an used copy of &0ac0-&0ad7 &09d8 00 00 02 00 04 00 06 00 08 00 0a 00 0c 00 0e 00 &09e8 10 00 12 00 14 00 16 00 ; unused &09f0 00 ; background_tiles_colours &09f1 01 02 03 03 02 00 ; background_tiles_sprites &09f7 8d 8e 03 90 40 91 ; unused &09fd 00 00 00 ; enemies_sprite &0a00 00 1c 04 02 26 1c 0e 00 00 ; enemies_unpacked_sprite_offset &0a09 00 2a 4d 5a 2e 31 31 30 0d ; enemies_direction &0a12 00 00 00 ff 00 00 00 00 00 ; enemies_x &0a1b a8 3a e0 78 6c 2c 94 8a f8 ; enemies_y &0a24 68 18 68 70 18 48 60 ad 40 ; enemies_speed &0a2d 02 fe 00 00 fe 02 fe 2c ce ; enemies_minimum &0a36 86 00 00 78 68 10 00 bd 26 ; enemies_maximum &0a3f 0c e8 00 78 b0 38 a8 8d 81 ; enemies_colour &0a48 0a 02 03 01 02 01 03 20 f1 ; enemies_previous_tile_address_low &0a51 ff 47 9c 00 4d 05 72 c9 25 ; enemies_previous_speed &0a5a d0 fe 00 00 fe 02 fe a5 ec ; enemies_need_replot &0a63 02 ff ff 00 ff ff ff 7c 0a ; enemy_has_moved &0a6c c9 00 00 01 00 00 00 7c 0a ; unused code # &0a75-&0a7b is an unused copy of &076b-&0771 &0a75 68 PLA &0a76 a8 TAY &0a77 68 PLA &0a78 aa TAX &0a79 68 PLA &0a7a 28 PLP &0a7b 60 RTS ; arrow_timer &0a7c 00 00 ; arrow_y &0a7e 40 40 ; items_colour &0a80 02 01 01 01 01 01 01 01 01 01 01 01 ; items_screen_address_low &0a8c 70 20 40 60 70 90 b0 c9 a0 d0 06 8d ; items_screen_address_high &0a98 4b 49 49 49 49 49 49 68 aa 68 85 fc ; exit_rooms &0aa4 14 15 15 15 ; items_tile_address_low &0aa8 b7 92 94 96 97 99 9b 68 84 08 08 08 ; items_tile_address_high &0ab4 6f 6f 6f 6f 6f 6f 6f 08 08 08 08 08 ; screen_address_lookup_table &0ac0 00 00 02 00 04 00 06 00 08 00 0a 00 0c 00 0e 00 &0ad0 10 00 12 00 14 00 16 00 18 00 1a 00 1c 00 1e 00 &0ae0 20 00 22 00 24 00 26 00 28 00 2a 00 2c 00 2e 00 &0af0 30 00 32 00 34 00 36 00 38 00 3a 00 3c 00 3e 00 ; initial_zero_page_values &5600 0c 22 0c 22 00 30 00 30 e8 03 01 09 07 ff ff ff # Unused &5610 ff ff 0c 22 00 00 33 b4 1f 08 07 01 00 1f 00 00 &5620 00 ff ff ff 00 00 00 40 ff 00 8c 00 00 00 00 00 &5630 84 4f dc 64 a6 00 04 4d 00 00 00 00 00 81 80 00 &5640 00 00 00 00 00 00 00 00 00 00 00 6c 6c 04 ; &564d 8c ; life_y # These values are consistent with the player being in &564e fb ; space_tile # "Orangery" (room &11), but with room_data starting &564f 01 ; swimming_pool_item_collected # at &2b00 rather than &1f00 &5650 fd ; room_data_address_low &5651 2c ; room_data_address_high &5652 46 ; room_data_offset &5653 01 ; bits_remaining_in_room_data_byte &5654 00 ; room_data_byte &5655 11 ; player_room &5656 02 ; pages_of_tile_table_remaining_when_finding_conveyor &5657 88 ; game_timer &5658 04 ; conveyor_length &5659 c0 ; conveyor_screen_address_low &565a 45 ; conveyor_screen_address_high &565b 00 ; rope_position_relative_to_centre &565c 01 ; rope_velocity_relative_to_centre &565d b9 ; rope_end_x &565e 48 ; rope_end_y &565f d2 ; rope_position &5660 ef ; tile_address_low &5661 6e ; tile_address_high &5662 40 ; where_player_fell_from &5663 00 ; player_killed &5664 01 ; player_is_jumping &5665 02 ; player_jump_timer &5666 02 ; items_in_room_minus_one &5667 07 ; item_number &5668 80 ; tile &5669 00 ; player_conveyor_direction &566a fe ; conveyor_direction &566b 00 ; player_on_slope &566c 00 ; slope_direction &566d 00 ; do_triangle_ends &566e ff ; length &566f 00 ; room_contains_rope &5670 01 ; scrolltext_address_low &5671 3e ; scrolltext_address_high &5672 05 ; tile_type &5673 00 ; (unused) &5674 00 ; length &5675 00 ; start_x / previous_x &5676 ff ; previous_y / height &5677 01 ; x_delta &5678 01 ; y_delta &5679 00 ; width / enemy_to_consider &567a ff ; (various) &567b 81 ; (various) &567c 08 ; direction &567d 01 ; triangle_direction &567e ff ; x_skip &567f 00 ; triangle_length &5680 ff ; height &5681 f0 ; previous_tile_type / previous_y / room / conveyor_colour &5682 01 ; add_first_and_last &5683 08 ; direction_base &5684 00 ; unpacked_sprite_address_low &5685 75 ; unpacked_sprite_address_high &5686 10 ; unpacked_sprite_offset &5687 02 ; enemies_on_screen &5688 aa ; unpacked_byte_two &5689 85 ; sprite_colour &568a 00 ; enemy_to_consider &568b 00 ; player_started_jump &568c 78 ; player_x &568d 42 ; player_y &568e 00 ; player_horizontal_speed &568f ff ; (unused) &5690 f1 ; screen_address_low &5691 44 ; screen_address_high &5692 c0 ; sprite_address_low &5693 72 ; sprite_address_high &5694 3f ; sprite_size_in_bytes &5695 18 ; sprite_width &5696 05 ; (various) &5697 ff ; (various) &5698 07 ; seven # This value is used &5699 ff ; (unused) &569a 00 ; player_entered_room_falling_too_far &569b 07 ; player_lives &569c 00 ; player_not_plotted &569d 00 ; out_of_time &569e 00 ; house_clear &569f 00 : player_rope_pixel ; unused &56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &56f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &57f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5870 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &5890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &58f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; packed_enemy_sprites # 1 bit per pixel, 16x16, vertically inverted ; enemy_sprite_01_frame_0 &5a00 3c 76 ; ...#....#....... ; The Nightmare Room &5a02 43 8d ; ...#....#....... &5a04 80 02 ; ...#....#....... &5a06 80 01 ; ...#....#....... &5a08 84 09 ; ...#....#....... &5a0a 88 35 ; ...#....#....... &5a0c 48 42 ; ...#....#....... &5a0e 20 80 ; ..#.....#....... &5a10 20 80 ; ..#.....#....... &5a12 10 80 ; .#..#....#....#. &5a14 10 80 ; #...#.....##.#.# &5a16 10 80 ; #....#......#..# &5a18 10 80 ; #..............# &5a1a 10 80 ; #.............#. &5a1c 10 80 ; .#....###...##.# &5a1e 10 80 ; ..####...###.##. ; enemy_sprite_02_frame_0 &5a20 37 ec ; ..##.######.##.. ; Top Landing &5a22 77 ee ; .###.######.###. ; Ballroom East &5a24 00 00 ; ................ &5a26 6d 76 ; .##.########.##. &5a28 ee f7 ; ###.########.### &5a2a ed 77 ; ###.########.### &5a2c df fb ; ##.#.#.#.#.##.## &5a2e d5 5b ; ##.##.###.###.## &5a30 db bb ; ##.#.#.#.#.##.## &5a32 d5 5b ; ##.##########.## &5a34 ef f7 ; ###.##.#.###.### &5a36 ef f7 ; ###.###.####.### &5a38 6f f6 ; .##.##.#.###.##. &5a3a 00 00 ; ................ &5a3c 77 ee ; .###.######.###. &5a3e 37 ec ; ..##.######.##.. ; enemy_sprite_03_frame_0 &5a40 06 60 ; ......##........ ; Master Bedroom &5a42 02 40 ; ......####...... ; The Nightmare Room &5a44 02 40 ; .......####..... ; The Nightmare Room &5a46 0f f0 ; .......#.#...... ; The Nightmare Room &5a48 0f f0 ; .......####..... ; The Nightmare Room &5a4a 0f f0 ; .....####....... ; The Nightmare Room &5a4c 14 98 ; ...##########... &5a4e 37 6c ; ..############.. &5a50 3f fc ; ..##.###.##.##.. &5a52 1f f8 ; ...#.#..#..##... &5a54 07 80 ; ....########.... &5a56 01 e0 ; ....########.... &5a58 01 40 ; ....########.... &5a5a 01 e0 ; ......#..#...... &5a5c 03 c0 ; ......#..#...... &5a5e 03 00 ; .....##..##..... ; enemy_sprite_03_frame_1 &5a60 02 60 ; ......##........ &5a62 06 40 ; ......####...... &5a64 02 40 ; .......####..... &5a66 0f f0 ; .......#.#...... &5a68 0f f0 ; .......####..... &5a6a 0f f0 ; .....####....... &5a6c 14 98 ; ...##########... &5a6e 37 6c ; ..############.. &5a70 3f fc ; ..##.###.##.##.. &5a72 1f f8 ; ...#.#..#..##... &5a74 07 80 ; ....########.... &5a76 01 e0 ; ....########.... &5a78 01 40 ; ....########.... &5a7a 01 e0 ; ......#..#...... &5a7c 03 c0 ; .....##..#...... &5a7e 03 00 ; ......#..##..... ; enemy_sprite_03_frame_2 &5a80 06 60 ; ......##........ &5a82 02 40 ; ......####...... &5a84 02 40 ; .......####..... &5a86 0f f0 ; .......#.#...... &5a88 0f f0 ; .......####..... &5a8a 0f f0 ; .....####....... &5a8c 14 92 ; ...###########.. &5a8e 37 66 ; ..#############. &5a90 3f fe ; ..##.###.##..##. &5a92 1f fc ; ...#.#..#..#..#. &5a94 07 80 ; ....########.... &5a96 01 e0 ; ....########.... &5a98 01 40 ; ....########.... &5a9a 01 e0 ; ......#..#...... &5a9c 03 c0 ; ......#..#...... &5a9e 03 00 ; .....##..##..... ; enemy_sprite_03_frame_3 &5aa0 06 60 ; ......##........ &5aa2 02 40 ; ......####...... &5aa4 02 40 ; .......####..... &5aa6 0f f0 ; .......#.#...... &5aa8 0f f0 ; .......####..... &5aaa 0f f0 ; .....####....... &5aac 14 90 ; ...############# &5aae 37 60 ; ..#############. &5ab0 3f fe ; ..##.###.##..... &5ab2 1f ff ; ...#.#..#..#.... &5ab4 07 80 ; ....########.... &5ab6 01 e0 ; ....########.... &5ab8 01 40 ; ....########.... &5aba 01 e0 ; ......#..#...... &5abc 03 c0 ; ......#..#...... &5abe 03 00 ; .....##..##..... ; enemy_sprite_04_frame_0 &5ac0 0f fb ; ............#### ; The Bathroom &5ac2 0f fb ; ..........###### &5ac4 1f db ; ............#### &5ac6 1f df ; ..##........#### &5ac8 3f ee ; ....##......#### &5aca 3f f0 ; ......##....#### &5acc 3f f8 ; ........##..#### &5ace 00 08 ; ..........#.#### &5ad0 00 2f ; ............#... &5ad2 00 cf ; ..###########... &5ad4 03 0f ; ..##########.... &5ad6 0c 0f ; ..#########.###. &5ad8 30 0f ; ...#######.##### &5ada 00 0f ; ...#######.##.## &5adc 00 3f ; ....#########.## &5ade 00 0f ; ....#########.## ; enemy_sprite_04_frame_1 &5ae0 0f fb ; ............#### &5ae2 0f fb ; ..........###### &5ae4 1f db ; ............#### &5ae6 1f df ; ............#### &5ae8 3f ee ; ............#### &5aea 3f f0 ; ............#### &5aec 3f f8 ; ............#### &5aee 00 08 ; ..#########.#### &5af0 3f ef ; ............#... &5af2 00 0f ; ..###########... &5af4 00 0f ; ..##########.... &5af6 00 0f ; ..#########.###. &5af8 00 0f ; ...#######.##### &5afa 00 0f ; ...#######.##.## &5afc 00 3f ; ....#########.## &5afe 00 0f ; ....#########.## ; enemy_sprite_04_frame_2 &5b00 0f fb ; ......###.#.#### &5b02 0f fb ; .......##.###### &5b04 1f db ; .......##...#### &5b06 1f df ; .......##...#### &5b08 3f ee ; .########...#### &5b0a 3f f0 ; .########...#### &5b0c 3f f8 ; .#...#####..#### &5b0e 00 08 ; ....######..#### &5b10 0f cf ; ............#... &5b12 47 cf ; ..###########... &5b14 7f 8f ; ..##########.... &5b16 7f 8f ; ..#########.###. &5b18 01 8f ; ...#######.##### &5b1a 01 8f ; ...#######.##.## &5b1c 01 bf ; ....#########.## &5b1e 03 af ; ....#########.## ; enemy_sprite_04_frame_3 &5b20 0f fb ; ............#### &5b22 0f fb ; .....#....###### &5b24 1f db ; ...####...#.#### &5b26 1f df ; ..###.##..#.#### &5b28 3f ee ; .#.###.##...#### &5b2a 3f f0 ; ....###.#...#### &5b2c 3f f8 ; .....#####..#### &5b2e 00 08 ; ....######..#### &5b30 0f cf ; ............#... &5b32 07 cf ; ..###########... &5b34 0e 8f ; ..##########.... &5b36 5d 8f ; ..#########.###. &5b38 3b 2f ; ...#######.##### &5b3a 1e 2f ; ...#######.##.## &5b3c 04 3f ; ....#########.## &5b3e 00 0f ; ....#########.## ; enemy_sprite_05_frame_0 &5b40 00 00 ; ................ ; A bit of tree &5b42 00 00 ; ................ ; The Banyan Tree &5b44 2a aa ; ..#.#.#.#.#.#.#. &5b46 00 00 ; .############### &5b48 2a aa ; .############### &5b4a 00 00 ; .#####....###### &5b4c 7f ff ; .#####....###### &5b4e 7f ff ; .############### &5b50 7f ff ; .############### &5b52 7c 3f ; .############### &5b54 7c 3f ; ................ &5b56 7f ff ; ..#.#.#.#.#.#.#. &5b58 7f ff ; ................ &5b5a 2a aa ; ..#.#.#.#.#.#.#. &5b5c 00 00 ; ................ &5b5e 00 00 ; ................ ; enemy_sprite_05_frame_1 &5b60 04 00 ; .........#..#... &5b62 05 00 ; .......#..#.##.. &5b64 09 40 ; .....#..#.####.. &5b66 32 50 ; ...#..#.#######. &5b68 3c 94 ; .#..#.#########. &5b6a 7f 25 ; ..#.###..####### &5b6c 7f c9 ; #.####....###### &5b6e ff f2 ; #######..#####.. &5b70 fe 7c ; ############..#. &5b72 bc 3f ; .#########..#..# &5b74 2e 7f ; .#######..#..#.# &5b76 4b fe ; ..####..#..#.#.. &5b78 12 fe ; ..##..#..#.#.... &5b7a 04 bc ; ....#..#.#...... &5b7c 01 2c ; .....#.#........ &5b7e 00 48 ; .....#.......... ; enemy_sprite_05_frame_2 &5b80 00 00 ; ................ &5b82 10 08 ; .....######..... &5b84 17 e8 ; ....########.... &5b86 08 10 ; ...#.######.#... &5b88 17 e8 ; ....########.... &5b8a 0f f0 ; ...#.##..##.#... &5b8c 17 e8 ; ....###..###.... &5b8e 0f f0 ; ...#.##..##.#... &5b90 16 68 ; ....########.... &5b92 0e 70 ; ...#.######.#... &5b94 16 68 ; ....########.... &5b96 0f f0 ; ...#.######.#... &5b98 17 e8 ; ....#......#.... &5b9a 0f f0 ; ...#.######.#... &5b9c 07 e0 ; ...#........#... &5b9e 00 00 ; ................ ; enemy_sprite_05_frame_3 &5ba0 00 20 ; ...#..#......... &5ba2 00 a0 ; ..##.#..#....... &5ba4 02 90 ; ..####.#..#..... &5ba6 0a 4c ; .#######.#..#... &5ba8 29 3c ; .#########.#..#. &5baa a4 fe ; #######..###.#.. &5bac 93 fe ; ######....####.# &5bae 4f ff ; ..#####..####### &5bb0 3e 7f ; .#..############ &5bb2 fc 3d ; #..#..#########. &5bb4 fe 74 ; #.#..#..#######. &5bb6 7f d2 ; ..#.#..#..####.. &5bb8 7f 48 ; ....#.#..#..##.. &5bba 3d 20 ; ......#.#..#.... &5bbc 34 80 ; ........#.#..... &5bbe 12 00 ; ..........#..... ; enemy_sprite_06_frame_0 &5bc0 02 8a ; ................ ; The Banyan Tree &5bc2 01 54 ; ................ ; The Chapel &5bc4 20 d8 ; ................ &5bc6 20 db ; ......#.......#. &5bc8 24 f9 ; ..#...#.......#. &5bca 2e ab ; #.#.#..#.#.#.#.. &5bcc 3b ae ; #.#.#...##.##... &5bce 22 da ; .###...#.###.#.. &5bd0 71 74 ; ..#...#.##.##.#. &5bd2 a8 d8 ; ..###.###.#.###. &5bd4 a9 54 ; ..#.###.#.#.#.## &5bd6 22 02 ; ..#..#..#####..# &5bd8 02 02 ; ..#.....##.##.## &5bda 00 00 ; ..#.....##.##... &5bdc 00 00 ; .......#.#.#.#.. &5bde 00 00 ; ......#.#...#.#. ; enemy_sprite_06_frame_1 &5be0 00 00 ; ................ &5be2 04 00 ; ......#.......#. &5be4 06 8a ; ......#.......#. &5be6 09 54 ; .......#.###.#.. &5be8 08 d9 ; ........##.##... &5bea 18 d9 ; .#.#...#.#.#.#.. &5bec 1e f9 ; .#.#..#.#####.#. &5bee e7 ab ; ..#...####.####. &5bf0 23 de ; ###..####.#.#.## &5bf2 52 fa ; ...####.#####..# &5bf4 51 54 ; ...##...##.##..# &5bf6 00 d8 ; ....#...##.##..# &5bf8 01 74 ; ....#..#.#.#.#.. &5bfa 02 02 ; .....##.#...#.#. &5bfc 02 02 ; .....#.......... &5bfe 00 00 ; ................ ; enemy_sprite_06_frame_2 &5c00 00 40 ; ......#.......#. &5c02 00 80 ; ......###...###. &5c04 01 00 ; ........#####... &5c06 02 8a ; .......#.#.#.#.. &5c08 05 54 ; ......#.##.##.#. &5c0a 6c d8 ; ......#########. &5c0c 96 f8 ; ...#...##...#.## &5c0e 2b fb ; .#..#.###.#.#..# &5c10 4b a9 ; ..#.#.#######.## &5c12 11 8b ; #..#.##.#####... &5c14 03 fe ; .##.##..##.##... &5c16 02 da ; .....#.#.#.#.#.. &5c18 01 54 ; ......#.#...#.#. &5c1a 00 f8 ; .......#........ &5c1c 03 8e ; ........#....... &5c1e 02 02 ; .........#...... ; enemy_sprite_06_frame_3 &5c20 00 00 ; ................ &5c22 04 00 ; ......#.......#. &5c24 06 8a ; ......#.......#. &5c26 09 54 ; .......#.###.#.. &5c28 08 d9 ; ........##.##... &5c2a 18 d9 ; .#.#...#.#.#.#.. &5c2c 1e f9 ; .#.#..#.#####.#. &5c2e e7 ab ; ..#...####.####. &5c30 23 de ; ###..####.#.#.## &5c32 52 fa ; ...####.#####..# &5c34 51 54 ; ...##...##.##..# &5c36 00 d8 ; ....#...##.##..# &5c38 01 74 ; ....#..#.#.#.#.. &5c3a 02 02 ; .....##.#...#.#. &5c3c 02 02 ; .....#.......... &5c3e 00 00 ; ................ ; enemy_sprite_07_frame_0 &5c40 20 04 ; ..#..........#.. ; West Wing &5c42 3b dc ; #.#.###.###.##.. ; The Chapel &5c44 a0 04 ; #.###.##.#####.# ; East Wall Base &5c46 fd b7 ; ###..........### &5c48 a2 44 ; #.####.##.##.#.# &5c4a 3b 7c ; #.#..........#.. &5c4c 20 04 ; ..###.##.#####.. &5c4e 1d b0 ; ................ &5c50 00 00 ; ...###.##.##.... &5c52 3b 7c ; ..#..........#.. &5c54 a0 04 ; ..###.##.#####.. &5c56 bd b5 ; #.#...#..#...#.. &5c58 e0 07 ; ######.##.##.### &5c5a bb 7d ; #.#..........#.. &5c5c ae ec ; ..###.####.###.. &5c5e 20 04 ; ..#..........#.. ; enemy_sprite_07_frame_1 &5c60 20 04 ; ..#..........#.. &5c62 b7 ec ; ..##.####.##.#.. &5c64 bd b5 ; #.#..........#.. &5c66 e0 07 ; #####.##.####### &5c68 bb 7d ; #.#..........#.. &5c6a a2 44 ; ..####.##.##.#.. &5c6c 3d b4 ; ..#..........#.. &5c6e 00 00 ; ...##.##.####... &5c70 1b 78 ; ................ &5c72 20 04 ; ..####.##.##.#.. &5c74 3d b4 ; #.#...#..#...#.. &5c76 a0 04 ; #.###.##.#####.# &5c78 fb 7f ; ###..........### &5c7a a0 04 ; #.####.##.##.#.# &5c7c 37 b4 ; #.##.######.##.. &5c7e 20 04 ; ..#..........#.. ; enemy_sprite_07_frame_2 &5c80 20 04 ; ..#..........#.. &5c82 3d ed ; ..###.#.##.###.. &5c84 a0 05 ; ..####.##.####.# &5c86 fb 77 ; ###..........### &5c88 a2 45 ; ..###.##.###.#.# &5c8a 3d bd ; ..#..........#.. &5c8c 20 04 ; ..####.##.####.. &5c8e 1b 70 ; ................ &5c90 00 00 ; ...##.##.###.... &5c92 3d bc ; ..#..........#.. &5c94 20 04 ; ..####.##.####.# &5c96 3b 75 ; #.#...#..#...#.# &5c98 e0 07 ; #####.##.###.### &5c9a 3d bd ; #.#..........#.# &5c9c 3a dc ; ..####.####.##.# &5c9e 20 04 ; ..#..........#.. ; enemy_sprite_07_frame_3 &5ca0 20 04 ; ..#..........#.. &5ca2 2e ec ; ..###.##.###.#.# &5ca4 3b 75 ; #.#..........#.# &5ca6 e0 07 ; ######.##.###### &5ca8 3d bd ; #.#..........#.# &5caa 24 84 ; ..###.##.###.#.# &5cac 3b 74 ; ..#..........#.. &5cae 00 00 ; ...###.##.###... &5cb0 1d b8 ; ................ &5cb2 20 04 ; ..###.##.###.#.. &5cb4 3b 75 ; ..#..#..#....#.. &5cb6 a0 05 ; ..####.##.####.# &5cb8 fd bf ; ###..........### &5cba a0 05 ; ..###.##.###.#.# &5cbc 3b 75 ; ..#.###.###.##.. &5cbe 20 04 ; ..#..........#.. ; enemy_sprite_08_frame_0 &5cc0 0f f0 ; ....########.... ; Orangery &5cc2 17 e8 ; ...#.######.#... ; The Banyan Tree &5cc4 18 18 ; ...##......##... &5cc6 33 cc ; ..##.#####..##.. &5cc8 24 24 ; ..#.#.....#..#.. &5cca 69 92 ; .#.#..###..#..#. &5ccc 6a 4a ; .##..#...#..#.#. &5cce aa 2b ; #.#.#..#..#.#.## &5cd0 a9 2b ; #.#.#.#...#.#.## &5cd2 64 4a ; .##.#.#..#..#.#. &5cd4 53 92 ; .##.#..##..#..#. &5cd6 28 24 ; ..#..#....#..#.. &5cd8 37 cc ; ..##..####..##.. &5cda 18 18 ; ...##......##... &5cdc 17 e8 ; ...#.######.#... &5cde 0f f0 ; ....########.... ; enemy_sprite_08_frame_1 &5ce0 07 80 ; ........###..... &5ce2 08 78 ; .....#######.... &5ce4 13 f4 ; ..###......##... &5ce6 24 0c ; .###..####..##.. &5ce8 49 e4 ; .##..#....#..##. &5cea d2 12 ; .#..#..##..#..## &5cec d4 ca ; .#.#..#..#..#.## &5cee d5 2a ; ##.#.#....#.#.## &5cf0 d4 2b ; ##.#.#.#..#.#.#. &5cf2 52 4b ; ##.#.#..##..#.#. &5cf4 49 93 ; ##.#..#....#..#. &5cf6 64 26 ; .#..#..####..#.. &5cf8 73 cc ; ..#..#......##.. &5cfa 38 18 ; ...#..######.#.. &5cfc 07 f0 ; ....#....####... &5cfe 00 e0 ; .....####....... ; enemy_sprite_08_frame_2 &5d00 01 80 ; .......##....... &5d02 07 e0 ; .....######..... &5d04 18 18 ; ...##......##... &5d06 73 e6 ; .###..####..###. &5d08 e4 13 ; #.#..#....#..#.# &5d0a c9 c9 ; ##..#..##..#.#.# &5d0c d2 25 ; ##.#..#..#.#.#.# &5d0e d4 95 ; ##.#.#...#.#.#.# &5d10 d4 55 ; ##.#.#..#..#.#.# &5d12 d2 55 ; ##.#..#...#..#.# &5d14 c9 95 ; ##..#..###..#..# &5d16 a4 25 ; ###..#.....#..## &5d18 73 ce ; .###..#####..##. &5d1a 18 18 ; ...##......##... &5d1c 07 e0 ; .....######..... &5d1e 01 80 ; .......##....... ; enemy_sprite_08_frame_3 &5d20 01 e0 ; .....###........ &5d22 1f f0 ; ....#...###..... &5d24 28 18 ; ...#######.###.. &5d26 33 cc ; ..##......#..##. &5d28 24 26 ; .##..####..#..#. &5d2a 49 93 ; ##..#....#..#.#. &5d2c 52 4b ; ##.#..##..#.#.#. &5d2e 54 2b ; ##.#.#..#.#.#.## &5d30 d4 ab ; .#.#.#....#.#.## &5d32 d3 2a ; .#.#..#..#..#.## &5d34 c8 4a ; .#..#..##..#..## &5d36 67 92 ; ..#..#....#..##. &5d38 30 26 ; ..##..####..##.. &5d3a 1f dc ; ..#.#......##... &5d3c 08 e0 ; ...#########.... &5d3e 07 00 ; .......####..... ; enemy_sprite_09_frame_0 &5d40 80 40 ; ....##.......... ; Coservatory Roof &5d42 80 40 ; ....##.......... ; On a Branch Over the Drive &5d44 c0 c0 ; ....##.......... ; Tool Shed &5d46 c0 c0 ; ....##.......... &5d48 61 80 ; ....##.......... &5d4a 61 80 ; ...####......... &5d4c 73 80 ; ...#..#......... &5d4e 3f 00 ; ..##..##........ &5d50 33 00 ; ..######........ &5d52 12 00 ; .###..###....... &5d54 1e 00 ; .##....##....... &5d56 0c 00 ; .##....##....... &5d58 0c 00 ; ##......##...... &5d5a 0c 00 ; ##......##...... &5d5c 0c 00 ; #........#...... &5d5e 0c 00 ; #........#...... ; enemy_sprite_09_frame_1 &5d60 80 04 ; ....#....#...... &5d62 80 04 ; ....#....#...... &5d64 c0 0c ; ....##..##...... &5d66 40 08 ; .....#..#....... &5d68 60 18 ; .....####....... &5d6a 60 18 ; .....####....... &5d6c 30 30 ; ....##..##...... &5d6e 3b 70 ; ...###..###..... &5d70 1c e0 ; ..###.##.###.... &5d72 0c c0 ; ..##......##.... &5d74 07 80 ; .##........##... &5d76 07 80 ; .##........##... &5d78 04 80 ; .#..........#... &5d7a 0c c0 ; ##..........##.. &5d7c 08 40 ; #............#.. &5d7e 08 40 ; #............#.. ; enemy_sprite_09_frame_2 &5d80 20 01 ; ......#....#.... &5d82 20 01 ; ......#....#.... &5d84 30 03 ; ......##..##.... &5d86 10 02 ; .......#..#..... &5d88 18 06 ; .......####..... &5d8a 18 06 ; .......####..... &5d8c 0c 0c ; ......##..##.... &5d8e 0e dc ; .....###..###... &5d90 07 38 ; ....###.##.###.. &5d92 03 30 ; ....##......##.. &5d94 01 e0 ; ...##........##. &5d96 01 e0 ; ...##........##. &5d98 01 20 ; ...#..........#. &5d9a 03 30 ; ..##..........## &5d9c 02 10 ; ..#............# &5d9e 02 10 ; ..#............# ; enemy_sprite_09_frame_3 &5da0 02 01 ; ..........##.... &5da2 02 01 ; ..........##.... &5da4 03 03 ; ..........##.... &5da6 03 03 ; ..........##.... &5da8 01 86 ; ..........##.... &5daa 01 86 ; .........####... &5dac 01 ce ; .........#..#... &5dae 00 fc ; ........##..##.. &5db0 00 cc ; ........######.. &5db2 00 48 ; .......###..###. &5db4 00 78 ; .......##....##. &5db6 00 30 ; .......##....##. &5db8 00 30 ; ......##......## &5dba 00 30 ; ......##......## &5dbc 00 30 ; ......#........# &5dbe 00 30 ; ......#........# ; enemy_sprite_0a_frame_0 &5dc0 00 00 ; ................ ; Top Landing &5dc2 00 00 ; ................ ; West Bedroom &5dc4 00 00 ; ................ ; Tree Root &5dc6 7f fe ; .##############. &5dc8 40 02 ; .#............#. &5dca ff ff ; ################ &5dcc de 7b ; ##.####..####.## &5dce c0 03 ; ##............## &5dd0 c0 03 ; ##............## &5dd2 de 7b ; ##.####..####.## &5dd4 ff ff ; ################ &5dd6 40 02 ; .#............#. &5dd8 7f fe ; .##############. &5dda 00 00 ; ................ &5ddc 00 00 ; ................ &5dde 00 00 ; ................ ; enemy_sprite_0a_frame_1 &5de0 00 50 ; ....#.#......... &5de2 00 b8 ; ...###.#........ &5de4 01 6c ; ..##.##.#....... &5de6 02 e6 ; .##..###.#...... &5de8 05 c3 ; ##....###.#..... &5dea 0b 8e ; .###...###.#.... &5dec 16 1d ; #.###....##.#... &5dee 2c 3a ; .#.###....##.#.. &5df0 5c 34 ; ..#.##....###.#. &5df2 b8 68 ; ...#.##....###.# &5df4 71 d0 ; ....#.###...###. &5df6 c3 a0 ; .....#.###....## &5df8 67 40 ; ......#.###..##. &5dfa 36 80 ; .......#.##.##.. &5dfc 1d 00 ; ........#.###... &5dfe 0a 00 ; .........#.#.... ; enemy_sprite_0a_frame_2 &5e00 07 e0 ; .....######..... &5e02 1f f8 ; ...##########... &5e04 14 28 ; ...#.#....#.#... &5e06 16 68 ; ...#.##..##.#... &5e08 16 68 ; ...#.##..##.#... &5e0a 16 68 ; ...#.##..##.#... &5e0c 16 68 ; ...#.##..##.#... &5e0e 14 28 ; ...#.#....#.#... &5e10 14 28 ; ...#.#....#.#... &5e12 16 68 ; ...#.##..##.#... &5e14 16 68 ; ...#.##..##.#... &5e16 16 68 ; ...#.##..##.#... &5e18 16 68 ; ...#.##..##.#... &5e1a 14 28 ; ...#.#....#.#... &5e1c 1f f8 ; ...##########... &5e1e 07 e0 ; .....######..... ; enemy_sprite_0a_frame_3 &5e20 0a 00 ; .........#.#.... &5e22 1d 00 ; ........#.###... &5e24 36 80 ; .......#.##.##.. &5e26 67 40 ; ......#.###..##. &5e28 c3 a0 ; .....#.###....## &5e2a 71 d0 ; ....#.###...###. &5e2c b8 68 ; ...#.##....###.# &5e2e 5c 34 ; ..#.##....###.#. &5e30 2c 3a ; .#.###....##.#.. &5e32 16 1d ; #.###....##.#... &5e34 0b 8e ; .###...###.#.... &5e36 05 c3 ; ##....###.#..... &5e38 02 e6 ; .##..###.#...... &5e3a 01 6c ; ..##.##.#....... &5e3c 00 b8 ; ...###.#........ &5e3e 00 50 ; ....#.#......... ; enemy_sprite_0b_frame_0 &5e40 e7 00 ; .######......... ; Coservatory Roof &5e42 a5 00 ; #..##..#........ ; Halfway up the East Wall &5e44 c3 00 ; ########........ ; To the Kitchens Main Stairway &5e46 a5 00 ; #......#........ ; The Bow &5e48 e7 00 ; .######......... &5e4a 81 00 ; ...##........... &5e4c 42 00 ; ..#..#.......... &5e4e 42 00 ; ..#..#.......... &5e50 24 00 ; .#....#......... &5e52 24 00 ; .#....#......... &5e54 18 00 ; #......#........ &5e56 7e 00 ; ###..###........ &5e58 81 00 ; #.#..#.#........ &5e5a ff 00 ; ##....##........ &5e5c 99 00 ; #.#..#.#........ &5e5e 7e 00 ; ###..###........ ; enemy_sprite_0b_frame_1 &5e60 e0 70 ; ................ &5e62 a0 50 ; ...######....... &5e64 c0 30 ; ..#..##..#...... &5e66 a0 50 ; ..###..###...... &5e68 e0 70 ; ..##....##...... &5e6a 80 10 ; ...######....... &5e6c 40 20 ; ....#..#........ &5e6e 20 40 ; ...#....#....... &5e70 10 80 ; ..#......#...... &5e72 09 00 ; .#........#..... &5e74 1f 80 ; #..........#.... &5e76 30 c0 ; ###......###.... &5e78 39 c0 ; #.#......#.#.... &5e7a 26 40 ; ##........##.... &5e7c 1f 80 ; #.#......#.#.... &5e7e 00 00 ; ###......###.... ; enemy_sprite_0b_frame_2 &5e80 e0 07 ; ................ &5e82 a0 05 ; ................ &5e84 c0 03 ; ................ &5e86 a0 05 ; .....######..... &5e88 e0 07 ; ....#..##..#.... &5e8a 80 01 ; ....###..###.... &5e8c 60 06 ; ....###..###.... &5e8e 1b d8 ; .....##..##..... &5e90 06 60 ; ...##.####.##... &5e92 0e 70 ; .##..........##. &5e94 0e 70 ; #..............# &5e96 09 90 ; ###..........### &5e98 07 e0 ; #.#..........#.# &5e9a 00 00 ; ##............## &5e9c 00 00 ; #.#..........#.# &5e9e 00 00 ; ###..........### ; enemy_sprite_0b_frame_3 &5ea0 0e 07 ; ................ &5ea2 0a 05 ; .......######... &5ea4 0c 03 ; ......#..##..#.. &5ea6 0a 05 ; ......###..###.. &5ea8 0e 07 ; ......##....##.. &5eaa 08 01 ; .......######... &5eac 04 02 ; ........#..#.... &5eae 02 04 ; .......#....#... &5eb0 01 08 ; ......#......#.. &5eb2 00 90 ; .....#........#. &5eb4 01 f8 ; ....#..........# &5eb6 03 0c ; ....###......### &5eb8 03 9c ; ....#.#......#.# &5eba 02 64 ; ....##........## &5ebc 01 f8 ; ....#.#......#.# &5ebe 00 00 ; ....###......### ; enemy_sprite_0c_frame_0 &5ec0 ff c0 ; ....##.......... ; Under the Drive &5ec2 5d 80 ; ...#..#......... &5ec4 5d 80 ; ..#....#...#.... &5ec6 ff c0 ; ...#..#...#..... &5ec8 00 00 ; #...##...#...... &5eca 5f 80 ; .#.#..#.#....... &5ecc 5f 80 ; ..#.####........ &5ece 5f 80 ; ..#.####........ &5ed0 2f 00 ; .#.######....... &5ed2 2f 00 ; .#.######....... &5ed4 52 80 ; .#.######....... &5ed6 8c 40 ; ................ &5ed8 12 20 ; ##########...... &5eda 21 10 ; .#.###.##....... &5edc 12 00 ; .#.###.##....... &5ede 0c 00 ; ##########...... ; enemy_sprite_0c_frame_1 &5ee0 3f f0 ; ...............# &5ee2 1b b0 ; ..............#. &5ee4 1b b0 ; #.....##.....#.. &5ee6 3f f0 ; .#..##..##..#... &5ee8 00 00 ; ..#...##...#.... &5eea 17 e0 ; ...#.#..#.#..... &5eec 17 e0 ; ....#.####...... &5eee 17 e0 ; ....#.####...... &5ef0 0b c0 ; ...#.######..... &5ef2 0b c0 ; ...#.######..... &5ef4 14 a0 ; ...#.######..... &5ef6 23 10 ; ................ &5ef8 4c c8 ; ..##########.... &5efa 83 04 ; ...##.###.##.... &5efc 00 02 ; ...##.###.##.... &5efe 00 01 ; ..##########.... ; enemy_sprite_0c_frame_2 &5f00 0f fc ; #............... &5f02 0b 74 ; .#.............. &5f04 0b 74 ; ..#............# &5f06 0f fc ; ...#...####...#. &5f08 00 00 ; ....#...##...#.. &5f0a 05 f8 ; .....#.#..#.#... &5f0c 05 f8 ; ......#.####.... &5f0e 05 f8 ; ......#.####.... &5f10 02 f0 ; .....#.######... &5f12 02 f0 ; .....#.######... &5f14 05 28 ; .....#.######... &5f16 08 c4 ; ................ &5f18 11 e2 ; ....##########.. &5f1a 20 01 ; ....#.##.###.#.. &5f1c 40 00 ; ....#.##.###.#.. &5f1e 80 00 ; ....##########.. ; enemy_sprite_0c_frame_3 &5f20 03 ff ; ................ &5f22 02 ed ; ................ &5f24 02 ed ; ....#.....##.... &5f26 03 ff ; .....#..##..##.. &5f28 00 00 ; ......#...##...# &5f2a 01 7e ; .......#.#..#.#. &5f2c 01 7e ; ........#.####.. &5f2e 01 7e ; ........#.####.. &5f30 00 bc ; .......#.######. &5f32 00 bc ; .......#.######. &5f34 01 4a ; .......#.######. &5f36 02 31 ; ................ &5f38 04 cc ; ......########## &5f3a 08 30 ; ......#.###.##.# &5f3c 00 00 ; ......#.###.##.# &5f3e 00 00 ; ......########## ; enemy_sprite_0d_frame_0 &5f40 38 00 ; ..###........... ; Under the Roof &5f42 6c 00 ; .#####.......... ; Top Landing &5f44 7f 00 ; .######......... ; Tool Shed &5f46 fc c0 ; .##.##.##....... &5f48 ff 30 ; .#...#...#...... &5f4a fc cc ; .##.##...#...... &5f4c 7c 32 ; .#####....#..... &5f4e 7c 0c ; .#####.......... &5f50 7c 00 ; .#####......##.. &5f52 7c 20 ; .#####....##..#. &5f54 6c 40 ; ######..##..##.. &5f56 44 40 ; ########..##.... &5f58 6d 80 ; ######..##...... &5f5a 7e 00 ; .#######........ &5f5c 7c 00 ; .##.##.......... &5f5e 38 00 ; ..###........... ; enemy_sprite_0d_frame_1 &5f60 0e 00 ; ....###..##..... &5f62 1b 00 ; ...######..#.#.. &5f64 1f 00 ; ...#####....#... &5f66 7f 00 ; ...##.##..#..... &5f68 9f 80 ; ...#...#.#.#.... &5f6a df 80 ; ...##.##.#.#.... &5f6c df 40 ; ...######.#..... &5f6e 7f 40 ; ...######.#..... &5f70 1f a0 ; .#######.#...... &5f72 1f a0 ; ##.#####.#...... &5f74 1b 50 ; ##.######....... &5f76 11 50 ; #..######....... &5f78 1b 20 ; .#######........ &5f7a 1f 08 ; ...#####........ &5f7c 1f 94 ; ...##.##........ &5f7e 0e 60 ; ....###......... ; enemy_sprite_0d_frame_2 &5f80 03 80 ; ......###....... &5f82 06 c0 ; .....#####...... &5f84 07 c0 ; .....######..... &5f86 07 c0 ; .....##.##.##... &5f88 07 c0 ; .....#...#...#.. &5f8a 77 c0 ; ....###.##...#.. &5f8c 8f c0 ; .#########....#. &5f8e ef c0 ; ###.######...... &5f90 ef c0 ; ###.######...... &5f92 7f c2 ; #...######...... &5f94 0e c4 ; .###.#####...... &5f96 04 44 ; .....#####...... &5f98 06 d8 ; .....#####...... &5f9a 07 e0 ; .....#####...... &5f9c 07 c0 ; .....##.##...... &5f9e 03 80 ; ......###....... ; enemy_sprite_0d_frame_3 &5fa0 00 e0 ; ........###..... &5fa2 01 b0 ; .......#####.... &5fa4 01 f0 ; .......#####.... &5fa6 07 f0 ; .......##.##..#. &5fa8 09 f8 ; .......#...#.#.# &5faa 0d f8 ; .......##.##.#.# &5fac 0d f4 ; .......######.#. &5fae 07 f4 ; .......######.#. &5fb0 01 fa ; .....#######.#.. &5fb2 01 fa ; ....##.#####.#.. &5fb4 01 b5 ; ....##.######... &5fb6 01 15 ; ....#..######... &5fb8 01 b2 ; .....#######.... &5fba 01 f0 ; .......#####.... &5fbc 01 f0 ; .......##.##.... &5fbe 00 e0 ; ........###..... ; enemy_sprite_0e_frame_0 &5fc0 0c 00 ; ....##.......... ; Back Stairway &5fc2 3f 00 ; ...#.##......... ; To the Kitchens Main Stairway &5fc4 5d 80 ; ..#.####........ ; Cuckoo's Nest &5fc6 5a 80 ; ..#.####........ ; The Drive &5fc8 bd 40 ; .#..#####....... &5fca ba c0 ; .#.######....... &5fcc bd c0 ; .#.######....... &5fce bf c0 ; #..#######...... &5fd0 9f c0 ; #.########...... &5fd2 5f 80 ; #.####.###...... &5fd4 5f 80 ; #.###.#.##...... &5fd6 4f 80 ; #.####.#.#...... &5fd8 2f 00 ; .#.##.#.#....... &5fda 2f 00 ; .#.###.##....... &5fdc 16 00 ; ..######........ &5fde 0c 00 ; ....##.......... ; enemy_sprite_0e_frame_1 &5fe0 0e 00 ; ................ &5fe2 3f 80 ; ................ &5fe4 5d 40 ; ................ &5fe6 5a c0 ; .........###.... &5fe8 bd 60 ; ......###..##... &5fea be a0 ; ....##...####... &5fec bf f0 ; ..##..#######... &5fee 5f f0 ; .#...#######.... &5ff0 47 f0 ; .#.#########.... &5ff2 33 f8 ; #.##########.... &5ff4 0c 78 ; #.#####.#.#..... &5ff6 03 98 ; #.####.#.##..... &5ff8 00 70 ; .#.##.#.##...... &5ffa 00 00 ; .#.###.#.#...... &5ffc 00 00 ; ..#######....... &5ffe 00 00 ; ....###......... ; enemy_sprite_0e_frame_2 &6000 03 c0 ; ................ &6002 1f f8 ; ................ &6004 23 54 ; ................ &6006 5f ae ; ................ &6008 5f 56 ; ......####...... &600a bf ef ; ...###...####... &600c 9f ff ; ..#....#######.. &600e 5f fe ; .#..###########. &6010 4f fe ; .#.############. &6012 21 fc ; #..############# &6014 1c 78 ; #.#########.#### &6016 03 c0 ; .#.#####.#.#.##. &6018 00 00 ; .#.######.#.###. &601a 00 00 ; ..#...##.#.#.#.. &601c 00 00 ; ...##########... &601e 00 00 ; ......####...... ; enemy_sprite_0e_frame_3 &6020 00 70 ; ................ &6022 01 8c ; ................ &6024 02 7e ; ................ &6026 02 ea ; ....###......... &6028 05 d7 ; ...#.#####...... &602a 05 eb ; ...#.#######.... &602c 0b d7 ; ...#..########.. &602e 0b fe ; ....#.#########. &6030 0b fe ; ....#.#########. &6032 13 fc ; ....#.####.#.### &6034 17 f0 ; .....#.####.#.## &6036 17 c0 ; .....#.###.#.### &6038 0e 00 ; ......#.###.#.#. &603a 00 00 ; ......#..######. &603c 00 00 ; .......##...##.. &603e 00 00 ; .........###.... ; enemy_sprite_0f_frame_0 &6040 03 80 ; .....#####...... ; The Attic &6042 03 00 ; ...##.....##.... ; The Attic &6044 03 00 ; ..#...###...#... ; The Attic &6046 03 00 ; .#...#...#...#.. ; The Attic &6048 07 c0 ; #...#.....#...#. ; The Attic &604a 18 30 ; #..#.......#..## &604c 23 88 ; #..#.......#..## &604e 44 44 ; #...#.....#...#. &6050 88 22 ; .#...#...#...#.. &6052 90 13 ; ..#...###...#... &6054 90 13 ; ...##.....##.... &6056 88 22 ; .....#####...... &6058 44 44 ; ......##........ &605a 23 88 ; ......##........ &605c 18 30 ; ......##........ &605e 07 c0 ; ......###....... ; enemy_sprite_0f_frame_1 &6060 04 40 ; .....#####...... &6062 08 e0 ; ...##.....##.... &6064 1d d0 ; ..#.........#... &6066 0f 80 ; .#....###....#.. &6068 07 c0 ; #....#...#....#. &606a 18 30 ; #...#.....#...## &606c 20 08 ; #...#.....#...## &606e 43 84 ; #....#...#....#. &6070 84 42 ; .#....###....#.. &6072 88 23 ; ..#.........#... &6074 88 23 ; ...##.....##.... &6076 84 42 ; .....#####...... &6078 43 84 ; ....#####....... &607a 20 08 ; ...###.###.#.... &607c 18 30 ; ....#...###..... &607e 07 c0 ; .....#...#...... ; enemy_sprite_10_frame_0 &6080 00 00 ; .....#####...... ; The Attic &6082 00 00 ; ...#########.... &6084 07 c0 ; ..#####..####... &6086 1f f0 ; .#####....####.. &6088 3f f8 ; .######..#####.. &608a 7f fc ; ###############. &608c 7f f0 ; ###############. &608e ff 80 ; ####............ &6090 f0 00 ; #########....... &6092 ff fe ; .###########.... &6094 ff fe ; .#############.. &6096 7e 7c ; ..###########... &6098 7c 3c ; ...#########.... &609a 3e 78 ; .....#####...... &609c 1f f0 ; ................ &609e 07 c0 ; ................ ; enemy_sprite_10_frame_1 &60a0 00 00 ; .....#####...... &60a2 00 00 ; ...#########.... &60a4 07 c0 ; ..####..#####... &60a6 1f f0 ; .####....#####.. &60a8 3f e0 ; .#####..######.. &60aa 7f 80 ; #########....... &60ac 7e 00 ; ######.......... &60ae f8 00 ; ####............ &60b0 f0 00 ; #####........... &60b2 fc 00 ; .######......... &60b4 ff 80 ; .########....... &60b6 7c fc ; ..#########..... &60b8 78 7c ; ...#########.... &60ba 3c f8 ; .....#####...... &60bc 1f f0 ; ................ &60be 07 c0 ; ................ ; enemy_sprite_11_frame_0 &60c0 08 c0 ; .....#####...... ; Rescue Esmerelda &60c2 14 80 ; ....#.....#..... &60c4 0f e0 ; ....#.#.#.#..... &60c6 05 40 ; ....#.....#..... &60c8 02 80 ; ....#.###.#..... &60ca 07 c0 ; ...#.......#.... &60cc 46 c4 ; ..#..#.#.#..#... &60ce 3d 78 ; ....#.#.#.#..... &60d0 0a a0 ; ..####.#.####... &60d2 25 48 ; .#...##.##...#.. &60d4 10 10 ; .....#####...... &60d6 0b a0 ; ......#.#....... &60d8 08 20 ; .....#.#.#...... &60da 0a a0 ; ....#######..... &60dc 08 20 ; ...#.#..#....... &60de 07 c0 ; ....#...##...... ; enemy_sprite_11_frame_1 &60e0 06 20 ; .....#####...... &60e2 02 50 ; ....#.....#..... &60e4 0f e0 ; ....#.#.#.#..... &60e6 05 40 ; ....#.....#..... &60e8 0a a0 ; ..###..#..###... &60ea 17 d0 ; ................ &60ec 16 d0 ; .....#.#.#...... &60ee 1d 70 ; ....#.#.#.#..... &60f0 0a a0 ; ...###.#.###.... &60f2 05 40 ; ...#.##.##.#.... &60f4 00 00 ; ...#.#####.#.... &60f6 39 38 ; ....#.#.#.#..... &60f8 08 20 ; .....#.#.#...... &60fa 0a a0 ; ....#######..... &60fc 08 20 ; ......#..#.#.... &60fe 07 c0 ; .....##...#..... ; enemy_sprite_12_frame_0 &6100 00 00 ; .......##....... ; West Wing &6102 0d b0 ; ................ ; The Hall &6104 12 48 ; .......##....... &6106 23 c4 ; .#...#.##..#...# &6108 cd b3 ; .......##....... &610a cd b3 ; #...#..##.#...#. &610c cd b3 ; .#...#.##..#...# &610e cd b3 ; .......##....... &6110 01 80 ; ##..##.##.##..## &6112 45 91 ; ##..##.##.##..## &6114 89 a2 ; ##..##.##.##..## &6116 01 80 ; ##..##.##.##..## &6118 45 91 ; ..#...####...#.. &611a 01 80 ; ...#..#..#..#... &611c 00 00 ; ....##.##.##.... &611e 01 80 ; ................ ; enemy_sprite_12_frame_1 &6120 00 00 ; .......##....... &6122 0d b0 ; ................ &6124 12 48 ; .......##....... &6126 23 c4 ; #...#..##.#...#. &6128 cd b3 ; .......##....... &612a cd b3 ; .#...#.##..#...# &612c cd b3 ; #...#..##.#...#. &612e cd b3 ; .......##....... &6130 01 80 ; ##..##.##.##..## &6132 89 a2 ; ##..##.##.##..## &6134 45 91 ; ##..##.##.##..## &6136 01 80 ; ##..##.##.##..## &6138 89 a2 ; ..#...####...#.. &613a 01 80 ; ...#..#..#..#... &613c 00 00 ; ....##.##.##.... &613e 01 80 ; ................ ; enemy_sprite_13_frame_0 &6140 0e 00 ; ..............## ; On top of the house &6142 3f 80 ; ............#### ; The Yacht &6144 7f c0 ; ...........##### &6146 ff e0 ; #.........###### &6148 ff f0 ; ##.......####### &614a df fc ; ##.#...######### &614c d3 ff ; .#.############# &614e cf ff ; #..############# &6150 9f ff ; ##..############ &6152 5f ff ; ##.#..########## &6154 d1 ff ; ##.###########.. &6156 c0 7f ; ############.... &6158 80 3f ; ###########..... &615a 00 1f ; .#########...... &615c 00 0f ; ..#######....... &615e 00 03 ; ....###......... ; enemy_sprite_13_frame_1 &6160 00 e0 ; ................ &6162 03 f8 ; ................ &6164 07 fc ; .#.#...........# &6166 8f fe ; ##.##.........## &6168 ff ff ; #..###.......### &616a ff ff ; .#..####...##### &616c ff ff ; ##.#.########### &616e ff ff ; ##.##.########## &6170 db ff ; ################ &6172 d7 ff ; ################ &6174 4f 1f ; ################ &6176 9c 07 ; ################ &6178 d8 03 ; #...###########. &617a 50 01 ; .....#########.. &617c 00 00 ; ......#######... &617e 00 00 ; ........###..... ; enemy_sprite_13_frame_2 &6180 00 0e ; ................ &6182 00 1f ; ......###....... &6184 70 3f ; .....#####...... &6186 f8 3f ; #...######...... &6188 fc 7f ; ##.########..... &618a ff ff ; ##.##.######...# &618c df ff ; .#.#.########### &618e df ff ; #...############ &6190 8f ff ; ##.############# &6192 57 ff ; ##.############# &6194 db f1 ; ################ &6196 df e0 ; ######...####### &6198 8f c0 ; #####.....###### &619a 07 c0 ; .###......###### &619c 03 80 ; ...........##### &619e 00 00 ; ............###. ; enemy_sprite_13_frame_3 &61a0 00 00 ; ..........###... &61a2 38 00 ; ........#######. &61a4 7c 00 ; .......######### &61a6 fe 00 ; #.....########## &61a8 ff 01 ; ##...########### &61aa df c7 ; ##.############# &61ac df ff ; .#.############# &61ae c7 ff ; #..##.########## &61b0 9b ff ; ##...########### &61b2 5f ff ; ##.############# &61b4 df ff ; ##.#######...### &61b6 c7 ff ; ########.......# &61b8 83 ff ; #######......... &61ba 01 ff ; .#####.......... &61bc 00 fe ; ..###........... &61be 00 38 ; ................ ; enemy_sprite_14_frame_0 &61c0 02 c0 ; ......####...... ; Nomem Luni &61c2 0b f0 ; ....###.####.... ; Dr Jones will never believe this &61c4 16 78 ; ...###.######... ; Orangery &61c6 38 1c ; ..#####.######.. ; Back Stairway &61c8 53 ca ; .#.#..####..###. ; On a Branch Over the Drive &61ca 6e 76 ; .##..#.##.#..##. ; Under the Drive &61cc 55 ef ; #.#..#....#..### &61ce bf f7 ; .###...##...#### &61d0 71 8f ; #.##########.### &61d2 a4 27 ; .#.#.#.####.#### &61d4 65 a6 ; .##.###..###.##. &61d6 53 ce ; .#.#..####..#.#. &61d8 3e fc ; ..###......###.. &61da 1d f8 ; ...#.##..####... &61dc 0e f0 ; ....#.######.... &61de 03 c0 ; ......#.##...... ; enemy_sprite_14_frame_1 &61e0 02 c0 ; ......####...... &61e2 0b f0 ; ....##.#####.... &61e4 1c 38 ; ...##.#.#####... &61e6 38 1c ; ..############.. &61e8 72 4e ; .#.#...##...##.. &61ea 5f fa ; .##..#....#..##. &61ec aa 77 ; ##...#.##.#..### &61ee 5d bb ; #.##..####..#### &61f0 b3 cf ; .#.###.##.###.## &61f2 c5 a7 ; #.#.#.#..###.### &61f4 64 26 ; .#.##########.#. &61f6 51 8c ; .###..#..#..###. &61f8 3f fc ; ..###......###.. &61fa 1a f8 ; ...###....###... &61fc 0d f0 ; ....#.######.... &61fe 03 c0 ; ......#.##...... ; enemy_sprite_14_frame_2 &6200 03 c0 ; ......####...... &6202 0b f0 ; ....#.######.... &6204 16 78 ; ...#.#.#.####... &6206 2c 3c ; ..############.. &6208 5a 5e ; .#.#........##.. &620a 2c 3a ; .##..#.##.#..##. &620c dd f7 ; ##...######..### &620e be 7f ; ####...##...#### &6210 f1 8f ; #.#####..####### &6212 c7 e7 ; ##.###.#####.### &6214 65 a6 ; ..#.##....###.#. &6216 50 0c ; .#.##.#..#.####. &6218 3f fc ; ..#.##....####.. &621a 15 78 ; ...#.##..####... &621c 0b f0 ; ....#.######.... &621e 03 c0 ; ......####...... ; enemy_sprite_14_frame_3 &6220 02 c0 ; ......####...... &6222 0b f0 ; ....##.#####.... &6224 1c 38 ; ...##.#.#####... &6226 38 1c ; ..############.. &6228 72 4e ; .#.#...##...##.. &622a 5f fa ; .##..#....#..##. &622c aa 77 ; ##...#.##.#..### &622e 5d bb ; #.##..####..#### &6230 b3 cf ; .#.###.##.###.## &6232 c5 a7 ; #.#.#.#..###.### &6234 64 26 ; .#.##########.#. &6236 51 8c ; .###..#..#..###. &6238 3f fc ; ..###......###.. &623a 1a f8 ; ...###....###... &623c 0d f0 ; ....#.######.... &623e 03 c0 ; ......#.##...... ; enemy_sprite_15_frame_0 &6240 38 00 ; ....###......... ; Swimming Pool &6242 18 00 ; ...#.#.#........ ; First Landing &6244 7f 00 ; ..#.#.#.#....... ; The Chapel &6246 6f 00 ; ...#.###........ ; The Wine Cellar &6248 7f 00 ; ########........ ; The Wine Cellar &624a 2a 00 ; ...#.##......... ; The Wine Cellar &624c 7f 00 ; ....##.......... ; The Forgotten Abbey &624e 3f 80 ; ...######....... ; The Forgotten Abbey &6250 1f 80 ; ..#######....... ; The Forgotten Abbey &6252 0c 00 ; .#######........ ; The Forgotten Abbey &6254 16 00 ; ..#.#.#......... ; The Forgotten Abbey &6256 ff 00 ; .#######........ ; The Forgotten Abbey &6258 17 00 ; .##.####........ ; The Forgotten Abbey &625a 2a 80 ; .#######........ &625c 15 00 ; ...##........... &625e 0e 00 ; ..###........... ; enemy_sprite_15_frame_1 &6260 38 00 ; ......###....... &6262 18 80 ; .....#.#.#...... &6264 1f c0 ; ....#.#.#.#..... &6266 1b c0 ; .....#.###...... &6268 1f c0 ; .#########...... &626a 0a 80 ; .....#.##....... &626c 1f c0 ; ......##........ &626e 0f e0 ; .....######..... &6270 07 e0 ; ....#######..... &6272 03 00 ; ...#######...... &6274 05 80 ; ....#.#.#....... &6276 7f c0 ; ...#######...... &6278 05 c0 ; ...##.####...... &627a 0a a0 ; ...#######...... &627c 05 40 ; ...##...#....... &627e 03 80 ; ..###........... ; enemy_sprite_15_frame_2 &6280 00 60 ; ........###..... &6282 06 30 ; .......#.#.#.... &6284 07 f0 ; ......#.#.#.#... &6286 06 f0 ; .......#.###.... &6288 07 f0 ; ....########.... &628a 02 a0 ; .......#.##..... &628c 07 f0 ; ........##...... &628e 03 f8 ; .......######... &6290 01 f8 ; ......#######... &6292 00 c0 ; .....#######.... &6294 01 60 ; ......#.#.#..... &6296 0f f0 ; .....#######.... &6298 01 70 ; .....##.####.... &629a 02 a8 ; .....#######.... &629c 01 50 ; .....##...##.... &629e 00 e0 ; .........##..... ; enemy_sprite_15_frame_3 &62a0 00 38 ; ..........###... &62a2 01 18 ; .........#.#.#.. &62a4 01 fc ; ........#.#.#.#. &62a6 01 bc ; .........#.###.. &62a8 01 fc ; .......#######.. &62aa 00 a8 ; .........#.##... &62ac 01 fc ; ..........##.... &62ae 00 fe ; .........######. &62b0 00 7e ; ........#######. &62b2 00 30 ; .......#######.. &62b4 00 58 ; ........#.#.#... &62b6 01 fc ; .......#######.. &62b8 00 5c ; .......##.####.. &62ba 00 aa ; .......#######.. &62bc 00 54 ; .......#...##... &62be 00 38 ; ..........###... ; enemy_sprite_15_frame_4 &62c0 1c 00 ; ...###.......... &62c2 18 80 ; ..#.#.#......... &62c4 3f 80 ; .#.#.#.#........ &62c6 3d 80 ; ..###.#......... &62c8 3f 80 ; ..#######....... &62ca 15 00 ; ...##.#......... &62cc 3f 80 ; ....##.......... &62ce 7f 00 ; .######......... &62d0 7e 00 ; .#######........ &62d2 0c 00 ; ..#######....... &62d4 1a 00 ; ...#.#.#........ &62d6 3f 80 ; ..#######....... &62d8 3a 00 ; ..####.##....... &62da 55 00 ; ..#######....... &62dc 2a 00 ; ...##...#....... &62de 1c 00 ; ...###.......... ; enemy_sprite_15_frame_5 &62e0 06 00 ; .....###........ &62e2 0c 60 ; ....#.#.#....... &62e4 0f e0 ; ...#.#.#.#...... &62e6 0f 60 ; ....###.#....... &62e8 0f e0 ; ....########.... &62ea 05 40 ; .....##.#....... &62ec 0f e0 ; ......##........ &62ee 1f c0 ; ...######....... &62f0 1f 80 ; ...#######...... &62f2 03 00 ; ....#######..... &62f4 06 80 ; .....#.#.#...... &62f6 0f f0 ; ....#######..... &62f8 0e 80 ; ....####.##..... &62fa 15 40 ; ....#######..... &62fc 0a 80 ; ....##...##..... &62fe 07 00 ; .....##......... ; enemy_sprite_15_frame_6 &6300 00 1c ; .......###...... &6302 01 18 ; ......#.#.#..... &6304 03 f8 ; .....#.#.#.#.... &6306 03 d8 ; ......###.#..... &6308 03 f8 ; ......#########. &630a 01 50 ; .......##.#..... &630c 03 f8 ; ........##...... &630e 07 f0 ; .....######..... &6310 07 e0 ; .....#######.... &6312 00 c0 ; ......#######... &6314 01 a0 ; .......#.#.#.... &6316 03 fe ; ......#######... &6318 03 a0 ; ......####.##... &631a 05 50 ; ......#######... &631c 02 a0 ; .......#...##... &631e 01 c0 ; ...........###.. ; enemy_sprite_15_frame_7 &6320 00 1c ; .........###.... &6322 00 18 ; ........#.#.#... &6324 00 fe ; .......#.#.#.#.. &6326 00 f6 ; ........###.#... &6328 00 fe ; ........######## &632a 00 54 ; .........##.#... &632c 00 fe ; ..........##.... &632e 01 fc ; .......######... &6330 01 f8 ; .......#######.. &6332 00 30 ; ........#######. &6334 00 68 ; .........#.#.#.. &6336 00 ff ; ........#######. &6338 00 e8 ; ........####.##. &633a 01 54 ; ........#######. &633c 00 a8 ; ...........##... &633e 00 70 ; ...........###.. ; enemy_sprite_16_frame_0 &6340 0d 00 ; ................ ; West Wing Roof &6342 1f 00 ; ................ ; The Banyan Tree &6344 3f 00 ; ................ ; Out on a limb &6346 06 00 ; ................ ; Cuckoo's Nest &6348 00 00 ; ................ ; The Yacht &634a 00 00 ; ................ ; Tool Shed &634c 00 00 ; ................ ; The Wine Cellar &634e 00 00 ; ................ ; At the Foot of the Megatree &6350 00 00 ; ................ &6352 00 00 ; ................ &6354 00 00 ; ................ &6356 00 00 ; ................ &6358 00 00 ; .....##......... &635a 00 00 ; ..######........ &635c 00 00 ; ...#####........ &635e 00 00 ; ....##.#........ ; enemy_sprite_16_frame_1 &6360 87 20 ; ................ &6362 0f 20 ; ................ &6364 03 20 ; ................ &6366 07 40 ; ................ &6368 4f 40 ; ................ &636a 03 40 ; ................ &636c 07 40 ; ................ &636e 0f c0 ; .......##....... &6370 01 80 ; ....######...... &6372 00 00 ; .....###.#...... &6374 00 00 ; ......##.#...... &6376 00 00 ; .#..####.#...... &6378 00 00 ; .....###.#...... &637a 00 00 ; ......##..#..... &637c 00 00 ; ....####..#..... &637e 00 00 ; #....###..#..... ; enemy_sprite_16_frame_2 &6380 20 c4 ; .........##..... &6382 01 c4 ; ......######.... &6384 0b c4 ; .......###.#.... &6386 00 c8 ; ........##.#.... &6388 21 c8 ; ......####.#.... &638a 0b c8 ; .......###.#.... &638c 00 c8 ; ........##..#... &638e 01 c8 ; ......####..#... &6390 03 c8 ; .......###..#... &6392 00 c8 ; ........##..#... &6394 01 d0 ; ....#.####..#... &6396 03 d0 ; ..#....###..#... &6398 00 d0 ; ........##..#... &639a 01 d0 ; ....#.####...#.. &639c 03 f0 ; .......###...#.. &639e 00 60 ; ..#.....##...#.. ; enemy_sprite_16_frame_3 &63a0 04 fa ; ................ &63a2 00 3a ; ................ &63a4 02 7a ; ................ &63a6 00 fa ; ................ &63a8 01 36 ; ................ &63aa 00 74 ; ...........##... &63ac 00 f4 ; ........######.. &63ae 00 34 ; .........###.#.. &63b0 00 74 ; ..........##.#.. &63b2 00 fc ; ........####.#.. &63b4 00 18 ; .........###.#.. &63b6 00 00 ; .......#..##.##. &63b8 00 00 ; ........#####.#. &63ba 00 00 ; ......#..####.#. &63bc 00 00 ; ..........###.#. &63be 00 00 ; .....#..#####.#. ; enemy_sprite_16_frame_4 &63c0 58 00 ; ................ &63c2 7c 00 ; ................ &63c4 7e 00 ; ................ &63c6 30 00 ; ................ &63c8 00 00 ; ................ &63ca 00 00 ; ................ &63cc 00 00 ; ................ &63ce 00 00 ; ................ &63d0 00 00 ; ................ &63d2 00 00 ; ................ &63d4 00 00 ; ................ &63d6 00 00 ; ................ &63d8 00 00 ; ..##............ &63da 00 00 ; .######......... &63dc 00 00 ; .#####.......... &63de 00 00 ; .#.##........... ; enemy_sprite_16_frame_5 &63e0 27 08 ; ................ &63e2 27 80 ; ................ &63e4 26 10 ; ................ &63e6 17 00 ; ................ &63e8 17 80 ; ................ &63ea 16 00 ; ................ &63ec 17 00 ; ................ &63ee 1f 80 ; ....##.......... &63f0 0c 00 ; ...######....... &63f2 00 00 ; ...#.###........ &63f4 00 00 ; ...#.##......... &63f6 00 00 ; ...#.####....... &63f8 00 00 ; ...#.###........ &63fa 00 00 ; ..#..##....#.... &63fc 00 00 ; ..#..####....... &63fe 00 00 ; ..#..###....#... ; enemy_sprite_16_frame_6 &6400 11 82 ; ......##........ &6402 11 c0 ; .....######..... &6404 11 e8 ; .....#.###...... &6406 09 80 ; .....#.##....... &6408 09 c2 ; .....#.####..... &640a 09 e8 ; .....#.###...... &640c 09 80 ; ....#..##....... &640e 09 d0 ; ....#..####..... &6410 09 e0 ; ....#..###.#.... &6412 09 80 ; ....#..##....... &6414 05 c0 ; ....#..####.#... &6416 05 e0 ; ....#..###....#. &6418 05 80 ; ....#..##....... &641a 05 c0 ; ...#...####.#... &641c 07 e0 ; ...#...###...... &641e 03 00 ; ...#...##.....#. ; enemy_sprite_16_frame_7 &6420 02 78 ; ................ &6422 02 61 ; ................ &6424 02 70 ; ................ &6426 02 78 ; ................ &6428 02 60 ; ................ &642a 01 70 ; ........##...... &642c 01 78 ; .......######... &642e 01 60 ; .......#.###.... &6430 01 70 ; .......#.##..... &6432 01 f8 ; .......#.####... &6434 00 c0 ; .......#.###.... &6436 00 00 ; ......#..##..... &6438 00 00 ; ......#..####... &643a 00 00 ; ......#..###.... &643c 00 00 ; ......#..##....# &643e 00 00 ; ......#..####... ; enemy_sprite_17_frame_0 &6440 00 00 ; ................ ; Emergency Generator &6442 00 00 ; ................ ; The Nightmare Room &6444 05 00 ; ................ ; The Hall &6446 08 80 ; ................ ; Tree Top &6448 1f a0 ; ................ ; Under the Megatree &644a fd 40 ; ...#..##.#...... &644c fa a0 ; ...#.####....... &644e 55 40 ; ..########...... &6450 3f c0 ; .#.#.#.#.#...... &6452 17 80 ; #####.#.#.#..... &6454 13 40 ; ######.#.#...... &6456 00 00 ; ...######.#..... &6458 00 00 ; ....#...#....... &645a 00 00 ; .....#.#........ &645c 00 00 ; ................ &645e 00 00 ; ................ ; enemy_sprite_17_frame_1 &6460 00 14 ; ................ &6462 00 28 ; ................ &6464 02 54 ; ................ &6466 02 a8 ; ................ &6468 07 50 ; ................ &646a 3e a8 ; ....#...##.#.... &646c 3d 50 ; .....#.####..... &646e 16 b0 ; ....########.... &6470 0f f0 ; ...#.##.#.##.... &6472 05 e0 ; ..####.#.#.#.... &6474 08 d0 ; ..#####.#.#.#... &6476 00 00 ; .....###.#.#.... &6478 00 00 ; ......#.#.#.#... &647a 00 00 ; ......#..#.#.#.. &647c 00 00 ; ..........#.#... &647e 00 00 ; ...........#.#.. ; enemy_sprite_17_frame_2 &6480 00 00 ; ................ &6482 00 00 ; ................ &6484 01 04 ; ................ &6486 00 88 ; ................ &6488 01 fa ; ................ &648a 0f d4 ; ......#...##.#.. &648c 0f aa ; .......#.####... &648e 05 54 ; ......########.. &6490 03 fc ; .....#.#.#.#.#.. &6492 01 78 ; ....#####.#.#.#. &6494 02 34 ; ....######.#.#.. &6496 00 00 ; .......######.#. &6498 00 00 ; ........#...#... &649a 00 00 ; .......#.....#.. &649c 00 00 ; ................ &649e 00 00 ; ................ ; enemy_sprite_17_frame_3 &64a0 00 00 ; ..............## &64a2 00 00 ; ............#.#. &64a4 00 22 ; ...........#.#.# &64a6 00 22 ; ............#.#. &64a8 00 7e ; ...........#.#.# &64aa 03 ff ; ........#.#.#.## &64ac 03 eb ; .........#.#.##. &64ae 01 55 ; ........###.#.## &64b0 00 eb ; .......#.#.#.#.# &64b2 00 56 ; ......#####.#.## &64b4 00 ab ; ......########## &64b6 00 15 ; .........######. &64b8 00 0a ; ..........#...#. &64ba 00 15 ; ..........#...#. &64bc 00 0a ; ................ &64be 00 03 ; ................ ; enemy_sprite_17_frame_4 &64c0 00 00 ; #............... &64c2 00 00 ; .#.#............ &64c4 44 00 ; #.#.#........... &64c6 44 00 ; .#.#............ &64c8 7e 00 ; #.#.#........... &64ca ff c0 ; ##.#.#.#........ &64cc d7 c0 ; .##.#.#......... &64ce aa 80 ; ##.#.###........ &64d0 d7 00 ; #.#.#.#.#....... &64d2 6a 00 ; ##.#.#####...... &64d4 d5 00 ; ##########...... &64d6 a8 00 ; .######......... &64d8 50 00 ; .#...#.......... &64da a8 00 ; .#...#.......... &64dc 50 00 ; ................ &64de 80 00 ; ................ ; enemy_sprite_17_frame_5 &64e0 00 00 ; ................ &64e2 00 00 ; ................ &64e4 20 80 ; ................ &64e6 11 00 ; ................ &64e8 5f 80 ; ................ &64ea 2b f0 ; ..#.##...#...... &64ec 55 f0 ; ...####.#....... &64ee 2a a0 ; ..########...... &64f0 3f c0 ; ..#.#.#.#.#..... &64f2 1e 80 ; .#.#.#.#####.... &64f4 2c 40 ; ..#.#.######.... &64f6 00 00 ; .#.######....... &64f8 00 00 ; ...#...#........ &64fa 00 00 ; ..#.....#....... &64fc 00 00 ; ................ &64fe 00 00 ; ................ ; enemy_sprite_17_frame_6 &6500 28 00 ; ................ &6502 14 00 ; ................ &6504 2a 40 ; ................ &6506 15 40 ; ................ &6508 0a e0 ; ................ &650a 15 7c ; ....#.##...#.... &650c 0a bc ; .....####.#..... &650e 0d 68 ; ....########.... &6510 0f f0 ; ....##.#.##.#... &6512 07 a0 ; ....#.#.#.####.. &6514 0b 10 ; ...#.#.#.#####.. &6516 00 00 ; ....#.#.###..... &6518 00 00 ; ...#.#.#.#...... &651a 00 00 ; ..#.#.#..#...... &651c 00 00 ; ...#.#.......... &651e 00 00 ; ..#.#........... ; enemy_sprite_17_frame_7 &6520 00 00 ; ................ &6522 00 00 ; ................ &6524 00 a0 ; ................ &6526 01 10 ; ................ &6528 05 f8 ; ................ &652a 02 bf ; ......#.##..#... &652c 05 5f ; .......####.#... &652e 02 aa ; ......########.. &6530 03 fc ; ......#.#.#.#.#. &6532 01 e8 ; .....#.#.#.##### &6534 02 c8 ; ......#.#.###### &6536 00 00 ; .....#.######... &6538 00 00 ; .......#...#.... &653a 00 00 ; ........#.#..... &653c 00 00 ; ................ &653e 00 00 ; ................ ; enemy_sprite_18_frame_0 &6540 c0 e0 ; ....#.#.#.#..... ; West of Kitchen &6542 ce c0 ; ...#.#.#.#.#.... ; West of Kitchen &6544 47 c2 ; ....#.#.#.#..... ; West of Kitchen &6546 ae e2 ; .....#.#.#....#. ; West of Kitchen &6548 ef e3 ; .....#.#.#...#.# ; The Kitchen &654a 7b bf ; .....#.#.#...#.# ; The Kitchen &654c 3c 7f ; .....#####....#. ; The Kitchen &654e 0f e3 ; ....##.#.##...#. ; The Kitchen &6550 0d 62 ; ....#######...## &6552 07 c2 ; ..####...####### &6554 05 45 ; .####.###.###### &6556 05 45 ; ###.#######...## &6558 05 42 ; #.#.###.###...#. &655a 0a a0 ; .#...#####....#. &655c 15 50 ; ##..###.##...... &655e 0a a0 ; ##......###..... ; enemy_sprite_18_frame_1 &6560 0e 02 ; ##.............. &6562 06 e2 ; ##..#.#.#.#..... &6564 07 c2 ; ##.#.#.#.#.#.... &6566 0e e3 ; ##..#.#.#.#..... &6568 0f ef ; .#...#.#.#...... &656a 3a bf ; .#...#.#.#....#. &656c 7c 7a ; #.#..#####...#.# &656e 6f e2 ; ##..##.#.##..#.# &6570 cd 65 ; .##.#######...#. &6572 a7 c5 ; .#####...####.#. &6574 45 42 ; ..###.#.#.###### &6576 45 40 ; ....#######.#### &6578 ca a0 ; ....###.###...## &657a d5 50 ; .....#####....#. &657c ca a0 ; .....##.###...#. &657e c0 00 ; ....###.......#. ; enemy_sprite_19_frame_0 &6580 7f fe ; ......##........ ; Above the West Bedroom &6582 af 79 ; .....#..#....... ; West Bedroom &6584 2f 78 ; .....#.###...... ; Tree Root &6586 2f 78 ; ....#.###.#..... &6588 2f 78 ; ...#.#.#.#...... &658a 2f 78 ; ...#.###.##..... &658c 2d 68 ; ...#.###.##..... &658e 13 90 ; ...########..... &6590 1f e0 ; ...#..###..#.... &6592 17 60 ; ..#.##.#.##.#... &6594 17 60 ; ..#.####.####... &6596 15 40 ; ..#.####.####... &6598 0b a0 ; ..#.####.####... &659a 05 c0 ; ..#.####.####... &659c 04 80 ; #.#.####.####..# &659e 03 00 ; .##############. ; enemy_sprite_19_frame_1 &65a0 7f fe ; ........##...... &65a2 97 bd ; .......#..#..... &65a4 17 bc ; .......#.###.... &65a6 17 bc ; ......#.###.#... &65a8 17 bc ; .....#.#.#.#.... &65aa 17 bc ; .....#.###.##... &65ac 16 b4 ; .....#.###.##... &65ae 09 c8 ; .....########... &65b0 07 f8 ; ....#..###..#... &65b2 05 d8 ; ...#.##.#.##.#.. &65b4 05 d8 ; ...#.####.####.. &65b6 05 50 ; ...#.####.####.. &65b8 02 e8 ; ...#.####.####.. &65ba 01 70 ; ...#.####.####.. &65bc 01 20 ; #..#.####.####.# &65be 00 c0 ; .##############. ; enemy_sprite_1a_frame_0 &65c0 6e 00 ; .###.##......... ; Back Stairway &65c2 00 00 ; ................ ; To the Kitchens Main Stairway &65c4 76 00 ; .##.###......... ; To the Kitchens Main Stairway &65c6 6e 00 ; .###.##......... &65c8 00 00 ; .##.###......... &65ca 00 00 ; ................ &65cc 76 00 ; .###.##......... &65ce 00 00 ; .##.###......... &65d0 6e 00 ; ................ &65d2 76 00 ; .###.##......... &65d4 00 00 ; ................ &65d6 6e 00 ; ................ &65d8 76 00 ; .##.###......... &65da 6e 00 ; .###.##......... &65dc 00 00 ; ................ &65de 76 00 ; .##.###......... ; enemy_sprite_1a_frame_1 &65e0 1d 80 ; ...###.##....... &65e2 24 00 ; ..#.#.#......... &65e4 2b 60 ; ..#..###.##..... &65e6 4b b0 ; .#.#...##.##.... &65e8 55 00 ; .#..#.####.#.... &65ea 91 00 ; #..#....#....... &65ec aa d8 ; #.#.#.#.###.#... &65ee 91 80 ; #..#.#..#.###... &65f0 94 b8 ; #..#...##....... &65f2 aa e8 ; #.#.#.#.##.##... &65f4 90 80 ; #..#...#........ &65f6 4b d0 ; .#.#.#.#........ &65f8 51 b0 ; .#..#.###.##.... &65fa 27 60 ; ..#.#.##.##..... &65fc 2a 00 ; ..#..#.......... &65fe 1d 80 ; ...###.##....... ; enemy_sprite_1a_frame_2 &6600 03 c0 ; ......####...... &6602 0d 70 ; ....##....##.... &6604 12 88 ; ...#....#..##... &6606 28 54 ; ..##..#....#.#.. &6608 55 0a ; .##.#...#.....#. &660a 48 42 ; .#........#.#.#. &660c 9a 05 ; #.##.#.#...#...# &660e a4 91 ; ##..#....#...#.# &6610 c8 45 ; #.#..#..#..#...# &6612 b5 11 ; #..##.#......#.# &6614 40 2a ; .#..#....#....#. &6616 68 82 ; .#.#.#.#....#.#. &6618 32 14 ; ..#.#....#.#.#.. &661a 10 98 ; ...#..#.#...#... &661c 0c 30 ; ....##.#.###.... &661e 03 c0 ; ......####...... ; enemy_sprite_1a_frame_3 &6620 01 b8 ; .......##.###... &6622 00 24 ; .........#.#.#.. &6624 06 d4 ; .....##.###..#.. &6626 0d d2 ; ....##.##...#.#. &6628 00 aa ; ....#.####.#..#. &662a 00 89 ; .......#....#..# &662c 1b 55 ; ...#.###.#.#.#.# &662e 01 89 ; ...###.#..#.#..# &6630 1d 29 ; .......##...#..# &6632 17 55 ; ...##.##.#.#.#.# &6634 01 09 ; ........#...#..# &6636 0b d2 ; ........#.#.#.#. &6638 0d 8a ; ....##.###.#..#. &663a 06 e4 ; .....##.##.#.#.. &663c 00 54 ; ..........#..#.. &663e 01 b8 ; .......##.###... ; enemy_sprite_1b_frame_0 &6640 60 00 ; ................ ; On the Roof &6642 18 00 ; .....##......... ; Ballroom West &6644 0e c0 ; ....#........... ; Under the Megatree &6646 1f c0 ; ..###........... ; Tree Root &6648 1f 00 ; .#.#............ &664a 9f 00 ; ####............ &664c 7e 00 ; #####........... &664e 3e 00 ; ..####.......... &6650 3c 00 ; ..#####......... &6652 f8 00 ; .######......... &6654 f0 00 ; #..#####........ &6656 50 00 ; ...#####........ &6658 38 00 ; ...#######...... &665a 08 00 ; ....###.##...... &665c 06 00 ; ...##........... &665e 00 00 ; .##............. ; enemy_sprite_1b_frame_1 &6660 04 00 ; ................ &6662 02 00 ; ................ &6664 01 00 ; ....####........ &6666 03 b0 ; ...#.#..#....... &6668 07 f0 ; ..####.......... &666a 0f c0 ; ....###......... &666c 2f c0 ; ..######........ &666e 1f 80 ; ....#####....... &6670 0f 80 ; ...######....... &6672 3f 00 ; ..#.######...... &6674 0e 00 ; ....######...... &6676 3c 00 ; .....#######.... &6678 14 80 ; ......###.##.... &667a 0f 00 ; .......#........ &667c 00 00 ; ......#......... &667e 00 00 ; .....#.......... ; enemy_sprite_1b_frame_2 &6680 06 00 ; ................ &6682 01 80 ; .........##..... &6684 00 ec ; ........#....... &6686 01 fc ; ......###....... &6688 01 f0 ; ....##.#........ &668a 09 f0 ; .....###........ &668c 07 e0 ; ......###....... &668e 0b e0 ; .....#####...... &6690 07 c0 ; ....#.#####..... &6692 03 80 ; .....######..... &6694 07 00 ; ....#..#####.... &6696 0d 00 ; .......#####.... &6698 03 80 ; .......#######.. &669a 00 80 ; ........###.##.. &669c 00 60 ; .......##....... &669e 00 00 ; .....##......... ; enemy_sprite_1b_frame_3 &66a0 00 f0 ; ................ &66a2 00 3b ; ................ &66a4 00 7f ; .............#.. &66a6 00 7c ; ............#... &66a8 00 7c ; .........###.... &66aa 01 fc ; ........#.#..... &66ac 00 78 ; .......####..... &66ae 01 f8 ; .........###.... &66b0 00 70 ; .......######... &66b2 01 e0 ; .........####... &66b4 00 a0 ; .......#######.. &66b6 00 70 ; .........#####.. &66b8 00 08 ; .........#####.. &66ba 00 04 ; .........####### &66bc 00 00 ; ..........###.## &66be 00 00 ; ........####.... ; enemy_sprite_1b_frame_4 &66c0 06 00 ; .....#.......... &66c2 1c 00 ; .....#.......... &66c4 56 00 ; ....##.......... &66c6 7f 00 ; ....##.......... &66c8 3f 00 ; ...#.##......... &66ca 3f 00 ; ...####......... &66cc 3f 00 ; ..#####......... &66ce 9e 00 ; .##.##.......... &66d0 6c 00 ; #..####......... &66d2 3e 00 ; ..######........ &66d4 1e 00 ; ..######........ &66d6 16 00 ; ..######........ &66d8 0c 00 ; .#######........ &66da 0c 00 ; .#.#.##......... &66dc 04 00 ; ...###.......... &66de 04 00 ; .....##......... ; enemy_sprite_1b_frame_5 &66e0 01 00 ; .....#..#....... &66e2 03 80 ; ....#....#...... &66e4 1d 80 ; ...#..##..#..... &66e6 0f c0 ; ...#..##..#..... &66e8 0f c0 ; ...#.####.#..... &66ea 0f c0 ; ...#..##..#..... &66ec 0f c0 ; ...########..... &66ee 27 90 ; ...##.##.##..... &66f0 1b 60 ; ..#..####..#.... &66f2 1f e0 ; ....######...... &66f4 13 20 ; ....######...... &66f6 17 a0 ; ....######...... &66f8 13 20 ; ....######...... &66fa 13 20 ; ...###.##....... &66fc 08 40 ; ......###....... &66fe 04 80 ; .......#........ ; enemy_sprite_1b_frame_6 &6700 01 80 ; ........#....... &6702 00 e0 ; ........#....... &6704 01 a8 ; ........##...... &6706 03 f8 ; ........##...... &6708 03 f0 ; .......##.#..... &670a 03 f0 ; .......####..... &670c 03 f0 ; .......#####.... &670e 01 e4 ; ........##.##... &6710 00 d8 ; .......####..#.. &6712 01 f0 ; ......######.... &6714 01 e0 ; ......######.... &6716 01 a0 ; ......######.... &6718 00 c0 ; ......#######... &671a 00 c0 ; .......##.#.#... &671c 00 80 ; ........###..... &671e 00 80 ; .......##....... ; enemy_sprite_1b_frame_7 &6720 00 20 ; .........#..#... &6722 00 70 ; ........#....#.. &6724 00 6e ; .......#..##..#. &6726 00 fc ; .......#......#. &6728 00 fc ; .......#.####.#. &672a 00 fc ; .......#.####.#. &672c 00 fc ; .......########. &672e 02 79 ; .......##.##.##. &6730 01 b6 ; ......#..####..# &6732 01 fe ; ........######.. &6734 01 7a ; ........######.. &6736 01 7a ; ........######.. &6738 01 02 ; ........######.. &673a 01 32 ; .........##.###. &673c 00 84 ; .........###.... &673e 00 48 ; ..........#..... ; enemy_sprite_1c_frame_0 &6740 3c 00 ; ..####.......... ; The Bathroom &6742 76 00 ; .##.###......... ; To the Kitchens Main Stairway &6744 e5 00 ; #.#..###........ ; On a Branch Over the Drive &6746 a5 00 ; #.#..#.#........ &6748 ee 00 ; .###.###........ &674a c5 00 ; #.#...##........ &674c 46 00 ; .##...#......... &674e 34 00 ; ..#.##.......... &6750 2c 00 ; ..##.#.......... &6752 62 00 ; .#...##......... &6754 a3 00 ; ##...#.#........ &6756 77 00 ; ###.###......... &6758 a5 00 ; #.#..#.#........ &675a a7 00 ; ###..#.#........ &675c 6e 00 ; .###.##......... &675e 3c 00 ; ..####.......... ; enemy_sprite_1c_frame_1 &6760 3c 00 ; ................ &6762 76 00 ; ................ &6764 e5 00 ; ........#.##.... &6766 a5 00 ; .......#.#..#... &6768 ee 00 ; ......########.. &676a c5 00 ; .........#...#.. &676c 46 f0 ; ......#.....##.. &676e 35 d8 ; ......#..#####.. &6770 02 7c ; ..##.#.###.##... &6772 02 0c ; .#...##.####.... &6774 00 44 ; ##...#.#........ &6776 03 fc ; ###.###......... &6778 01 48 ; #.#..#.#........ &677a 00 b0 ; ###..#.#........ &677c 00 00 ; .###.##......... &677e 00 00 ; ..####.......... ; enemy_sprite_1c_frame_2 &6780 3c 3c ; ................ &6782 76 76 ; ................ &6784 e5 e5 ; ................ &6786 a5 a5 ; ................ &6788 ee ee ; ................ &678a c5 c5 ; ................ &678c 46 46 ; ................ &678e 34 34 ; ................ &6790 00 00 ; ..##.#....##.#.. &6792 00 00 ; .#...##..#...##. &6794 00 00 ; ##...#.###...#.# &6796 00 00 ; ###.###.###.###. &6798 00 00 ; #.#..#.##.#..#.# &679a 00 00 ; ###..#.####..#.# &679c 00 00 ; .###.##..###.##. &679e 00 00 ; ..####....####.. ; enemy_sprite_1c_frame_3 &67a0 00 3c ; ................ &67a2 00 76 ; ................ &67a4 00 e5 ; ....####........ &67a6 00 a5 ; ...##.###....... &67a8 00 ee ; ..#####..#...... &67aa 00 c5 ; ..##.....#...... &67ac 0d 46 ; ..#...#......... &67ae 12 b4 ; ..########...... &67b0 3f c0 ; ...#..#.#.##.#.. &67b2 22 00 ; ....##.#.#...##. &67b4 30 40 ; ........##...#.# &67b6 3e 40 ; ........###.###. &67b8 1b 80 ; ........#.#..#.# &67ba 0f 00 ; ........###..#.# &67bc 00 00 ; .........###.##. &67be 00 00 ; ..........####.. ; enemy_sprite_1d_frame_0 &67c0 00 00 ; ......####...... ; The Bridge &67c2 11 88 ; .....##..##..... &67c4 02 40 ; ....##.#####.... &67c6 25 a4 ; ...##.#.##.##... &67c8 15 78 ; ..##.#.#.#.###.. &67ca 7f fe ; ..#..........#.. &67cc d7 75 ; .##############. &67ce b2 27 ; ##.#.###.###.#.# &67d0 d7 75 ; #.##..#...#..### &67d2 7f fe ; ##.#.###.###.#.# &67d4 20 04 ; .##############. &67d6 35 5c ; ...#.#.#.####... &67d8 1a d8 ; ..#..#.##.#..#.. &67da 0d f0 ; ......#..#...... &67dc 06 60 ; ...#...##...#... &67de 03 c0 ; ................ ; enemy_sprite_1d_frame_1 &67e0 01 00 ; ......####...... &67e2 04 20 ; .....##..##..... &67e4 01 80 ; ....##.#####.... &67e6 0a 50 ; ...##.#.#.###... &67e8 15 78 ; ..##.#.#.#.###.. &67ea 7f fe ; ..#..........#.. &67ec ae eb ; .##############. &67ee e4 4d ; #.#.###.###.#.## &67f0 ae eb ; ###..#...#..##.# &67f2 7f fe ; #.#.###.###.#.## &67f4 20 04 ; .##############. &67f6 35 5c ; ...#.#.#.####... &67f8 1a b8 ; ....#.#..#.#.... &67fa 0d f0 ; .......##....... &67fc 06 60 ; .....#....#..... &67fe 03 c0 ; .......#........ ; enemy_sprite_1d_frame_2 &6800 04 20 ; ......####...... &6802 11 88 ; .....##..##..... &6804 02 40 ; ....##.#####.... &6806 25 a4 ; ...##.#.##.##... &6808 15 78 ; ..##.#.#.#.###.. &680a 7f fe ; ..#..........#.. &680c ed db ; .##############. &680e a8 93 ; ###.##.###.##.## &6810 ed db ; #.#.#...#..#..## &6812 7f fe ; ###.##.###.##.## &6814 20 04 ; .##############. &6816 35 5c ; ...#.#.#.####... &6818 1a d8 ; ..#..#.##.#..#.. &681a 0d f0 ; ......#..#...... &681c 06 60 ; ...#...##...#... &681e 03 c0 ; .....#....#..... ; enemy_sprite_1d_frame_3 &6820 11 44 ; ......####...... &6822 04 00 ; .....##..##..... &6824 41 90 ; ...###.#####.... &6826 0a 42 ; ...##.#.###.#... &6828 15 78 ; ..##.#.#.#.###.. &682a 7f fe ; ..#..........#.. &682c db b7 ; .##############. &682e c9 15 ; ##.##.###.##.### &6830 db b7 ; ##..#..#...#.#.# &6832 7f fe ; ##.##.###.##.### &6834 20 04 ; .##############. &6836 35 5c ; ...#.#.#.####... &6838 1a e8 ; ....#.#..#....#. &683a 1d f0 ; .#.....##..#.... &683c 06 60 ; .....#.......... &683e 03 c0 ; ...#...#.#...#.. ; enemy_sprite_1e_frame_0 &6840 07 e0 ; .....######..... ; East Wall Base &6842 8c 31 ; ....########.... ; Ballroom West &6844 59 9a ; ##.##########.## ; Ballroom West &6846 36 6c ; ..############.. ; Ballroom East &6848 1d b8 ; ...##########... ; Ballroom East &684a 0d f0 ; ...##########... ; Ballroom East &684c 9e f9 ; ..##...##...##.. ; Out on a limb &684e b1 8d ; .##.#.#..#.#.##. ; Inside the Megatrunk &6850 6a 56 ; #.##...##...##.# ; Under the Megatree &6852 31 8c ; #..####.#####..# ; The Off Licence &6854 1f f8 ; ....##.#####.... ; Tree Root &6856 1f f8 ; ...###.##.###... &6858 3f fc ; ..##.##..##.##.. &685a df fb ; .#.##..##..##.#. &685c 0f f0 ; #...##....##...# &685e 07 e0 ; .....######..... ; enemy_sprite_1e_frame_1 &6860 07 e0 ; .....######..... &6862 4c 32 ; ....########.... &6864 58 1a ; ...##########... &6866 32 4c ; ################ &6868 1d b8 ; ...##########... &686a 8d f1 ; ...##########... &686c 9e f9 ; ..##...##...##.. &686e 71 8e ; ..#.#.#..#.#.#.. &6870 2a 54 ; .###...##...###. &6872 31 8c ; #..####.#####..# &6874 1f f8 ; #...##.#####...# &6876 1f f8 ; ...###.##.###... &6878 ff ff ; ..##..#..#..##.. &687a 1f f8 ; .#.##......##.#. &687c 0f f0 ; .#..##....##..#. &687e 07 e0 ; .....######..... ; enemy_sprite_1e_frame_2 &6880 c7 e3 ; .....######..... &6882 2c 34 ; ....########.... &6884 18 18 ; ...##########... &6886 12 48 ; ##.##########.## &6888 9a 59 ; ..############.. &688a 8d b1 ; ...##########... &688c 5d fa ; ..##...##...##.. &688e 30 8c ; ..#.#.#..#.#.#.. &6890 2a 54 ; ..##....#...##.. &6892 31 8c ; .#.###.######.#. &6894 1f f8 ; #...##.##.##...# &6896 3f fc ; #..##.#..#.##..# &6898 df fb ; ...#..#..#..#... &689a 1f f8 ; ...##......##... &689c 0f f0 ; ..#.##....##.#.. &689e 07 e0 ; ##...######...## ; enemy_sprite_1e_frame_3 &68a0 07 e0 ; .....######..... &68a2 8c 31 ; #...########...# &68a4 78 1e ; .#.##########.#. &68a6 12 48 ; ..############.. &68a8 1d b8 ; ...##########... &68aa 8d f1 ; ...#...##...#... &68ac 5e fa ; ..#.###..###.#.. &68ae 71 8e ; ..#.#.#..#.#.#.. &68b0 2a 54 ; .###...##...###. &68b2 2e 74 ; .#.####.#####.#. &68b4 11 88 ; #...##.#####...# &68b6 1f f8 ; ...###.##.###... &68b8 3f fc ; ...#..#..#..#... &68ba 5f fa ; .####......####. &68bc 8f f1 ; #...##....##...# &68be 07 e0 ; .....######..... ; enemy_sprite_1f_frame_0 &68c0 0c fd ; ...#.#.#......## ; Priests' Hole &68c2 12 fc ; ..#.#.#.#.#####. ; The Chapel &68c4 2b c6 ; ...#.#.#.#.####. ; Entrance to Hades &68c6 04 82 ; .#..#.#.#.#.#... &68c8 59 81 ; ..##.#.#.#.###.. &68ca 2e 49 ; #...#.#.#.#.###. &68cc dd 63 ; .##.##.#.#.###.. &68ce 6e bf ; #..##..######..# &68d0 99 f9 ; .##.###.#.###### &68d2 6d 5c ; ##.###.#.##...## &68d4 8a ae ; ..#.###..#..#..# &68d6 35 5c ; .#.##..##......# &68d8 4a a8 ; .....#..#.....#. &68da 15 5e ; ..#.#.####...##. &68dc 2a be ; ...#..#.######.. &68de 15 03 ; ....##..######.# ; enemy_sprite_20_frame_0 &68e0 bf 30 ; .#......#.#.#... ; Priests' Hole &68e2 3f 48 ; ######.#.#.#.#.. ; The Chapel &68e4 63 d4 ; .####.#.#.#.#... ; Entrance to Hades &68e6 41 20 ; ...#.#.#.#.#..#. &68e8 81 9a ; ..###.#.#.#.##.. &68ea 92 74 ; .###.#.#.#.#...# &68ec c6 bb ; ..###.#.#.##.##. &68ee fd 76 ; #..######..##..# &68f0 9f 99 ; ######.#.###.##. &68f2 3a b6 ; ##...##.#.###.## &68f4 75 51 ; #..#..#..###.#.. &68f6 3a ac ; #......##..##.#. &68f8 15 52 ; .#.....#..#..... &68fa 7a a8 ; .##...####.#.#.. &68fc fd 54 ; ..######.#..#... &68fe 40 a8 ; #.######..##.... ; enemy_sprite_21_frame_0 &6900 05 20 ; ######.##.###### ; Priests' Hole &6902 14 28 ; #.#########.#### ; The Chapel &6904 20 84 ; ###.#.#.##.#.### ; Entrance to Hades &6906 14 a8 ; #.#.#.#..#...#.# &6908 2a 22 ; .##.#...##.#.#.. &690a 40 0c ; .#..#...#....#.. &690c 12 0a ; .#...........#.. &690e 50 00 ; .#.............# &6910 40 01 ; .#.#............ &6912 40 04 ; ...#..#.....#.#. &6914 48 84 ; .#..........##.. &6916 68 d4 ; ..#.#.#...#...#. &6918 aa 45 ; ...#.#..#.#.#... &691a ea d7 ; ..#.....#....#.. &691c bf ef ; ...#.#....#.#... &691e fd bf ; .....#.#..#..... ; enemy_sprite_21_frame_1 &6920 00 00 ; ######.##.###### &6922 00 00 ; #############.## &6924 01 40 ; #.#.##..##.#.### &6926 0a 90 ; #.#.#.#.##.#...# &6928 14 04 ; ..#.#.#..#.#.#.. &692a 08 a8 ; #.....#..#...#.. &692c 22 82 ; .#....#........# &692e 4a 10 ; ....#........#.. &6930 08 04 ; .#..#.#....#.... &6932 42 01 ; ..#...#.#.....#. &6934 82 44 ; ....#...#.#.#... &6936 2a 54 ; ...#.#.......#.. &6938 aa d1 ; ....#.#.#..#.... &693a ac d7 ; .......#.#...... &693c ff fb ; ................ &693e fd bf ; ................ ; enemy_sprite_22_frame_0 &6940 08 00 ; ....##.......... ; Under the Roof &6942 14 00 ; ..##.##.#....... ; Cold Store &6944 08 00 ; .#######.#...... ; Cold Store &6946 14 00 ; .######.#....... &6948 2a 00 ; ######.#........ &694a 14 00 ; #######.#....... &694c 2a 00 ; #########....... &694e 55 00 ; ########........ &6950 ff 00 ; .#.#.#.#........ &6952 ff 80 ; ..#.#.#......... &6954 fe 80 ; ...#.#.......... &6956 fd 00 ; ..#.#.#......... &6958 7e 80 ; ...#.#.......... &695a 7f 40 ; ....#........... &695c 36 80 ; ...#.#.......... &695e 0c 00 ; ....#........... ; enemy_sprite_22_frame_1 &6960 02 00 ; ......##........ &6962 05 00 ; ....##.##.#..... &6964 02 00 ; ...#######.#.... &6966 05 00 ; ...######.#..... &6968 0a 80 ; ..######.#...... &696a 05 00 ; ..#######.#..... &696c 2a 80 ; ..#########..... &696e 35 40 ; ..########...... &6970 3f c0 ; ..##.#.#.#...... &6972 3f e0 ; ..#.#.#.#....... &6974 3f a0 ; .....#.#........ &6976 3f 40 ; ....#.#.#....... &6978 1f a0 ; .....#.#........ &697a 1f d0 ; ......#......... &697c 0d a0 ; .....#.#........ &697e 03 00 ; ......#......... ; enemy_sprite_22_frame_2 &6980 00 80 ; ........##...... &6982 01 40 ; ......##.##.#... &6984 00 80 ; .....#######.#.. &6986 09 40 ; .....######.#... &6988 02 a0 ; ....######.#.... &698a 01 40 ; ....#######.#... &698c 0a a0 ; ....#########... &698e 05 50 ; ....########.... &6990 0f f0 ; .....#.#.#.#.... &6992 0f f8 ; ....#.#.#.#..... &6994 0f e8 ; .......#.#...... &6996 0f d0 ; ......#.#.#..... &6998 07 e8 ; ....#..#.#...... &699a 07 f4 ; ........#....... &699c 03 68 ; .......#.#...... &699e 00 c0 ; ........#....... ; enemy_sprite_22_frame_3 &69a0 00 20 ; ..........##.... &69a2 00 50 ; ........##.##.#. &69a4 00 20 ; .......#######.# &69a6 00 50 ; .......######.#. &69a8 00 a8 ; ......######.#.. &69aa 00 50 ; ......#######.#. &69ac 02 a8 ; ......#########. &69ae 03 54 ; ......########.. &69b0 03 fc ; ......##.#.#.#.. &69b2 03 fe ; ......#.#.#.#... &69b4 03 fa ; .........#.#.... &69b6 03 f4 ; ........#.#.#... &69b8 01 fa ; .........#.#.... &69ba 01 fd ; ..........#..... &69bc 00 da ; .........#.#.... &69be 00 30 ; ..........#..... ; enemy_sprite_23_frame_0 &69c0 81 00 ; .....#.......... ; Watch Tower &69c2 41 00 ; ..#.#.#.#....... ; Tree Top &69c4 3e 00 ; .#.#.#.#.#...... ; Inside the Megatrunk &69c6 08 00 ; ..#.#.###....... &69c8 04 00 ; .#...#...#...... &69ca 04 00 ; #.#.#####.#..... &69cc 2a 80 ; .#.#####.#...... &69ce 55 40 ; ..#.....#....... &69d0 20 80 ; .#.#.#.#.#...... &69d2 5f 40 ; ..#.#.#.#....... &69d4 af a0 ; .....#.......... &69d6 44 40 ; .....#.......... &69d8 2b 80 ; ....#........... &69da 55 40 ; ..#####......... &69dc 2a 80 ; .#.....#........ &69de 04 00 ; #......#........ ; enemy_sprite_23_frame_1 &69e0 00 00 ; ......#......... &69e2 20 40 ; ...#.#.#.#...... &69e4 11 80 ; ..#.#.#.#.#..... &69e6 0e 00 ; ...#.#.###...... &69e8 02 00 ; ..#...#...#..... &69ea 02 00 ; .#.#####.#.#.... &69ec 15 40 ; ..#.#.#.#.#..... &69ee 2a a0 ; ...#.....#...... &69f0 10 40 ; ..#.#.#.#.#..... &69f2 2a a0 ; ...#.#.#.#...... &69f4 5f 50 ; ......#......... &69f6 22 20 ; ......#......... &69f8 15 c0 ; ....###......... &69fa 2a a0 ; ...#...##....... &69fc 15 40 ; ..#......#...... &69fe 02 00 ; ................ ; enemy_sprite_23_frame_2 &6a00 00 00 ; .........#...... &6a02 02 04 ; ......#.#.#.#... &6a04 01 88 ; .....#.#.#.#.#.. &6a06 00 70 ; ......###.#.#... &6a08 00 40 ; .....#...#...#.. &6a0a 00 40 ; ....#.#####.#.#. &6a0c 02 a8 ; .....#.#####.#.. &6a0e 05 54 ; ......#.....#... &6a10 02 08 ; .....#.#.#.#.#.. &6a12 05 f4 ; ......#.#.#.#... &6a14 0b ea ; .........#...... &6a16 04 44 ; .........#...... &6a18 03 a8 ; .........###.... &6a1a 05 54 ; .......##...#... &6a1c 02 a8 ; ......#......#.. &6a1e 00 40 ; ................ ; enemy_sprite_23_frame_3 &6a20 00 81 ; ..........#..... &6a22 00 82 ; .......#.#.#.#.. &6a24 00 7c ; ......#.#.#.#.#. &6a26 00 10 ; .......###.#.#.. &6a28 00 20 ; ......#...#...#. &6a2a 00 20 ; .....#.#.#####.# &6a2c 01 54 ; ......#.#####.#. &6a2e 02 aa ; .......#.#.#.#.. &6a30 01 54 ; ......#.#.#.#.#. &6a32 02 fa ; .......#.#.#.#.. &6a34 05 7d ; ..........#..... &6a36 02 22 ; ..........#..... &6a38 01 d4 ; ...........#.... &6a3a 02 aa ; .........#####.. &6a3c 01 54 ; ........#.....#. &6a3e 00 20 ; ........#......# ; enemy_sprite_24_frame_0 &6a40 00 00 ; ................ ; Watch Tower &6a42 00 00 ; ................ ; Nomem Luni &6a44 00 00 ; ................ ; We must perform a Quirkafleeg &6a46 00 00 ; ................ ; I'm sure I've seen this before &6a48 00 00 ; ................ ; Rescue Esmerelda &6a4a 00 80 ; .##.####.#...... ; Priests' Hole &6a4c 05 00 ; #.###.###....... ; West Wing Roof &6a4e 1a 80 ; .###.#.#.#...... ; A bit of tree &6a50 75 40 ; ...##.#.#....... ; West Wing &6a52 bb 80 ; .....#.#........ ; Ballroom East &6a54 6f 40 ; ........#....... ; The Hall &6a56 00 00 ; ................ ; Out on a limb &6a58 00 00 ; ................ ; Tree Top &6a5a 00 00 ; ................ ; Inside the Megatrunk &6a5c 00 00 ; ................ ; Inside the Megatrunk &6a5e 00 00 ; ................ ; The Drive ; The Drive ; The Drive ; The Drive ; The Bridge ; The Bridge ; Under the Drive ; enemy_sprite_24_frame_1 &6a60 00 00 ; ................ &6a62 00 00 ; ................ &6a64 00 00 ; ........#.#..... &6a66 00 00 ; .......#.#...... &6a68 00 00 ; ......#.#....... &6a6a 00 00 ; .......#.#.#.... &6a6c 03 c0 ; ..##.##.#.#..... &6a6e 37 e0 ; .#.###.#.###.... &6a70 5d 70 ; ..##.######..... &6a72 36 a0 ; ......####...... &6a74 01 50 ; ................ &6a76 02 80 ; ................ &6a78 01 40 ; ................ &6a7a 00 a0 ; ................ &6a7c 00 00 ; ................ &6a7e 00 00 ; ................ ; enemy_sprite_24_frame_2 &6a80 00 00 ; ................ &6a82 00 00 ; ................ &6a84 00 00 ; ................ &6a86 00 00 ; ................ &6a88 00 00 ; ................ &6a8a 00 08 ; ........####.#.. &6a8c 00 50 ; ...##..##.###... &6a8e 19 a8 ; ..#.####.#.#.#.. &6a90 2f 54 ; ...##..##.#.#... &6a92 19 b8 ; .........#.#.... &6a94 00 f4 ; ............#... &6a96 00 00 ; ................ &6a98 00 00 ; ................ &6a9a 00 00 ; ................ &6a9c 00 00 ; ................ &6a9e 00 00 ; ................ ; enemy_sprite_24_frame_3 &6aa0 00 00 ; ................ &6aa2 00 00 ; ................ &6aa4 00 00 ; ................ &6aa6 00 0a ; ................ &6aa8 00 14 ; ................ &6aaa 00 28 ; ..........####.# &6aac 00 14 ; ......##.######. &6aae 03 6a ; .....#.###.#.### &6ab0 05 d7 ; ......##.##.#.#. &6ab2 03 7e ; ...........#.#.. &6ab4 00 3d ; ..........#.#... &6ab6 00 00 ; ...........#.#.. &6ab8 00 00 ; ............#.#. &6aba 00 00 ; ................ &6abc 00 00 ; ................ &6abe 00 00 ; ................ ; enemy_sprite_24_frame_4 &6ac0 00 00 ; ................ &6ac2 00 00 ; ................ &6ac4 00 00 ; ................ &6ac6 50 00 ; ................ &6ac8 28 00 ; ................ &6aca 14 00 ; #.####.......... &6acc 28 00 ; .######.##...... &6ace 56 c0 ; ###.#.###.#..... &6ad0 eb a0 ; .#.#.##.##...... &6ad2 7e c0 ; ..#.#........... &6ad4 bc 00 ; ...#.#.......... &6ad6 00 00 ; ..#.#........... &6ad8 00 00 ; .#.#............ &6ada 00 00 ; ................ &6adc 00 00 ; ................ &6ade 00 00 ; ................ ; enemy_sprite_24_frame_5 &6ae0 00 00 ; ................ &6ae2 00 00 ; ................ &6ae4 00 00 ; ................ &6ae6 00 00 ; ................ &6ae8 00 00 ; ................ &6aea 10 00 ; ..#.####........ &6aec 0a 00 ; ...###.##..##... &6aee 15 98 ; ..#.#.#.####.#.. &6af0 2a f4 ; ...#.#.##..##... &6af2 1d 98 ; ....#.#......... &6af4 2f 00 ; ...#............ &6af6 00 00 ; ................ &6af8 00 00 ; ................ &6afa 00 00 ; ................ &6afc 00 00 ; ................ &6afe 00 00 ; ................ ; enemy_sprite_24_frame_6 &6b00 00 00 ; ................ &6b02 00 00 ; ................ &6b04 00 00 ; .....#.#........ &6b06 00 00 ; ......#.#....... &6b08 00 00 ; .......#.#...... &6b0a 00 00 ; ....#.#.#....... &6b0c 03 c0 ; .....#.#.##.##.. &6b0e 07 ec ; ....###.#.###.#. &6b10 0e ba ; .....######.##.. &6b12 05 6c ; ......####...... &6b14 0a 80 ; ................ &6b16 01 40 ; ................ &6b18 02 80 ; ................ &6b1a 05 00 ; ................ &6b1c 00 00 ; ................ &6b1e 00 00 ; ................ ; enemy_sprite_24_frame_7 &6b20 00 00 ; ................ &6b22 00 00 ; ................ &6b24 00 00 ; ................ &6b26 00 00 ; ................ &6b28 00 00 ; ................ &6b2a 01 00 ; ......#.####.##. &6b2c 00 a0 ; .......###.###.# &6b2e 01 58 ; ......#.#.#.###. &6b30 02 ae ; .......#.#.##... &6b32 01 dd ; ........#.#..... &6b34 02 f6 ; .......#........ &6b36 00 00 ; ................ &6b38 00 00 ; ................ &6b3a 00 00 ; ................ &6b3c 00 00 ; ................ &6b3e 00 00 ; ................ ; enemy_sprite_25_frame_0 &6b40 3c 00 ; ...##........... ; Cold Store &6b42 13 00 ; ..####.......... ; Cold Store &6b44 14 00 ; ##.#.#.......... &6b46 1e 00 ; ..#.###......... &6b48 22 00 ; ..###.#......... &6b4a 21 80 ; ..###.#......... &6b4c 43 00 ; .#.##.#......... &6b4e 4f 00 ; .#.###.#........ &6b50 5d 00 ; .#..####........ &6b52 5a 00 ; .#....##........ &6b54 3a 00 ; ..#....##....... &6b56 3a 00 ; ..#...#......... &6b58 2e 00 ; ...####......... &6b5a d4 00 ; ...#.#.......... &6b5c 3c 00 ; ...#..##........ &6b5e 18 00 ; ..####.......... ; enemy_sprite_25_frame_1 &6b60 07 00 ; .....##......... &6b62 02 00 ; ....####........ &6b64 02 00 ; ..######........ &6b66 07 80 ; ....#.###....... &6b68 08 80 ; ....###.#....... &6b6a 08 40 ; ....###.#....... &6b6c 10 60 ; ...#####........ &6b6e 11 c0 ; ...#.####....... &6b70 17 80 ; ...#...###...... &6b72 1f 00 ; ...#.....##..... &6b74 0e 80 ; ....#....#...... &6b76 0e 80 ; ....#...#....... &6b78 0b 80 ; .....####....... &6b7a 3f 00 ; ......#......... &6b7c 0f 00 ; ......#......... &6b7e 06 00 ; .....###........ ; enemy_sprite_25_frame_2 &6b80 01 40 ; .......##....... &6b82 06 30 ; ....#.####...... &6b84 01 40 ; .....#.#.#...... &6b86 01 e0 ; ....#.#.###..... &6b88 02 20 ; ......###.#..... &6b8a 02 18 ; ......###.#..... &6b8c 04 30 ; .....#.##.#..... &6b8e 04 f0 ; .....#.###.#.... &6b90 05 d0 ; .....#..####.... &6b92 05 a0 ; .....#....##.... &6b94 03 a0 ; ......#....##... &6b96 03 a0 ; ......#...#..... &6b98 0a e0 ; .......####..... &6b9a 05 40 ; .......#.#...... &6b9c 0b c0 ; .....##...##.... &6b9e 01 80 ; .......#.#...... ; enemy_sprite_25_frame_3 &6ba0 00 74 ; .........##..... &6ba2 00 22 ; ........#.##.... &6ba4 00 25 ; ......##.#.#.... &6ba6 00 78 ; ........#.###... &6ba8 00 88 ; ........###.#... &6baa 00 86 ; ........###.#... &6bac 01 0c ; .......#.##.#... &6bae 01 3c ; .......#.###.#.. &6bb0 01 74 ; .......#..####.. &6bb2 01 68 ; .......#....##.. &6bb4 00 e8 ; ........#....##. &6bb6 00 e8 ; ........#...#... &6bb8 00 b8 ; .........####... &6bba 03 50 ; ..........#..#.# &6bbc 00 b0 ; ..........#...#. &6bbe 00 60 ; .........###.#.. ; enemy_sprite_25_frame_4 &6bc0 2e 00 ; .....##......... &6bc2 44 00 ; ....##.#........ &6bc4 a4 00 ; ....#.#.##...... &6bc6 1e 00 ; ...###.#........ &6bc8 11 00 ; ...#.###........ &6bca 61 00 ; ...#.###........ &6bcc 30 80 ; ...#.##.#....... &6bce 3c 80 ; ..#.###.#....... &6bd0 2e 80 ; ..####..#....... &6bd2 16 80 ; ..##....#....... &6bd4 17 00 ; .##....#........ &6bd6 17 00 ; ...#...#........ &6bd8 1d 00 ; ...####......... &6bda 0a c0 ; #.#..#.......... &6bdc 0d 00 ; .#...#.......... &6bde 06 00 ; ..#.###......... ; enemy_sprite_25_frame_5 &6be0 02 80 ; .......##....... &6be2 0c 60 ; ......####.#.... &6be4 02 80 ; ......#.#.#..... &6be6 07 80 ; .....###.#.#.... &6be8 04 40 ; .....#.###...... &6bea 18 40 ; .....#.###...... &6bec 0c 20 ; .....#.##.#..... &6bee 0f 20 ; ....#.###.#..... &6bf0 0b a0 ; ....####..#..... &6bf2 05 a0 ; ....##....#..... &6bf4 05 c0 ; ...##....#...... &6bf6 05 c0 ; .....#...#...... &6bf8 07 50 ; .....####....... &6bfa 02 a0 ; ......#.#....... &6bfc 03 d0 ; ....##...##..... &6bfe 01 80 ; ......#.#....... ; enemy_sprite_25_frame_6 &6c00 00 e0 ; .........##..... &6c02 00 40 ; ........####.... &6c04 00 40 ; ........######.. &6c06 01 e0 ; .......###.#.... &6c08 01 10 ; .......#.###.... &6c0a 02 10 ; .......#.###.... &6c0c 06 08 ; ........#####... &6c0e 03 88 ; .......####.#... &6c10 01 e8 ; ......###...#... &6c12 00 f8 ; .....##.....#... &6c14 01 70 ; ......#....#.... &6c16 01 70 ; .......#...#.... &6c18 01 d0 ; .......####..... &6c1a 00 fc ; .........#...... &6c1c 00 f0 ; .........#...... &6c1e 00 60 ; ........###..... ; enemy_sprite_25_frame_7 &6c20 00 78 ; ...........##... &6c22 01 90 ; ..........####.. &6c24 00 50 ; ..........#.#.## &6c26 00 78 ; .........###.#.. &6c28 00 44 ; .........#.###.. &6c2a 01 84 ; .........#.###.. &6c2c 00 c2 ; .........#.##.#. &6c2e 00 f2 ; ........#.###.#. &6c30 00 ba ; ........####..#. &6c32 00 5a ; ........##....#. &6c34 00 5c ; .......##....#.. &6c36 00 5c ; .........#...#.. &6c38 00 74 ; .........####... &6c3a 00 2b ; .........#.#.... &6c3c 00 3c ; .......##..#.... &6c3e 00 18 ; .........####... ; enemy_sprite_26_frame_0 &6c40 2e 00 ; ....##.......... ; Nomem Luni &6c42 40 80 ; ...#..#......... ; To the Kitchens Main Stairway &6c44 ac 40 ; ..#....#........ ; The Bow &6c46 0d 40 ; ..#.##.#........ ; The Off Licence &6c48 40 00 ; ..#....#........ &6c4a 37 00 ; ...#..#......... &6c4c 00 00 ; ....##.......... &6c4e 1e 00 ; ....##.......... &6c50 0c 00 ; ...####......... &6c52 0c 00 ; ................ &6c54 12 00 ; ..##.###........ &6c56 21 00 ; .#.............. &6c58 2d 00 ; ....##.#.#...... &6c5a 21 00 ; #.#.##...#...... &6c5c 12 00 ; .#......#....... &6c5e 0c 00 ; ..#.###......... ; enemy_sprite_26_frame_1 &6c60 07 00 ; ....###.##...... &6c62 10 60 ; ...###.##.#..... &6c64 23 50 ; ...#####........ &6c66 2b 00 ; ...########..... &6c68 00 20 ; ...#####........ &6c6a 0e c0 ; ...###.##.#..... &6c6c 00 00 ; ....###.##...... &6c6e 07 80 ; ......##........ &6c70 03 00 ; .....####....... &6c72 0e c0 ; ................ &6c74 1d a0 ; ....###.##...... &6c76 1f 00 ; ..........#..... &6c78 1f e0 ; ..#.#.##........ &6c7a 1f 00 ; ..#...##.#.#.... &6c7c 1d a0 ; ...#.....##..... &6c7e 0e c0 ; .....###........ ; enemy_sprite_26_frame_2 &6c80 03 b0 ; .....#......#... &6c82 00 08 ; .....##....##... &6c84 0a c0 ; .....###..###... &6c86 08 d4 ; ....##########.. &6c88 04 08 ; .....###..###... &6c8a 01 d0 ; .....##.##.##... &6c8c 00 00 ; .....#..##..#... &6c8e 01 e0 ; ........##...... &6c90 00 c0 ; .......####..... &6c92 04 c8 ; ................ &6c94 06 d8 ; .......###.#.... &6c96 07 38 ; .....#......#... &6c98 0f fc ; ....#...##.#.#.. &6c9a 07 38 ; ....#.#.##...... &6c9c 06 18 ; ............#... &6c9e 04 08 ; ......###.##.... ; enemy_sprite_26_frame_3 &6ca0 00 dc ; ........##.###.. &6ca2 01 00 ; .......#.##.###. &6ca4 00 35 ; ..........#####. &6ca6 02 b1 ; .......########. &6ca8 01 02 ; ..........#####. &6caa 00 b8 ; .......#.##.###. &6cac 00 00 ; ........##.###.. &6cae 00 78 ; ..........##.... &6cb0 00 30 ; .........####... &6cb2 00 dc ; ................ &6cb4 01 6e ; ........#.###... &6cb6 00 3e ; .......#......#. &6cb8 01 fe ; ......#.#.##...# &6cba 00 3e ; ..........##.#.# &6cbc 01 6e ; .......#........ &6cbe 00 dc ; ........##.###.. ; enemy_sprite_27_frame_0 &6cc0 00 00 ; ................ ; The Off Licence &6cc2 00 00 ; ................ &6cc4 07 e0 ; .....######..... &6cc6 1f f8 ; ...######.###... &6cc8 3f fc ; ..####.####.##.. &6cca 7f de ; .##############. &6ccc 7f ee ; .#####.#####.##. &6cce fb f7 ; #####.######.### &6cd0 fb f7 ; #####.######.### &6cd2 7d f6 ; .##########.###. &6cd4 7f fe ; .#########.####. &6cd6 3d ec ; ..############.. &6cd8 1f b8 ; ...##########... &6cda 07 e0 ; .....######..... &6cdc 00 00 ; ................ &6cde 00 00 ; ................ ; enemy_sprite_27_frame_1 &6ce0 00 00 ; ................ &6ce2 01 80 ; .......##....... &6ce4 07 e0 ; .....######..... &6ce6 0f f0 ; ....##.#.###.... &6ce8 1f 38 ; ...##########... &6cea 3f dc ; ..############.. &6cec 3b ec ; ..##########.#.. &6cee 7b f6 ; .#####.########. &6cf0 7d fe ; .####.######.##. &6cf2 3f f4 ; ..###.#####.##.. &6cf4 3f fc ; ..########.###.. &6cf6 1f f8 ; ...#####..###... &6cf8 0d 70 ; ....########.... &6cfa 07 e0 ; .....######..... &6cfc 01 80 ; .......##....... &6cfe 00 00 ; ................ ; enemy_sprite_27_frame_2 &6d00 01 80 ; .......##....... &6d02 07 e0 ; .....######..... &6d04 0f f0 ; ....########.... &6d06 1f 38 ; ...####.#####... &6d08 1f d8 ; ...#####.####... &6d0a 3f ec ; ..######.#####.. &6d0c 3f ec ; ..###.########.. &6d0e 37 fc ; ..##.#######.#.. &6d10 37 f4 ; ..##.#########.. &6d12 3b fc ; ..#########.##.. &6d14 3f 7c ; ..#########.##.. &6d16 1f 78 ; ...#######.##... &6d18 1e f8 ; ...#####..###... &6d1a 0f f0 ; ....########.... &6d1c 07 e0 ; .....######..... &6d1e 01 80 ; .......##....... ; enemy_sprite_27_frame_3 &6d20 00 00 ; ................ &6d22 01 80 ; .......##....... &6d24 07 e0 ; .....######..... &6d26 0f f0 ; ....########.... &6d28 1f 38 ; ...####.#.###... &6d2a 3f dc ; ..############.. &6d2c 37 ec ; ..##########.#.. &6d2e 77 f6 ; .####.#########. &6d30 7b fe ; .###.#######.##. &6d32 3f f4 ; ..##.######.##.. &6d34 3f fc ; ..########.###.. &6d36 1e b8 ; ...#####..###... &6d38 0f f0 ; ....########.... &6d3a 07 e0 ; .....######..... &6d3c 01 80 ; .......##....... &6d3e 00 00 ; ................ ; enemy_sprite_28_frame_0 &6d40 07 70 ; #............... ; Nomem Luni &6d42 03 62 ; .#.............. ; Dr Jones will never believe this &6d44 03 61 ; #.#...##.##..... ; On a Branch Over the Drive &6d46 03 e2 ; .#.#..##.##..... ; Inside the Megatrunk &6d48 03 e5 ; ..#.#..###...... ; Inside the Megatrunk &6d4a 02 2a ; ...#.##.#.#..... ; Inside the Megatrunk &6d4c 05 d4 ; ....#.#####..... ; At the Foot of the Megatree &6d4e 02 a8 ; .....###.###.... ; At the Foot of the Megatree &6d50 07 70 ; ......#.#.#.#... ; At the Foot of the Megatree &6d52 0b e0 ; .....#.###.#.#.. &6d54 16 a0 ; ......#...#.#.#. &6d56 29 c0 ; ......#####..#.# &6d58 53 60 ; ......#####...#. &6d5a a3 60 ; ......##.##....# &6d5c 40 00 ; ......##.##...#. &6d5e 80 00 ; .....###.###.... ; enemy_sprite_28_frame_1 &6d60 04 70 ; ................ &6d62 0e 60 ; ................ &6d64 17 64 ; .....##...##.... &6d66 03 ea ; .#.#.##...##.... &6d68 03 e4 ; #.#.#..###...... &6d6a 02 2a ; .#.#.##.#.#..... &6d6c 05 d4 ; ....#.#####..... &6d6e 03 e8 ; .....##...##.... &6d70 06 30 ; ......#####.#... &6d72 0b e0 ; .....#.###.#.#.. &6d74 56 a0 ; ......#...#.#.#. &6d76 a9 c0 ; ......#####..#.. &6d78 56 30 ; ......#####.#.#. &6d7a 06 30 ; ...#.###.##..#.. &6d7c 00 00 ; ....###..##..... &6d7e 00 00 ; .....#...###.... ; enemy_sprite_28_frame_2 &6d80 07 70 ; ................ &6d82 03 60 ; ................ &6d84 03 60 ; ......##.##..... &6d86 03 e2 ; ......##.##..... &6d88 03 e1 ; .......###...... &6d8a 82 22 ; ...####.#.#..... &6d8c 45 d5 ; ..#.#.#####..... &6d8e a3 6a ; .#.#.##.#.##.#.. &6d90 56 b4 ; #.#...##.##.#.#. &6d92 2b e0 ; .#...#.###.#.#.# &6d94 1e a0 ; #.....#...#...#. &6d96 01 c0 ; ......#####....# &6d98 03 60 ; ......#####...#. &6d9a 03 60 ; ......##.##..... &6d9c 00 00 ; ......##.##..... &6d9e 00 00 ; .....###.###.... ; enemy_sprite_28_frame_3 &6da0 07 10 ; ................ &6da2 03 38 ; ................ &6da4 03 74 ; .....##...##.... &6da6 03 e0 ; .#.#.##...##.... &6da8 03 e1 ; #.#.#..###...... &6daa 02 22 ; .#.#.##.#.#..... &6dac 05 d5 ; ....#.#####..... &6dae 02 2a ; .....#######.#.. &6db0 07 f4 ; ......#...#.#.#. &6db2 0b e0 ; .....#.###.#.#.# &6db4 56 a0 ; ......#...#...#. &6db6 a9 c0 ; ......#####....# &6db8 56 30 ; ......#####..... &6dba 06 30 ; ......##.###.#.. &6dbc 00 00 ; ......##..###... &6dbe 00 00 ; .....###...#.... ; enemy_sprite_29_frame_0 &6dc0 1d c0 ; ......#......#.. ; Up on the Battlements &6dc2 45 00 ; .....#.#....###. ; Up on the Battlements &6dc4 aa 84 ; ....#.#.#....#.. ; Up on the Battlements &6dc6 55 44 ; ...#.#.###...#.. ; Up on the Battlements &6dc8 2a a4 ; ...#.###.#...#.. ; I'm sure I've seen this before &6dca 15 50 ; ..#.#.#####..#.. ; I'm sure I've seen this before &6dcc 07 2c ; ..#.#######..... ; I'm sure I've seen this before &6dce 08 82 ; ...#..#..#...#.. ; I'm sure I've seen this before &6dd0 12 44 ; ....#...#.....#. ; Rescue Esmerelda &6dd2 2f e0 ; .....###..#.##.. ; Rescue Esmerelda &6dd4 2b e4 ; ...#.#.#.#.#.... ; Above the West Bedroom &6dd6 17 44 ; ..#.#.#.#.#..#.. ; The Security Guard &6dd8 15 c4 ; .#.#.#.#.#...#.. ; The Security Guard &6dda 0a 84 ; #.#.#.#.#....#.. ; The Security Guard &6ddc 05 0e ; .#...#.#........ ; The Security Guard &6dde 02 04 ; ...###.###...... ; enemy_sprite_29_frame_1 &6de0 1d c4 ; ......#......... &6de2 45 04 ; .....#.#........ &6de4 aa 84 ; ....#.#.#....#.. &6de6 55 40 ; ...#.#.###..###. &6de8 2a ac ; ...#.###.#...#.. &6dea 15 52 ; ..#.#.#####..#.. &6dec 07 04 ; ..#.#######..#.. &6dee 08 80 ; ...#..#..#...#.. &6df0 12 44 ; ....#...#....... &6df2 2f e4 ; .....###.....#.. &6df4 2b e4 ; ...#.#.#.#.#..#. &6df6 17 44 ; ..#.#.#.#.#.##.. &6df8 15 ce ; .#.#.#.#.#...... &6dfa 0a 84 ; #.#.#.#.#....#.. &6dfc 05 00 ; .#...#.#.....#.. &6dfe 02 00 ; ...###.###...#.. ; tile_table # Initial values are unused &6e00 33 11 cc 00 77 00 cc 00 55 bb 88 00 11 ff 00 00 # &6e00 - &6eaf is a copy of &7100 - &71af &6e10 66 ff 66 00 77 ff ee 00 33 ff cc 00 11 ff 88 00 &6e20 00 ff 00 00 00 66 00 00 00 ff 00 00 11 ff 00 00 &6e30 00 bb 00 00 11 ff 88 00 00 ff 00 00 00 ff 00 00 &6e40 00 ee ee 00 00 77 66 00 00 66 ee 00 00 33 cc 00 &6e50 00 dd ff 00 00 ee ff 00 00 77 ee 00 00 77 ee 00 &6e60 00 33 cc 00 00 11 88 00 00 33 cc 00 00 77 cc 00 &6e70 00 22 cc 00 00 77 ee 00 00 33 cc 00 00 33 cc 00 &6e80 00 00 ee 00 00 00 66 00 00 00 66 00 00 00 ff 00 &6e90 00 11 bb 88 00 11 dd 88 00 11 dd 88 00 11 dd 88 &6ea0 00 00 ff 00 00 00 66 00 00 00 ff 00 00 11 ff 00 &6eb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6ed0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6ef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6f90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6fb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &6ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; space_sprite &7000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; player_background_buffer &7020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; sprite_arrow_left # 2 bits per pixel, 8x8, stored in screen order &7060 00 00 ; ........ &7062 44 ff ; ........ &7064 44 00 ; .#....## &7066 00 00 ; #######. &7068 00 00 ; .#....## &706a 33 ee ; ........ &706c 33 00 ; ........ &706e 00 00 ; ........ ; sprite_arrow_right &7070 00 00 ; ........ &7072 cc 77 ; ........ &7074 cc 00 ; ##....#. &7076 00 00 ; .####### &7078 00 00 ; ##....#. &707a 22 ff ; ........ &707c 22 00 ; ........ &707e 00 00 ; ........ ; unpacked_conveyor_sprite &7080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; unpacked_background_sprite &70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; unused &70b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &70d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &70f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; unpacked_sprites # 2 bits per pixel, 16x16, vertically inverted ; player_sprite_left_frame_0 &7100 33 11 cc 00 ; ....####........ &7104 77 00 cc 00 ; ....####........ &7108 55 bb 88 00 ; ...######....... &710c 11 ff 00 00 ; ....#.##........ &7110 66 ff 66 00 ; ...#####........ &7114 77 ff ee 00 ; ....####........ &7118 33 ff cc 00 ; .....##......... &711c 11 ff 88 00 ; ....####........ &7120 00 ff 00 00 ; ...######....... &7124 00 66 00 00 ; ..########...... &7128 00 ff 00 00 ; .##########..... &712c 11 ff 00 00 ; .##.####.##..... &7130 00 bb 00 00 ; ...#####........ &7134 11 ff 88 00 ; .#.##.###....... &7138 00 ff 00 00 ; .###....##...... &713c 00 ff 00 00 ; ..##...###...... ; player_sprite_left_frame_1 &7140 00 ee ee 00 ; ......####...... &7144 00 77 66 00 ; ......####...... &7148 00 66 ee 00 ; .....######..... &714c 00 33 cc 00 ; ......#.##...... &7150 00 dd ff 00 ; .....#####...... &7154 00 ee ff 00 ; ......####...... &7158 00 77 ee 00 ; .......##....... &715c 00 77 ee 00 ; ......####...... &7160 00 33 cc 00 ; .....######..... &7164 00 11 88 00 ; .....######..... &7168 00 33 cc 00 ; ....###.####.... &716c 00 77 cc 00 ; ....##.#####.... &7170 00 22 cc 00 ; ......####...... &7174 00 77 ee 00 ; .....##.###..... &7178 00 33 cc 00 ; .....###.##..... &717c 00 33 cc 00 ; ....###.###..... ; player_sprite_left_frame_2 &7180 00 00 ee 00 ; ........####.... &7184 00 00 66 00 ; ........####.... &7188 00 00 66 00 ; .......######... &718c 00 00 ff 00 ; ........#.##.... &7190 00 11 bb 88 ; .......#####.... &7194 00 11 dd 88 ; ........####.... &7198 00 11 dd 88 ; .........##..... &719c 00 11 dd 88 ; ........####.... &71a0 00 00 ff 00 ; .......###.##... &71a4 00 00 66 00 ; .......###.##... &71a8 00 00 ff 00 ; .......###.##... &71ac 00 11 ff 00 ; .......##.###... &71b0 00 00 bb 00 ; ........####.... &71b4 00 11 ff 88 ; .........##..... &71b8 00 00 ff 00 ; .........##..... &71bc 00 00 ff 00 ; ........###..... ; player_sprite_left_frame_3 &71c0 00 00 ee ee ; ..........####.. &71c4 00 00 77 66 ; ..........####.. &71c8 00 00 66 ee ; .........######. &71cc 00 00 33 cc ; ..........#.##.. &71d0 00 00 dd ff ; .........#####.. &71d4 00 00 ee ff ; ..........####.. &71d8 00 00 77 ee ; ...........##... &71dc 00 00 77 ee ; ..........####.. &71e0 00 00 33 cc ; .........######. &71e4 00 00 11 88 ; .........######. &71e8 00 00 33 cc ; ........###.#### &71ec 00 00 77 cc ; ........##.##### &71f0 00 00 22 cc ; ..........####.. &71f4 00 00 77 ee ; .........##.###. &71f8 00 00 33 cc ; .........###.##. &71fc 00 00 33 cc ; ........###.###. ; player_sprite_right_frame_0 &7200 77 77 00 00 ; ..####.......... &7204 66 ee 00 00 ; ..####.......... &7208 77 66 00 00 ; .######......... &720c 33 cc 00 00 ; ..##.#.......... &7210 ff bb 00 00 ; ..#####......... &7214 ff 77 00 00 ; ..####.......... &7218 77 ee 00 00 ; ...##........... &721c 77 ee 00 00 ; ..####.......... &7220 33 cc 00 00 ; .######......... &7224 11 88 00 00 ; .######......... &7228 33 cc 00 00 ; ####.###........ &722c 33 ee 00 00 ; #####.##........ &7230 33 44 00 00 ; ..####.......... &7234 77 ee 00 00 ; .###.##......... &7238 33 cc 00 00 ; .##.###......... &723c 33 cc 00 00 ; .###.###........ ; player_sprite_right_frame_1 &7240 00 77 00 00 ; ....####........ &7244 00 66 00 00 ; ....####........ &7248 00 66 00 00 ; ...######....... &724c 00 ff 00 00 ; ....##.#........ &7250 11 dd 88 00 ; ....#####....... &7254 11 bb 88 00 ; ....####........ &7258 11 bb 88 00 ; .....##......... &725c 11 bb 88 00 ; ....####........ &7260 00 ff 00 00 ; ...##.###....... &7264 00 66 00 00 ; ...##.###....... &7268 00 ff 00 00 ; ...##.###....... &726c 00 ff 88 00 ; ...###.##....... &7270 00 dd 00 00 ; ....####........ &7274 11 ff 88 00 ; .....##......... &7278 00 ff 00 00 ; .....##......... &727c 00 ff 00 00 ; .....###........ ; player_sprite_right_frame_2 &7280 00 77 77 00 ; ......####...... &7284 00 66 ee 00 ; ......####...... &7288 00 77 66 00 ; .....######..... &728c 00 33 cc 00 ; ......##.#...... &7290 00 ff bb 00 ; ......#####..... &7294 00 ff 77 00 ; ......####...... &7298 00 77 ee 00 ; .......##....... &729c 00 77 ee 00 ; ......####...... &72a0 00 33 cc 00 ; .....######..... &72a4 00 11 88 00 ; .....######..... &72a8 00 33 cc 00 ; ....####.###.... &72ac 00 33 ee 00 ; ....#####.##.... &72b0 00 33 44 00 ; ......####...... &72b4 00 77 ee 00 ; .....###.##..... &72b8 00 33 cc 00 ; .....##.###..... &72bc 00 33 cc 00 ; .....###.###.... ; player_sprite_right_frame_3 &72c0 00 33 88 cc ; ........####.... &72c4 00 33 00 ee ; ........####.... &72c8 00 11 dd aa ; .......######... &72cc 00 00 ff 88 ; ........##.#.... &72d0 00 66 ff 66 ; ........#####... &72d4 00 77 ff ee ; ........####.... &72d8 00 33 ff cc ; .........##..... &72dc 00 11 ff 88 ; ........####.... &72e0 00 00 ff 00 ; .......######... &72e4 00 00 66 00 ; ......########.. &72e8 00 00 ff 00 ; .....##########. &72ec 00 00 ff 88 ; .....##.####.##. &72f0 00 00 dd 00 ; ........#####... &72f4 00 11 ff 88 ; .......###.##.#. &72f8 00 00 ff 00 ; ......##....###. &72fc 00 00 ff 00 ; ......###...##.. ; unpacked_enemy_sprites &7300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &73f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &74f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &75f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7630 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &76f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7730 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7770 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &7790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 &77f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; background_sprite_data # 1 bit per pixel, 8x8 ; background_sprite_00 &7800 ff ; ######## ; The Off Licence PLATFORM &7801 de ; ##.####. &7802 6c ; .##.##.. &7803 88 ; #...#... &7804 12 ; ...#..#. &7805 40 ; .#...... &7806 04 ; .....#.. &7807 00 ; ........ ; background_sprite_01 &7808 22 ; ..#...#. ; The Off Licence WALL &7809 ff ; ######## &780a 88 ; #...#... &780b ff ; ######## &780c 22 ; ..#...#. &780d ff ; ######## &780e 88 ; #...#... &780f ff ; ######## ; background_sprite_02 &7810 f8 ; #####... ; The Off Licence DEADLY &7811 88 ; #...#... &7812 9e ; #..####. &7813 bd ; #.####.# &7814 bd ; #.####.# &7815 9e ; #..####. &7816 88 ; #...#... &7817 f8 ; #####... ; background_sprite_03 &7818 03 ; ......## ; Emergency Generator SLOPE &7819 00 ; ........ ; West Wing Roof SLOPE &781a 0c ; ....##.. ; The Bathroom SLOPE &781b 00 ; ........ ; The Banyan Tree SLOPE &781c 30 ; ..##.... ; The Chapel SLOPE &781d 00 ; ........ ; The Kitchen SLOPE &781e c0 ; ##...... ; Cuckoo's Nest SLOPE &781f 00 ; ........ ; The Off Licence SLOPE ; background_sprite_04 &7820 33 ; ..##..## ; The Off Licence CONVEYOR &7821 ff ; ######## &7822 33 ; ..##..## &7823 00 ; ........ &7824 ff ; ######## &7825 00 ; ........ &7826 aa ; #.#.#.#. &7827 00 ; ........ ; background_sprite_05 &7828 18 ; ...##... ; The Off Licence ITEM &7829 18 ; ...##... &782a 3c ; ..####.. &782b 7e ; .######. &782c 62 ; .##...#. &782d 62 ; .##...#. &782e 62 ; .##...#. &782f 7e ; .######. ; background_sprite_06 &7830 ff ; ######## ; The Bridge PLATFORM &7831 ff ; ######## &7832 fd ; ######.# &7833 bb ; #.###.## &7834 d6 ; ##.#.##. &7835 72 ; .###..#. &7836 60 ; .##..... &7837 40 ; .#...... ; background_sprite_07 &7838 22 ; ..#...#. ; The Bridge WALL &7839 77 ; .###.### &783a 22 ; ..#...#. &783b 88 ; #...#... &783c 22 ; ..#...#. &783d 77 ; .###.### &783e 22 ; ..#...#. &783f 88 ; #...#... ; background_sprite_08 &7840 03 ; ......## ; The Bridge DEADLY &7841 84 ; #....#.. &7842 48 ; .#..#... &7843 30 ; ..##.... &7844 03 ; ......## &7845 84 ; #....#.. &7846 48 ; .#..#... &7847 30 ; ..##.... ; background_sprite_09 &7848 ff ; ######## ; (unused) &7849 5b ; .#.##.## &784a d6 ; ##.#.##. &784b af ; #.#.#### &784c d2 ; ##.#..#. &784d b7 ; #.##.### &784e e2 ; ###...#. &784f f7 ; ####.### ; background_sprite_0a &7850 01 ; .......# ; (unused) &7851 40 ; .#...... &7852 04 ; .....#.. &7853 46 ; .#...##. &7854 4f ; .#..#### &7855 79 ; .####..# &7856 f0 ; ####.... &7857 f9 ; #####..# ; background_sprite_0b &7858 a0 ; #.#..... ; (unused) &7859 14 ; ...#.#.. &785a 82 ; #.....#. &785b 50 ; .#.#.... &785c 0a ; ....#.#. &785d 41 ; .#.....# &785e 28 ; ..#.#... &785f 05 ; .....#.# ; background_sprite_0c &7860 d7 ; ##.#.### ; Cuckoo's Nest WALL &7861 b3 ; #.##..## ; Cuckoo's Nest PLATFORM &7862 75 ; .###.#.# ; Under the Megatree CONVEYOR (unused) &7863 6d ; .##.##.# ; Under the Megatree SLOPE (unused) &7864 5c ; .#.###.. ; Under the Megatree PLATFORM &7865 18 ; ...##... &7866 08 ; ....#... &7867 04 ; .....#.. ; background_sprite_0d &7868 bd ; #.####.# ; Under the Megatree WALL &7869 aa ; #.#.#.#. &786a 5d ; .#.###.# &786b a2 ; #.#...#. &786c f3 ; ####..## &786d 0a ; ....#.#. &786e 06 ; .....##. &786f 01 ; .......# ; background_sprite_0e &7870 49 ; .#..#..# ; Cuckoo's Nest DEADLY &7871 6a ; .##.#.#. ; Under the Megatree DEADLY &7872 3b ; ..###.## &7873 3a ; ..###.#. &7874 fc ; ######.. &7875 1e ; ...####. &7876 6b ; .##.#.## &7877 e8 ; ###.#... ; background_sprite_0f &7878 42 ; .#....#. ; The Beach DEADLY &7879 81 ; #......# &787a e7 ; ###..### &787b 81 ; #......# &787c 5a ; .#.##.#. &787d 7e ; .######. &787e 3c ; ..####.. &787f 42 ; .#....#. ; background_sprite_10 &7880 81 ; #......# ; Under the Megatree ITEM &7881 42 ; .#....#. &7882 24 ; ..#..#.. &7883 18 ; ...##... &7884 3c ; ..####.. &7885 18 ; ...##... &7886 3c ; ..####.. &7887 42 ; .#....#. ; background_sprite_11 &7888 f0 ; ####.... ; At the Foot of the Megatree PLATFORM &7889 f9 ; #####..# &788a bf ; #.###### &788b 1f ; ...##### &788c 0c ; ....##.. &788d 10 ; ...#.... &788e 28 ; ..#.#... &788f 44 ; .#...#.. ; background_sprite_12 &7890 ab ; #.#.#.## ; Inside the Megatrunk WALL &7891 ab ; #.#.#.## ; At the Foot of the Megatree WALL &7892 ad ; #.#.##.# &7893 aa ; #.#.#.#. &7894 aa ; #.#.#.#. &7895 ae ; #.#.###. &7896 55 ; .#.#.#.# &7897 55 ; .#.#.#.# ; background_sprite_13 &7898 6e ; .##.###. ; Inside the Megatrunk DEADLY &7899 74 ; .###.#.. ; At the Foot of the Megatree DEADLY &789a 38 ; ..###... &789b 1e ; ...####. &789c 6e ; .##.###. &789d 74 ; .###.#.. &789e 38 ; ..###... &789f 1e ; ...####. ; background_sprite_14 &78a0 03 ; ......## ; Top Landing SLOPE &78a1 02 ; ......#. &78a2 3c ; ..####.. &78a3 08 ; ....#... &78a4 70 ; .###.... &78a5 20 ; ..#..... &78a6 c0 ; ##...... &78a7 80 ; #....... ; background_sprite_15 &78a8 40 ; .#...... ; At the Foot of the Megatree ITEM &78a9 a0 ; #.#..... &78aa 5c ; .#.###.. &78ab 22 ; ..#...#. &78ac 21 ; ..#....# &78ad 22 ; ..#...#. &78ae 14 ; ...#.#.. &78af 08 ; ....#... ; background_sprite_16 &78b0 aa ; #.#.#.#. ; (unused) &78b1 55 ; .#.#.#.# &78b2 aa ; #.#.#.#. &78b3 ff ; ######## &78b4 ff ; ######## &78b5 55 ; .#.#.#.# &78b6 aa ; #.#.#.#. &78b7 55 ; .#.#.#.# ; background_sprite_17 &78b8 70 ; .###.... ; (unused) &78b9 07 ; .....### &78ba 77 ; .###.### &78bb 77 ; .###.### &78bc 00 ; ........ &78bd 3b ; ..###.## &78be 0b ; ....#.## &78bf 7d ; .#####.# ; background_sprite_18 &78c0 14 ; ...#.#.. ; (unused) &78c1 2a ; ..#.#.#. &78c2 14 ; ...#.#.. &78c3 09 ; ....#..# &78c4 6a ; .##.#.#. &78c5 9c ; #..###.. &78c6 08 ; ....#... &78c7 08 ; ....#... ; background_sprite_19 &78c8 c0 ; ##...... ; Inside the Megatrunk SLOPE &78c9 00 ; ........ &78ca 30 ; ..##.... &78cb 00 ; ........ &78cc 0c ; ....##.. &78cd 00 ; ........ &78ce 03 ; ......## &78cf 00 ; ........ ; background_sprite_1a &78d0 7b ; .####.## ; (unused) &78d1 00 ; ........ &78d2 ed ; ###.##.# &78d3 00 ; ........ &78d4 aa ; #.#.#.#. &78d5 55 ; .#.#.#.# &78d6 aa ; #.#.#.#. &78d7 55 ; .#.#.#.# ; background_sprite_1b &78d8 bb ; #.###.## ; The Yacht WALL &78d9 77 ; .###.### &78da ee ; ###.###. &78db dd ; ##.###.# &78dc bb ; #.###.## &78dd 77 ; .###.### &78de ee ; ###.###. &78df dd ; ##.###.# ; background_sprite_1c &78e0 ff ; ######## ; The Security Guard PLATFORM &78e1 ff ; ######## ; The Drive PLATFORM &78e2 aa ; #.#.#.#. &78e3 55 ; .#.#.#.# &78e4 aa ; #.#.#.#. &78e5 55 ; .#.#.#.# &78e6 aa ; #.#.#.#. &78e7 55 ; .#.#.#.# ; background_sprite_1d &78e8 0e ; ....###. ; The Security Guard WALL &78e9 c6 ; ##...##. ; The Drive WALL &78ea 95 ; #..#.#.# &78eb b0 ; #.##.... &78ec 36 ; ..##.##. &78ed 86 ; #....##. &78ee c0 ; ##...... &78ef ed ; ###.##.# ; background_sprite_1e &78f0 03 ; ......## ; West Wing SLOPE &78f1 03 ; ......## ; First Landing SLOPE &78f2 0c ; ....##.. ; Tool Shed SLOPE &78f3 0c ; ....##.. ; Tree Root SLOPE &78f4 30 ; ..##.... &78f5 30 ; ..##.... &78f6 c0 ; ##...... &78f7 c0 ; ##...... ; background_sprite_1f &78f8 6f ; .##.#### ; The Security Guard CONVEYOR &78f9 00 ; ........ ; The Drive CONVEYOR &78fa b7 ; #.##.### &78fb 00 ; ........ &78fc aa ; #.#.#.#. &78fd 55 ; .#.#.#.# &78fe aa ; #.#.#.#. &78ff 55 ; .#.#.#.# ; background_sprite_20 &7900 00 ; ........ ; Emergency Generator ITEM &7901 00 ; ........ &7902 00 ; ........ &7903 00 ; ........ &7904 00 ; ........ &7905 00 ; ........ &7906 00 ; ........ &7907 00 ; ........ ; background_sprite_21 &7908 bb ; #.###.## ; I'm sure I've seen this before WALL &7909 bb ; #.###.## ; Entrance to Hades WALL &790a 38 ; ..###... &790b bb ; #.###.## &790c bb ; #.###.## &790d bb ; #.###.## &790e 83 ; #.....## &790f bb ; #.###.## ; background_sprite_22 &7910 bf ; #.###### ; Entrance to Hades SLOPE &7911 5c ; .#.###.. &7912 58 ; .#.##... &7913 30 ; ..##.... &7914 28 ; ..#.#... &7915 58 ; .#.##... &7916 48 ; .#..#... &7917 30 ; ..##.... ; background_sprite_23 &7918 80 ; #....... ; Master Bedroom SLOPE &7919 c0 ; ##...... ; Halfway up the East Wall SLOPE &791a 20 ; ..#..... ; The Nightmare Room SLOPE &791b f0 ; ####.... &791c f8 ; #####... &791d 4c ; .#..##.. &791e 9a ; #..##.#. &791f 01 ; .......# ; background_sprite_24 &7920 04 ; .....#.. ; (unused) &7921 03 ; ......## &7922 c9 ; ##..#..# &7923 d8 ; ##.##... &7924 30 ; ..##.... &7925 36 ; ..##.##. &7926 23 ; ..#...## &7927 01 ; .......# ; background_sprite_25 &7928 19 ; ...##..# ; (unused) &7929 60 ; .##..... &792a 0e ; ....###. &792b f0 ; ####.... &792c 03 ; ......## &792d 3c ; ..####.. &792e c7 ; ##...### &792f 38 ; ..###... ; background_sprite_26 &7930 c2 ; ##....#. ; (unused) &7931 34 ; ..##.#.. &7932 0b ; ....#.## &7933 44 ; .#...#.. &7934 88 ; #...#... &7935 0b ; ....#.## &7936 30 ; ..##.... &7937 08 ; ....#... ; background_sprite_27 &7938 c0 ; ##...... ; To the Kitchens Main Stairway SLOPE &7939 80 ; #....... &793a 30 ; ..##.... &793b 20 ; ..#..... &793c 0c ; ....##.. &793d 08 ; ....#... &793e 03 ; ......## &793f 02 ; ......#. ; background_sprite_28 &7940 20 ; ..#..... ; Cuckoo's Nest ITEM &7941 18 ; ...##... &7942 a9 ; #.#.#..# &7943 db ; ##.##.## &7944 7e ; .######. &7945 7e ; .######. &7946 3c ; ..####.. &7947 00 ; ........ ; background_sprite_29 &7948 f5 ; ####.#.# ; Inside the Megatrunk PLATFORM &7949 fa ; #####.#. &794a bf ; #.###### &794b 1f ; ...##### &794c 26 ; ..#..##. &794d 14 ; ...#.#.. &794e 22 ; ..#...#. &794f 10 ; ...#.... ; background_sprite_2a &7950 c0 ; ##...... ; Ballroom West SLOPE &7951 c0 ; ##...... ; The Front Door SLOPE &7952 30 ; ..##.... &7953 b0 ; #.##.... &7954 0c ; ....##.. &7955 0c ; ....##.. &7956 03 ; ......## &7957 0b ; ....#.## ; background_sprite_2b &7958 1f ; ...##### ; On a Branch Over the Drive PLATFORM &7959 f3 ; ####..## &795a e1 ; ###....# &795b 60 ; .##..... &795c 30 ; ..##.... &795d 2c ; ..#.##.. &795e 40 ; .#...... &795f 80 ; #....... ; background_sprite_2c &7960 09 ; ....#..# ; On a Branch Over the Drive WALL &7961 12 ; ...#..#. &7962 0a ; ....#.#. &7963 1f ; ...##### &7964 e4 ; ###..#.. &7965 08 ; ....#... &7966 08 ; ....#... &7967 08 ; ....#... ; background_sprite_2d &7968 42 ; .#....#. ; On a Branch Over the Drive DEADLY &7969 29 ; ..#.#..# &796a 54 ; .#.#.#.. &796b 26 ; ..#..##. &796c 87 ; #....### &796d 23 ; ..#...## &796e 2a ; ..#.#.#. &796f 04 ; .....#.. ; background_sprite_2e &7970 30 ; ..##.... ; On a Branch Over the Drive ITEM &7971 3c ; ..####.. &7972 4f ; .#..#### &7973 43 ; .#....## &7974 c2 ; ##....#. &7975 86 ; #....##. &7976 84 ; #....#.. &7977 00 ; ........ ; background_sprite_2f &7978 ff ; ######## ; (unused) &7979 aa ; #.#.#.#. &797a 13 ; ...#..## &797b aa ; #.#.#.#. &797c 77 ; .###.### &797d aa ; #.#.#.#. &797e 55 ; .#.#.#.# &797f aa ; #.#.#.#. ; background_sprite_30 &7980 df ; ##.##### ; The Hall WALL &7981 ef ; ###.#### ; The Hall PLATFORM (unused) &7982 f1 ; ####...# ; The Front Door WALL &7983 3e ; ..#####. &7984 cf ; ##..#### &7985 f6 ; ####.##. &7986 39 ; ..###..# &7987 df ; ##.##### ; background_sprite_31 &7988 0c ; ....##.. ; Nomem Luni CONVEYOR (unused) &7989 1c ; ...###.. ; The Front Door ITEM &798a 1c ; ...###.. &798b 1e ; ...####. &798c 1b ; ...##.## &798d 3f ; ..###### &798e 78 ; .####... &798f f8 ; #####... ; background_sprite_32 &7990 ff ; ######## ; (unused) &7991 aa ; #.#.#.#. &7992 77 ; .###.### &7993 aa ; #.#.#.#. &7994 77 ; .###.### &7995 aa ; #.#.#.#. &7996 55 ; .#.#.#.# &7997 aa ; #.#.#.#. ; background_sprite_33 &7998 88 ; #...#... ; The Hall DEADLY &7999 a9 ; #.#.#..# &799a a9 ; #.#.#..# &799b bb ; #.###.## &799c bf ; #.###### &799d bf ; #.###### &799e bf ; #.###### &799f 5e ; .#.####. ; background_sprite_34 &79a0 aa ; #.#.#.#. ; Nomem Luni DEADLY (unused) &79a1 55 ; .#.#.#.# ; Tree Top PLATFORM &79a2 aa ; #.#.#.#. &79a3 58 ; .#.##... &79a4 30 ; ..##.... &79a5 10 ; ...#.... &79a6 10 ; ...#.... &79a7 08 ; ....#... ; background_sprite_35 &79a8 a5 ; #.#..#.# ; Tree Top WALL &79a9 28 ; ..#.#... &79aa 52 ; .#.#..#. &79ab 55 ; .#.#.#.# &79ac 55 ; .#.#.#.# &79ad 49 ; .#..#..# &79ae a2 ; #.#...#. &79af b5 ; #.##.#.# ; background_sprite_36 &79b0 89 ; #...#..# ; Tree Top DEADLY &79b1 4a ; .#..#.#. &79b2 12 ; ...#..#. &79b3 34 ; ..##.#.. &79b4 18 ; ...##... &79b5 34 ; ..##.#.. &79b6 52 ; .#.#..#. &79b7 91 ; #..#...# ; background_sprite_37 &79b8 1e ; ...####. ; Tree Top ITEM &79b9 2d ; ..#.##.# &79ba 37 ; ..##.### &79bb 7b ; .####.## &79bc 6d ; .##.##.# &79bd 5e ; .#.####. &79be b8 ; #.###... &79bf c0 ; ##...... ; background_sprite_38 &79c0 01 ; .......# ; Out on a limb SLOPE &79c1 1e ; ...####. &79c2 06 ; .....##. &79c3 7a ; .####.#. &79c4 1a ; ...##.#. &79c5 e8 ; ###.#... &79c6 68 ; .##.#... &79c7 a0 ; #.#..... ; background_sprite_39 &79c8 07 ; .....### ; Out on a limb PLATFORM &79c9 ff ; ######## &79ca fc ; ######.. &79cb 38 ; ..###... &79cc 18 ; ...##... &79cd 10 ; ...#.... &79ce 20 ; ..#..... &79cf 00 ; ........ ; background_sprite_3a &79d0 01 ; .......# ; Out on a limb WALL &79d1 81 ; #......# &79d2 06 ; .....##. &79d3 58 ; .#.##... &79d4 20 ; ..#..... &79d5 40 ; .#...... &79d6 88 ; #...#... &79d7 82 ; #.....#. ; background_sprite_3b &79d8 60 ; .##..... ; Out on a limb ITEM &79d9 b8 ; #.###... &79da be ; #.#####. &79db 5d ; .#.###.# &79dc 5a ; .#.##.#. &79dd 35 ; ..##.#.# &79de 2a ; ..#.#.#. &79df 0a ; ....#.#. ; background_sprite_3c &79e0 c0 ; ##...... ; The Hall SLOPE &79e1 c0 ; ##...... &79e2 30 ; ..##.... &79e3 30 ; ..##.... &79e4 0c ; ....##.. &79e5 0c ; ....##.. &79e6 03 ; ......## &79e7 03 ; ......## ; background_sprite_3d &79e8 ee ; ###.###. ; Rescue Esmerelda WALL &79e9 00 ; ........ &79ea bb ; #.###.## &79eb 00 ; ........ &79ec ee ; ###.###. &79ed 00 ; ........ &79ee bb ; #.###.## &79ef 00 ; ........ ; background_sprite_3e &79f0 d1 ; ##.#...# ; Rescue Esmerelda PLATFORM &79f1 e2 ; ###...#. ; West Bedroom SLOPE (unused) &79f2 c4 ; ##...#.. &79f3 c8 ; ##..#... &79f4 d1 ; ##.#...# &79f5 e2 ; ###...#. &79f6 c4 ; ##...#.. &79f7 c8 ; ##..#... ; background_sprite_3f &79f8 f1 ; ####...# ; Rescue Esmerelda CONVEYOR &79f9 aa ; #.#.#.#. ; A bit of tree CONVEYOR (unused) &79fa f8 ; #####... ; Top Landing CONVEYOR (unused) &79fb aa ; #.#.#.#. ; West Wing CONVEYOR (unused) &79fc 00 ; ........ &79fd ee ; ###.###. &79fe 00 ; ........ &79ff bb ; #.###.## ; background_sprite_40 &7a00 19 ; ...##..# ; Rescue Esmerelda ITEM &7a01 49 ; .#..#..# ; Orangery DEADLY (unused) &7a02 49 ; .#..#..# ; Top Landing DEADLY &7a03 49 ; .#..#..# ; The Bathroom DEADLY (unused) &7a04 49 ; .#..#..# ; West Bedroom DEADLY (unused) &7a05 49 ; .#..#..# ; West Wing DEADLY (unused) &7a06 49 ; .#..#..# &7a07 aa ; #.#.#.#. ; background_sprite_41 &7a08 80 ; #....... ; Nomem Luni ITEM (unused) &7a09 40 ; .#...... ; A bit of tree ITEM (unused) &7a0a 20 ; ..#..... ; West Bedroom ITEM (unused) &7a0b 50 ; .#.#.... ; West Wing ITEM (unused) &7a0c 48 ; .#..#... &7a0d 54 ; .#.#.#.. &7a0e 52 ; .#.#..#. &7a0f 55 ; .#.#.#.# ; background_sprite_42 &7a10 66 ; .##..##. ; (unused) &7a11 66 ; .##..##. &7a12 66 ; .##..##. &7a13 00 ; ........ &7a14 66 ; .##..##. &7a15 66 ; .##..##. &7a16 66 ; .##..##. &7a17 66 ; .##..##. ; background_sprite_43 &7a18 51 ; .#.#...# ; (unused) &7a19 55 ; .#.#.#.# &7a1a 54 ; .#.#.#.. &7a1b 55 ; .#.#.#.# &7a1c 15 ; ...#.#.# &7a1d 55 ; .#.#.#.# &7a1e 45 ; .#...#.# &7a1f 55 ; .#.#.#.# ; background_sprite_44 &7a20 18 ; ...##... ; Up on the Battlements ITEM &7a21 24 ; ..#..#.. ; We must perform a Quirkafleeg ITEM &7a22 18 ; ...##... ; I'm sure I've seen this before ITEM &7a23 2c ; ..#.##.. &7a24 5e ; .#.####. &7a25 5e ; .#.####. &7a26 e7 ; ###..### &7a27 7e ; .######. ; background_sprite_45 &7a28 33 ; ..##..## ; We must perform a Quirkafleeg PLATFORM &7a29 bb ; #.###.## &7a2a dd ; ##.###.# &7a2b cc ; ##..##.. &7a2c 55 ; .#.#.#.# &7a2d 99 ; #..##..# &7a2e dd ; ##.###.# &7a2f ee ; ###.###. ; background_sprite_46 &7a30 27 ; ..#..### ; On the Roof PLATFORM (unused) &7a31 f6 ; ####.##. ; We must perform a Quirkafleeg WALL &7a32 00 ; ........ ; The Front Door PLATFORM (unused) &7a33 dc ; ##.###.. &7a34 d1 ; ##.#...# &7a35 04 ; .....#.. &7a36 77 ; .###.### &7a37 80 ; #....... ; background_sprite_47 &7a38 40 ; .#...... ; We must perform a Quirkafleeg DEADLY &7a39 e4 ; ###..#.. &7a3a 4e ; .#..###. &7a3b 44 ; .#...#.. &7a3c 44 ; .#...#.. &7a3d 44 ; .#...#.. &7a3e ee ; ###.###. &7a3f ff ; ######## ; background_sprite_48 &7a40 00 ; ........ ; We must perform a Quirkafleeg SLOPE &7a41 80 ; #....... ; The Attic SLOPE (unused) &7a42 c0 ; ##...... ; Priests' Hole SLOPE (unused) &7a43 c0 ; ##...... ; East Wall Base SLOPE (unused) &7a44 50 ; .#.#.... ; Cold Store SLOPE (unused) &7a45 98 ; #..##... ; Ballroom East SLOPE (unused) &7a46 dc ; ##.###.. &7a47 ee ; ###.###. ; background_sprite_49 &7a48 80 ; #....... ; Up on the Battlements SLOPE &7a49 c0 ; ##...... ; We must perform a Quirkafleeg CONVEYOR (unused) &7a4a e0 ; ###..... ; On top of the house CONVEYOR (unused) &7a4b b0 ; #.##.... ; Priests' Hole CONVEYOR (unused) &7a4c 90 ; #..#.... ; Above the West Bedroom CONVEYOR (unused) &7a4d 94 ; #..#.#.. ; West Wing Roof CONVEYOR (unused) &7a4e d6 ; ##.#.##. ; Halfway up the East Wall CONVEYOR (unused) &7a4f 77 ; .###.### ; Swimming Pool CONVEYOR (unused) ; The Banyan Tree CONVEYOR (unused) ; First Landing CONVEYOR (unused) ; The Chapel CONVEYOR (unused) ; East Wall Base CONVEYOR (unused) ; Back Stairway CONVEYOR (unused) ; Cold Store CONVEYOR (unused) ; The Kitchen CONVEYOR (unused) ; Ballroom East CONVEYOR (unused) ; The Hall CONVEYOR (unused) ; The Front Door CONVEYOR (unused) ; Out on a limb CONVEYOR (unused) ; Tree Top CONVEYOR (unused) ; On a Branch Over the Drive CONVEYOR (unused) ; Inside the Megatrunk CONVEYOR (unused) ; Cuckoo's Nest CONVEYOR (unused) ; At the Foot of the Megatree CONVEYOR (unused) ; The Bridge CONVEYOR (unused) ; Entrance to Hades CONVEYOR (unused) ; background_sprite_4a &7a50 00 ; ........ ; Up on the Battlements WALL &7a51 7f ; .####### ; Rescue Esmerelda DEADLY (unused) &7a52 7f ; .####### ; On top of the house DEADLY (unused) &7a53 63 ; .##...## ; Priests' Hole DEADLY (unused) &7a54 6b ; .##.#.## ; Halfway up the East Wall DEADLY &7a55 63 ; .##...## ; Swimming Pool DEADLY (unused) &7a56 7f ; .####### ; The Banyan Tree DEADLY (unused) &7a57 7f ; .####### ; The Nightmare Room DEADLY (unused) ; The Chapel DEADLY (unused) ; East Wall Base DEADLY (unused) ; Back Door DEADLY (unused) ; Back Stairway DEADLY (unused) ; West of Kitchen DEADLY (unused) ; The Kitchen DEADLY (unused) ; Ballroom West DEADLY (unused) ; Ballroom East DEADLY (unused) ; The Front Door DEADLY (unused) ; Out on a limb DEADLY (unused) ; The Security Guard DEADLY (unused) ; The Drive DEADLY (unused) ; Entrance to Hades DEADLY (unused) ; background_sprite_4b &7a58 b5 ; #.##.#.# ; Up on the Battlements DEADLY (unused) &7a59 d5 ; ##.#.#.# ; Up on the Battlements PLATFORM &7a5a e5 ; ###..#.# ; I'm sure I've seen this before DEADLY (unused) &7a5b b7 ; #.##.### ; Under the Roof ITEM (unused) &7a5c 93 ; #..#..## ; The Attic ITEM (unused) &7a5d 95 ; #..#.#.# ; Halfway up the East Wall ITEM (unused) &7a5e d6 ; ##.#.##. ; Swimming Pool ITEM (unused) &7a5f 77 ; .###.### ; East Wall Base ITEM (unused) ; Back Door ITEM (unused) ; Back Stairway ITEM (unused) ; West of Kitchen ITEM (unused) ; The Kitchen ITEM (unused) ; Ballroom East ITEM (unused) ; The Hall ITEM (unused) ; Inside the Megatrunk ITEM (unused) ; The Security Guard ITEM (unused) ; The Drive ITEM (unused) ; The Bridge ITEM (unused) ; Entrance to Hades ITEM (unused) ; background_sprite_4c &7a60 28 ; ..#.#... ; Up on the Battlements CONVEYOR &7a61 aa ; #.#.#.#. ; I'm sure I've seen this before CONVEYOR (unused) &7a62 0a ; ....#.#. &7a63 00 ; ........ &7a64 55 ; .#.#.#.# &7a65 55 ; .#.#.#.# &7a66 55 ; .#.#.#.# &7a67 ff ; ######## ; background_sprite_4d &7a68 80 ; #....... ; On the Roof SLOPE &7a69 c0 ; ##...... ; I'm sure I've seen this before SLOPE &7a6a e0 ; ###..... &7a6b d0 ; ##.#.... &7a6c 58 ; .#.##... &7a6d 9c ; #..###.. &7a6e de ; ##.####. &7a6f cd ; ##..##.# ; background_sprite_4e &7a70 11 ; ...#...# ; On the Roof WALL &7a71 f8 ; #####... &7a72 07 ; .....### &7a73 08 ; ....#... &7a74 f0 ; ####.... &7a75 0f ; ....#### &7a76 d0 ; ##.#.... &7a77 3f ; ..###### ; background_sprite_4f &7a78 55 ; .#.#.#.# ; On the Roof DEADLY &7a79 99 ; #..##..# ; I'm sure I've seen this before PLATFORM &7a7a dd ; ##.###.# &7a7b cc ; ##..##.. &7a7c 55 ; .#.#.#.# &7a7d 99 ; #..##..# &7a7e dd ; ##.###.# &7a7f cc ; ##..##.. ; background_sprite_50 &7a80 f0 ; ####.... ; On the Roof CONVEYOR &7a81 f0 ; ####.... &7a82 f0 ; ####.... &7a83 ff ; ######## &7a84 ff ; ######## &7a85 00 ; ........ &7a86 00 ; ........ &7a87 ff ; ######## ; background_sprite_51 &7a88 01 ; .......# ; On the Roof ITEM &7a89 03 ; ......## &7a8a 05 ; .....#.# &7a8b 0a ; ....#.#. &7a8c 54 ; .#.#.#.. &7a8d 28 ; ..#.#... &7a8e 30 ; ..##.... &7a8f 48 ; .#..#... ; background_sprite_52 &7a90 ff ; ######## ; The Forgotten Abbey PLATFORM &7a91 ff ; ######## &7a92 f2 ; ####..#. &7a93 24 ; ..#..#.. &7a94 40 ; .#...... &7a95 02 ; ......#. &7a96 00 ; ........ &7a97 88 ; #...#... ; background_sprite_53 &7a98 44 ; .#...#.. ; The Forgotten Abbey WALL &7a99 aa ; #.#.#.#. &7a9a 11 ; ...#...# &7a9b 44 ; .#...#.. &7a9c 11 ; ...#...# &7a9d aa ; #.#.#.#. &7a9e 44 ; .#...#.. &7a9f 11 ; ...#...# ; background_sprite_54 &7aa0 18 ; ...##... ; The Forgotten Abbey DEADLY &7aa1 3c ; ..####.. &7aa2 7e ; .######. &7aa3 99 ; #..##..# &7aa4 99 ; #..##..# &7aa5 7e ; .######. &7aa6 42 ; .#....#. &7aa7 3c ; ..####.. ; background_sprite_55 &7aa8 80 ; #....... ; The Forgotten Abbey SLOPE &7aa9 40 ; .#...... &7aaa e0 ; ###..... &7aab 30 ; ..##.... &7aac a8 ; #.#.#... &7aad d4 ; ##.#.#.. &7aae 22 ; ..#...#. &7aaf 89 ; #...#..# ; background_sprite_56 &7ab0 70 ; .###.... ; The Forgotten Abbey CONVEYOR &7ab1 55 ; .#.#.#.# &7ab2 00 ; ........ &7ab3 bb ; #.###.## &7ab4 aa ; #.#.#.#. &7ab5 aa ; #.#.#.#. &7ab6 aa ; #.#.#.#. &7ab7 aa ; #.#.#.#. ; background_sprite_57 &7ab8 18 ; ...##... ; The Forgotten Abbey ITEM &7ab9 24 ; ..#..#.. &7aba db ; ##.##.## &7abb db ; ##.##.## &7abc 24 ; ..#..#.. &7abd 18 ; ...##... &7abe 18 ; ...##... &7abf 18 ; ...##... ; background_sprite_58 &7ac0 aa ; #.#.#.#. ; Ballroom East PLATFORM &7ac1 55 ; .#.#.#.# &7ac2 22 ; ..#...#. &7ac3 44 ; .#...#.. &7ac4 22 ; ..#...#. &7ac5 44 ; .#...#.. &7ac6 22 ; ..#...#. &7ac7 44 ; .#...#.. ; background_sprite_59 &7ac8 44 ; .#...#.. ; Ballroom East WALL &7ac9 44 ; .#...#.. &7aca ff ; ######## &7acb 11 ; ...#...# &7acc 11 ; ...#...# &7acd ff ; ######## &7ace 55 ; .#.#.#.# &7acf aa ; #.#.#.#. ; background_sprite_5a &7ad0 81 ; #......# ; (unused) &7ad1 81 ; #......# &7ad2 42 ; .#....#. &7ad3 24 ; ..#..#.. &7ad4 18 ; ...##... &7ad5 18 ; ...##... &7ad6 18 ; ...##... &7ad7 18 ; ...##... ; background_sprite_5b &7ad8 aa ; #.#.#.#. ; Ballroom West PLATFORM &7ad9 a8 ; #.#.#... &7ada ad ; #.#.##.# &7adb af ; #.#.#### &7adc 20 ; ..#..... &7add aa ; #.#.#.#. &7ade 55 ; .#.#.#.# &7adf 55 ; .#.#.#.# ; background_sprite_5c &7ae0 11 ; ...#...# ; Ballroom West WALL &7ae1 22 ; ..#...#. ; Entrance to Hades PLATFORM &7ae2 88 ; #...#... &7ae3 11 ; ...#...# &7ae4 44 ; .#...#.. &7ae5 88 ; #...#... &7ae6 22 ; ..#...#. &7ae7 44 ; .#...#.. ; background_sprite_5d &7ae8 28 ; ..#.#... ; (unused) &7ae9 54 ; .#.#.#.. &7aea aa ; #.#.#.#. &7aeb 54 ; .#.#.#.. &7aec a8 ; #.#.#... &7aed 54 ; .#.#.#.. &7aee 14 ; ...#.#.. &7aef 14 ; ...#.#.. ; background_sprite_5e &7af0 c0 ; ##...... ; West of Kitchen SLOPE &7af1 40 ; .#...... &7af2 b0 ; #.##.... &7af3 50 ; .#.#.... &7af4 ac ; #.#.##.. &7af5 54 ; .#.#.#.. &7af6 ab ; #.#.#.## &7af7 55 ; .#.#.#.# ; background_sprite_5f &7af8 ff ; ######## ; Ballroom West CONVEYOR &7af9 ff ; ######## &7afa ff ; ######## &7afb aa ; #.#.#.#. &7afc 55 ; .#.#.#.# &7afd 18 ; ...##... &7afe 18 ; ...##... &7aff 18 ; ...##... ; background_sprite_60 &7b00 04 ; .....#.. ; Ballroom West ITEM &7b01 04 ; .....#.. &7b02 ae ; #.#.###. &7b03 ae ; #.#.###. &7b04 a2 ; #.#...#. &7b05 42 ; .#....#. &7b06 42 ; .#....#. &7b07 ee ; ###.###. ; background_sprite_61 &7b08 ff ; ######## ; To the Kitchens Main Stairway PLATFORM &7b09 ff ; ######## &7b0a 00 ; ........ &7b0b ff ; ######## &7b0c 00 ; ........ &7b0d 00 ; ........ &7b0e 00 ; ........ &7b0f 00 ; ........ ; background_sprite_62 &7b10 00 ; ........ ; To the Kitchens Main Stairway WALL &7b11 15 ; ...#.#.# &7b12 bf ; #.###### &7b13 15 ; ...#.#.# &7b14 00 ; ........ &7b15 51 ; .#.#...# &7b16 fb ; #####.## &7b17 51 ; .#.#...# ; background_sprite_63 &7b18 18 ; ...##... ; To the Kitchens Main Stairway DEADLY &7b19 5a ; .#.##.#. &7b1a bd ; #.####.# &7b1b 19 ; ...##..# &7b1c 7e ; .######. &7b1d 99 ; #..##..# &7b1e 24 ; ..#..#.. &7b1f 24 ; ..#..#.. ; background_sprite_64 &7b20 f0 ; ####.... ; To the Kitchens Main Stairway CONVEYOR &7b21 aa ; #.#.#.#. &7b22 78 ; .####... &7b23 ff ; ######## &7b24 aa ; #.#.#.#. &7b25 55 ; .#.#.#.# &7b26 aa ; #.#.#.#. &7b27 55 ; .#.#.#.# ; background_sprite_65 &7b28 40 ; .#...... ; To the Kitchens Main Stairway ITEM &7b29 a0 ; #.#..... &7b2a f0 ; ####.... &7b2b f8 ; #####... &7b2c fc ; ######.. &7b2d 7a ; .####.#. &7b2e 25 ; ..#..#.# &7b2f 02 ; ......#. ; background_sprite_66 &7b30 fe ; #######. ; The Kitchen PLATFORM &7b31 01 ; .......# &7b32 7d ; .#####.# &7b33 85 ; #....#.# &7b34 81 ; #......# &7b35 81 ; #......# &7b36 81 ; #......# &7b37 01 ; .......# ; background_sprite_67 &7b38 42 ; .#....#. ; The Kitchen WALL &7b39 a5 ; #.#..#.# &7b3a 5a ; .#.##.#. &7b3b 24 ; ..#..#.. &7b3c 24 ; ..#..#.. &7b3d 5a ; .#.##.#. &7b3e a5 ; #.#..#.# &7b3f 42 ; .#....#. ; background_sprite_68 &7b40 20 ; ..#..... ; (unused) &7b41 40 ; .#...... &7b42 a0 ; #.#..... &7b43 18 ; ...##... &7b44 16 ; ...#.##. &7b45 09 ; ....#..# &7b46 08 ; ....#... &7b47 04 ; .....#.. ; background_sprite_69 &7b48 ff ; ######## ; West of Kitchen PLATFORM &7b49 bd ; #.####.# &7b4a a5 ; #.#..#.# &7b4b a5 ; #.#..#.# &7b4c a5 ; #.#..#.# &7b4d 42 ; .#....#. &7b4e 00 ; ........ &7b4f 00 ; ........ ; background_sprite_6a &7b50 09 ; ....#..# ; West of Kitchen WALL &7b51 42 ; .#....#. &7b52 90 ; #..#.... &7b53 24 ; ..#..#.. &7b54 09 ; ....#..# &7b55 42 ; .#....#. &7b56 90 ; #..#.... &7b57 24 ; ..#..#.. ; background_sprite_6b &7b58 e0 ; ###..... ; The Security Guard SLOPE &7b59 40 ; .#...... &7b5a 20 ; ..#..... &7b5b 10 ; ...#.... &7b5c 0e ; ....###. &7b5d 04 ; .....#.. &7b5e 02 ; ......#. &7b5f 01 ; .......# ; background_sprite_6c &7b60 f0 ; ####.... ; West of Kitchen CONVEYOR &7b61 55 ; .#.#.#.# &7b62 aa ; #.#.#.#. &7b63 55 ; .#.#.#.# &7b64 55 ; .#.#.#.# &7b65 aa ; #.#.#.#. &7b66 2a ; ..#.#.#. &7b67 08 ; ....#... ; background_sprite_6d &7b68 ff ; ######## ; Cold Store PLATFORM &7b69 ff ; ######## &7b6a 55 ; .#.#.#.# &7b6b aa ; #.#.#.#. &7b6c 55 ; .#.#.#.# &7b6d aa ; #.#.#.#. &7b6e 00 ; ........ &7b6f 00 ; ........ ; background_sprite_6e &7b70 92 ; #..#..#. ; Cold Store WALL &7b71 52 ; .#.#..#. &7b72 4a ; .#..#.#. &7b73 49 ; .#..#..# &7b74 29 ; ..#.#..# &7b75 25 ; ..#..#.# &7b76 a4 ; #.#..#.. &7b77 92 ; #..#..#. ; background_sprite_6f &7b78 20 ; ..#..... ; Cold Store DEADLY &7b79 22 ; ..#...#. &7b7a 14 ; ...#.#.. &7b7b d8 ; ##.##... &7b7c 1b ; ...##.## &7b7d 28 ; ..#.#... &7b7e 44 ; .#...#.. &7b7f 04 ; .....#.. ; background_sprite_70 &7b80 70 ; .###.... ; Cold Store ITEM &7b81 8c ; #...##.. &7b82 72 ; .###..#. &7b83 fa ; #####.#. &7b84 ef ; ###.#### &7b85 ad ; #.#.##.# &7b86 25 ; ..#..#.# &7b87 21 ; ..#....# ; background_sprite_71 &7b88 5b ; .#.##.## ; East Wall Base PLATFORM &7b89 a4 ; #.#..#.. &7b8a a4 ; #.#..#.. &7b8b 55 ; .#.#.#.# &7b8c 0a ; ....#.#. &7b8d 00 ; ........ &7b8e 00 ; ........ &7b8f 00 ; ........ ; background_sprite_72 &7b90 59 ; .#.##..# ; East Wall Base WALL &7b91 25 ; ..#..#.# &7b92 26 ; ..#..##. &7b93 d9 ; ##.##..# &7b94 29 ; ..#.#..# &7b95 d6 ; ##.#.##. &7b96 54 ; .#.#.#.. &7b97 96 ; #..#.##. ; background_sprite_73 &7b98 49 ; .#..#..# ; The Chapel PLATFORM &7b99 49 ; .#..#..# ; The Bow WALL &7b9a 49 ; .#..#..# &7b9b 49 ; .#..#..# &7b9c 49 ; .#..#..# &7b9d 49 ; .#..#..# &7b9e 49 ; .#..#..# &7b9f 49 ; .#..#..# ; background_sprite_74 &7ba0 a8 ; #.#.#... ; The Chapel WALL &7ba1 25 ; ..#..#.# &7ba2 00 ; ........ &7ba3 25 ; ..#..#.# &7ba4 a8 ; #.#.#... &7ba5 40 ; .#...... &7ba6 dd ; ##.###.# &7ba7 40 ; .#...... ; background_sprite_75 &7ba8 28 ; ..#.#... ; (unused) &7ba9 54 ; .#.#.#.. &7baa aa ; #.#.#.#. &7bab 55 ; .#.#.#.# &7bac aa ; #.#.#.#. &7bad 28 ; ..#.#... &7bae 28 ; ..#.#... &7baf 28 ; ..#.#... ; background_sprite_76 &7bb0 00 ; ........ ; (unused) &7bb1 0a ; ....#.#. &7bb2 bd ; #.####.# &7bb3 ff ; ######## &7bb4 00 ; ........ &7bb5 aa ; #.#.#.#. &7bb6 55 ; .#.#.#.# &7bb7 aa ; #.#.#.#. ; background_sprite_77 &7bb8 10 ; ...#.... ; The Chapel ITEM &7bb9 30 ; ..##.... &7bba 38 ; ..###... &7bbb 6c ; .##.##.. &7bbc c6 ; ##...##. &7bbd c6 ; ##...##. &7bbe 6c ; .##.##.. &7bbf 28 ; ..#.#... ; background_sprite_78 &7bc0 ff ; ######## ; First Landing PLATFORM &7bc1 aa ; #.#.#.#. &7bc2 55 ; .#.#.#.# &7bc3 80 ; #....... &7bc4 5d ; .#.###.# &7bc5 94 ; #..#.#.. &7bc6 5d ; .#.###.# &7bc7 80 ; #....... ; background_sprite_79 &7bc8 22 ; ..#...#. ; First Landing WALL &7bc9 55 ; .#.#.#.# &7bca 00 ; ........ &7bcb 55 ; .#.#.#.# &7bcc 88 ; #...#... &7bcd 55 ; .#.#.#.# &7bce 00 ; ........ &7bcf 22 ; ..#...#. ; background_sprite_7a &7bd0 7e ; .######. ; First Landing ITEM (unused) &7bd1 81 ; #......# ; First Landing DEADLY &7bd2 a5 ; #.#..#.# &7bd3 99 ; #..##..# &7bd4 99 ; #..##..# &7bd5 a5 ; #.#..#.# &7bd6 81 ; #......# &7bd7 7e ; .######. ; background_sprite_7b &7bd8 03 ; ......## ; Back Stairway SLOPE &7bd9 01 ; .......# &7bda 0c ; ....##.. &7bdb 04 ; .....#.. &7bdc 30 ; ..##.... &7bdd 10 ; ...#.... &7bde c0 ; ##...... &7bdf 40 ; .#...... ; background_sprite_7c &7be0 ff ; ######## ; The Nightmare Room PLATFORM &7be1 a5 ; #.#..#.# &7be2 52 ; .#.#..#. &7be3 24 ; ..#..#.. &7be4 42 ; .#....#. &7be5 22 ; ..#...#. &7be6 40 ; .#...... &7be7 04 ; .....#.. ; background_sprite_7d &7be8 00 ; ........ ; The Nightmare Room WALL &7be9 2a ; ..#.#.#. &7bea 54 ; .#.#.#.. &7beb 00 ; ........ &7bec 00 ; ........ &7bed a2 ; #.#...#. &7bee 45 ; .#...#.# &7bef 00 ; ........ ; background_sprite_7e &7bf0 42 ; .#....#. ; (unused) &7bf1 99 ; #..##..# &7bf2 66 ; .##..##. &7bf3 a1 ; #.#....# &7bf4 9f ; #..##### &7bf5 81 ; #......# &7bf6 66 ; .##..##. &7bf7 5a ; .#.##.#. ; background_sprite_7f &7bf8 ff ; ######## ; The Nightmare Room CONVEYOR &7bf9 5a ; .#.##.#. &7bfa ff ; ######## &7bfb ff ; ######## &7bfc aa ; #.#.#.#. &7bfd 55 ; .#.#.#.# &7bfe aa ; #.#.#.#. &7bff 55 ; .#.#.#.# ; background_sprite_80 &7c00 03 ; ......## ; Back Door SLOPE &7c01 03 ; ......## ; The Wine Cellar SLOPE &7c02 0d ; ....##.# ; The Bridge SLOPE &7c03 0e ; ....###. &7c04 34 ; ..##.#.. &7c05 39 ; ..###..# &7c06 d2 ; ##.#..#. &7c07 e4 ; ###..#.. ; background_sprite_81 &7c08 00 ; ........ ; The Banyan Tree PLATFORM &7c09 a2 ; #.#...#. &7c0a 00 ; ........ &7c0b 00 ; ........ &7c0c 00 ; ........ &7c0d 46 ; .#...##. &7c0e 00 ; ........ &7c0f 93 ; #..#..## ; background_sprite_82 &7c10 4a ; .#..#.#. ; The Banyan Tree WALL &7c11 29 ; ..#.#..# &7c12 25 ; ..#..#.# &7c13 49 ; .#..#..# &7c14 92 ; #..#..#. &7c15 a4 ; #.#..#.. &7c16 25 ; ..#..#.# &7c17 94 ; #..#.#.. ; background_sprite_83 &7c18 80 ; #....... ; The Bow SLOPE &7c19 40 ; .#...... ; The Yacht SLOPE &7c1a 20 ; ..#..... &7c1b 10 ; ...#.... &7c1c 08 ; ....#... &7c1d 04 ; .....#.. &7c1e 02 ; ......#. &7c1f 01 ; .......# ; background_sprite_84 &7c20 01 ; .......# ; Above the West Bedroom SLOPE &7c21 00 ; ........ &7c22 07 ; .....### &7c23 09 ; ....#..# &7c24 13 ; ...#..## &7c25 06 ; .....##. &7c26 7c ; .#####.. &7c27 98 ; #..##... ; background_sprite_85 &7c28 05 ; .....#.# ; The Banyan Tree ITEM &7c29 38 ; ..###... &7c2a 45 ; .#...#.# &7c2b 82 ; #.....#. &7c2c 82 ; #.....#. &7c2d 82 ; #.....#. &7c2e 44 ; .#...#.. &7c2f 38 ; ..###... ; background_sprite_86 &7c30 ff ; ######## ; Swimming Pool PLATFORM &7c31 ff ; ######## &7c32 ff ; ######## &7c33 ff ; ######## &7c34 ff ; ######## &7c35 ff ; ######## &7c36 ff ; ######## &7c37 ff ; ######## ; background_sprite_87 &7c38 44 ; .#...#.. ; Swimming Pool WALL &7c39 44 ; .#...#.. &7c3a bb ; #.###.## &7c3b 44 ; .#...#.. &7c3c 44 ; .#...#.. &7c3d 44 ; .#...#.. &7c3e bb ; #.###.## &7c3f 44 ; .#...#.. ; background_sprite_88 &7c40 01 ; .......# ; Watch Tower SLOPE &7c41 02 ; ......#. ; Orangery SLOPE &7c42 04 ; .....#.. &7c43 08 ; ....#... &7c44 00 ; ........ &7c45 20 ; ..#..... &7c46 40 ; .#...... &7c47 80 ; #....... ; background_sprite_89 &7c48 70 ; .###.... ; (unused) &7c49 20 ; ..#..... &7c4a 20 ; ..#..... &7c4b 50 ; .#.#.... &7c4c 50 ; .#.#.... &7c4d 88 ; #...#... &7c4e 88 ; #...#... &7c4f 00 ; ........ ; background_sprite_8a &7c50 ff ; ######## ; Halfway up the East Wall PLATFORM &7c51 ff ; ######## &7c52 5a ; .#.##.#. &7c53 99 ; #..##..# &7c54 bd ; #.####.# &7c55 5a ; .#.##.#. &7c56 3c ; ..####.. &7c57 5a ; .#.##.#. ; background_sprite_8b &7c58 33 ; ..##..## ; Halfway up the East Wall WALL &7c59 11 ; ...#...# &7c5a 44 ; .#...#.. &7c5b cc ; ##..##.. &7c5c 33 ; ..##..## &7c5d 11 ; ...#...# &7c5e 44 ; .#...#.. &7c5f cc ; ##..##.. ; background_sprite_8c &7c60 01 ; .......# ; Coservatory Roof SLOPE &7c61 02 ; ......#. &7c62 04 ; .....#.. &7c63 10 ; ...#.... &7c64 08 ; ....#... &7c65 20 ; ..#..... &7c66 40 ; .#...... &7c67 80 ; #....... ; background_sprite_8d &7c68 00 ; ........ ; The Bathroom PLATFORM &7c69 40 ; .#...... &7c6a 09 ; ....#..# &7c6b 64 ; .##..#.. &7c6c 92 ; #..#..#. &7c6d 2d ; ..#.##.# &7c6e 96 ; #..#.##. &7c6f ff ; ######## ; background_sprite_8e &7c70 1f ; ...##### ; The Bathroom WALL &7c71 aa ; #.#.#.#. &7c72 00 ; ........ &7c73 55 ; .#.#.#.# &7c74 f8 ; #####... &7c75 55 ; .#.#.#.# &7c76 00 ; ........ &7c77 aa ; #.#.#.#. ; background_sprite_8f &7c78 01 ; .......# ; Under the Roof SLOPE &7c79 02 ; ......#. ; On a Branch Over the Drive SLOPE &7c7a 04 ; .....#.. &7c7b 28 ; ..#.#... &7c7c 14 ; ...#.#.. &7c7d 20 ; ..#..... &7c7e 40 ; .#...... &7c7f 80 ; #....... ; background_sprite_90 &7c80 a5 ; #.#..#.# ; The Bathroom CONVEYOR &7c81 ff ; ######## ; The Bow DEADLY &7c82 ff ; ######## &7c83 ff ; ######## &7c84 ff ; ######## &7c85 ff ; ######## &7c86 ff ; ######## &7c87 ff ; ######## ; background_sprite_91 &7c88 1b ; ...##.## ; The Bathroom ITEM &7c89 04 ; .....#.. &7c8a 0a ; ....#.#. &7c8b 77 ; .###.### &7c8c 87 ; #....### &7c8d b1 ; #.##...# &7c8e ea ; ###.#.#. &7c8f 0a ; ....#.#. ; background_sprite_92 &7c90 ff ; ######## ; Top Landing PLATFORM &7c91 aa ; #.#.#.#. ; The Bow PLATFORM &7c92 55 ; .#.#.#.# &7c93 ff ; ######## &7c94 00 ; ........ &7c95 00 ; ........ &7c96 00 ; ........ &7c97 00 ; ........ ; background_sprite_93 &7c98 69 ; .##.#..# ; Top Landing WALL &7c99 90 ; #..#.... &7c9a 90 ; #..#.... &7c9b 69 ; .##.#..# &7c9c 96 ; #..#.##. &7c9d 69 ; .##.#..# &7c9e 69 ; .##.#..# &7c9f 96 ; #..#.##. ; background_sprite_94 &7ca0 03 ; ......## ; Nomem Luni SLOPE &7ca1 00 ; ........ &7ca2 0c ; ....##.. &7ca3 00 ; ........ &7ca4 32 ; ..##..#. &7ca5 07 ; .....### &7ca6 c2 ; ##....#. &7ca7 00 ; ........ ; background_sprite_95 &7ca8 18 ; ...##... ; Top Landing ITEM &7ca9 24 ; ..#..#.. &7caa a4 ; #.#..#.. &7cab ca ; ##..#.#. &7cac 95 ; #..#.#.# &7cad 0a ; ....#.#. &7cae 15 ; ...#.#.# &7caf 0e ; ....###. ; background_sprite_96 &7cb0 ff ; ######## ; Master Bedroom PLATFORM &7cb1 6b ; .##.#.## &7cb2 b5 ; #.##.#.# &7cb3 00 ; ........ &7cb4 ad ; #.#.##.# &7cb5 00 ; ........ &7cb6 4a ; .#..#.#. &7cb7 00 ; ........ ; background_sprite_97 &7cb8 00 ; ........ ; Master Bedroom WALL &7cb9 51 ; .#.#...# &7cba fb ; #####.## &7cbb 51 ; .#.#...# &7cbc 00 ; ........ &7cbd aa ; #.#.#.#. &7cbe bf ; #.###### &7cbf aa ; #.#.#.#. ; background_sprite_98 &7cc0 00 ; ........ ; Master Bedroom ITEM (unused) &7cc1 00 ; ........ ; Master Bedroom DEADLY &7cc2 00 ; ........ &7cc3 00 ; ........ &7cc4 7c ; .#####.. &7cc5 fe ; #######. &7cc6 7f ; .####### &7cc7 3e ; ..#####. ; background_sprite_99 &7cc8 c0 ; ##...... ; The Drive SLOPE &7cc9 c0 ; ##...... &7cca 70 ; .###.... &7ccb 70 ; .###.... &7ccc 0c ; ....##.. &7ccd 3c ; ..####.. &7cce 0b ; ....#.## &7ccf 7f ; .####### ; background_sprite_9a &7cd0 55 ; .#.#.#.# ; Master Bedroom CONVEYOR &7cd1 55 ; .#.#.#.# &7cd2 55 ; .#.#.#.# &7cd3 55 ; .#.#.#.# &7cd4 51 ; .#.#...# &7cd5 5f ; .#.##### &7cd6 40 ; .#...... &7cd7 7f ; .####### ; background_sprite_9b &7cd8 ad ; #.#.##.# ; A bit of tree PLATFORM &7cd9 52 ; .#.#..#. &7cda 29 ; ..#.#..# &7cdb 00 ; ........ &7cdc 01 ; .......# &7cdd 02 ; ......#. &7cde 00 ; ........ &7cdf 00 ; ........ ; background_sprite_9c &7ce0 d6 ; ##.#.##. ; A bit of tree WALL &7ce1 6b ; .##.#.## &7ce2 66 ; .##..##. &7ce3 db ; ##.##.## &7ce4 69 ; .##.#..# &7ce5 6b ; .##.#.## &7ce6 d9 ; ##.##..# &7ce7 6d ; .##.##.# ; background_sprite_9d &7ce8 15 ; ...#.#.# ; A bit of tree DEADLY &7ce9 00 ; ........ &7cea aa ; #.#.#.#. &7ceb 55 ; .#.#.#.# &7cec aa ; #.#.#.#. &7ced 00 ; ........ &7cee 15 ; ...#.#.# &7cef 0a ; ....#.#. ; background_sprite_9e &7cf0 03 ; ......## ; A bit of tree SLOPE &7cf1 08 ; ....#... &7cf2 24 ; ..#..#.. &7cf3 10 ; ...#.... &7cf4 40 ; .#...... &7cf5 20 ; ..#..... &7cf6 80 ; #....... &7cf7 80 ; #....... ; background_sprite_9f &7cf8 a5 ; #.#..#.# ; Orangery PLATFORM &7cf9 4a ; .#..#.#. &7cfa 24 ; ..#..#.. &7cfb 02 ; ......#. &7cfc 04 ; .....#.. &7cfd 00 ; ........ &7cfe 02 ; ......#. &7cff 00 ; ........ ; background_sprite_a0 &7d00 15 ; ...#.#.# ; Orangery WALL &7d01 55 ; .#.#.#.# &7d02 55 ; .#.#.#.# &7d03 24 ; ..#..#.. &7d04 25 ; ..#..#.# &7d05 55 ; .#.#.#.# &7d06 49 ; .#..#..# &7d07 22 ; ..#...#. ; background_sprite_a1 &7d08 82 ; #.....#. ; (unused) &7d09 41 ; .#.....# &7d0a 3e ; ..#####. &7d0b 6a ; .##.#.#. &7d0c b7 ; #.##.### &7d0d 19 ; ...##..# &7d0e 25 ; ..#..#.# &7d0f 44 ; .#...#.. ; background_sprite_a2 &7d10 80 ; #....... ; Under the Drive SLOPE &7d11 c0 ; ##...... &7d12 e0 ; ###..... &7d13 70 ; .###.... &7d14 38 ; ..###... &7d15 9c ; #..###.. &7d16 4e ; .#..###. &7d17 c7 ; ##...### ; background_sprite_a3 &7d18 c6 ; ##...##. ; Orangery CONVEYOR &7d19 aa ; #.#.#.#. &7d1a a8 ; #.#.#... &7d1b 2a ; ..#.#.#. &7d1c 59 ; .#.##..# &7d1d 24 ; ..#..#.. &7d1e 00 ; ........ &7d1f 00 ; ........ ; background_sprite_a4 &7d20 02 ; ......#. ; Orangery ITEM &7d21 14 ; ...#.#.. &7d22 2e ; ..#.###. &7d23 55 ; .#.#.#.# &7d24 2a ; ..#.#.#. &7d25 45 ; .#...#.# &7d26 2a ; ..#.#.#. &7d27 00 ; ........ ; background_sprite_a5 &7d28 55 ; .#.#.#.# ; Priests' Hole PLATFORM &7d29 55 ; .#.#.#.# &7d2a 5d ; .#.###.# &7d2b d7 ; ##.#.### &7d2c 70 ; .###.... &7d2d 00 ; ........ &7d2e 00 ; ........ &7d2f 00 ; ........ ; background_sprite_a6 &7d30 22 ; ..#...#. ; Priests' Hole WALL &7d31 11 ; ...#...# &7d32 44 ; .#...#.. &7d33 88 ; #...#... &7d34 22 ; ..#...#. &7d35 11 ; ...#...# &7d36 44 ; .#...#.. &7d37 88 ; #...#... ; background_sprite_a7 &7d38 bf ; #.###### ; Priests' Hole ITEM &7d39 bf ; #.###### &7d3a bb ; #.###.## &7d3b b1 ; #.##...# &7d3c bb ; #.###.## &7d3d bb ; #.###.## &7d3e bf ; #.###### &7d3f bf ; #.###### ; background_sprite_a8 &7d40 66 ; .##..##. ; Emergency Generator PLATFORM &7d41 66 ; .##..##. &7d42 66 ; .##..##. &7d43 66 ; .##..##. &7d44 66 ; .##..##. &7d45 66 ; .##..##. &7d46 66 ; .##..##. &7d47 66 ; .##..##. ; background_sprite_a9 &7d48 bf ; #.###### ; Emergency Generator WALL &7d49 15 ; ...#.#.# &7d4a 00 ; ........ &7d4b 51 ; .#.#...# &7d4c fb ; #####.## &7d4d 51 ; .#.#...# &7d4e 00 ; ........ &7d4f 15 ; ...#.#.# ; background_sprite_aa &7d50 ff ; ######## ; Emergency Generator DEADLY &7d51 3f ; ..###### &7d52 03 ; ......## &7d53 3f ; ..###### &7d54 ff ; ######## &7d55 3f ; ..###### &7d56 03 ; ......## &7d57 3f ; ..###### ; background_sprite_ab &7d58 ff ; ######## ; Swimming Pool SLOPE &7d59 fe ; #######. &7d5a fc ; ######.. &7d5b f9 ; #####..# &7d5c f0 ; ####.... &7d5d e0 ; ###..... &7d5e c2 ; ##....#. &7d5f 90 ; #..#.... ; background_sprite_ac &7d60 aa ; #.#.#.#. ; Emergency Generator CONVEYOR &7d61 54 ; .#.#.#.. &7d62 aa ; #.#.#.#. &7d63 54 ; .#.#.#.. &7d64 28 ; ..#.#... &7d65 10 ; ...#.... &7d66 28 ; ..#.#... &7d67 10 ; ...#.... ; background_sprite_ad &7d68 fe ; #######. ; Dr Jones will never believe this PLATFORM &7d69 55 ; .#.#.#.# &7d6a 2a ; ..#.#.#. &7d6b aa ; #.#.#.#. &7d6c 55 ; .#.#.#.# &7d6d aa ; #.#.#.#. &7d6e aa ; #.#.#.#. &7d6f ff ; ######## ; background_sprite_ae &7d70 11 ; ...#...# ; Dr Jones will never believe this WALL &7d71 44 ; .#...#.. &7d72 22 ; ..#...#. &7d73 88 ; #...#... &7d74 11 ; ...#...# &7d75 44 ; .#...#.. &7d76 22 ; ..#...#. &7d77 88 ; #...#... ; background_sprite_af &7d78 01 ; .......# ; Dr Jones will never believe this DEADLY &7d79 04 ; .....#.. &7d7a 22 ; ..#...#. &7d7b 08 ; ....#... &7d7c 11 ; ...#...# &7d7d 44 ; .#...#.. &7d7e 22 ; ..#...#. &7d7f 88 ; #...#... ; background_sprite_b0 &7d80 40 ; .#...... ; Dr Jones will never believe this SLOPE &7d81 90 ; #..#.... &7d82 24 ; ..#..#.. &7d83 48 ; .#..#... &7d84 12 ; ...#..#. &7d85 24 ; ..#..#.. &7d86 09 ; ....#..# &7d87 02 ; ......#. ; background_sprite_b1 &7d88 a5 ; #.#..#.# ; Dr Jones will never believe this CONVEYOR &7d89 00 ; ........ &7d8a a5 ; #.#..#.# &7d8b 00 ; ........ &7d8c aa ; #.#.#.#. &7d8d ff ; ######## &7d8e ff ; ######## &7d8f 55 ; .#.#.#.# ; background_sprite_b2 &7d90 f0 ; ####.... ; Dr Jones will never believe this ITEM &7d91 f0 ; ####.... &7d92 78 ; .####... &7d93 b8 ; #.###... &7d94 4c ; .#..##.. &7d95 32 ; ..##..#. &7d96 0d ; ....##.# &7d97 03 ; ......## ; background_sprite_b3 &7d98 ce ; ##..###. ; The Attic PLATFORM &7d99 ff ; ######## &7d9a 00 ; ........ &7d9b e7 ; ###..### &7d9c 00 ; ........ &7d9d 7f ; .####### &7d9e 00 ; ........ &7d9f fb ; #####.## ; background_sprite_b4 &7da0 ee ; ###.###. ; The Attic WALL &7da1 11 ; ...#...# &7da2 6c ; .##.##.. &7da3 92 ; #..#..#. &7da4 11 ; ...#...# &7da5 c9 ; ##..#..# &7da6 22 ; ..#...#. &7da7 9c ; #..###.. ; background_sprite_b5 &7da8 24 ; ..#..#.. ; The Attic DEADLY &7da9 12 ; ...#..#. &7daa 44 ; .#...#.. &7dab aa ; #.#.#.#. &7dac 55 ; .#.#.#.# &7dad aa ; #.#.#.#. &7dae 5b ; .#.##.## &7daf ff ; ######## ; background_sprite_b6 &7db0 f0 ; ####.... ; The Attic CONVEYOR &7db1 aa ; #.#.#.#. &7db2 3c ; ..####.. &7db3 aa ; #.#.#.#. &7db4 55 ; .#.#.#.# &7db5 aa ; #.#.#.#. &7db6 55 ; .#.#.#.# &7db7 aa ; #.#.#.#. ; background_sprite_b7 &7db8 00 ; ........ ; Tree Top SLOPE &7db9 c0 ; ##...... ; At the Foot of the Megatree SLOPE &7dba 00 ; ........ &7dbb 30 ; ..##.... &7dbc 00 ; ........ &7dbd 0c ; ....##.. &7dbe 00 ; ........ &7dbf 03 ; ......## ; background_sprite_b8 &7dc0 b5 ; #.##.#.# ; Under the Roof PLATFORM &7dc1 aa ; #.#.#.#. &7dc2 55 ; .#.#.#.# &7dc3 4a ; .#..#.#. &7dc4 25 ; ..#..#.# &7dc5 42 ; .#....#. &7dc6 01 ; .......# &7dc7 02 ; ......#. ; background_sprite_b9 &7dc8 66 ; .##..##. ; Under the Roof WALL &7dc9 b6 ; #.##.##. &7dca 6d ; .##.##.# &7dcb bb ; #.###.## &7dcc 66 ; .##..##. &7dcd b9 ; #.###..# &7dce 6d ; .##.##.# &7dcf b6 ; #.##.##. ; background_sprite_ba &7dd0 66 ; .##..##. ; Under the Roof DEADLY &7dd1 aa ; #.#.#.#. &7dd2 5f ; .#.##### &7dd3 bc ; #.####.. &7dd4 63 ; .##...## &7dd5 ac ; #.#.##.. &7dd6 6b ; .##.#.## &7dd7 a4 ; #.#..#.. ; background_sprite_bb &7dd8 01 ; .......# ; Rescue Esmerelda SLOPE &7dd9 02 ; ......#. ; On top of the house SLOPE &7dda 04 ; .....#.. &7ddb 09 ; ....#..# &7ddc 12 ; ...#..#. &7ddd 24 ; ..#..#.. &7dde 48 ; .#..#... &7ddf 90 ; #..#.... ; background_sprite_bc &7de0 a5 ; #.#..#.# ; Under the Roof CONVEYOR &7de1 aa ; #.#.#.#. &7de2 bd ; #.####.# &7de3 66 ; .##..##. &7de4 66 ; .##..##. &7de5 66 ; .##..##. &7de6 66 ; .##..##. &7de7 66 ; .##..##. ; background_sprite_bd &7de8 ff ; ######## ; Coservatory Roof CONVEYOR &7de9 ff ; ######## &7dea ff ; ######## &7deb ff ; ######## &7dec ff ; ######## &7ded ff ; ######## &7dee ff ; ######## &7def 00 ; ........ ; background_sprite_be &7df0 ac ; #.#.##.. ; Coservatory Roof PLATFORM &7df1 53 ; .#.#..## &7df2 2a ; ..#.#.#. &7df3 d0 ; ##.#.... &7df4 8a ; #...#.#. &7df5 24 ; ..#..#.. &7df6 22 ; ..#...#. &7df7 04 ; .....#.. ; background_sprite_bf &7df8 f7 ; ####.### ; Coservatory Roof WALL &7df9 ef ; ###.#### &7dfa 00 ; ........ &7dfb 00 ; ........ &7dfc 00 ; ........ &7dfd 66 ; .##..##. &7dfe 66 ; .##..##. &7dff 00 ; ........ ; background_sprite_c0 &7e00 da ; ##.##.#. ; Coservatory Roof DEADLY &7e01 d5 ; ##.#.#.# &7e02 7f ; .####### &7e03 2e ; ..#.###. &7e04 11 ; ...#...# &7e05 1f ; ...##### &7e06 0a ; ....#.#. &7e07 1b ; ...##.## ; background_sprite_c1 &7e08 18 ; ...##... ; Coservatory Roof ITEM &7e09 18 ; ...##... &7e0a f8 ; #####... &7e0b 3c ; ..####.. &7e0c 7e ; .######. &7e0d 60 ; .##..... &7e0e 60 ; .##..... &7e0f 7e ; .######. ; background_sprite_c2 &7e10 a0 ; #.#..... ; On top of the house PLATFORM &7e11 40 ; .#...... &7e12 80 ; #....... &7e13 00 ; ........ &7e14 00 ; ........ &7e15 00 ; ........ &7e16 00 ; ........ &7e17 00 ; ........ ; background_sprite_c3 &7e18 51 ; .#.#...# ; On top of the house WALL &7e19 aa ; #.#.#.#. &7e1a 00 ; ........ &7e1b aa ; #.#.#.#. &7e1c 15 ; ...#.#.# &7e1d aa ; #.#.#.#. &7e1e 00 ; ........ &7e1f aa ; #.#.#.#. ; background_sprite_c4 &7e20 8e ; #...###. ; The Yacht ITEM &7e21 f1 ; ####...# &7e22 b9 ; #.###..# &7e23 d5 ; ##.#.#.# &7e24 ef ; ###.#### &7e25 d7 ; ##.#.### &7e26 bb ; #.###.## &7e27 ff ; ######## ; background_sprite_c5 &7e28 00 ; ........ ; On top of the house ITEM &7e29 00 ; ........ &7e2a 18 ; ...##... &7e2b 14 ; ...#.#.. &7e2c 1a ; ...##.#. &7e2d 35 ; ..##.#.# &7e2e 6f ; .##.#### &7e2f d8 ; ##.##... ; background_sprite_c6 &7e30 ff ; ######## ; Under the Drive PLATFORM &7e31 ff ; ######## &7e32 a5 ; #.#..#.# &7e33 58 ; .#.##... &7e34 24 ; ..#..#.. &7e35 42 ; .#....#. &7e36 20 ; ..#..... &7e37 00 ; ........ ; background_sprite_c7 &7e38 10 ; ...#.... ; Under the Drive WALL &7e39 2a ; ..#.#.#. &7e3a 55 ; .#.#.#.# &7e3b a0 ; #.#..... &7e3c 10 ; ...#.... &7e3d 20 ; ..#..... &7e3e 10 ; ...#.... &7e3f 08 ; ....#... ; background_sprite_c8 &7e40 18 ; ...##... ; Under the Drive DEADLY &7e41 18 ; ...##... &7e42 14 ; ...#.#.. &7e43 22 ; ..#...#. &7e44 22 ; ..#...#. &7e45 55 ; .#.#.#.# &7e46 51 ; .#.#...# &7e47 c9 ; ##..#..# ; background_sprite_c9 &7e48 7e ; .######. ; The Yacht DEADLY &7e49 bf ; #.###### &7e4a bf ; #.###### &7e4b ff ; ######## &7e4c 2c ; ..#.##.. &7e4d 2c ; ..#.##.. &7e4e 2c ; ..#.##.. &7e4f ff ; ######## ; background_sprite_ca &7e50 07 ; .....### ; (unused) &7e51 55 ; .#.#.#.# &7e52 1f ; ...##### &7e53 00 ; ........ &7e54 ff ; ######## &7e55 ff ; ######## &7e56 66 ; .##..##. &7e57 66 ; .##..##. ; background_sprite_cb &7e58 81 ; #......# ; (unused) &7e59 64 ; .##..#.. &7e5a cd ; ##..##.# &7e5b 0f ; ....#### &7e5c 61 ; .##....# &7e5d da ; ##.##.#. &7e5e 33 ; ..##..## &7e5f aa ; #.#.#.#. ; background_sprite_cc &7e60 ff ; ######## ; Tree Root PLATFORM &7e61 ff ; ######## &7e62 00 ; ........ &7e63 00 ; ........ &7e64 00 ; ........ &7e65 00 ; ........ &7e66 00 ; ........ &7e67 00 ; ........ ; background_sprite_cd &7e68 66 ; .##..##. ; Tree Root WALL &7e69 99 ; #..##..# &7e6a 24 ; ..#..#.. &7e6b 24 ; ..#..#.. &7e6c 77 ; .###.### &7e6d 88 ; #...#... &7e6e 8d ; #...##.# &7e6f 72 ; .###..#. ; background_sprite_ce &7e70 1c ; ...###.. ; Tree Root DEADLY &7e71 2a ; ..#.#.#. &7e72 5f ; .#.##### &7e73 7d ; .#####.# &7e74 be ; #.#####. &7e75 fe ; #######. &7e76 d2 ; ##.#..#. &7e77 7c ; .#####.. ; background_sprite_cf &7e78 07 ; .....### ; The Yacht CONVEYOR &7e79 55 ; .#.#.#.# &7e7a 07 ; .....### &7e7b 00 ; ........ &7e7c 01 ; .......# &7e7d c3 ; ##....## &7e7e 66 ; .##..##. &7e7f 18 ; ...##... ; background_sprite_d0 &7e80 ee ; ###.###. ; Under the Drive CONVEYOR &7e81 aa ; #.#.#.#. ; Tree Root CONVEYOR &7e82 38 ; ..###... &7e83 ff ; ######## &7e84 ff ; ######## &7e85 10 ; ...#.... &7e86 10 ; ...#.... &7e87 38 ; ..###... ; background_sprite_d1 &7e88 02 ; ......#. ; Under the Drive ITEM (unused) &7e89 1d ; ...###.# ; Tree Root ITEM &7e8a 22 ; ..#...#. &7e8b 5e ; .#.####. &7e8c be ; #.#####. &7e8d 7c ; .#####.. &7e8e 38 ; ..###... &7e8f 10 ; ...#.... ; background_sprite_d2 &7e90 ff ; ######## ; Nomem Luni PLATFORM &7e91 22 ; ..#...#. &7e92 44 ; .#...#.. &7e93 88 ; #...#... &7e94 55 ; .#.#.#.# &7e95 22 ; ..#...#. &7e96 00 ; ........ &7e97 00 ; ........ ; background_sprite_d3 &7e98 aa ; #.#.#.#. ; Nomem Luni WALL &7e99 70 ; .###.... &7e9a aa ; #.#.#.#. &7e9b 6c ; .##.##.. &7e9c b1 ; #.##...# &7e9d 5f ; .#.##### &7e9e aa ; #.#.#.#. &7e9f 55 ; .#.#.#.# ; background_sprite_d4 &7ea0 55 ; .#.#.#.# ; (unused) &7ea1 a2 ; #.#...#. &7ea2 55 ; .#.#.#.# &7ea3 0c ; ....##.. &7ea4 1c ; ...###.. &7ea5 2a ; ..#.#.#. &7ea6 45 ; .#...#.# &7ea7 8a ; #...#.#. ; background_sprite_d5 &7ea8 12 ; ...#..#. ; (unused) &7ea9 12 ; ...#..#. &7eaa 12 ; ...#..#. &7eab 12 ; ...#..#. &7eac 12 ; ...#..#. &7ead 12 ; ...#..#. &7eae 12 ; ...#..#. &7eaf 12 ; ...#..#. ; background_sprite_d6 &7eb0 ff ; ######## ; The Wine Cellar PLATFORM &7eb1 18 ; ...##... &7eb2 e7 ; ###..### &7eb3 10 ; ...#.... &7eb4 c7 ; ##...### &7eb5 38 ; ..###... &7eb6 00 ; ........ &7eb7 00 ; ........ ; background_sprite_d7 &7eb8 0a ; ....#.#. ; The Wine Cellar WALL &7eb9 41 ; .#.....# &7eba 28 ; ..#.#... &7ebb 05 ; .....#.# &7ebc a0 ; #.#..... &7ebd 14 ; ...#.#.. &7ebe 82 ; #.....#. &7ebf 50 ; .#.#.... ; background_sprite_d8 &7ec0 24 ; ..#..#.. ; The Wine Cellar DEADLY &7ec1 24 ; ..#..#.. &7ec2 24 ; ..#..#.. &7ec3 5a ; .#.##.#. &7ec4 db ; ##.##.## &7ec5 bd ; #.####.# &7ec6 c3 ; ##....## &7ec7 7e ; .######. ; background_sprite_d9 &7ec8 aa ; #.#.#.#. ; Above the West Bedroom WALL &7ec9 55 ; .#.#.#.# ; The Wine Cellar CONVEYOR &7eca aa ; #.#.#.#. &7ecb 55 ; .#.#.#.# &7ecc aa ; #.#.#.#. &7ecd 55 ; .#.#.#.# &7ece aa ; #.#.#.#. &7ecf 55 ; .#.#.#.# ; background_sprite_da &7ed0 00 ; ........ ; The Wine Cellar ITEM &7ed1 19 ; ...##..# &7ed2 f9 ; #####..# &7ed3 1f ; ...##### &7ed4 00 ; ........ &7ed5 19 ; ...##..# &7ed6 ff ; ######## &7ed7 1f ; ...##### ; background_sprite_db &7ed8 ff ; ######## ; Watch Tower PLATFORM &7ed9 ff ; ######## &7eda aa ; #.#.#.#. &7edb 55 ; .#.#.#.# &7edc aa ; #.#.#.#. &7edd 55 ; .#.#.#.# &7ede 00 ; ........ &7edf 00 ; ........ ; background_sprite_dc &7ee0 aa ; #.#.#.#. ; Watch Tower WALL &7ee1 55 ; .#.#.#.# &7ee2 55 ; .#.#.#.# &7ee3 aa ; #.#.#.#. &7ee4 55 ; .#.#.#.# &7ee5 aa ; #.#.#.#. &7ee6 aa ; #.#.#.#. &7ee7 55 ; .#.#.#.# ; background_sprite_dd &7ee8 46 ; .#...##. ; Watch Tower DEADLY &7ee9 89 ; #...#..# &7eea 89 ; #...#..# &7eeb 36 ; ..##.##. &7eec 48 ; .#..#... &7eed 83 ; #.....## &7eee 84 ; #....#.. &7eef 68 ; .##.#... ; background_sprite_de &7ef0 ff ; ######## ; (unused) &7ef1 fe ; #######. &7ef2 f8 ; #####... &7ef3 f0 ; ####.... &7ef4 e0 ; ###..... &7ef5 c0 ; ##...... &7ef6 c0 ; ##...... &7ef7 c0 ; ##...... ; background_sprite_df &7ef8 f6 ; ####.##. ; Watch Tower CONVEYOR &7ef9 ff ; ######## &7efa e7 ; ###..### &7efb 00 ; ........ &7efc 00 ; ........ &7efd 00 ; ........ &7efe 00 ; ........ &7eff 00 ; ........ ; background_sprite_e0 &7f00 74 ; .###.#.. ; Watch Tower ITEM &7f01 38 ; ..###... &7f02 66 ; .##..##. &7f03 bf ; #.###### &7f04 bf ; #.###### &7f05 9d ; #..###.# &7f06 42 ; .#....#. &7f07 3c ; ..####.. ; background_sprite_e1 &7f08 5a ; .#.##.#. ; Tool Shed PLATFORM &7f09 ff ; ######## &7f0a 22 ; ..#...#. &7f0b 44 ; .#...#.. &7f0c 22 ; ..#...#. &7f0d 40 ; .#...... &7f0e 00 ; ........ &7f0f 00 ; ........ ; background_sprite_e2 &7f10 55 ; .#.#.#.# ; Tool Shed WALL &7f11 aa ; #.#.#.#. &7f12 44 ; .#...#.. &7f13 22 ; ..#...#. &7f14 55 ; .#.#.#.# &7f15 aa ; #.#.#.#. &7f16 44 ; .#...#.. &7f17 22 ; ..#...#. ; background_sprite_e3 &7f18 04 ; .....#.. ; Tool Shed DEADLY &7f19 04 ; .....#.. &7f1a 04 ; .....#.. &7f1b 88 ; #...#... &7f1c 50 ; .#.#.... &7f1d 20 ; ..#..... &7f1e 10 ; ...#.... &7f1f 08 ; ....#... ; background_sprite_e4 &7f20 e0 ; ###..... ; Tool Shed CONVEYOR &7f21 aa ; #.#.#.#. &7f22 00 ; ........ &7f23 66 ; .##..##. &7f24 66 ; .##..##. &7f25 66 ; .##..##. &7f26 66 ; .##..##. &7f27 66 ; .##..##. ; background_sprite_e5 &7f28 18 ; ...##... ; Tool Shed ITEM &7f29 18 ; ...##... &7f2a 18 ; ...##... &7f2b 18 ; ...##... &7f2c 18 ; ...##... &7f2d 9b ; #..##.## &7f2e 7f ; .####### &7f2f 3b ; ..###.## ; background_sprite_e6 &7f30 ff ; ######## ; Back Stairway PLATFORM &7f31 44 ; .#...#.. &7f32 44 ; .#...#.. &7f33 ff ; ######## &7f34 11 ; ...#...# &7f35 11 ; ...#...# &7f36 ff ; ######## &7f37 00 ; ........ ; background_sprite_e7 &7f38 15 ; ...#.#.# ; Back Stairway WALL &7f39 f1 ; ####...# &7f3a 8f ; #...#### &7f3b a8 ; #.#.#... &7f3c 8a ; #...#.#. &7f3d f8 ; #####... &7f3e 1f ; ...##### &7f3f 11 ; ...#...# ; background_sprite_e8 &7f40 ff ; ######## ; The Bow CONVEYOR &7f41 00 ; ........ &7f42 ff ; ######## &7f43 aa ; #.#.#.#. &7f44 55 ; .#.#.#.# &7f45 ff ; ######## &7f46 00 ; ........ &7f47 00 ; ........ ; background_sprite_e9 &7f48 ff ; ######## ; Back Door PLATFORM &7f49 ff ; ######## &7f4a ff ; ######## &7f4b aa ; #.#.#.#. &7f4c 55 ; .#.#.#.# &7f4d aa ; #.#.#.#. &7f4e 55 ; .#.#.#.# &7f4f 00 ; ........ ; background_sprite_ea &7f50 69 ; .##.#..# ; Back Door WALL &7f51 d2 ; ##.#..#. &7f52 a5 ; #.#..#.# &7f53 4b ; .#..#.## &7f54 96 ; #..#.##. &7f55 2d ; ..#.##.# &7f56 5a ; .#.##.#. &7f57 b4 ; #.##.#.. ; background_sprite_eb &7f58 f0 ; ####.... ; Back Door CONVEYOR &7f59 f0 ; ####.... &7f5a f0 ; ####.... &7f5b f0 ; ####.... &7f5c 66 ; .##..##. &7f5d 66 ; .##..##. &7f5e 00 ; ........ &7f5f 00 ; ........ ; background_sprite_ec &7f60 f9 ; #####..# ; West Wing PLATFORM &7f61 ff ; ######## &7f62 3f ; ..###### &7f63 d5 ; ##.#.#.# &7f64 aa ; #.#.#.#. &7f65 15 ; ...#.#.# &7f66 4a ; .#..#.#. &7f67 84 ; #....#.. ; background_sprite_ed &7f68 ac ; #.#.##.. ; West Wing WALL &7f69 ae ; #.#.###. ; The Nightmare Room ITEM &7f6a 01 ; .......# &7f6b ad ; #.#.##.# &7f6c ad ; #.#.##.# &7f6d 02 ; ......#. &7f6e ac ; #.#.##.. &7f6f f8 ; #####... ; background_sprite_ee &7f70 aa ; #.#.#.#. ; West Bedroom PLATFORM &7f71 55 ; .#.#.#.# &7f72 82 ; #.....#. &7f73 41 ; .#.....# &7f74 82 ; #.....#. &7f75 41 ; .#.....# &7f76 82 ; #.....#. &7f77 41 ; .#.....# ; background_sprite_ef &7f78 a8 ; #.#.#... ; West Bedroom WALL &7f79 55 ; .#.#.#.# &7f7a a8 ; #.#.#... &7f7b 56 ; .#.#.##. &7f7c cf ; ##..#### &7f7d 2e ; ..#.###. &7f7e 26 ; ..#..##. &7f7f c1 ; ##.....# ; background_sprite_f0 &7f80 a5 ; #.#..#.# ; West Bedroom CONVEYOR &7f81 ff ; ######## &7f82 bd ; #.####.# &7f83 aa ; #.#.#.#. &7f84 55 ; .#.#.#.# &7f85 ba ; #.###.#. &7f86 45 ; .#...#.# &7f87 83 ; #.....## ; background_sprite_f1 &7f88 ff ; ######## ; West Wing Roof PLATFORM &7f89 aa ; #.#.#.#. &7f8a ff ; ######## &7f8b a4 ; #.#..#.. &7f8c a4 ; #.#..#.. &7f8d a7 ; #.#..### &7f8e e4 ; ###..#.. &7f8f 3c ; ..####.. ; background_sprite_f2 &7f90 e1 ; ###....# ; West Wing Roof WALL &7f91 84 ; #....#.. &7f92 1e ; ...####. &7f93 48 ; .#..#... &7f94 e1 ; ###....# &7f95 84 ; #....#.. &7f96 1e ; ...####. &7f97 48 ; .#..#... ; background_sprite_f3 &7f98 18 ; ...##... ; West Wing Roof DEADLY &7f99 3c ; ..####.. &7f9a 7e ; .######. &7f9b ff ; ######## &7f9c af ; #.#.#### &7f9d 55 ; .#.#.#.# &7f9e 3a ; ..###.#. &7f9f 10 ; ...#.... ; background_sprite_f4 &7fa0 48 ; .#..#... ; The Bow ITEM &7fa1 39 ; ..###..# &7fa2 26 ; ..#..##. &7fa3 da ; ##.##.#. &7fa4 5b ; .#.##.## &7fa5 64 ; .##..#.. &7fa6 9c ; #..###.. &7fa7 12 ; ...#..#. ; background_sprite_f5 &7fa8 00 ; ........ ; West Wing Roof ITEM &7fa9 00 ; ........ &7faa 00 ; ........ &7fab 0a ; ....#.#. &7fac 0d ; ....##.# &7fad 3c ; ..####.. &7fae f2 ; ####..#. &7faf c0 ; ##...... ; background_sprite_f6 &7fb0 f7 ; ####.### ; Above the West Bedroom PLATFORM &7fb1 aa ; #.#.#.#. &7fb2 55 ; .#.#.#.# &7fb3 ef ; ###.#### &7fb4 00 ; ........ &7fb5 00 ; ........ &7fb6 00 ; ........ &7fb7 00 ; ........ ; background_sprite_f7 &7fb8 30 ; ..##.... ; Above the West Bedroom DEADLY &7fb9 60 ; .##..... &7fba c0 ; ##...... &7fbb 80 ; #....... &7fbc 00 ; ........ &7fbd 00 ; ........ &7fbe 00 ; ........ &7fbf 00 ; ........ ; background_sprite_f8 &7fc0 08 ; ....#... ; Above the West Bedroom ITEM &7fc1 10 ; ...#.... &7fc2 20 ; ..#..... &7fc3 21 ; ..#....# &7fc4 12 ; ...#..#. &7fc5 ac ; #.#.##.. &7fc6 40 ; .#...... &7fc7 20 ; ..#..... ; background_sprite_f9 &7fc8 ff ; ######## ; The Beach PLATFORM &7fc9 ff ; ######## &7fca bf ; #.###### &7fcb fb ; #####.## &7fcc ff ; ######## &7fcd ef ; ###.#### &7fce ff ; ######## &7fcf fe ; #######. ; background_sprite_fa &7fd0 bb ; #.###.## ; The Beach WALL &7fd1 ff ; ######## &7fd2 6d ; .##.##.# &7fd3 db ; ##.##.## &7fd4 7f ; .####### &7fd5 d7 ; ##.#.### &7fd6 7d ; .#####.# &7fd7 af ; #.#.#### ; background_sprite_fb &7fd8 01 ; .......# ; The Beach SLOPE &7fd9 03 ; ......## &7fda 07 ; .....### &7fdb 0f ; ....#### &7fdc 1e ; ...####. &7fdd 37 ; ..##.### &7fde 7f ; .####### &7fdf fb ; #####.## ; background_sprite_fc &7fe0 4e ; .#..###. ; The Beach CONVEYOR &7fe1 aa ; #.#.#.#. &7fe2 00 ; ........ &7fe3 40 ; .#...... &7fe4 40 ; .#...... &7fe5 44 ; .#...#.. &7fe6 aa ; #.#.#.#. &7fe7 ff ; ######## ; background_sprite_fd &7fe8 04 ; .....#.. ; The Beach ITEM &7fe9 05 ; .....#.# &7fea 0b ; ....#.## &7feb 0b ; ....#.## &7fec 17 ; ...#.### &7fed 37 ; ..##.### &7fee 6f ; .##.#### &7fef 00 ; ........ ; background_sprite_fe &7ff0 bb ; #.###.## ; The Yacht PLATFORM &7ff1 dd ; ##.###.# &7ff2 dd ; ##.###.# &7ff3 ee ; ###.###. &7ff4 00 ; ........ &7ff5 00 ; ........ &7ff6 00 ; ........ &7ff7 00 ; ........ ; background_sprite_ff &7ff8 00 ; ........ ; (unused) &7ff9 00 ; ........ &7ffa 00 ; ........ &7ffb 00 ; ........ &7ffc 00 ; ........ &7ffd 00 ; ........ &7ffe 00 ; ........ &7fff 20 ; ..#.....