The castle

The castle is a grid of 16 by 16 squares, and a room's number is its square's row times 16 plus its column: leaving by the east side adds 1 and by the west side takes 1, north adds 16 and south takes 16 (screen_west to screen_south). 128 of the 256 squares are rooms. Below, every room is drawn by the game and put where the game's own projection places it -- east down to the right, north up to the right -- on its floor, so the castle can be seen whole. Click a room for its record, or see the whole castle at full size.

The markers show where things are, each read from the game's own tables: the four rooms a game can start in (start_locations, chosen by the menu's seed), the wizard's room, the rooms of the 32 places where a charm or an extra life lies (special_objs_tbl: the eight kinds are dealt round the places, four of each, from a different kind each game), and the rooms whose records build something that kills on touch or a portcullis, which kills what it falls on. A thing is counted as deadly when its handler sets the deadly flags (set_deadly_wipe_and_draw_flags or set_both_deadly_flags and their callers): the guards and the wizard, the ghosts, spikes, gargoyles, the spiked ball, fires, flames and the bouncing balls. Tick a box to show its layer.

The castle
Room $00Room $01Room $02Room $03Room $04Room $08Room $09Room $0ARoom $0BRoom $0CRoom $0DRoom $0ERoom $0FRoom $10Room $12Room $14Room $18Room $1DRoom $1FRoom $20Room $21Room $22Room $24Room $27Room $28Room $2DRoom $2ERoom $2FRoom $30Room $34Room $37Room $38Room $3FRoom $40Room $41Room $42Room $43Room $44Room $45Room $46Room $47Room $48Room $4FRoom $54Room $57Room $58Room $5ERoom $5FRoom $64Room $67Room $68Room $6ARoom $6BRoom $6CRoom $6DRoom $6ERoom $6FRoom $74Room $75Room $76Room $77Room $78Room $79Room $7ARoom $83Room $84Room $85Room $86Room $87Room $88Room $89Room $8ARoom $8BRoom $8CRoom $8DRoom $8ERoom $8FRoom $93Room $97Room $98Room $9BRoom $9FRoom $A3Room $A7Room $A8Room $AARoom $ABRoom $AFRoom $B3Room $B4Room $B7Room $BARoom $BBRoom $BFRoom $C3Room $C7Room $CFRoom $D0Room $D1Room $D2Room $D3Room $D6Room $D7Room $D8Room $D9Room $DDRoom $DERoom $DFRoom $E0Room $E2Room $E3Room $E6Room $E7Room $E8Room $E9Room $EDRoom $EFRoom $F0Room $F1Room $F2Room $F3Room $F6Room $F7Room $F8Room $F9Room $FDRoom $FERoom $FF

Start rooms: $2F, $44, $8F, $B3.

The wizard and the cauldron: $88.

Charm places: $00, $04, $08, $0A, $0F, $22, $27, $38, $40, $42, $5E, $6D, $6F, $74, $7A, $87, $8D, $A8, $B4, $BA, $BB, $D0, $D2, $D6, $DF, $E8, $F0, $F3, $F6, $F9, $FD, $FF.

Guards and ghosts: $01, $09, $27, $2E, $37, $40, $58, $67, $6D, $78, $8C, $8E, $B7, $BB, $C7, $CF, $D1, $D3, $F3.

Spikes, fire, balls and gargoyles: $01, $03, $04, $08, $0A, $0C, $0E, $0F, $10, $12, $14, $18, $1D, $1F, $20, $21, $22, $24, $28, $2D, $2E, $30, $34, $38, $3F, $41, $42, $43, $45, $46, $48, $4F, $54, $67, $68, $6B, $6C, $6D, $6F, $74, $75, $76, $78, $79, $7A, $84, $85, $86, $87, $89, $8A, $8C, $8D, $93, $97, $98, $9B, $9F, $A3, $A8, $AA, $BA, $BF, $D0, $D1, $D2, $D3, $D6, $D7, $DF, $E0, $E2, $E3, $E7, $E8, $F0, $F1, $F7, $F9, $FE, $FF.

Portcullises: $09, $3F, $67, $87, $8C, $CF, $D3, $F1.

