Jet Set Willy: Data at D000

| Data

D000: Room 0x10: We must perform a Quirkafleeg (teleport: 59)

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.
D000 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
D008 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D010 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D018 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D020 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D028 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D030 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D038 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D040 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
D048 | DEFB $AA,$00,$00,$00,$00,$00,$02,$AA
D050 | DEFB $AA,$40,$00,$00,$00,$00,$02,$AA
D058 | DEFB $AA,$40,$00,$00,$00,$00,$02,$AA
D060 | DEFB $AA,$40,$00,$00,$00,$00,$02,$AA
D068 | DEFB $AA,$40,$00,$00,$00,$00,$02,$AA
D070 | DEFB $AA,$40,$00,$00,$00,$00,$02,$AA
D078 | DEFB $AA,$7F,$FF,$FF,$FF,$FF,$FE,$AA
The next 32 bytes are copied to 8080 and specify the room name.
D080 | DEFM " We must perform a Quirkafleeg " | 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.
D0A0 | DEFB $06,$00,$00,$00,$00,$00,$00,$00,$00 | Background
D0A9 | DEFB $38,$33,$BB,$DD,$CC,$55,$99,$DD,$EE | Floor
D0B2 | DEFB $0D,$27,$F6,$00,$DC,$D1,$04,$77,$80 | Wall
D0BB | DEFB $45,$40,$E4,$4E,$44,$44,$44,$EE,$FF | Nasty
D0C4 | DEFB $07,$80,$40,$20,$30,$A8,$64,$22,$11 | Ramp
D0CD | 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.
D0D6 | DEFB $00 | Direction (left)
D0D7 | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
D0D9 | 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.
D0DA | DEFB $00 | Direction (up to the left)
D0DB | DEFW $5F24 | Location in the attribute buffer at 5E00: (9,4)
D0DD | DEFB $01 | Length
The next byte is copied to 80DE and specifies the border colour.
D0DE | DEFB $02 | Border colour
The next two bytes are copied to 80DF, but are not used.
D0DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
D0E1 | 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.
D0E9 | DEFB $11 | Room to the left (Up on the Battlements)
D0EA | DEFB $0F | Room to the right (I'm sure I've seen this before..)
D0EB | DEFB $32 | Room above (Watch Tower)
D0EC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
D0ED | 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.
D0F0 | DEFB $0D,$08 | Guardian no. 0x0D (horizontal), base sprite 0, initial x=8 (A068)
D0F2 | DEFB $01,$10 | Rope at x=16 (A008)
D0F4 | DEFB $3C,$84 | Arrow flying left to right at pixel y-coordinate 66 (A1E0)
D0F6 | DEFB $FF,$00 | Terminator (A3F8)
D0F8 | DEFB $00,$00 | Nothing (A000)
D0FA | DEFB $00,$00 | Nothing (A000)
D0FC | DEFB $00,$00 | Nothing (A000)
D0FE | DEFB $00,$00 | Nothing (A000)