The 29 kinds of thing a room record can place -- the templates the room builder (next_fg_obj_sprite) makes object records from. A room names one by its index in block_type_tbl and gives a grid cell for each copy; every part of the template becomes one object record, with the type, the half-sizes, the height and the flags copied from it, and the last byte nudging the position by half a cell or up by a few levels. Each is drawn here by the game, on its own in an empty room.

0: block -- block: Block type 0: stone block

TypeHalf xHalf yHeightFlagsOffset
$078812$10$00

In 84 rooms: $00, $01, $03, $04, $0F, $10, $14, $1D, $1F, $20, $21, $22, $27, $28, $2D, $37, $38, $40, $41, $42, $43, $45, $46, $48, $54, $57, $64, $67, $68, $6B, $74, $75, $76, $7A, $84, $85, $87, $88, $89, $8C, $8D, $93, $97, $98, $9B, $9F, $A3, $A8, $AA, $AF, $B4, $B7, $BA, $BF, $C3, $D0, $D2, $D3, $DD, $DF, $ED, $F0, $F3, $FD.

1: fire -- fire: Block type 1: fire (type $B0)

TypeHalf xHalf yHeightFlagsOffset
$B06612$10$00

In 0 rooms.

2: ball (half a cell along y) -- ball_ud_y: Block type 2: ball, half a cell along y

TypeHalf xHalf yHeightFlagsOffset
$B27712$10$02

In 3 rooms: $84, $8D, $D6.

3: rock -- rock: Block type 3: rock

TypeHalf xHalf yHeightFlagsOffset
$068812$10$00

In 11 rooms: $08, $0A, $3F, $5E, $6D, $6F, $D6, $E8, $F6, $F7.

4: gargoyle -- gargoyle: Block type 4: gargoyle

TypeHalf xHalf yHeightFlagsOffset
$166612$10$00

In 10 rooms: $01, $41, $46, $6D, $6F, $84, $89, $93, $97, $FE.

5: spikes -- spike: Block type 5: spikes

TypeHalf xHalf yHeightFlagsOffset
$176612$50$00

In 61 rooms: $03, $04, $08, $0A, $0C, $14, $18, $1D, $1F, $20, $21, $22, $24, $28, $2D, $2E, $30, $38, $3F, $42, $43, $45, $48, $54, $67, $68, $74, $75, $76, $78, $79, $7A, $85, $87, $8C, $8D, $98, $9B, $9F, $A3, $A8, $AA, $BA, $BF, $D0, $D1, $D3, $DF, $E0, $E7, $E8, $F0, $FE, $FF.

6: chest -- chest: Block type 6: chest

TypeHalf xHalf yHeightFlagsOffset
$559612$14$00

In 8 rooms: $21, $64, $6C, $AF, $B4, $F3, $F6, $F7.

7: table -- table: Block type 7: table

TypeHalf xHalf yHeightFlagsOffset
$5461012$14$00

In 8 rooms: $0A, $28, $34, $6D, $8E, $B4, $DD, $F6.

8: guard (type $96) -- guard_ew: Block type 8: guard (type $96)

TypeHalf xHalf yHeightFlagsOffset
$966624$10$02
$90660$12$02

In 3 rooms: $01, $6D, $8C.

9: ghost -- ghost: Block type 9: ghost

TypeHalf xHalf yHeightFlagsOffset
$526612$10$00

In 11 rooms: $01, $09, $27, $37, $58, $8E, $B7, $BB, $C7, $CF, $F3.

10: fire (type $B5) -- fire_ns: Block type 10: fire (type $B5)

TypeHalf xHalf yHeightFlagsOffset
$B56612$10$00

In 6 rooms: $0E, $10, $41, $6B, $89, $D7.

11: raised block -- block_high: Block type 11: stone block, raised

TypeHalf xHalf yHeightFlagsOffset
$078812$10$30

In 5 rooms: $10, $1D, $8A, $8D, $DD.

