|  | Routines | 
| Prev: B761 | Up: Map | Next: B7A0 | 
| 
Used by the routine at 9D42.
 | ||||
| CopyFloatingHandToDartboard | B77A | LD DE,($9AC3) | DE=*FloatingHandCoordinates. | |
| B77E | LD B,$08 | B=08. | ||
| CopyFloatingHandToDartboard_0 | B780 | LD A,D | Jump to CopyFloatingHandToDartboard_1 if D is less than 00. | |
| B781 | CP $00 | |||
| B783 | JR C,CopyFloatingHandToDartboard_1 | |||
| B785 | CP $18 | Jump to CopyFloatingHandToDartboard_1 if D is greater than or equal to 18. | ||
| B787 | JR NC,CopyFloatingHandToDartboard_1 | |||
| B789 | PUSH BC | Stash BC, DE and DE on the stack. | ||
| B78A | PUSH DE | |||
| B78B | PUSH DE | |||
| B78C | LD A,E | A=E. | ||
| B78D | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||
| 
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
 | ||||
| B78E | CALL CalculateScreenBuffer | Call CalculateScreenBuffer. | ||
| B791 | POP DE | Restore DE from the stack. | ||
| B792 | PUSH HL | Stash HL on the stack. | ||
| B793 | CALL CalculateDartBoardAddress | Call CalculateDartBoardAddress. | ||
| B796 | POP DE | Restore DE from the stack. | ||
| B797 | CALL $B7A0 | Call B7A0. | ||
| B79A | POP DE | Restore DE and BC from the stack. | ||
| B79B | POP BC | |||
| CopyFloatingHandToDartboard_1 | B79C | INC D | Increment D by one. | |
| B79D | DJNZ CopyFloatingHandToDartboard_0 | Decrease counter by one and loop back to CopyFloatingHandToDartboard_0 until counter is zero. | ||
| B79F | RET | Return. | ||
| Prev: B761 | Up: Map | Next: B7A0 |