Prev: 47349 Up: Map Next: 47407
47376: Print Throwing Dart Frame
Used by the routine at Animation_ThrowingDart.
Print_ThrowingDart_Frame 47376 HALT Halt operation (suspend CPU until the next interrupt) eight times.
47377 HALT
47378 HALT
47379 HALT
47380 HALT
47381 HALT
47382 HALT
47383 HALT
47384 LD B,24 Set a counter in B of 24 for the height of the graphic.
47386 LD HL,16627 Set the target screen buffer location in HL.
Print_ThrowingDart_Frame_Loop 47389 PUSH BC Stash the height counter and screen buffer location on the stack.
47390 PUSH HL
47391 EX DE,HL Exchange the DE and HL registers.
47392 LDI Copy 3 bytes of data from the graphic to the screen buffer.
47394 LDI
47396 LDI
47398 EX DE,HL Exchange the DE and HL registers.
47399 POP HL Restore the screen buffer location from the stack.
47400 CALL NextScreenBufferLine Call NextScreenBufferLine.
47403 POP BC Restore the height counter from the stack.
47404 DJNZ Print_ThrowingDart_Frame_Loop Decrease the height counter by one and loop back to Print_ThrowingDart_Frame_Loop until the frame has been displayed in full.
47406 RET Return.
Prev: 47349 Up: Map Next: 47407