Jet Set Willy: Data at DD00

| Data

DD00: Room 0x1D: The Nightmare Room (teleport: 13459)

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.
DD00 | DEFB $00,$00,$00,$00,$00,$00,$00,$0A | Room layout
DD08 | DEFB $00,$00,$00,$00,$00,$00,$00,$0A
DD10 | DEFB $00,$00,$00,$00,$00,$00,$00,$0A
DD18 | DEFB $00,$00,$00,$00,$00,$00,$00,$0A
DD20 | DEFB $00,$00,$00,$00,$00,$00,$00,$0A
DD28 | DEFB $00,$00,$04,$00,$40,$04,$00,$0A
DD30 | DEFB $00,$00,$00,$10,$00,$00,$00,$0A
DD38 | DEFB $00,$01,$00,$00,$01,$00,$00,$0A
DD40 | DEFB $00,$00,$04,$00,$00,$04,$00,$0A
DD48 | DEFB $00,$00,$00,$10,$00,$00,$00,$0A
DD50 | DEFB $00,$00,$00,$00,$01,$00,$04,$0A
DD58 | DEFB $00,$00,$04,$00,$00,$04,$00,$0A
DD60 | DEFB $AA,$A8,$00,$10,$00,$00,$00,$0A
DD68 | DEFB $AA,$AA,$00,$00,$00,$00,$00,$00
DD70 | DEFB $AA,$AA,$80,$00,$00,$00,$00,$00
DD78 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
DD80 | DEFM " The Nightmare Room " | 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. Note that because of a bug in the game engine, the conveyor tile is not drawn correctly (see the room image above).
DDA0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
DDA9 | DEFB $44,$FF,$A5,$52,$24,$42,$22,$40,$04 | Floor
DDB2 | DEFB $33,$00,$2A,$54,$00,$00,$A2,$45,$00 | Wall
DDBB | DEFB $45,$42,$99,$66,$A1,$9F,$81,$66,$5A | Nasty (unused)
DDC4 | DEFB $07,$80,$C0,$A0,$F0,$F8,$5C,$BA,$02 | Ramp
DDCD | DEFB $A5,$FF,$5A,$FF,$FF,$AA,$55,$AA,$55 | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
DDD6 | DEFB $00 | Direction (left)
DDD7 | DEFW $5EFB | Location in the attribute buffer at 5E00: (7,27)
DDD9 | DEFB $01 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
DDDA | DEFB $00 | Direction (up to the left)
DDDB | DEFW $5FC9 | Location in the attribute buffer at 5E00: (14,9)
DDDD | DEFB $03 | Length
The next byte is copied to 80DE and specifies the border colour.
DDDE | DEFB $02 | Border colour
The next two bytes are copied to 80DF, but are not used.
DDDF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
DDE1 | DEFB $AC,$AE,$01,$AD,$AD,$02,$AC,$58 | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
DDE9 | DEFB $1E | Room to the left (The Banyan Tree)
DDEA | DEFB $1C | Room to the right (First Landing)
DDEB | DEFB $00 | Room above (The Off Licence)
DDEC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
DDED | 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.
DDF0 | DEFB $46,$88 | Guardian no. 0x46 (vertical), base sprite 4, x=8 (A230)
DDF2 | DEFB $47,$CB | Guardian no. 0x47 (vertical), base sprite 6, x=11 (A238)
DDF4 | DEFB $48,$4E | Guardian no. 0x48 (vertical), base sprite 2, x=14 (A240)
DDF6 | DEFB $49,$D1 | Guardian no. 0x49 (vertical), base sprite 6, x=17 (A248)
DDF8 | DEFB $46,$94 | Guardian no. 0x46 (vertical), base sprite 4, x=20 (A230)
DDFA | DEFB $47,$97 | Guardian no. 0x47 (vertical), base sprite 4, x=23 (A238)
DDFC | DEFB $48,$9C | Guardian no. 0x48 (vertical), base sprite 4, x=28 (A240)
DDFE | DEFB $FF,$00 | Terminator (A3F8)