Table 4: Movment flags
Movement flags
Behavior settings are done with variable $52 in most sprites. The entity is a flag set, in fact only the lower 6 bits having meaning.
Note: When specifying the wait time, it is set in a different way, but details are not well known.

bit contents
5
Affected by gravity
4
Doubling the movement range
3
Moving straight without being affected by gravity
When combined with bit 1, perform a circular movement
2
Penetrates through the floor when used alone
When using with bit 0 and bit 5, jump is performed
1
When used in combination with bit 2, up and down reciprocation
When used with bit 5, turn back when hitting the wall
0
When used in combination with bit 2, right and left reciprocation
When used in combination with bit 1 and bit 5, normal reciprocation

Attribute
Attribute is specified in variable $30. This value switching special functions and is a flag set.

bit Content bit Content
15
Unused
7
Unused
14
Unused
6
Unused
13
Unused
5
Enable attacks by thrown objects
12
Unused
4
Unused
11
Unused
3
Unused
10
Enable refueling/ Enable destruction by Kannon's projectiles
2
Unused
9
Unused
1
Activate putting at sprite scaffolding
8
Enable blast attack
0
Enable holding by Kongs

Note
1. Bit 10 is the attribute for bonus cannons and bonus walls. When you give this attribute for other sprite and when they are hit by Kannon's projectiles, they will be destructed or killed.
2. Bit 8 does not (in)validate the direct attack by thrown TNT barrels.
3. If bit 5 is false, any direct attack by thrown object is invalidated. However, team throw attack won't be affected because whether the sprite accept team throw attack is set in hit events.
4. You can put the sprites bit 1 is true on the hot balloon or klockhead.
5. You can grab any sprite if it is given bit 0 true. However, whether you take a damage when grabbing them is aside from this attribute.
Kannon's routine
All of Kannon's routine are defined in bank $FF and they are called by variable $22.
The routine is the array of shooting data. Each shooting data is 4 byte length.

Byte type Content
0
absolute
Absolute address of projectiles (Bank $FF)
nullptr is for the terminate.
2
[flags] byte
Shooting method
3
sbyte
Wait time. Negative values are invalid.

The shooting method is a flag set. The function of each bit differs between side shooting type and drop down type.

bit Content
7
Side: Shoot obliquely downward at high speed. This involves a bounce.
Drop: Shoot to the lower left at high speed. This involves a bounce.
6
Shoot to upper at high speed.
5
Side: Shoot obliquely downward at high speed.
Drop: Shoot to the lower right. This involves a bounce.
4
Side: Shoot obliquely downward at high speed.
Drop: Shoot to the lower right. This does not involve a bounce and the projectile will stop when it is grounded.
3
Speed up
2
Speed down
1
Side: Default. You should set this bit always.
Drop: Shift the projectile a little to the right.
0
Side: Shoot obliquely upward.
Drop: Shift the projectile a little to the left.

King Zing's chasing routine
King Zing's chasing routine is defined in bank $FF and called by variable $4E.
The routine is represented by an array of checkpoints, but commands for direction change, speed chagne, etc. may be inserted.
These commands are placed immediately before the checkpoint where the command is applied. In addition, you can use multiple commands in succession.

Command Syntax Content
FFFA
0xFFFA ushort, object
Write the value specified by the second argument to the variable specified by the first argument.
Usually, this command is used to write values for variable $22 (direction).
FFFB
0xFFFB ushort, ushort
Write the first argument to variable $4C, second argument  to variable $50.
Detailed effects are unknown. This command is not used in original game.
FFFC
0xFFFC ushort
Write the argument to variable $4A.
Detailed effects are unknown. This command is not used in original game.
FFFD
0xFFFD absolute
Execute the routine specified the argument. The argument is the absolute address of the routine.
This command is so-called jump.
FFFE
0xFFFE short
Change chasing speed.
FFFF
0xFFFF
Termination code of the routine.

Initial settings of cannon barrels
The full function of barrel cannon is set by variable $46. This is given by the first argument of command $8A00.

bit Content bit Content
15
Animal barrel (bit 13 cannot be used together)
7
Horizontal reciprocation
14
Strengthen inertia after launch
6
Start moving after entering
13
Level moving (bit 15 cannot be used together)
5
Moving always
12
Manual rotation (bit 2 cannot be used together)
4
Controllable (Use bit 12 together. bit 2 cannot be used together)
11
Stop rotation
3
Hidden barrel
10
Flip vertical reciprocation
2
Auto barrel
9
Flip horizontal reciprocation
1
Diddy barrel
8
Vertical reciprocation
0
Dixie barrel

Note
1. Bit 15 and bit 13 must not be used together because the animal setting and the destination and entrance setting are done with same variable.
2. When bit 14 is enabled, movement by the D-pad after launch is reflected more strongly.
3. Bit 10 and bit 9 determine the direction of reciprocating. Since the reciprocating speed is specified by unsigned value, if neither flag is valid, it moves rightward or downward.
4. When you enable bit 1 and bit 0, the barrel cannon cannot be used by each kong.