A room record

A room is a record of a few dozen bytes in location_tbl, and the records are packed end to end with no index: find_screen finds a room by walking them from the start. In order:

ByteWhat
0The room's number.
1The record's length less one: the distance from this byte to the next record.
2Bits 0-2 the ink the whole room is drawn in, always bright on black; bits 3-7 its size, an index into room_size_tbl.
3 ...Its backgrounds, one byte each: indexes into background_type_tbl -- see the scenery.
$FFThe end of the backgrounds, if objects follow. A room with none just ends.
groupsA byte whose bits 3-7 are a template, an index into block_type_tbl (see the templates), and bits 0-2 the number of copies less one; then a position byte per copy.

A position byte is a cell of the room's floor and a level: bits 0-2 the x cell and bits 3-5 the y cell of an 8 by 8 grid, and bits 6-7 the level. next_fg_obj_sprite makes x = $48 + 16 times the x cell, y likewise, and z = the floor height + 12 times the level, then adds the template's offset.

The three sizes, as half-widths about the room's centre at 128, and the floor's height:

SizeHalf xHalf yFloor
06464$80
13264$80
26432$80

A room becomes object records from $5C08 up: the player's two, two for the room's charms, then everything the record names, background pieces first. That leaves 36 records, and six rooms need all 36.

Every room

Room $00 (row 0, column 0): square, magenta -- its record

Scenery: arch N, arch E, walls (square room).
Objects: block x8, block x7, block (type $5B).

Room $01 (row 0, column 1): narrow in y, green -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x4, gargoyle x4, guard (type $96), ghost.

Room $02 (row 0, column 2): square, magenta -- its record

Scenery: arch N, arch E, arch W, walls (square room).
Objects: none.

Room $03 (row 0, column 3): narrow in y, yellow -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x4, spikes x4, spiked ball x4, block (type $8F) x4.

Room $04 (row 0, column 4): square, cyan -- its record

Scenery: arch N, arch W, walls (square room).
Objects: spikes x4, block (type $8F) x3, block x3.

Room $08 (row 0, column 8): square, magenta -- its record

Scenery: forest exit N, forest exit E, forest walls, trees closing the W gap.
Objects: rock x4, spikes x4, spiked ball x4, ball (type $B6), block (type $3E).

Room $09 (row 0, column 9): square, yellow -- its record

Scenery: forest exit E, forest exit W, forest walls, trees closing the N gap, portcullis E, portcullis W.
Objects: ghost.

Room $0A (row 0, column 10): square, magenta -- its record

Scenery: forest exit E, forest exit W, forest walls, trees closing the N gap.
Objects: rock x6, spikes x8, table.

Room $0B (row 0, column 11): square, yellow -- its record

Scenery: forest exit E, forest exit W, forest walls, trees closing the N gap.
Objects: none.

Room $0C (row 0, column 12): square, magenta -- its record

Scenery: forest exit E, forest exit W, forest walls, trees closing the N gap.
Objects: spikes x8, spikes x4, ball (type $B6).

Room $0D (row 0, column 13): square, green -- its record

Scenery: arch N, arch E, arch W, walls (square room).
Objects: none.

Room $0E (row 0, column 14): narrow in y, cyan -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: fire (type $B5) x4.

Room $0F (row 0, column 15): square, green -- its record

Scenery: arch N, arch W, walls (square room).
Objects: block x8, block x5, raised spiked ball x4, block (type $8F).

Room $10 (row 1, column 0): narrow in x, cyan -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x2, raised block x4, raised spiked ball x4, block (type $5B), fire (type $B5).

Room $12 (row 1, column 2): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: spiked ball x8, spiked ball x8.

Room $14 (row 1, column 4): narrow in x, yellow -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x2, block (type $5B) x6, block (type $5B) x5, spikes x2.

Room $18 (row 1, column 8): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: spikes x8, ball (type $B6).

Room $1D (row 1, column 13): narrow in x, yellow -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x8, block x3, spikes x2, raised block, block (type $37).

Room $1F (row 1, column 15): narrow in x, magenta -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x4, spikes x8, ball (half a cell along x) x2.

