Jet Set Willy: Data at E900

| Data

E900: Room 0x29: The Attic (teleport: 1469)

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.
E900 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
E908 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E910 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E918 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E920 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
E928 | DEFB $00,$C0,$03,$00,$00,$00,$00,$00
E930 | DEFB $55,$95,$56,$50,$00,$00,$00,$00
E938 | DEFB $A0,$00,$00,$00,$00,$00,$00,$00
E940 | DEFB $A4,$00,$00,$00,$05,$00,$00,$05
E948 | DEFB $A0,$00,$00,$00,$00,$00,$00,$00
E950 | DEFB $A4,$00,$00,$00,$00,$50,$00,$00
E958 | DEFB $A0,$00,$00,$00,$00,$00,$00,$00
E960 | DEFB $A4,$00,$00,$00,$00,$04,$00,$00
E968 | DEFB $A0,$00,$00,$00,$00,$00,$00,$00
E970 | DEFB $A4,$03,$00,$C0,$C0,$00,$00,$00
E978 | DEFB $55,$65,$95,$96,$55,$95,$56,$59
The next 32 bytes are copied to 8080 and specify the room name.
E980 | DEFM " The Attic " | 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.
E9A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
E9A9 | DEFB $16,$CE,$FF,$00,$E7,$00,$7F,$00,$FB | Floor
E9B2 | DEFB $1E,$EE,$11,$6C,$92,$11,$C9,$22,$9C | Wall
E9BB | DEFB $44,$24,$12,$44,$AA,$55,$AA,$5B,$FF | Nasty
E9C4 | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Ramp (unused)
E9CD | DEFB $42,$F0,$AA,$3C,$AA,$55,$AA,$55,$AA | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
E9D6 | DEFB $01 | Direction (right)
E9D7 | DEFW $5F18 | Location in the attribute buffer at 5E00: (8,24)
E9D9 | DEFB $04 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
E9DA | DEFB $00 | Direction (up to the left)
E9DB | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
E9DD | DEFB $00 | Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
E9DE | DEFB $01 | Border colour
The next two bytes are copied to 80DF, but are not used.
E9DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
E9E1 | DEFB $11,$22,$33,$44,$55,$66,$77,$88 | Item graphic (unused)
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
E9E9 | DEFB $2A | Room to the left (Under the Roof)
E9EA | DEFB $28 | Room to the right (Dr Jones will never believe this)
E9EB | DEFB $00 | Room above (The Off Licence)
E9EC | DEFB $22 | Room below (Top Landing)
The next three bytes are copied to 80ED, but are not used.
E9ED | 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.
E9F0 | DEFB $52,$04 | Guardian no. 0x52 (vertical), base sprite 0, x=4 (A290)
E9F2 | DEFB $53,$06 | Guardian no. 0x53 (vertical), base sprite 0, x=6 (A298)
E9F4 | DEFB $54,$08 | Guardian no. 0x54 (vertical), base sprite 0, x=8 (A2A0)
E9F6 | DEFB $55,$0A | Guardian no. 0x55 (vertical), base sprite 0, x=10 (A2A8)
E9F8 | DEFB $56,$0C | Guardian no. 0x56 (vertical), base sprite 0, x=12 (A2B0)
E9FA | DEFB $57,$4E | Guardian no. 0x57 (vertical), base sprite 2, x=14 (A2B8)
E9FC | DEFB $45,$D5 | Arrow flying right to left at pixel y-coordinate 536 (A228)
E9FE | DEFB $3C,$92 | Arrow flying left to right at pixel y-coordinate 73 (A1E0)