Prev: 7EE6 Up: Map Next: 8093
807A: A sprite that does nothing at all
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