Prev: 46945 Up: Map Next: 47008
46970: Copy Floating Hand To Dartboard
Used by the routine at 40258.
CopyFloatingHandToDartboard 46970 LD DE,(39619) DE=*FloatingHandCoordinates.
46974 LD B,8 B=8.
CopyFloatingHandToDartboard_0 46976 LD A,D Jump to CopyFloatingHandToDartboard_1 if D is less than 0.
46977 CP 0
46979 JR C,CopyFloatingHandToDartboard_1
46981 CP 24 Jump to CopyFloatingHandToDartboard_1 if D is greater than or equal to 24.
46983 JR NC,CopyFloatingHandToDartboard_1
46985 PUSH BC Stash BC, DE and DE on the stack.
46986 PUSH DE
46987 PUSH DE
46988 LD A,E A=E.
46989 EX AF,AF' Exchange the AF register with the shadow AF register.
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
46990 CALL CalculateScreenBuffer Call CalculateScreenBuffer.
46993 POP DE Restore DE from the stack.
46994 PUSH HL Stash HL on the stack.
46995 CALL CalculateDartBoardAddress Call CalculateDartBoardAddress.
46998 POP DE Restore DE from the stack.
46999 CALL 47008 Call 47008.
47002 POP DE Restore DE and BC from the stack.
47003 POP BC
CopyFloatingHandToDartboard_1 47004 INC D Increment D by one.
47005 DJNZ CopyFloatingHandToDartboard_0 Decrease counter by one and loop back to CopyFloatingHandToDartboard_0 until counter is zero.
47007 RET Return.
Prev: 46945 Up: Map Next: 47008