Prev: 42726 Up: Map Next: 42810
42772: Draw Floating Hand
Used by the routine at CopyFloatingHandToScreen.
DrawFloatingHand 42772 PUSH HL Stash HL on the stack.
42773 EX AF,AF' Exchange the AF register with the shadow AF register.
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
42774 CALL CalculateScreenBuffer Call CalculateScreenBuffer.
42777 EX AF,AF' Exchange the shadow AF register with the AF register.
42778 EX DE,HL Exchange the DE and HL registers.
42779 POP HL Restore HL from the stack.
42780 DEC E Decrease E by one.
42781 LD B,8 B=8.
DrawFloatingHand_0 42783 PUSH BC Stash BC and DE on the stack.
42784 PUSH DE
42785 LD C,A C=A.
42786 LD B,0 B=0.
42788 LDIR LDIR.
42790 CP 8 Jump to DrawFloatingHand_1 if A is equal to 8.
42792 JR Z,DrawFloatingHand_1
42794 PUSH AF Stash AF on the stack.
42795 LD C,A C=A.
42796 LD A,8 A=8.
42798 SUB C A-=C.
42799 LD B,0 B=0.
42801 LD C,A C=A.
42802 POP AF Restore AF from the stack.
42803 ADD HL,BC HL+=BC.
DrawFloatingHand_1 42804 POP DE Restore DE from the stack.
42805 INC D Increment D by one.
42806 POP BC Restore BC from the stack.
42807 DJNZ DrawFloatingHand_0 Decrease counter by one and loop back to DrawFloatingHand_0 until counter is zero.
42809 RET Return.
Prev: 42726 Up: Map Next: 42810