Room $20 (row 2, column 0): square, magenta -- its record

Scenery: arch N, arch E, high arch S, step to high arch S, walls (square room).
Objects: block x3, block (type $5B) x3, spikes.

Room $21 (row 2, column 1): narrow in y, yellow -- its record

Scenery: high arch E, step to high arch E, arch W, walls (room narrow in y).
Objects: block x8, block x4, spikes x2, chest, ball.

Room $22 (row 2, column 2): square, magenta -- its record

Scenery: arch S, arch W, walls (square room).
Objects: block x4, spikes x8, spikes x3, block (type $5B).

Room $24 (row 2, column 4): square, magenta -- its record

Scenery: arch N, arch S, walls (square room).
Objects: spikes x8, spikes x8.

Room $27 (row 2, column 7): square, yellow -- its record

Scenery: arch N, walls (square room).
Objects: block x4, ghost x4.

Room $28 (row 2, column 8): narrow in x, yellow -- its record

Scenery: arch N, high arch S, walls (room narrow in x), step to high arch S.
Objects: table x2, spikes x2, block x2.

Room $2D (row 2, column 13): square, green -- its record

Scenery: high arch E, arch S, step to high arch E, walls (square room).
Objects: block x8, spikes x4, block (type $36).

Room $2E (row 2, column 14): narrow in y, cyan -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: spikes x8, guard (type $1E).

Room $2F (row 2, column 15): square, green -- its record

Scenery: arch N, arch S, arch W, walls (square room).
Objects: none.

Room $30 (row 3, column 0): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: spikes x8, spikes x4, ball (type $B6).

Room $34 (row 3, column 4): narrow in x, yellow -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: table x8, spiked ball x8.

Room $37 (row 3, column 7): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block (type $37), block, ghost x2.

Room $38 (row 3, column 8): narrow in x, magenta -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x6, block (type $8F) x4, spikes x5.

Room $3F (row 3, column 15): square, magenta -- its record

Scenery: forest exit N, forest exit S, forest walls, trees closing the W gap.
Objects: rock x8, spikes x6, portcullis along x.

Room $40 (row 4, column 0): square, yellow -- its record

Scenery: high arch E, high arch S, step to high arch E, step to high arch S, walls (square room).
Objects: block x6, guard (type $1E), block (type $3E).

Room $41 (row 4, column 1): narrow in y, green -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x6, gargoyle x6, fire (type $B5) x2.

Room $42 (row 4, column 2): square, cyan -- its record

Scenery: arch E, arch W, walls (square room).
Objects: block x2, block (type $5B) x2, spikes x8.

Room $43 (row 4, column 3): narrow in y, yellow -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x8, block x4, spikes x4, ball (half a cell along x and y).

Room $44 (row 4, column 4): square, green -- its record

Scenery: arch N, arch E, arch S, arch W, walls (square room).
Objects: none.

Room $45 (row 4, column 5): square, cyan -- its record

Scenery: arch E, arch W, walls (square room).
Objects: block x8, block x4, raised spiked ball x4, block (type $8F), spikes.

Room $46 (row 4, column 6): narrow in y, yellow -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x8, gargoyle x4, spiked ball x2, block (type $8F) x4.

Room $47 (row 4, column 7): square, magenta -- its record

Scenery: arch N, arch S, arch W, walls (square room).
Objects: none.

Room $48 (row 4, column 8): narrow in x, yellow -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x8, block, spikes x2, block (type $37).

Room $4F (row 4, column 15): square, yellow -- its record

Scenery: forest exit N, forest exit S, forest walls, trees closing the W gap.
Objects: raised spiked ball x8, raised spiked ball x4.

Room $54 (row 5, column 4): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x2, spikes x4, spiked ball x4, block (type $37) x2.

Room $57 (row 5, column 7): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, block x4.

Room $58 (row 5, column 8): narrow in x, cyan -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: ghost, block (type $3E).

Room $5E (row 5, column 14): square, yellow -- its record

Scenery: forest exit N, forest exit E, forest walls, trees closing the W gap.
Objects: rock x8, sparkle (type $A4).

