|  | Routines | 
| Prev: C3BE | Up: Map | Next: C4A6 | 
| C3E0 | LD HL,($A01B) | Set HL to the tile address under entity | ||
| C3E3 | LD DE,$0040 | Set HL point to tile in front-upper of entity | ||
| C3E6 | AND A | |||
| C3E7 | SBC HL,DE | |||
| C3E9 | INC HL | |||
| C3EA | INC HL | |||
| C3EB | CALL $D06C | Check if tile is wall | ||
| C3EE | JP Z,$C469 | Jump if tile is wall and change direction | ||
| C3F1 | LD DE,$0020 | Set #rEGhl point to tile in front-lower of entity | ||
| C3F4 | ADD HL,DE | |||
| C3F5 | CALL $D06C | Check if tile is wall | ||
| C3F8 | JP Z,$C469 | Jump if tile is wall and change direction | ||
| C3FB | LD A,(IX+$09) | Jump forward if enemy is FOOT MAN | ||
| C3FE | OR A | |||
| C3FF | JP Z,$C410 | |||
| C402 | LD A,(IX+$00) | Computes new x-position based on speed | ||
| C405 | ADD A,(IX+$10) | |||
| C408 | CP $E8 | Jump to handle collision with right border if x-position greater than $E8 | ||
| C40A | JP NC,$C49C | |||
| C40D | JP $C41B | Jump to continue the movement | ||
| 
check collision with border for FOOT MAN
 | ||||
| C410 | LD A,(IX+$00) | Computes new x-position based on speed | ||
| C413 | ADD A,(IX+$10) | |||
| C416 | CP $F8 | Jump to handle collision with right border if x-position greater than $F8 | ||
| C418 | JP NC,$C49C | |||
| 
continue movement
 | ||||
| C41B | LD (IX+$00),A | Set the new x-position | ||
| C41E | LD (IX+$02),$00 | Set direction to right | ||
| C422 | LD A,(IX+$03) | Return if FOOT MAN jumping | ||
| C425 | OR A | |||
| C426 | RET NZ | |||
| C427 | LD A,(IX+$06) | Return if FOOT MAN falling | ||
| C42A | OR A | |||
| C42B | RET NZ | |||
| C42C | LD A,(IX+$09) | Jump forward if enemy is not FOOT MAN | ||
| C42F | OR A | |||
| C430 | JP NZ,$C451 | |||
| C433 | LD HL,($A01B) | Set HL to the address of the tile buffer in front of FOOT MAN | ||
| C436 | LD DE,$001F | |||
| C439 | AND A | |||
| C43A | SBC HL,DE | |||
| C43C | LD A,(HL) | if tile type is $0F then jump to handle force jump of FOOT MAN | ||
| C43D | CP $0F | |||
| C43F | JP Z,$C602 | |||
| C442 | CP $0E | if tile type is $0E then jump to handle force crouch of FOOT MAN | ||
| C444 | JP Z,$C54E | |||
| C447 | CP $10 | if tile type is $10 then jump to handle possible crouch of FOOT MAN | ||
| C449 | CALL Z,$C531 | |||
| C44C | CP $11 | if tile type is $10 then jump to handle possible jump of FOOT MAN | ||
| C44E | CALL Z,$C540 | |||
| 
check the next tile under the foots of enemy
 | ||||
| C451 | LD HL,($A01B) | Set HL to the next tile under foots | ||
| C454 | INC HL | |||
| C455 | INC HL | |||
| C456 | LD A,(HL) | Return if tile is not background | ||
| C457 | OR A | |||
| C458 | RET NZ | |||
| C459 | LD A,(IX+$09) | Return if enemy is FOOT MAN | ||
| C45C | AND $7F | |||
| C45E | OR A | |||
| C45F | RET Z | |||
| C460 | CP $08 | Return is enemy is SCANNER | ||
| C462 | RET Z | |||
| C463 | CP $0C | Return is enemy is POD | ||
| C465 | RET Z | |||
| C466 | CP $0D | Return is enemy is MINE LAYER | ||
| C468 | RET Z | |||
| 
Special case for FOOT MAN dying
 | ||||
| C469 | LD A,(IX+$09) | Return if FOOT MAN dying | ||
| C46C | CP $07 | |||
| C46E | RET Z | |||
| C46F | CP $06 | |||
| C471 | RET Z | |||
| 
change direction of enemy
 | ||||
| C472 | LD A,(IX+$02) | change enemy direction | ||
| C475 | XOR $01 | |||
| C477 | LD (IX+$02),A | |||
| 
Special case for FOOT MAN dying and train wagons. This entry point is used by the routine at C4A6.
 | ||||
| C47A | LD A,(IX+$09) | if FOOT MAN dying then explode it | ||
| C47D | CP $07 | |||
| C47F | JP Z,$981F | |||
| C482 | CP $06 | |||
| C484 | JP Z,$981F | |||
| C487 | CP $03 | if train wagon then set wagon invisible | ||
| C489 | JP Z,$C497 | |||
| C48C | CP $04 | |||
| C48E | JP Z,$C497 | |||
| C491 | CP $05 | |||
| C493 | JP Z,$C497 | |||
| C496 | RET | |||
| 
Set enemy to not visible
 | ||||
| C497 | LD (IX+$0C),$00 | Enemy not visible | ||
| C49B | RET | |||
| 
Handle collision with room border
 | ||||
| C49C | LD A,(IX+$09) | if enemy type is FOOT MAN then jump to make FOOT MAN invisible | ||
| C49F | OR A | |||
| C4A0 | JP Z,$C497 | |||
| C4A3 | JP $C472 | if not change enemy direction | ||
| Prev: C3BE | Up: Map | Next: C4A6 |