Prev: A6E6 Up: Map Next: A73A
A714: Draw Floating Hand
Used by the routine at CopyFloatingHandToScreen.
DrawFloatingHand A714 PUSH HL Stash HL on the stack.
A715 EX AF,AF' Exchange the AF register with the shadow AF register.
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
A716 CALL CalculateScreenBuffer Call CalculateScreenBuffer.
A719 EX AF,AF' Exchange the shadow AF register with the AF register.
A71A EX DE,HL Exchange the DE and HL registers.
A71B POP HL Restore HL from the stack.
A71C DEC E Decrease E by one.
A71D LD B,$08 B=08.
DrawFloatingHand_0 A71F PUSH BC Stash BC and DE on the stack.
A720 PUSH DE
A721 LD C,A C=A.
A722 LD B,$00 B=00.
A724 LDIR LDIR.
A726 CP $08 Jump to DrawFloatingHand_1 if A is equal to 08.
A728 JR Z,DrawFloatingHand_1
A72A PUSH AF Stash AF on the stack.
A72B LD C,A C=A.
A72C LD A,$08 A=08.
A72E SUB C A-=C.
A72F LD B,$00 B=00.
A731 LD C,A C=A.
A732 POP AF Restore AF from the stack.
A733 ADD HL,BC HL+=BC.
DrawFloatingHand_1 A734 POP DE Restore DE from the stack.
A735 INC D Increment D by one.
A736 POP BC Restore BC from the stack.
A737 DJNZ DrawFloatingHand_0 Decrease counter by one and loop back to DrawFloatingHand_0 until counter is zero.
A739 RET Return.
Prev: A6E6 Up: Map Next: A73A