Jet Set Willy: Data at F300

| Data

F300: Room 0x33: Tool Shed (teleport: 12569)

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.
F300 | DEFB $00,$00,$02,$AA,$A0,$00,$00,$00 | Room layout
F308 | DEFB $00,$00,$0A,$AA,$A0,$00,$00,$00
F310 | DEFB $00,$00,$2A,$AA,$AA,$AA,$AA,$AA
F318 | DEFB $00,$00,$00,$00,$C0,$00,$00,$00
F320 | DEFB $00,$00,$00,$00,$00,$00,$00,$00
F328 | DEFB $00,$00,$00,$00,$00,$00,$00,$AA
F330 | DEFB $00,$00,$00,$00,$00,$00,$00,$AA
F338 | DEFB $00,$00,$00,$00,$00,$00,$00,$AA
F340 | DEFB $AA,$A8,$00,$41,$00,$40,$2A,$AA
F348 | DEFB $AA,$A8,$00,$00,$00,$00,$2A,$AA
F350 | DEFB $AA,$A8,$00,$00,$00,$00,$6A,$AA
F358 | DEFB $AA,$A8,$11,$00,$10,$00,$2A,$AA
F360 | DEFB $AA,$A8,$00,$00,$00,$40,$2A,$AA
F368 | DEFB $AA,$A8,$00,$00,$00,$00,$6A,$AA
F370 | DEFB $AA,$A8,$00,$00,$00,$00,$2A,$AA
F378 | DEFB $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
The next 32 bytes are copied to 8080 and specify the room name.
F380 | DEFM " Tool Shed " | 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).
F3A0 | DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 | Background
F3A9 | DEFB $05,$5A,$FF,$22,$44,$22,$40,$00,$00 | Floor
F3B2 | DEFB $1E,$55,$AA,$44,$22,$55,$AA,$44,$22 | Wall
F3BB | DEFB $06,$04,$04,$04,$88,$50,$20,$10,$08 | Nasty
F3C4 | DEFB $07,$03,$03,$0C,$0C,$30,$30,$C0,$C0 | Ramp
F3CD | DEFB $44,$E0,$AA,$00,$66,$66,$66,$66,$66 | Conveyor
The next four bytes are copied to 80D6 and specify the direction, location and length of the conveyor.
F3D6 | DEFB $01 | Direction (right)
F3D7 | DEFW $5FE7 | Location in the attribute buffer at 5E00: (15,7)
F3D9 | DEFB $12 | Length
The next four bytes are copied to 80DA and specify the direction, location and length of the ramp.
F3DA | DEFB $01 | Direction (up to the right)
F3DB | DEFW $5EE3 | Location in the attribute buffer at 5E00: (7,3)
F3DD | DEFB $08 | Length
The next byte is copied to 80DE and specifies the border colour.
F3DE | DEFB $05 | Border colour
The next two bytes are copied to 80DF, but are not used.
F3DF | DEFB $00,$00 | Unused
The next eight bytes are copied to 80E1 and define the item graphic.
F3E1 | DEFB $18,$18,$18,$18,$18,$9B,$7F,$3B | Item graphic
The next four bytes are copied to 80E9 and specify the rooms to the left, to the right, above and below.
F3E9 | DEFB $3A | Room to the left (The Beach)
F3EA | DEFB $31 | Room to the right (The Wine Cellar)
F3EB | DEFB $35 | Room above (Back Door)
F3EC | DEFB $00 | Room below (The Off Licence)
The next three bytes are copied to 80ED, but are not used.
F3ED | 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.
F3F0 | DEFB $34,$10 | Guardian no. 0x34 (horizontal), base sprite 0, initial x=16 (A1A0)
F3F2 | DEFB $62,$09 | Guardian no. 0x62 (horizontal), base sprite 0, initial x=9 (A310)
F3F4 | DEFB $63,$14 | Guardian no. 0x63 (horizontal), base sprite 0, initial x=20 (A318)
F3F6 | DEFB $FF,$00 | Terminator (A3F8)
F3F8 | DEFB $00,$00 | Nothing (A000)
F3FA | DEFB $00,$00 | Nothing (A000)
F3FC | DEFB $00,$00 | Nothing (A000)
F3FE | DEFB $00,$00 | Nothing (A000)