Up: Map Next: 7F01
7C00: Scenery, item and creature data for the current room
768 game data bytes reserved here in routine at BF9D. This was originally code that drew the decorative border graphics at the start of the game. This routine will not run again so can be overwritten.
These dynamic sets work as follows:
  • Each room item - including scenery graphics, doors, objects, creatures and missiles - is copied to and from here as they are set up and handled from the item graphic data buffer at EB43
  • The exception is the foreground scenery objects at the bottom of the room, which are handled in a separate table at 7F01
  • The main routine that copies the data here is at E0B0
  • Not all 48 banks are used, as there aren't this many different graphic elements in any screen, so later banks still contain code from drawing the aforementioned screen border etc.
  • 255 in the first byte of a data bank marks the end of the item sets needed for the current room.
Byte Value
1 Graphic type (see EB43)
2 & 3 For doors, address in connecting door table at 6790
For interactable objects, address pointer to object table at 736F
For missiles, address pointer to missile table at 6CDC
For creatures, address pointer to creature type in table at 6C7C
4 For missiles, missile number (1-9, table at 6CDC)
For creatures, creature type (see 60230)
For interactable objects, graphic number in item table at 736F
5 Prevision/overflow byte for screen horizontal position (see next byte)
6 Horizontal position of graphic in room, in 4-pixel (half-character) steps
7 Prevision/overflow byte for screen vertical position (see next byte)
8 Graphic vertical position within current room, in pixels, from top of room playing area
9 64 for various room items
255 for (general) tunnel
254 for tunnel item (boundary, spider, bat)
10 Missiles - difference between horizontal (X) position of missile and target (e.g. Maroc), in 2-pixel increments (negative if target to the left, positive if target to the right)
11 Missiles - difference between vertical (Y) position of missile and target (e.g. Maroc), in 2-pixel increments (negative if target is below, negative if target is above)
12 Item properties:
Bit 0 (1) set = item is visible in the current screen (0 = item is off-screen)
Bit 1 (2) set = item is hidden (e.g. in a chest)
Bit 2 (4) set = item needs erasing (e.g. it's moved position)
Bit 3 (8) set (doors) = door is open (0 = door is closed)
Bit 3 (8) set (items) = item is moving, e.g. has been dropped/thrown by the servant
Bit 4 (16) set (items) = currently carried by servant
Bit 5 (32) set (doors) = door opening/closing has been triggered
Bit 6 (64) set (items) = item is portable
Bit 6 (64) set (doors) = this door is opening or closing
Bit 7 (128) set (doors) = Maroc has just gone through a doorway
Bits 5-8 (Missiles) = existence time for missile (from second data byte from missiles table at 6CDC)
13 Pre-graphics data byte
Bits 0-3 = number of graphic frames for object
Bit 5 = graphic is 'flippable' if set
Bit 6 = graphic has left/right facing frames
Bit 7 = graphic is animated if set
14 Graphic address frame offset (>1 for mirrored graphics frames)
15 & 16 Pointer to the address for this graphic in table at 97C3
Bank 1
7C00 DEFB $20,$C5,$73,$08,$50,$10,$00,$0A
7C08 DEFB $40,$00,$00,$02,$01,$01,$E5,$98
Bank 2
7C10 DEFB $06,$C5,$73,$08,$50,$20,$00,$3A
7C18 DEFB $40,$00,$00,$01,$21,$02,$E7,$97
Bank 3
7C20 DEFB $01,$C5,$73,$08,$50,$14,$00,$5A
7C28 DEFB $40,$00,$00,$01,$21,$02,$E3,$97
Bank 4
7C30 DEFB $01,$C5,$73,$08,$50,$1C,$00,$4A
7C38 DEFB $40,$00,$00,$01,$21,$02,$E3,$97
Bank 5
7C40 DEFB $01,$C5,$73,$08,$50,$24,$00,$3A
7C48 DEFB $40,$00,$00,$01,$01,$01,$DF,$97
Bank 6
7C50 DEFB $01,$C5,$73,$08,$50,$2C,$00,$4A
7C58 DEFB $40,$00,$00,$01,$21,$01,$E1,$97
Bank 7
7C60 DEFB $02,$94,$67,$01,$50,$32,$00,$50
7C68 DEFB $40,$00,$00,$09,$25,$F5,$DD,$97
Bank 8
7C70 DEFB $01,$C5,$73,$01,$50,$34,$00,$5A
7C78 DEFB $40,$00,$00,$01,$21,$01,$EB,$97
Bank 9
7C80 DEFB $07,$C5,$73,$01,$50,$28,$00,$3A
7C88 DEFB $40,$00,$00,$01,$21,$01,$E5,$97
Bank 10
7C90 DEFB $FF,$BC,$6C,$00,$20,$3E,$40,$39
7C98 DEFB $40,$00,$00,$04,$01,$01,$E9,$97
Bank 11
7CA0 DEFB $01,$BC,$6C,$00,$20,$46,$40,$39
7CA8 DEFB $40,$00,$00,$04,$01,$01,$DF,$97
Bank 12
7CB0 DEFB $01,$BC,$6C,$00,$20,$4E,$40,$39
7CB8 DEFB $40,$00,$00,$04,$01,$01,$DF,$97
Bank 13
7CC0 DEFB $01,$BC,$6C,$00,$20,$56,$40,$49
7CC8 DEFB $40,$00,$00,$04,$21,$01,$E1,$97
Bank 14
7CD0 DEFB $02,$9C,$67,$03,$20,$5C,$40,$4F
7CD8 DEFB $40,$00,$00,$04,$25,$11,$D5,$97
Bank 15
7CE0 DEFB $01,$BC,$6C,$01,$20,$5E,$40,$59
7CE8 DEFB $40,$00,$00,$04,$21,$01,$EB,$97
Bank 16
7CF0 DEFB $07,$BC,$6C,$01,$20,$52,$40,$39
7CF8 DEFB $40,$00,$00,$04,$21,$01,$E5,$97
Bank 17
7D00 DEFB $04,$C3,$73,$08,$20,$4A,$00,$42
7D08 DEFB $40,$00,$00,$04,$01,$01,$E5,$98
Bank 18
7D10 DEFB $FF,$BC,$6C,$01,$00,$1A,$C0,$53
7D18 DEFB $40,$00,$00,$05,$21,$01,$E5,$97
Bank 19
7D20 DEFB $FF,$BC,$6C,$09,$20,$06,$00,$52
7D28 DEFB $40,$07,$F8,$05,$E3,$19,$53,$98
Bank 20
7D30 DEFB $03,$BC,$6C,$09,$00,$0E,$00,$54
7D38 DEFB $40,$07,$F8,$05,$E3,$1A,$55,$98
Bank 21
7D40 DEFB $FF,$23,$36,$28,$23,$36,$20,$23
7D48 DEFB $36,$20,$21,$25,$58,$36,$20,$23
Bank 22
7D50 DEFB $36,$20,$21,$00,$58,$36,$38,$23
7D58 DEFB $36,$38,$21,$17,$58,$36,$10,$21
Bank 23
7D60 DEFB $39,$58,$36,$10,$21,$19,$58,$36
7D68 DEFB $10,$21,$3B,$58,$36,$10,$21,$A0
Bank 24
7D70 DEFB $59,$36,$10,$21,$C0,$59,$36,$10
7D78 DEFB $23,$36,$10,$21,$E0,$59,$36,$10
Bank 25
7D80 DEFB $23,$36,$10,$21,$00,$5A,$36,$10
7D88 DEFB $23,$36,$10,$23,$06,$06,$11,$1D
Bank 26
7D90 DEFB $00,$36,$10,$23,$36,$10,$23,$36
7D98 DEFB $10,$23,$19,$10,$F4,$21,$21,$5A
Bank 27
7DA0 DEFB $36,$10,$21,$E2,$5A,$36,$38,$23
7DA8 DEFB $36,$38,$23,$36,$38,$23,$36,$38
Bank 28
7DB0 DEFB $21,$06,$5A,$06,$14,$36,$38,$23
7DB8 DEFB $10,$FB,$21,$1C,$5A,$36,$38,$21
Bank 29
7DC0 DEFB $BF,$59,$36,$38,$21,$DF,$59,$36
7DC8 DEFB $38,$21,$FE,$59,$36,$38,$23,$36
Bank 30
7DD0 DEFB $38,$21,$0D,$5A,$36,$38,$23,$36
7DD8 DEFB $38,$23,$36,$38,$21,$1D,$5A,$36
Bank 31
7DE0 DEFB $38,$23,$36,$38,$23,$36,$38,$21
7DE8 DEFB $3D,$5A,$36,$38,$23,$36,$38,$23
Bank 32
7DF0 DEFB $36,$38,$21,$5D,$5A,$36,$38,$23
7DF8 DEFB $36,$38,$21,$9B,$5A,$36,$28,$21
Bank 33
7E00 DEFB $BA,$5A,$36,$28,$23,$36,$20,$21
7E08 DEFB $DA,$5A,$36,$20,$21,$3F,$5A,$11
Bank 34
7E10 DEFB $20,$00,$36,$28,$19,$36,$28,$19
7E18 DEFB $36,$28,$19,$36,$20,$19,$36,$20
Bank 35
7E20 DEFB $19,$3E,$01,$32,$AF,$8B,$3E,$0C
7E28 DEFB $32,$B0,$8B,$21,$5F,$82,$22,$C4
Bank 36
7E30 DEFB $7C,$21,$62,$40,$CD,$27,$82,$3E
7E38 DEFB $01,$32,$AF,$8B,$3E,$0C,$32,$B0
Bank 37
7E40 DEFB $8B,$21,$7F,$82,$22,$C4,$7C,$21
7E48 DEFB $7D,$40,$CD,$27,$82,$3E,$01,$32
Bank 38
7E50 DEFB $AF,$8B,$3E,$01,$32,$B0,$8B,$21
7E58 DEFB $87,$82,$22,$C4,$7C,$21,$5D,$40
Bank 39
7E60 DEFB $CD,$27,$82,$3E,$01,$32,$AF,$8B
7E68 DEFB $3E,$01,$32,$B0,$8B,$21,$67,$82
Bank 40
7E70 DEFB $22,$C4,$7C,$21,$E2,$48,$CD,$27
7E78 DEFB $82,$3E,$01,$32,$AF,$8B,$3E,$01
Bank 41
7E80 DEFB $32,$B0,$8B,$21,$77,$82,$22,$C4
7E88 DEFB $7C,$21,$FD,$48,$CD,$27,$82,$3E
Bank 42
7E90 DEFB $1A,$32,$AF,$8B,$3E,$01,$32,$B0
7E98 DEFB $8B,$21,$8F,$82,$22,$C4,$7C,$21
Bank 43
7EA0 DEFB $43,$40,$CD,$27,$82,$3E,$1A,$32
7EA8 DEFB $AF,$8B,$3E,$01,$32,$B0,$8B,$21
Bank 44
7EB0 DEFB $6F,$82,$22,$C4,$7C,$21,$E3,$48
7EB8 DEFB $CD,$27,$82,$3E,$01,$32,$AF,$8B
Bank 45
7EC0 DEFB $3E,$01,$32,$B0,$8B,$21,$97,$82
7EC8 DEFB $22,$C4,$7C,$21,$42,$40,$CD,$27
Bank 46
7ED0 DEFB $82,$21,$42,$58,$0E,$06,$06,$1C
7ED8 DEFB $36,$08,$23,$10,$FB,$23,$23,$23
Bank 47
7EE0 DEFB $23,$0D,$20,$F2,$22,$C4,$7C,$21
7EE8 DEFB $63,$58,$0E,$02,$06,$1A,$36,$0F
Bank 48
7EF0 DEFB $23,$10,$FB,$23,$23,$23,$23,$23
7EF8 DEFB $23,$0D,$20,$F0,$2A,$C4,$7C,$0E
Final end byte
7F00 DEFB $FF 255 = end of data sets
Up: Map Next: 7F01