![]() |
Routines |
| Prev: 7EE6 | Up: Map | Next: 8093 |
|
The handler for everything that is drawn but never acts -- the three control-method pictures on the title screen among them. It checks whether IX is one of the first three monster records and, if it is, burns a couple of hundred cycles doing nothing; otherwise it returns at once.
The delay looks pointless but is not: those three slots are drawn every frame whatever occupies them, and an inert occupant that returned instantly would make the frame shorter than one holding a creature. Spending the time keeps the pace even.
|
||||
| INERT_SPRITE | 807A | PUSH IX | IX, as a number, against the base of the monster table. | |
| 807C | POP HL | |||
| 807D | LD DE,$EE60 | |||
| 8080 | AND A | Not in the table at all -- nothing to do. | ||
| 8081 | SBC HL,DE | |||
| 8083 | LD A,H | |||
| 8084 | AND A | |||
| 8085 | RET NZ | |||
| 8086 | LD A,L | Only the first three slots get the delay. | ||
| 8087 | CP $30 | |||
| 8089 | RET NC | |||
| 808A | LD HL,$00C0 | 192, counted down and thrown away. | ||
| INERT_SPRITE_0 | 808D | DEC HL | The delay itself. | |
| 808E | LD A,H | |||
| 808F | OR L | |||
| 8090 | JR NZ,INERT_SPRITE_0 | |||
| 8092 | RET | |||
| Prev: 7EE6 | Up: Map | Next: 8093 |