Jet Set Willy: Data at D900

| Data

D900: Room 0x19: Cold Store (teleport: 1459)

Used by the routine at 8912.
The first 128 bytes are copied to 8000 and define the room layout. Each bit-pair (bits 7 and 6, 5 and 4, 3 and 2, or 1 and 0 of each byte) determines the type of tile (background, floor, wall or nasty) that will be drawn at the corresponding location.
D900 | DEFB $00,$03,$00,$00,$00,$00,$00,$00 | Room layout
D908 | DEFB $00,$00,$00,$30,$00,$00,$C0,$00
D910 | DEFB $54,$00,$00,$00,$00,$00,$00,$00
D918 | DEFB $00,$00,$00,$00,$00,$C0,$03,$00
D920 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D928 | DEFB $55,$55,$00,$00,$00,$00,$00,$00
D930 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D938 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D940 | DEFB $55,$50,$00,$00,$00,$00,$0A,$AA
D948 | DEFB $00,$00,$00,$00,$00,$00,$0A,$AA
D950 | DEFB $00,$00,$00,$00,$00,$00,$0A,$AA
D958 | DEFB $55,$50,$00,$00,$00,$00,$0A,$AA
D960 | DEFB $00,$00,$30,$00,$00,$14,$0A,$AA
D968 | DEFB $00,$00,$00,$00,$00,$00,$0A,$AA
D970 | DEFB $00,$00,$00,$00,$00,$00,$0A,$AA
D978 | DEFB $55,$55,$55,$55,$55,$55,$5A,$AA
The next 32 bytes are copied to 8080 and specify the room name.
D980 | DEFM " Cold Store " | Room name
The next 54 bytes are copied to 80A0 and contain the attributes and graphic data for the tiles used to build the room.
D9A0 | DEFB $0E,$00,$00,$00,$00,$00,$00,$00,$00 | Background
D9A9 | DEFB $0D,$FF,$FF,$55,$AA,$55,$AA,$00,$00 | Floor
D9B2 | DEFB $22,$92,$52,$4A,$49,$29,$25,$A4,$92 | Wall
D9BB | DEFB $4F,$20,$22,$14,$D8,$1B,$28,$44,$04 | Nasty
D9C4 | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Ramp (unused)
D9CD | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Conveyor (unused)
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
D9D6 | DEFB $00 | Direction (left)
D9D7 | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
D9D9 | DEFB $00 | Length: 0 (there is no conveyor in this room)
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
D9DA | DEFB $00 | Direction (up to the left)
D9DB | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
D9DD | DEFB $00 | Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
D9DE | DEFB $01 | Border colour
The next two bytes are copied to 80DF, but are not used.
D9DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
D9E1 | DEFB $70,$8C,$72,$FA,$EF,$AD,$25,$21 | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
D9E9 | DEFB $34 | Room to the left (Back Stairway)
D9EA | DEFB $18 | Room to the right (West of Kitchen)
D9EB | DEFB $1F | Room above (Swimming Pool)
D9EC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
D9ED | DEFB $00,$00,$00 | Unused
The next eight pairs of bytes are copied to 80F0 and specify the entities (ropes, arrows, guardians) in this room.
D9F0 | DEFB $36,$10 | Guardian no. 0x36 (horizontal), base sprite 0, initial x=16 (A1B0)
D9F2 | DEFB $37,$04 | Guardian no. 0x37 (horizontal), base sprite 0, initial x=4 (A1B8)
D9F4 | DEFB $38,$03 | Guardian no. 0x38 (horizontal), base sprite 0, initial x=3 (A1C0)
D9F6 | DEFB $39,$08 | Guardian no. 0x39 (horizontal), base sprite 0, initial x=8 (A1C8)
D9F8 | DEFB $01,$10 | Rope at x=16 (A008)
D9FA | DEFB $FF,$00 | Terminator (A3F8)
D9FC | DEFB $00,$00 | Nothing (A000)
D9FE | DEFB $00,$00 | Nothing (A000)