Prev: D100 Up: Map Next: D300
D200: Room 0x12: On the Roof (teleport: 259)
Used by the routine at 8912.
on_the_roof
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.
Input
Output
D200 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Room layout
D208 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D210 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D218 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D220 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D228 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D230 DEFB $00,$00,$00,$00,$00,$00,$00,$00
D238 DEFB $00,$00,$00,$00,$00,$00,$0A,$40
D240 DEFB $00,$00,$00,$00,$00,$00,$0A,$D0
D248 DEFB $AA,$40,$00,$00,$00,$00,$0A,$AA
D250 DEFB $AA,$C0,$00,$00,$00,$00,$0A,$AA
D258 DEFB $AA,$C0,$00,$00,$00,$00,$0A,$AA
D260 DEFB $AA,$90,$00,$00,$00,$00,$0A,$AA
D268 DEFB $AA,$B0,$00,$00,$00,$00,$0A,$AA
D270 DEFB $AA,$B0,$0A,$40,$00,$00,$0A,$AA
D278 DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
D280 DEFM " On the Roof " 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.
background18 floor18 wall18 nasty18 ramp18 conveyor18
D2A0 DEFB $44,$00,$00,$00,$00,$00,$00,$00,$00 Background
D2A9 DEFB $07,$80,$C0,$E0,$D0,$58,$9C,$DE,$CD Floor
D2B2 DEFB $26,$11,$F8,$07,$08,$F0,$0F,$D0,$3F Wall
D2BB DEFB $46,$55,$99,$DD,$CC,$55,$99,$DD,$CC Nasty
D2C4 DEFB $07,$00,$00,$00,$00,$00,$00,$00,$00 Ramp (unused)
D2CD DEFB $0A,$F0,$F0,$F0,$FF,$FF,$00,$00,$FF Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
D2D6 DEFB $01 Direction (right)
D2D7 DEFW $5FEE Location in the attribute buffer at 5E00: (15,14)
D2D9 DEFB $08 Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
D2DA DEFB $00 Direction (up to the left)
D2DB DEFW $0000 Location in the attribute buffer at 5E00 (unused)
D2DD DEFB $00 Length: 0 (there is no ramp in this room)
The next byte is copied to 80DE and specifies the border colour.
D2DE DEFB $02 Border colour
The next two bytes are copied to 80DF, but are not used.
D2DF DEFB $00,$00 Unused
The next eight bytes are copied to 80E1 and define the item graphic.
item18
D2E1 DEFB $01,$02,$05,$0A,$54,$28,$30,$48 Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
D2E9 DEFB $30 Room to the left (Nomen Luni)
D2EA DEFB $11 Room to the right (Up on the Battlements)
D2EB DEFB $12 Room above (On the Roof)
D2EC DEFB $00 Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
D2ED 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.
D2F0 DEFB $22,$16 Guardian no. 0x22 (horizontal), base sprite 0, initial x=22 (A110)
D2F2 DEFB $01,$10 Rope at x=16 (A008)
D2F4 DEFB $FF,$00 Terminator (A3F8)
D2F6 DEFB $00,$00 Nothing (A000)
D2F8 DEFB $00,$00 Nothing (A000)
D2FA DEFB $00,$00 Nothing (A000)
D2FC DEFB $00,$00 Nothing (A000)
D2FE DEFB $00,$00 Nothing (A000)
Prev: D100 Up: Map Next: D300