![]() |
Routines |
| Prev: 27797 | Up: Map | Next: 27898 |
|
||||||||||||||
| 27842 | PUSH BC | Save BC. | ||||||||||||
| 27843 | PUSH DE | Save DE. | ||||||||||||
| 27844 | PUSH HL | Save the sprite location. | ||||||||||||
| 27845 | LD BC,16384 | Convert the sprite location into a display file address. | ||||||||||||
| 27848 | ADD HL,BC | |||||||||||||
| 27849 | CALL 27927 | Set HL to the display file address of the tile in front of the sprite. | ||||||||||||
| 27852 | CALL 27663 | Set HL' to the corresponding attribute file address. | ||||||||||||
| 27855 | EXX | Exchange registers. | ||||||||||||
| 27856 | LD E,0 | E' will hold the indicator of any interesting tiles at this location; initialise it now. | ||||||||||||
| 27858 | CALL 27898 | Check the top-left tile. | ||||||||||||
| 27861 | INC HL | Point HL' at the top-right tile. | ||||||||||||
| 27862 | CALL 27898 | Check the top-right tile. | ||||||||||||
| 27865 | LD BC,31 | Point HL' at the bottom-left tile. | ||||||||||||
| 27868 | ADD HL,BC | |||||||||||||
| 27869 | CALL 27898 | Check the bottom-left tile. | ||||||||||||
| 27872 | INC HL | Point HL' at the bottom-right tile. | ||||||||||||
| 27873 | CALL 27898 | Check the bottom-right tile. | ||||||||||||
| 27876 | LD A,E | Copy the tile indicator to A. | ||||||||||||
| 27877 | EXX | Exchange registers. | ||||||||||||
| 27878 | POP HL | Restore the sprite location to HL. | ||||||||||||
| 27879 | POP DE | Restore DE. | ||||||||||||
| 27880 | POP BC | Restore BC. | ||||||||||||
| 27881 | CP 255 | Is the sprite facing a wall tile? | ||||||||||||
| 27883 | JR NZ,27888 | Jump if not. | ||||||||||||
| 27885 | LD A,3 | Signal: sprite is facing a wall tile. | ||||||||||||
| 27887 | RET | |||||||||||||
| 27888 | AND 10 | Return with A=1 if the sprite is facing a tunnel entrance. | ||||||||||||
| 27890 | RRC A | |||||||||||||
| 27892 | CP 1 | |||||||||||||
| 27894 | RET Z | |||||||||||||
| 27895 | RRC A | Now A=2 if the sprite is facing the maze exit/entrance, or 0 otherwise. | ||||||||||||
| 27897 | RET | |||||||||||||
| Prev: 27797 | Up: Map | Next: 27898 |