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 |