Jet Set Willy: Data at CF00

| Data

CF00: Room 0x0F: I'm sure I've seen this before.. (teleport: 12349)

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.
CF00 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
CF08 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF10 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF18 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF20 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF28 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF30 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF38 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF40 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CF48 | DEFB $AA,$42,$A4,$2A,$A4,$2A,$42,$AA
CF50 | DEFB $AA,$C2,$AC,$2A,$AC,$2A,$C2,$AA
CF58 | DEFB $AA,$C2,$AC,$2A,$AC,$2A,$C2,$AA
CF60 | DEFB $AA,$C2,$AC,$2A,$AC,$2A,$C2,$AA
CF68 | DEFB $AA,$C2,$AC,$2A,$AC,$2A,$C2,$AA
CF70 | DEFB $AA,$C2,$AC,$2A,$AC,$2A,$C2,$AA
CF78 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
CF80 | DEFM "I'm sure I've seen this before.." | 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.
CFA0 | DEFB $08,$00,$00,$00,$00,$00,$00,$00,$00 | Background
CFA9 | DEFB $0C,$80,$40,$20,$50,$48,$54,$52,$55 | Floor
CFB2 | DEFB $53,$66,$66,$66,$00,$66,$66,$66,$66 | Wall
CFBB | DEFB $4C,$51,$55,$54,$55,$15,$55,$45,$55 | Nasty
CFC4 | DEFB $0C,$00,$00,$00,$00,$00,$00,$00,$00 | Ramp (unused)
CFCD | 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.
CFD6 | DEFB $00 | Direction (left)
CFD7 | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
CFD9 | 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.
CFDA | DEFB $00 | Direction (up to the left)
CFDB | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
CFDD | DEFB $00 | Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
CFDE | DEFB $03 | Border colour
The next two bytes are copied to 80DF, but are not used.
CFDF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
CFE1 | DEFB $18,$24,$18,$2C,$5E,$5E,$E7,$66 | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
CFE9 | DEFB $10 | Room to the left (We must perform a Quirkafleeg)
CFEA | DEFB $0E | Room to the right (Rescue Esmerelda)
CFEB | DEFB $00 | Room above (The Off Licence)
CFEC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
CFED | 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.
CFF0 | DEFB $04,$85 | Guardian no. 0x04 (vertical), base sprite 4, x=5 (A020)
CFF2 | DEFB $03,$8B | Guardian no. 0x03 (vertical), base sprite 4, x=11 (A018)
CFF4 | DEFB $05,$93 | Guardian no. 0x05 (vertical), base sprite 4, x=19 (A028)
CFF6 | DEFB $02,$99 | Guardian no. 0x02 (vertical), base sprite 4, x=25 (A010)
CFF8 | DEFB $0D,$06 | Guardian no. 0x0D (horizontal), base sprite 0, initial x=6 (A068)
CFFA | DEFB $45,$64 | Arrow flying right to left at pixel y-coordinate 50 (A228)
CFFC | DEFB $3C,$54 | Arrow flying left to right at pixel y-coordinate 42 (A1E0)
CFFE | DEFB $FF,$00 | Terminator (A3F8)