Room $5F (row 5, column 15): square, magenta -- its record

Scenery: forest exit N, forest exit S, forest exit W, forest walls.
Objects: none.

Room $64 (row 6, column 4): narrow in x, yellow -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x8, chest.

Room $67 (row 6, column 7): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x2, spikes x4, portcullis along x, guard (type $1E).

Room $68 (row 6, column 8): narrow in x, magenta -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, block x4, spikes x2, ball (half a cell along x and y).

Room $6A (row 6, column 10): square, yellow -- its record

Scenery: arch N, arch E, walls (square room).
Objects: none.

Room $6B (row 6, column 11): narrow in y, green -- its record

Scenery: high arch E, arch W, step to high arch E, walls (room narrow in y).
Objects: block x6, fire (type $B5) x2.

Room $6C (row 6, column 12): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: chest x8, raised spiked ball x8.

Room $6D (row 6, column 13): square, yellow -- its record

Scenery: forest exit E, forest exit W, forest walls, trees closing the N gap.
Objects: rock x8, gargoyle x2, table, guard (type $96).

Room $6E (row 6, column 14): square, magenta -- its record

Scenery: forest exit E, forest exit S, forest exit W, forest walls, trees closing the N gap.
Objects: none.

Room $6F (row 6, column 15): square, yellow -- its record

Scenery: forest exit S, forest exit W, forest walls, trees closing the N gap.
Objects: rock x3, gargoyle x3, raised spiked ball x4.

Room $74 (row 7, column 4): square, green -- its record

Scenery: arch E, arch S, walls (square room).
Objects: spikes x3, block x8, block (type $8F) x4.

Room $75 (row 7, column 5): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x2, spikes x2, sparkle (type $A4).

Room $76 (row 7, column 6): narrow in y, yellow -- its record

Scenery: high arch E, arch W, step to high arch E, walls (room narrow in y).
Objects: block x7, spikes x6.

Room $77 (row 7, column 7): square, magenta -- its record

Scenery: arch N, arch E, arch S, arch W, walls (square room).
Objects: none.

Room $78 (row 7, column 8): square, green -- its record

Scenery: arch N, arch E, arch S, arch W, walls (square room).
Objects: spikes x8, spikes x5, guard (type $1E).

Room $79 (row 7, column 9): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block (type $8F) x4, spikes x8, ball (half a cell along x and y).

Room $7A (row 7, column 10): square, cyan -- its record

Scenery: arch S, arch W, walls (square room).
Objects: block x5, spikes x6, block (type $5B) x2.

Room $83 (row 8, column 3): square, yellow -- its record

Scenery: arch N, arch E, walls (square room).
Objects: none.

Room $84 (row 8, column 4): narrow in y, cyan -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x8, gargoyle x4, ball (half a cell along y) x2.

Room $85 (row 8, column 5): narrow in y, green -- its record

Scenery: high arch E, arch W, step to high arch E, walls (room narrow in y).
Objects: block x6, spikes x8, block (type $37).

Room $86 (row 8, column 6): narrow in y, magenta -- its record

Scenery: high arch E, arch W, step to high arch E, walls (room narrow in y).
Objects: block (type $3E), ball (type $B6).

Room $87 (row 8, column 7): square, cyan -- its record

Scenery: arch N, arch E, arch S, arch W, walls (square room).
Objects: block x4, spikes x4, portcullis along x x2, portcullis along y x2.

Room $88 (row 8, column 8): square, yellow -- its record

Scenery: arch N, arch E, arch S, arch W, the wizard, the cauldron, walls (square room).
Objects: block x8.

Room $89 (row 8, column 9): narrow in y, cyan -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x8, gargoyle x2, fire (type $B5).

Room $8A (row 8, column 10): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: raised block x8, spiked ball x8.

Room $8B (row 8, column 11): square, cyan -- its record

Scenery: arch N, arch E, arch W, walls (square room).
Objects: none.

Room $8C (row 8, column 12): narrow in y, green -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: block x8, spikes x4, portcullis along y x2, guard (type $96).

