Prev: B6C2 Up: Map Next: B761
B742: Draw Opponent Image
Used by the routines at DrawCurrentOpponent, QuarterFinals, SemiFinals and TheFinal.
Input
BC Pointer to the opponent graphic
D Destination Y location
E Destination X location
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
DrawOpponentImage B742 CALL CalculateScreenBuffer Call CalculateScreenBuffer.
B745 LD D,B Copy the opponent pointer to display into DE.
B746 LD E,C
B747 LD B,$38 Set a counter in B for the height of the opponent image.
DrawOpponentImage_Loop B749 PUSH BC Stash the height counter and destination pointer on the stack.
B74A PUSH HL
B74B EX DE,HL Swap the source and destination registers.
B74C LDI Copy 06 bytes of data from the source address to the destination.
B74E LDI
B750 LDI
B752 LDI
B754 LDI
B756 LDI
B758 EX DE,HL Swap the source and destination registers back again.
B759 POP HL Restore the original screen position from the stack.
B75A CALL NextScreenBufferLine Call NextScreenBufferLine.
B75D POP BC Restore the height counter from the stack.
B75E DJNZ DrawOpponentImage_Loop Decrease the height counter by one and loop back to DrawOpponentImage_Loop until the whole image has been displayed.
B760 RET Return.
Prev: B6C2 Up: Map Next: B761