![]() |
Routines |
| Prev: 8963 | Up: Map | Next: 89D4 |
|
Used by the routine at 887D.
|
||||||||
| 8964 | CP $03 | Is the nasty invisible? | ||||||
| 8966 | JP Z,$8857 | Jump if so. | ||||||
| 8969 | LD A,(IX+$10) | Decrement the current distance. | ||||||
| 896C | DEC A | |||||||
| 896D | JP NZ,$8762 | Jump if it is not zero. | ||||||
|
The nasty needs to be redrawn.
|
||||||||
| 8970 | LD A,(IX+$0E) | Get the width or height. | ||||||
| 8973 | LD (IX+$10),A | Set this to the current distance travelled. | ||||||
| 8976 | LD (IX+$00),$03 | Make the nasty invisible in its current position. | ||||||
| 897A | LD A,(IX+$0A) | Get the index. | ||||||
| 897D | ADD A,A | Convert this to an offset to the nasty table. | ||||||
| 897E | ADD A,A | |||||||
| 897F | LD B,A | |||||||
| 8980 | ADD A,A | |||||||
| 8981 | ADD A,A | |||||||
| 8982 | ADD A,B | |||||||
| 8983 | LD E,A | |||||||
| 8984 | LD D,$00 | |||||||
| 8986 | LD HL,$C596 | |||||||
| 8989 | ADD HL,DE | |||||||
| 898A | LD A,$02 | Set that this is a unidirectional nasty (should already be set). | ||||||
| 898C | LD (HL),A | |||||||
| 898D | LD B,(IX+$0E) | Multiply the distance covered by the speed to denote the offset to move back to the initial position and store it in B. | ||||||
| 8990 | DEC B | |||||||
| 8991 | LD C,(IX+$11) | |||||||
| 8994 | XOR A | |||||||
| 8995 | ADD A,C | |||||||
| 8996 | DJNZ $8995 | |||||||
| 8998 | LD B,A | |||||||
| 8999 | LD A,(IX+$0B) | Get the current direction. | ||||||
| 899C | OR A | Is the nasty moving up? | ||||||
| 899D | JR NZ,$89A9 | Jump forward if not. | ||||||
| 899F | LD A,(IX+$0D) | Move the Y co-ordinate down by the appropriate distance and move forward. | ||||||
| 89A2 | SUB B | |||||||
| 89A3 | LD (IX+$0D),A | |||||||
| 89A6 | JP $8857 | |||||||
| 89A9 | CP $01 | Is the nasty moving up? | ||||||
| 89AB | JR NZ,$89B7 | Jump forward if not. | ||||||
| 89AD | LD A,(IX+$0D) | Move the Y co-ordinate up by the appropriate distance and move forward. | ||||||
| 89B0 | ADD A,B | |||||||
| 89B1 | LD (IX+$0D),A | |||||||
| 89B4 | JP $8857 | |||||||
| 89B7 | CP $02 | Is the nasty moving left? | ||||||
| 89B9 | JR NZ,$89C5 | Jump forward if not. | ||||||
| 89BB | LD A,(IX+$0C) | Move the X co-ordinate right by the appropriate distance and move forward. | ||||||
| 89BE | ADD A,B | |||||||
| 89BF | LD (IX+$0C),A | |||||||
| 89C2 | JP $8857 | |||||||
| 89C5 | CP $03 | Is the nasty moving right? | ||||||
| 89C7 | JP NZ,$8857 | Jump forward if not. | ||||||
| 89CA | LD A,(IX+$0C) | Move the X co-ordinate left by the appropriate distance and move forward. | ||||||
| 89CD | SUB B | |||||||
| 89CE | LD (IX+$0C),A | |||||||
| 89D1 | JP $8857 | |||||||
| Prev: 8963 | Up: Map | Next: 89D4 |