Room $8D (row 8, column 13): square, cyan -- its record

Scenery: arch E, arch W, walls (square room).
Objects: block x8, block x4, raised block, spikes, ball (half a cell along y).

Room $8E (row 8, column 14): narrow in y, magenta -- its record

Scenery: high arch E, arch W, step to high arch E, walls (room narrow in y).
Objects: table x2, ghost.

Room $8F (row 8, column 15): square, yellow -- its record

Scenery: arch N, arch W, walls (square room).
Objects: none.

Room $93 (row 9, column 3): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, gargoyle x2, fire (type $56).

Room $97 (row 9, column 7): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x4, gargoyle x4.

Room $98 (row 9, column 8): narrow in x, magenta -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x2, block (type $5B) x2, spikes x8, block (type $8F) x4.

Room $9B (row 9, column 11): narrow in x, magenta -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x8, block (type $37), block (type $36), spikes x2.

Room $9F (row 9, column 15): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, block x4, spikes x3.

Room $A3 (row 10, column 3): narrow in x, magenta -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x6, spikes x4, spiked ball x4, ball (type $B6), block (type $3E).

Room $A7 (row 10, column 7): square, magenta -- its record

Scenery: arch N, arch S, walls (square room).
Objects: none.

Room $A8 (row 10, column 8): square, yellow -- its record

Scenery: arch S, walls (square room).
Objects: block x8, block x6, spikes x2.

Room $AA (row 10, column 10): square, magenta -- its record

Scenery: arch N, arch E, walls (square room).
Objects: block x8, block x3, spikes x2, block (type $5B).

Room $AB (row 10, column 11): square, green -- its record

Scenery: arch N, arch S, arch W, walls (square room).
Objects: none.

Room $AF (row 10, column 15): narrow in x, green -- its record

Scenery: arch N, high arch S, step to high arch S, walls (room narrow in x).
Objects: block x4, chest.

Room $B3 (row 11, column 3): square, yellow -- its record

Scenery: arch N, arch E, arch S, walls (square room).
Objects: none.

Room $B4 (row 11, column 4): square, green -- its record

Scenery: arch W, walls (square room).
Objects: block x8, chest, table x2.

Room $B7 (row 11, column 7): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x4, ghost x2.

Room $BA (row 11, column 10): square, cyan -- its record

Scenery: arch E, arch S, walls (square room).
Objects: block x6, spikes x8, spikes x2.

Room $BB (row 11, column 11): square, yellow -- its record

Scenery: arch S, arch W, walls (square room).
Objects: ghost, block (type $3E) x2.

Room $BF (row 11, column 15): square, magenta -- its record

Scenery: arch N, high arch S, step to high arch S, walls (square room).
Objects: block x5, spikes x8, spikes x2, ball (type $B6), block (type $3E).

Room $C3 (row 12, column 3): narrow in x, magenta -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, block x4.

Room $C7 (row 12, column 7): square, cyan -- its record

Scenery: arch N, high arch S, step to high arch S, walls (square room).
Objects: block (type $3E), ghost.

Room $CF (row 12, column 15): narrow in x, green -- its record

Scenery: arch N, arch S, portcullis N, portcullis S, walls (room narrow in x).
Objects: ghost.

Room $D0 (row 13, column 0): square, cyan -- its record

Scenery: arch N, arch E, walls (square room).
Objects: block x8, block x4, spikes x4.

Room $D1 (row 13, column 1): narrow in y, green -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: guard (type $1E), spikes x8.

Room $D2 (row 13, column 2): square, cyan -- its record

Scenery: arch N, arch W, walls (square room).
Objects: block x8, block x2, raised spiked ball x2.

Room $D3 (row 13, column 3): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x2, spikes x4, portcullis along x, guard (type $1E).

Room $D6 (row 13, column 6): square, yellow -- its record

Scenery: forest exit N, forest exit E, forest walls, trees closing the W gap.
Objects: rock x8, rock, ball (half a cell along y) x2.

Room $D7 (row 13, column 7): square, magenta -- its record

Scenery: forest exit N, forest exit E, forest exit S, forest exit W, forest walls.
Objects: fire (type $B5) x2, fire (type $56) x2.

