Jet Set Willy: Data at E500

| Data

E500: Room 0x25: Orangery (teleport: 1369)

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.
E500 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
E508 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E510 | DEFB $00,$00,$00,$00,$00,$01,$00,$00
E518 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E520 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E528 | DEFB $00,$00,$00,$00,$40,$00,$10,$00
E530 | DEFB $00,$00,$00,$00,$00,$04,$00,$40
E538 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E540 | DEFB $A0,$00,$00,$04,$00,$00,$00,$00
E548 | DEFB $00,$00,$00,$00,$01,$00,$00,$00
E550 | DEFB $00,$20,$00,$40,$00,$00,$05,$00
E558 | DEFB $00,$25,$00,$00,$40,$00,$00,$55
E560 | DEFB $00,$20,$00,$00,$00,$00,$10,$00
E568 | DEFB $00,$20,$01,$00,$00,$00,$00,$00
E570 | DEFB $00,$20,$00,$00,$00,$40,$00,$00
E578 | DEFB $AA,$AA,$00,$01,$40,$00,$00,$00
The next 32 bytes are copied to 8080 and specify the room name.
E580 | DEFM " Orangery " | 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.
E5A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
E5A9 | DEFB $04,$A5,$4A,$24,$02,$04,$00,$02,$00 | Floor
E5B2 | DEFB $16,$15,$55,$55,$24,$25,$55,$49,$22 | Wall
E5BB | DEFB $06,$82,$41,$3E,$6A,$B7,$19,$25,$44 | Nasty (unused)
E5C4 | DEFB $05,$01,$02,$04,$00,$10,$20,$40,$80 | Ramp
E5CD | DEFB $26,$C6,$AA,$A8,$2A,$59,$24,$00,$00 | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
E5D6 | DEFB $00 | Direction (left)
E5D7 | DEFW $5F5C | Location in the attribute buffer at 5E00: (10,28)
E5D9 | DEFB $04 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
E5DA | DEFB $01 | Direction (up to the right)
E5DB | DEFW $5FA0 | Location in the attribute buffer at 5E00: (13,0)
E5DD | DEFB $0E | Length
The next byte is copied to 80DE and specifies the border colour.
E5DE | DEFB $06 | Border colour
The next two bytes are copied to 80DF, but are not used.
E5DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
E5E1 | DEFB $02,$14,$2E,$55,$2A,$45,$2A,$14 | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
E5E9 | DEFB $38 | Room to the left (West Wing Roof)
E5EA | DEFB $24 | Room to the right (A bit of tree)
E5EB | DEFB $2B | Room above (Conservatory Roof)
E5EC | DEFB $1F | Room below (Swimming Pool)
The next three bytes are copied to 80ED, but are not used.
E5ED | 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.
E5F0 | DEFB $61,$94 | Guardian no. 0x61 (vertical), base sprite 4, x=20 (A308)
E5F2 | DEFB $1B,$89 | Guardian no. 0x1B (vertical), base sprite 4, x=9 (A0D8)
E5F4 | DEFB $3C,$84 | Arrow flying left to right at pixel y-coordinate 66 (A1E0)
E5F6 | DEFB $FF,$00 | Terminator (A3F8)
E5F8 | DEFB $00,$00 | Nothing (A000)
E5FA | DEFB $00,$00 | Nothing (A000)
E5FC | DEFB $00,$00 | Nothing (A000)
E5FE | DEFB $00,$00 | Nothing (A000)