Prev: 5E4E Up: Map Next: 5FE6
5E66: Data buffer for the state of every enemy on screen
Bytes Meaning
0x00 X position
0x01 Y position
0x02 Bit 0: reverse sprite if set - Enemy direction $00 left $01 right
0x03 $00 FOOT MAN not jumping - $01 FOOT MAN jumping ; For Enemy type $FF (EXPLOSION) debris expansion counter
0x04 - 0x05 Address pointer to graphic data for static (non-animated) sprites - y-offset address pointer for FOOT MAN jumping - x-delta and y-delta for TRIANGLE movement
0x06 FOOT MAN Falling speed? $00 Not falling - $02 - $04
0x07 $00 Not used
0x08 $00 Not used
0x09 Bit 7: 1 - graphic data for fixed (non animated) sprite. Computed by: address at 0x04-0x05
0 - graphic data from animated sprite. Computed by: base graphic data address at 0x0A-0x0B + offset of animation from base address at 0x16-0x17
Bit 6-0: enemy type -> $00 FOOT MAN , $FF Explosion, $FE Bubble, $FD Smartbomb, $FC Question
0x0A - 0x0B Address pointer to animation offset table
0x0C Enemy status $00 dead / $01 alive
0x0D Explosion counter (decrement))
0x0E Width of the sprite (in bytes)
0x0F Height of the sprite (in pixels)
0x10 Enemy speed velocity ($00 stopped). For Bubble: bubble y-position counter offset
0x11 Enemy type:
0x00 (FOOTMAN) - Counter for state change duration: $C8 fixed crouched
0x02 (DROP) - Drop state: $00 standing on ceil $01 hanging from ceil $02 free falling $03 impacting ground $04 on ground
0x03 (BRAIN) - Wound counter: $00 100% health
0x04 (PINE) - Movement direction: $00 Downwards $01 upwards
0x05 (PLANT) - PLANT state: $00 standing-by $01 opening $02 closing
0x09 (BULB) - State indicator $00 stand-by $01 expanding $02 retracting
0x0E (TRIANGLE) - State change counter
0xFE (BUBBLE) - Bubble duration counter
0x12 Enemy type:
0x00 (FOOTMAN): $00 walking - $01 crouched - $02 stand-by
0x02 (DROP) - State change counter
0x03 (BRAIN) - Recover counter
0x04 (PINE) - Animation state: $00 stand-by $02 expanding $03 retracting $04 holding
0x05 (PLANT) - State change counter
0x09 (BULB) - State change counter
0x0E (TRIANGLE) - Change movement direction: $00 no change $01 change direction
0xFE (BUBBLE) - MSB of address graphic data
0x13 0xFE (BUBBLE) LSB of address graphic data
0x04 (PINE) state change counter
0x14 Enemy health
0x15 Energy bubble $01 big / $00 small / $FF no bubble
0x16 - 0x17 Address pointer to graphic data for animated sprites
0x18 Teleporting status for FOOT MAN: $00 teleporting inactive $01 teleporting active
0x19 Teleporting index into table of mask teleporting data
0x1A Teleporting type: $00 Teleporting out of the room $01 teleporting into the room
5E66 DEFS $0180
Prev: 5E4E Up: Map Next: 5FE6