Jet Set Willy: Data at C900

| Data

C900: Room 0x09: On a Branch Over the Drive (teleport: 149)

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.
C900 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | Room layout
C908 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C910 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C918 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C920 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C928 | DEFB $00,$00,$3C,$00,$00,$00,$00,$00
C930 | DEFB $00,$00,$FD,$50,$00,$00,$00,$00
C938 | DEFB $00,$00,$3F,$C0,$05,$55,$55,$55
C940 | DEFB $00,$00,$00,$00,$0F,$BF,$3B,$C0
C948 | DEFB $00,$00,$00,$00,$03,$F0,$3B,$00
C950 | DEFB $00,$00,$00,$00,$00,$00,$0F,$00
C958 | DEFB $00,$00,$00,$50,$00,$00,$00,$00
C960 | DEFB $00,$50,$00,$00,$00,$00,$00,$00
C968 | DEFB $00,$00,$05,$00,$00,$00,$00,$00
C970 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
C978 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
The next 32 bytes are copied to 8080 and specify the room name.
C980 | DEFM " On a Branch Over 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.
C9A0 | DEFB $08,$00,$00,$00,$00,$00,$00,$00,$00 | Background
C9A9 | DEFB $0A,$1F,$F3,$E1,$60,$30,$2C,$40,$80 | Floor
C9B2 | DEFB $4A,$09,$12,$0A,$1F,$E4,$08,$08,$08 | Wall
C9BB | DEFB $0C,$42,$29,$54,$26,$87,$23,$2A,$04 | Nasty
C9C4 | DEFB $0F,$05,$02,$04,$08,$50,$20,$40,$80 | Ramp
C9CD | 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.
C9D6 | DEFB $00 | Direction (left)
C9D7 | DEFW $0000 | Location in the attribute buffer at 5E00 (unused)
C9D9 | 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.
C9DA | DEFB $01 | Direction (up to the right)
C9DB | DEFW $5F4E | Location in the attribute buffer at 5E00: (10,14)
C9DD | DEFB $04 | Length
The next byte is copied to 80DE and specifies the border colour.
C9DE | DEFB $02 | Border colour
The next two bytes are copied to 80DF, but are not used.
C9DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
C9E1 | DEFB $30,$3C,$4F,$43,$82,$86,$E4,$FC | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
C9E9 | DEFB $0A | Room to the left (The Front Door)
C9EA | DEFB $08 | Room to the right (Inside the MegaTrunk)
C9EB | DEFB $0D | Room above (Out on a limb)
C9EC | DEFB $04 | Room below (The Drive)
The next three bytes are copied to 80ED, but are not used.
C9ED | 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.
C9F0 | DEFB $09,$1E | Guardian no. 0x09 (vertical), base sprite 0, x=30 (A048)
C9F2 | DEFB $1B,$87 | Guardian no. 0x1B (vertical), base sprite 4, x=7 (A0D8)
C9F4 | DEFB $3D,$13 | Guardian no. 0x3D (horizontal), base sprite 0, initial x=19 (A1E8)
C9F6 | DEFB $3E,$0E | Guardian no. 0x3E (vertical), base sprite 0, x=14 (A1F0)
C9F8 | DEFB $3C,$44 | Arrow flying left to right at pixel y-coordinate 34 (A1E0)
C9FA | DEFB $FF,$00 | Terminator (A3F8)
C9FC | DEFB $00,$00 | Nothing (A000)
C9FE | DEFB $00,$00 | Nothing (A000)