Prev: DC00 Up: Map Next: DE00
DD00: Room 0x1D: The Nightmare Room (teleport: 13459)
Used by the routine at 8912.
the_nightmare_room
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).
background29 floor29 wall29 nasty29 ramp29 conveyor29
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.
item29
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)
Prev: DC00 Up: Map Next: DE00