Prev: BC0E Up: Map Next: BDFE
BC8E: Object Table
The table of objects, which holds everything that moves in the village. There are 17 objects of 10 bytes each, and MainLoop updates them in turn.
The type of an object chooses the routine that updates it (see ObjectHandlerTable) and the sprite that draws it (see SpriteTable). An object of type 00 is not in use.
Byte Contents
00 Type
01 Position along the X axis within the cell
02 Column of the cell
03 Position along the Y axis within the cell
04 Row of the cell
05 Speed (or the kind of tile, for an item)
06 Direction (bits 6 and 7) and timer (bits 0 to 5)
07 Flags
08 Half of the width
09 Half of the depth
0A Velocity along the X axis
0B Velocity along the Y axis
0C Offset of the sprite along the X axis
0D Offset of the sprite along the Y axis
0E Screen position of the sprite, low byte
0F Screen position of the sprite, high byte
The flags are bit 0 (the object has hit something), bit 1 (the object has been drawn), bit 5 (the object chases the player) and bits 6 and 7 (the sprite is to be turned round and upside down, see FlipSprite).
ObjectTable BC8E DEFB $FC,$0F,$05,$FF,$F5,$FF,$F6,$0F,$07,$FF,$65,$E6,$E0,$0F,$06,$FF The legs of the player.
BC9E DEFB $AD,$E0,$C0,$07,$02,$FF,$DD,$C0,$80,$07,$02,$FF,$ED,$C0,$80,$07 The body of the player.
ObjectTable_Shots BCAE DEFB $02,$FF,$F5,$E0,$C0,$07,$02,$FF,$FB,$E0,$C0,$07,$02,$FF,$FD,$E0 The first of the two shots.
BCBE DEFB $C0,$07,$02,$FF,$FE,$E0,$C0,$0F,$06,$FF,$FF,$F0,$E0,$0F,$06,$FF The second of the two shots.
ObjectTable_Items BCCE DEFB $FF,$F0,$E0,$0F,$06,$FF,$43,$F0,$E0,$0F,$07,$FF,$BB,$F0,$E0,$1F Item or fragment 1 of 4.
BCDE DEFB $0F,$FF,$FF,$E0,$C0,$1F,$0F,$FF,$DF,$C0,$80,$1F,$0F,$FF,$8F,$80 Item or fragment 2 of 4.
BCEE DEFB $00,$0F,$07,$FF,$03,$C0,$80,$07,$01,$FF,$03,$C0,$80,$03,$01,$FF Item or fragment 3 of 4.
BCFE DEFB $0B,$C0,$80,$03,$01,$FF,$5B,$C0,$80,$03,$01,$FF,$63,$E0,$C0,$03 Item or fragment 4 of 4.
ObjectTable_Bonus BD0E DEFB $01,$FF,$03,$E0,$C0,$01,$00,$FF,$C7,$E0,$C0,$00,$00,$FF,$3F,$F0 The bonus.
ObjectTable_MonsterItems BD1E DEFB $E0,$00,$00,$3F,$01,$F8,$F0,$00,$00,$01,$00,$F8,$70,$00,$00,$00 The item that monster 1 needs.
BD2E DEFB $00,$70,$00,$03,$22,$63,$00,$F8,$00,$00,$00,$FF,$63,$FF,$D0,$00 The item that monster 2 needs.
BD3E DEFB $00,$7F,$3C,$FF,$ED,$C0,$00,$3F,$1F,$FF,$6D,$F0,$C0,$1F,$07,$FF The item that monster 3 needs.
BD4E DEFB $B6,$F8,$D0,$07,$03,$FF,$D6,$FC,$B8,$03,$01,$FF,$DA,$FE,$BC,$03 The item that monster 4 needs.
ObjectTable_Monsters BD5E DEFB $01,$FF,$EB,$FC,$B8,$03,$01,$FF,$EF,$F8,$F0,$01,$00,$FF,$EF,$F8 Monster 1.
BD6E DEFB $F0,$01,$00,$FF,$FF,$F8,$F0,$01,$00,$FF,$FF,$F8,$F0,$00,$00,$FF Monster 2.
BD7E DEFB $7F,$F0,$E0,$00,$00,$FF,$7F,$E0,$C0,$00,$00,$FF,$7F,$E0,$C0,$00 Monster 3.
BD8E DEFB $00,$FF,$7F,$F0,$E0,$01,$00,$FF,$DF,$F0,$E0,$01,$00,$FF,$DF,$F0 Monster 4.
ObjectTable_Transient BD9E DEFB $E0,$01,$00,$FF,$DF,$F8,$F0,$03,$01,$FF,$DF,$F8,$F0,$03,$01,$FF Short-lived object 1 of 6.
BDAE DEFB $BF,$F8,$F0,$03,$01,$FF,$BF,$F8,$F0,$03,$01,$FF,$BF,$F0,$E0,$01 Short-lived object 2 of 6.
BDBE DEFB $00,$FF,$FF,$E0,$80,$00,$00,$FF,$7F,$E0,$C0,$01,$00,$FF,$FF,$F0 Short-lived object 3 of 6.
BDCE DEFB $E0,$07,$01,$FF,$FF,$F0,$E0,$1F,$07,$FF,$FF,$F8,$F0,$3F,$1F,$FF Short-lived object 4 of 6.
BDDE DEFB $FF,$F8,$F0,$1F,$0F,$FF,$FF,$F8,$F0,$0F,$03,$FF,$FF,$F0,$E0,$03 Short-lived object 5 of 6.
BDEE DEFB $00,$FF,$7F,$E0,$C0,$00,$00,$7F,$07,$C0,$80,$00,$00,$07,$00,$80 Short-lived object 6 of 6.
Prev: BC0E Up: Map Next: BDFE