Prev: 9AAD Up: Map Next: 9ACB
9ABA: Point at the bottom row of a sprite
Multiplies the width by the height less one and adds it to the data pointer, so drawing can start from the far end. Called by every drawing routine whose mode number has bit 2 set -- which is how the eight modes divide: the low two bits choose the horizontal treatment and bit 2 turns the sprite over.
Checking all sixteen routines in the two tables bears that out exactly. Modes 0 to 3 leave the pointer where it is; modes 4 to 7 all begin by calling this.
START_AT_LAST_ROW 9ABA PUSH HL
9ABB PUSH DE
9ABC LD A,B
9ABD LD E,C
9ABE DEC E
9ABF LD D,$00
9AC1 PUSH BC
9AC2 CALL MULTIPLY
9AC5 POP BC
9AC6 POP DE
9AC7 ADD HL,DE
9AC8 EX DE,HL
9AC9 POP HL
9ACA RET
Prev: 9AAD Up: Map Next: 9ACB