Room $D8 (row 13, column 8): square, magenta -- its record

Scenery: forest exit N, forest exit E, forest exit W, forest walls.
Objects: none.

Room $D9 (row 13, column 9): square, yellow -- its record

Scenery: forest exit N, forest exit W, forest walls.
Objects: none.

Room $DD (row 13, column 13): square, yellow -- its record

Scenery: arch N, high arch E, step to high arch E, walls (square room).
Objects: block x2, raised block x4, table x4.

Room $DE (row 13, column 14): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: none.

Room $DF (row 13, column 15): square, yellow -- its record

Scenery: arch N, arch S, arch W, walls (square room).
Objects: block x5, spikes x4, block (type $8F) x3.

Room $E0 (row 14, column 0): narrow in x, yellow -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: spikes x8, sparkle (type $A4).

Room $E2 (row 14, column 2): narrow in x, yellow -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: spiked ball x8, spiked ball x6.

Room $E3 (row 14, column 3): narrow in x, yellow -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block (type $5B) x8, block (type $5B) x4, block (type $8F) x4, ball (half a cell along x and y).

Room $E6 (row 14, column 6): square, magenta -- its record

Scenery: forest exit N, forest exit E, forest exit S, forest walls, trees closing the W gap.
Objects: none.

Room $E7 (row 14, column 7): square, yellow -- its record

Scenery: forest exit N, forest exit E, forest exit S, forest exit W, forest walls.
Objects: spikes x8.

Room $E8 (row 14, column 8): square, yellow -- its record

Scenery: forest exit N, forest exit E, forest exit S, forest exit W, forest walls.
Objects: rock x8, spikes x4.

Room $E9 (row 14, column 9): square, magenta -- its record

Scenery: forest exit N, forest exit S, forest exit W, forest walls.
Objects: none.

Room $ED (row 14, column 13): narrow in x, green -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: block x8, block x4.

Room $EF (row 14, column 15): narrow in x, cyan -- its record

Scenery: arch N, arch S, walls (room narrow in x).
Objects: none.

Room $F0 (row 15, column 0): square, cyan -- its record

Scenery: high arch E, high arch S, step to high arch E, step to high arch S, walls (square room).
Objects: block x8, block x4, spikes x2, block (type $36).

Room $F1 (row 15, column 1): narrow in y, magenta -- its record

Scenery: arch E, arch W, portcullis E, portcullis W, walls (room narrow in y).
Objects: ball (type $B6).

Room $F2 (row 15, column 2): square, cyan -- its record

Scenery: arch E, arch S, arch W, walls (square room).
Objects: none.

Room $F3 (row 15, column 3): square, magenta -- its record

Scenery: arch S, arch W, walls (square room).
Objects: block x8, block x2, ghost, chest x2.

Room $F6 (row 15, column 6): square, yellow -- its record

Scenery: forest exit E, forest exit S, forest walls, trees closing the W gap, trees closing the N gap.
Objects: rock x4, block (type $8F), chest, table.

Room $F7 (row 15, column 7): square, magenta -- its record

Scenery: forest exit E, forest exit S, forest exit W, forest walls, trees closing the N gap.
Objects: rock x8, ball (type $B6), chest.

Room $F8 (row 15, column 8): square, magenta -- its record

Scenery: forest exit E, forest exit S, forest exit W, forest walls, trees closing the N gap.
Objects: none.

Room $F9 (row 15, column 9): square, yellow -- its record

Scenery: forest exit S, forest exit W, forest walls, trees closing the N gap.
Objects: raised spiked ball x8, raised spiked ball x2.

Room $FD (row 15, column 13): square, yellow -- its record

Scenery: arch E, arch S, walls (square room).
Objects: block x8, block.

Room $FE (row 15, column 14): narrow in y, magenta -- its record

Scenery: arch E, arch W, walls (room narrow in y).
Objects: spikes x4, gargoyle x4, ball (half a cell along x and y).

Room $FF (row 15, column 15): square, yellow -- its record

Scenery: arch S, arch W, walls (square room).
Objects: spikes x4.