I researched this game again. Here is my info dump:
---
ENEMY SLOTS
c000~c01f
c020~c03f
c040~c05f
c060~c07f
c080~c09f
c0a0~c0bf
c0c0~c0df
c0e0~c0ff
i+0 = state
thugs: (00 fall, 01 active, 02 cling, 03 dead, ff inactive)
asians: (00 fall, 01 active, 02 cling, 03 dead, 04 jump, ff inactive)
i+1 = enemy kind
00 thug
01 asian
02 chain thug
03 level1 boss
04 smoke trap (from top)
05 smoke trap (from bottom)
06 smoke trap (from right)
07 smoke trap (from left)
08 spike thing that emerges from the ground
09 barrel
0a level2 boss
0b level3 lava ball
0c level3 boss
0d level4 boss?
0e level5 boss?
0f shuriken
10 final boss
11 shooter projectile (level 3)
12 shooter
80,81 bomb
82,83 hp bottle
84~87 heart
88~8f 1up
90~... background and such stuff...
...~ff: platforms
i+9 = health (number of hits until dies)
i+10 = x pos sub
i+2 = x pos
i+11 = y pos sub
i+3 = y pos
(those are cam position)
If enemies are made inactive by editing 0xff as the state, it will mess up the enemy spawning. Those enemies are still counted active and will only be considered inactive if they really unspawn (not by memory edit).
---
c200 timer, depends on c201
c201 counter, tells if enemies should appear
c703 player x sub
c704 player x
c705 player y sub
c706 player y
(those are cam position)
c717 your health (0x08 = half unit, 0x10 = full unit)
c73c ingame clock (right most digit) ~ c73f (leftmost digit)
c0e9 boss hp
d000 score
d012 lives
--
d00a killcounter bomb (every 3rd) -- only shooters (level 3)
d00b killcounter hp bottle (every 20th) -- only thugs (level 1,2,3)
d00c killcounter heart (every 50th) -- only thugs (level 1,2,3)
d00d killcounter 1up (every 90th) -- only thugs (level 1,2,3)
d00e killcounter hp bottle (every 4th) -- only asians (level 4,5,6)
d00f killcounter bomb (every 8th) -- only asians (level 4,5,6)
d010 killcounter heart (every 16th) -- only asians (level 4,5,6)
when more than one item is eligible to drop, the item with the most priority will drop.
The other item will drop on the next kill. (its killcounter incremented instead of being reset)
Priority:
1) 1up
2) heart
3) hp bottle
--
ffbb level (0=level 1, ... 5=level 6, 6=credits)
todo:
- research hitboxes
- find frame rule for when the ingame clock decrements
- make new luascript
- new tas?