Jet Set Willy: Data at D400

| Data

D400: Room 0x14: Ballroom East (teleport: 359)

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.
D400 | DEFB $A0,$40,$0A,$00,$00,$00,$00,$00 | Room layout
D408 | DEFB $A0,$40,$0A,$00,$00,$00,$00,$00
D410 | DEFB $A0,$40,$0A,$00,$00,$00,$00,$00
D418 | DEFB $00,$40,$00,$00,$00,$00,$00,$00
D420 | DEFB $00,$40,$00,$00,$00,$00,$00,$00
D428 | DEFB $55,$55,$5A,$0A,$AA,$AA,$AA,$AA
D430 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D438 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D440 | DEFB $00,$00,$15,$55,$55,$55,$55,$55
D448 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D450 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D458 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D460 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D468 | DEFB $00,$00,$10,$00,$00,$00,$00,$00
D470 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
D478 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
D480 | DEFM " Ballroom East " | 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.
D4A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
D4A9 | DEFB $06,$AA,$55,$22,$44,$22,$44,$22,$44 | Floor
D4B2 | DEFB $0F,$44,$44,$FF,$11,$11,$FF,$55,$AA | Wall
D4BB | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Nasty (unused)
D4C4 | DEFB $FF,$00,$00,$00,$00,$00,$00,$00,$00 | Ramp (unused)
D4CD | 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.
D4D6 | DEFB $00 | Direction (left)
D4D7 | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
D4D9 | 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.
D4DA | DEFB $00 | Direction (up to the left)
D4DB | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
D4DD | DEFB $00 | Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
D4DE | DEFB $02 | Border colour
The next two bytes are copied to 80DF, but are not used.
D4DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
D4E1 | DEFB $81,$81,$42,$24,$18,$18,$18,$E7 | Item graphic (unused)
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
D4E9 | DEFB $15 | Room to the left (Ballroom West)
D4EA | DEFB $0B | Room to the right (The Hall)
D4EB | DEFB $1A | Room above (East Wall Base)
D4EC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
D4ED | 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.
D4F0 | DEFB $13,$6C | Guardian no. 0x13 (vertical), base sprite 3, x=12 (A098)
D4F2 | DEFB $2A,$05 | Guardian no. 0x2A (vertical), base sprite 0, x=5 (A150)
D4F4 | DEFB $28,$07 | Guardian no. 0x28 (vertical), base sprite 0, x=7 (A140)
D4F6 | DEFB $29,$2B | Guardian no. 0x29 (vertical), base sprite 1, x=11 (A148)
D4F8 | DEFB $15,$18 | Guardian no. 0x15 (horizontal), base sprite 0, initial x=24 (A0A8)
D4FA | DEFB $FF,$00 | Terminator (A3F8)
D4FC | DEFB $00,$00 | Nothing (A000)
D4FE | DEFB $00,$00 | Nothing (A000)