Prev: 47217 Up: Map Next: 47349
47318: Print Dog Frame
Used by the routine at Animation_Dog.
Print_Dog_Frame 47318 LD HL,18601 Set the target screen buffer location in HL.
This entry point is used by the routines at Animation_OpponentThrowing and Animation_Dog.
Print_Dog_Frame_0 47321 HALT Halt operation (suspend CPU until the next interrupt) four times.
47322 HALT
47323 HALT
47324 HALT
47325 LD B,24 Set a counter in B of 24 for the height of the graphic.
Print_Dog_Frame_Loop 47327 PUSH BC Stash the height counter and screen buffer location on the stack.
47328 PUSH HL
47329 EX DE,HL Exchange the DE and HL registers.
47330 LDI Copy 4 bytes of data from the graphic to the screen buffer.
47332 LDI
47334 LDI
47336 LDI
Self-modifying code. See; Animation_OpponentThrowing and Animation_Dog.
47338 NOP No operation.
47339 NOP No operation.
47340 EX DE,HL Exchange the DE and HL registers.
47341 POP HL Restore the screen buffer location from the stack.
47342 CALL NextScreenBufferLine Call NextScreenBufferLine.
47345 POP BC Restore the height counter from the stack.
47346 DJNZ Print_Dog_Frame_Loop Decrease the height counter by one and loop back to Print_Dog_Frame_Loop until the frame has been displayed in full.
47348 RET Return.
Prev: 47217 Up: Map Next: 47349