|  | Routines | 
| Prev: 39998 | Up: Map | Next: 40040 | 
| 
This routine moves an entity (whose complex state data is pointed to by IY) one character left or right, if such a move would take the x-coordinate of that entity's left edge closer to a value of 113. The entity will also be moved down by one character if the y-coordinate of its top edge is less than or equal to 111 (or the input value in A if we are entering this routine via 40010).
 
Used by the routine at 39776.
 
 | ||||||||||
| 40008 | LD A,111 | Load A with 111 (minimum allowed y-coordinate) | ||||||||
| 
This entry point is used by the routine at 39998.
 | ||||||||||
| 40010 | CP (IY+4) | If y-coordinate of entity's top edge is greater than value in A... | ||||||||
| 40013 | JR C,40018 | ...then skip ahead to 40018 | ||||||||
| 40015 | CALL 39954 | Move entity at IY down one character | ||||||||
| 40018 | LD A,(IY+5) | If x-coordinate of entity's left edge... | ||||||||
| 40021 | CP 113 | ...is 113... | ||||||||
| 40023 | RET Z | ...then return | ||||||||
| 40024 | JR C,40033 | ...else if greater than 113 then skip ahead to 40033 | ||||||||
| 40026 | DEC (IY+5) | Move entity left one character... | ||||||||
| 40029 | DEC (IY+7) | ... | ||||||||
| 40032 | RET | Return | ||||||||
| 40033 | INC (IY+5) | Move entity right one character... | ||||||||
| 40036 | INC (IY+7) | ... | ||||||||
| 40039 | RET | Return | ||||||||
| Prev: 39998 | Up: Map | Next: 40040 |