Jet Set Willy: Data at C400

| Data

C400: Room 0x04: The Drive (teleport: 39)

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.
C400 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
C408 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C410 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C418 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C420 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C428 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C430 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C438 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C440 | DEFB $54,$00,$00,$00,$00,$00,$00,$00
C448 | DEFB $AA,$00,$00,$00,$00,$00,$00,$00
C450 | DEFB $AA,$80,$00,$00,$00,$00,$00,$00
C458 | DEFB $00,$A0,$00,$00,$00,$00,$00,$00
C460 | DEFB $00,$A8,$00,$00,$00,$00,$00,$00
C468 | DEFB $00,$AA,$00,$00,$00,$00,$00,$00
C470 | DEFB $A0,$AA,$80,$00,$00,$00,$00,$00
C478 | DEFB $A0,$AA,$A5,$55,$55,$5A,$55,$55
The next 32 bytes are copied to 8080 and specify the room name.
C480 | DEFM " The Drive " | 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.
C4A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
C4A9 | DEFB $06,$AA,$55,$AA,$FF,$FF,$55,$AA,$55 | Floor
C4B2 | DEFB $0D,$70,$07,$77,$77,$00,$3B,$0B,$7D | Wall
C4BB | DEFB $44,$14,$2A,$14,$09,$6A,$9C,$08,$08 | Nasty (unused)
C4C4 | DEFB $05,$C0,$40,$70,$70,$0C,$74,$77,$05 | Ramp
C4CD | DEFB $42,$7B,$00,$ED,$00,$AA,$55,$AA,$55 | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
C4D6 | DEFB $01 | Direction (right)
C4D7 | DEFW $5FA0 | Location in the attribute buffer at 5E00: (13,0)
C4D9 | DEFB $02 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
C4DA | DEFB $00 | Direction (up to the left)
C4DB | DEFW $5FC9 | Location in the attribute buffer at 5E00: (14,9)
C4DD | DEFB $07 | Length
The next byte is copied to 80DE and specifies the border colour.
C4DE | DEFB $03 | Border colour
The next two bytes are copied to 80DF, but are not used.
C4DF | DEFB $C0,$A0 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
C4E1 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Item graphic (unused)
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
C4E9 | DEFB $05 | Room to the left (The Security Guard)
C4EA | DEFB $03 | Room to the right (At the Foot of the MegaTree)
C4EB | DEFB $06 | Room above (Entrance to Hades)
C4EC | DEFB $2D | Room below (Under the Drive)
The next three bytes are copied to 80ED, but are not used.
C4ED | 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.
C4F0 | DEFB $15,$12 | Guardian no. 0x15 (horizontal), base sprite 0, initial x=18 (A0A8)
C4F2 | DEFB $16,$15 | Guardian no. 0x16 (horizontal), base sprite 0, initial x=21 (A0B0)
C4F4 | DEFB $17,$08 | Guardian no. 0x17 (horizontal), base sprite 0, initial x=8 (A0B8)
C4F6 | DEFB $18,$14 | Guardian no. 0x18 (horizontal), base sprite 0, initial x=20 (A0C0)
C4F8 | DEFB $24,$8F | Guardian no. 0x24 (horizontal), base sprite 4, initial x=15 (A120)
C4FA | DEFB $FF,$00 | Terminator (A3F8)
C4FC | DEFB $00,$00 | Nothing (A000)
C4FE | DEFB $00,$00 | Nothing (A000)