12: ball (half a cell along x and y) -- ball_ud_xy: Block type 12: ball, half a cell along x and y

TypeHalf xHalf yHeightFlagsOffset
$B27712$10$03

In 5 rooms: $43, $68, $79, $E3, $FE.

13: guard (type $1E) -- guard_square: Block type 13: guard (type $1E)

TypeHalf xHalf yHeightFlagsOffset
$1E6624$10$00
$90660$12$00

In 6 rooms: $2E, $40, $67, $78, $D1, $D3.

14: block (type $36) -- block_ew: Block type 14: stone block (type $36)

TypeHalf xHalf yHeightFlagsOffset
$368812$10$00

In 3 rooms: $2D, $9B, $F0.

15: block (type $37) -- block_ns: Block type 15: stone block (type $37)

TypeHalf xHalf yHeightFlagsOffset
$378812$10$00

In 6 rooms: $1D, $37, $48, $54, $85, $9B.

16: block (type $3E) -- moveable_block: Block type 16: stone block (type $3E)

TypeHalf xHalf yHeightFlagsOffset
$3E8812$14$00

In 8 rooms: $08, $40, $58, $86, $A3, $BB, $BF, $C7.

17: raised spikes -- spike_high: Block type 17: spikes, raised

TypeHalf xHalf yHeightFlagsOffset
$176612$50$30

In 0 rooms.

18: spiked ball -- spike_ball_fall: Block type 18: spiked ball

TypeHalf xHalf yHeightFlagsOffset
$3F6612$10$00

In 11 rooms: $03, $08, $12, $34, $46, $54, $8A, $A3, $E2.

19: raised spiked ball -- spike_ball_high_fall: Block type 19: spiked ball, raised

TypeHalf xHalf yHeightFlagsOffset
$3F6612$10$30

In 10 rooms: $0F, $10, $45, $4F, $6C, $6F, $D2, $F9.

20: fire (type $56) -- fire_ew: Block type 20: fire (type $56)

TypeHalf xHalf yHeightFlagsOffset
$566612$10$00

In 2 rooms: $93, $D7.

21: block (type $5B) -- dropping_block: Block type 21: stone block (type $5B)

TypeHalf xHalf yHeightFlagsOffset
$5B8812$10$00

In 12 rooms: $00, $10, $14, $20, $22, $42, $7A, $98, $AA, $E3.

22: block (type $8F) -- collapsing_block: Block type 22: stone block (type $8F)

TypeHalf xHalf yHeightFlagsOffset
$8F8812$10$00

In 12 rooms: $03, $04, $0F, $38, $45, $46, $74, $79, $98, $DF, $E3, $F6.

23: ball (type $B6) -- ball_bounce: Block type 23: ball (type $B6)

TypeHalf xHalf yHeightFlagsOffset
$B67712$10$00

In 9 rooms: $08, $0C, $18, $30, $86, $A3, $BF, $F1, $F7.

24: ball -- ball_ud: Block type 24: ball

TypeHalf xHalf yHeightFlagsOffset
$B27712$10$00

In 1 room: $21.

25: sparkle (type $A4) -- repel_spell: Block type 25: sparkle (type $A4)

TypeHalf xHalf yHeightFlagsOffset
$A45512$10$00

In 3 rooms: $5E, $75, $E0.

26: portcullis along x -- portcullis_along_x: Block type 26: portcullis along x

TypeHalf xHalf yHeightFlagsOffset
$0812132$50$01

In 4 rooms: $3F, $67, $87, $D3.

27: portcullis along y -- portcullis_along_y: Block type 27: portcullis along y

TypeHalf xHalf yHeightFlagsOffset
$0811232$10$02

In 2 rooms: $87, $8C.

28: ball (half a cell along x) -- ball_ud_x: Block type 28: ball, half a cell along x

TypeHalf xHalf yHeightFlagsOffset
$B27712$10$01

In 1 room: $1F.