Jet Set Willy: Data at CE00

| Data

CE00: Room 0x0E: Rescue Esmerelda (teleport: 2349)

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.
CE00 | DEFB $00,$00,$00,$00,$00,$00,$08,$02 | Room layout
CE08 | DEFB $00,$00,$00,$00,$00,$00,$08,$02
CE10 | DEFB $00,$00,$00,$00,$00,$00,$00,$02
CE18 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
CE20 | DEFB $00,$00,$00,$00,$00,$00,$AA,$00
CE28 | DEFB $00,$00,$00,$00,$00,$00,$08,$06
CE30 | DEFB $00,$00,$00,$00,$00,$00,$00,$12
CE38 | DEFB $00,$00,$00,$00,$00,$00,$00,$42
CE40 | DEFB $00,$00,$00,$00,$00,$00,$01,$02
CE48 | DEFB $AA,$06,$AA,$06,$AA,$0A,$AA,$06
CE50 | DEFB $AA,$0E,$AA,$0E,$AA,$00,$00,$06
CE58 | DEFB $AA,$0E,$AA,$0E,$AA,$00,$00,$06
CE60 | DEFB $AA,$0E,$AA,$0E,$AA,$80,$00,$12
CE68 | DEFB $AA,$0E,$AA,$0E,$AA,$A0,$00,$40
CE70 | DEFB $AA,$0E,$AA,$0E,$AA,$A8,$01,$00
CE78 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$04,$0A
The next 32 bytes are copied to 8080 and specify the room name.
CE80 | DEFM " Rescue Esmerelda " | 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.
CEA0 | DEFB $10,$00,$00,$00,$00,$00,$00,$00,$00 | Background
CEA9 | DEFB $17,$03,$03,$0C,$0C,$31,$32,$C4,$C8 | Floor
CEB2 | DEFB $04,$EE,$00,$BB,$00,$EE,$00,$BB,$00 | Wall
CEBB | DEFB $55,$D1,$E2,$C4,$C8,$D1,$E2,$C4,$C8 | Nasty
CEC4 | DEFB $17,$00,$00,$00,$00,$00,$00,$00,$00 | Ramp (unused)
CECD | DEFB $16,$F1,$AA,$F8,$AA,$00,$EE,$00,$BB | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
CED6 | DEFB $01 | Direction (right)
CED7 | DEFW $5E98 | Location in the attribute buffer at 5E00: (4,24)
CED9 | DEFB $04 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
CEDA | DEFB $01 | Direction (up to the right)
CEDB | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
CEDD | DEFB $00 | Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
CEDE | DEFB $01 | Border colour
The next two bytes are copied to 80DF, but are not used.
CEDF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
CEE1 | DEFB $FF,$49,$49,$49,$49,$49,$49,$FF | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
CEE9 | DEFB $0F | Room to the left (I'm sure I've seen this before..)
CEEA | DEFB $2C | Room to the right (On top of the house)
CEEB | DEFB $14 | Room above (Ballroom East)
CEEC | DEFB $27 | Room below (Emergency Generator)
The next three bytes are copied to 80ED, but are not used.
CEED | 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.
CEF0 | DEFB $04,$C4 | Guardian no. 0x04 (vertical), base sprite 6, x=4 (A020)
CEF2 | DEFB $02,$CC | Guardian no. 0x02 (vertical), base sprite 6, x=12 (A010)
CEF4 | DEFB $0D,$05 | Guardian no. 0x0D (horizontal), base sprite 0, initial x=5 (A068)
CEF6 | DEFB $0F,$98 | Guardian no. 0x0F (vertical), base sprite 4, x=24 (A078)
CEF8 | DEFB $FF,$00 | Terminator (A3F8)
CEFA | DEFB $00,$00 | Nothing (A000)
CEFC | DEFB $00,$00 | Nothing (A000)
CEFE | DEFB $00,$00 | Nothing (A000)