Jet Set Willy: Data at D800

| Data

D800: Room 0x18: West of Kitchen (teleport: 459)

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.
D800 | DEFB $00,$00,$01,$00,$00,$00,$00,$00 | Room layout
D808 | DEFB $00,$00,$01,$00,$00,$00,$00,$00
D810 | DEFB $00,$00,$01,$00,$00,$00,$00,$00
D818 | DEFB $00,$00,$01,$00,$00,$00,$00,$00
D820 | DEFB $00,$00,$01,$00,$00,$00,$00,$00
D828 | DEFB $00,$00,$01,$00,$10,$05,$54,$15
D830 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D838 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D840 | DEFB $A0,$00,$00,$00,$00,$04,$00,$15
D848 | DEFB $A8,$00,$00,$00,$15,$00,$50,$00
D850 | DEFB $AA,$00,$00,$50,$00,$00,$00,$00
D858 | DEFB $AA,$80,$00,$00,$00,$00,$00,$00
D860 | DEFB $AA,$A0,$00,$00,$15,$05,$54,$15
D868 | DEFB $AA,$A8,$00,$00,$00,$00,$00,$00
D870 | DEFB $AA,$AA,$00,$00,$00,$00,$00,$00
D878 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
D880 | DEFM " West of Kitchen " | 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. Note that because of a bug in the game engine, the conveyor tile is not drawn correctly (see the room image above).
D8A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
D8A9 | DEFB $05,$FF,$BD,$A5,$A5,$A5,$42,$00,$00 | Floor
D8B2 | DEFB $22,$09,$42,$90,$24,$09,$42,$90,$24 | Wall
D8BB | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Nasty (unused)
D8C4 | DEFB $47,$C0,$40,$B0,$50,$AC,$54,$AB,$55 | Ramp
D8CD | DEFB $42,$F0,$55,$AA,$55,$55,$AA,$2A,$08 | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
D8D6 | DEFB $00 | Direction (left)
D8D7 | DEFW $5F96 | Location in the attribute buffer at 5E00: (12,22)
D8D9 | DEFB $05 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
D8DA | DEFB $00 | Direction (up to the left)
D8DB | DEFW $5FC8 | Location in the attribute buffer at 5E00: (14,8)
D8DD | DEFB $07 | Length
The next byte is copied to 80DE and specifies the border colour.
D8DE | DEFB $01 | Border colour
The next two bytes are copied to 80DF, but are not used.
D8DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
D8E1 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Item graphic (unused)
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
D8E9 | DEFB $19 | Room to the left (Cold Store)
D8EA | DEFB $17 | Room to the right (The Kitchen)
D8EB | DEFB $1E | Room above (The Banyan Tree)
D8EC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
D8ED | 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.
D8F0 | DEFB $31,$09 | Guardian no. 0x31 (vertical), base sprite 0, x=9 (A188)
D8F2 | DEFB $32,$0E | Guardian no. 0x32 (vertical), base sprite 0, x=14 (A190)
D8F4 | DEFB $31,$14 | Guardian no. 0x31 (vertical), base sprite 0, x=20 (A188)
D8F6 | DEFB $30,$1B | Guardian no. 0x30 (vertical), base sprite 0, x=27 (A180)
D8F8 | DEFB $FF,$00 | Terminator (A3F8)
D8FA | DEFB $00,$00 | Nothing (A000)
D8FC | DEFB $00,$00 | Nothing (A000)
D8FE | DEFB $00,$00 | Nothing (A000)