![]() |
Routines |
| Prev: BFAB | Up: Map | Next: BFD8 |
|
Used by the routines at LEAPER, REMOTE_ROBOT, SLOW_CHASER, CLOCKWORK_MOUSE, CEILING_DROP, LOOSE_VALVE, WANDERER, PACER, SPARK_CHASER, SHUTTLE_U, DROPPING_BLOCK, PUSHABLE, LIFT and EXTRA_LIFE.
Takes one off the step in Z -- the pull of gravity -- then lets ADJ_FOR_OUT_OF_BOUNDS cut the steps down to what fits, and adds what is left to the position. The player's move (MOVE_PLAYER) comes in at ADD_DUVZ, having cut the move itself. As Pentagram's DEC_DZ_AND_UPDATE_UVZ; Knight Lore's add_dXYZ.
|
||||||||
| DEC_DZ_AND_UPDATE_UVZ | BFB6 | DEC (IX+$0B) | gravity | |||||
| BFB9 | CALL ADJ_FOR_OUT_OF_BOUNDS | cut the move short where it has to be | ||||||
|
This entry point is used by the routine at MOVE_PLAYER.
|
||||||||
| ADD_DUVZ | BFBC | LD A,(IX+$01) | U, V and Z (+$01 to +$03) plus the step in each (+$09 to +$0B) | |||||
| BFBF | ADD A,(IX+$09) | |||||||
| BFC2 | LD (IX+$01),A | |||||||
| BFC5 | LD A,(IX+$02) | |||||||
| BFC8 | ADD A,(IX+$0A) | |||||||
| BFCB | LD (IX+$02),A | |||||||
| BFCE | LD A,(IX+$03) | |||||||
| BFD1 | ADD A,(IX+$0B) | |||||||
| BFD4 | LD (IX+$03),A | |||||||
| BFD7 | RET | |||||||
| Prev: BFAB | Up: Map | Next: BFD8 |