Routines |
Prev: A6E6 | Up: Map | Next: A73A |
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 |