Prev: B871 Up: Map Next: B8F5
B8D6: Print Dog Frame
Used by the routine at Animation_Dog.
Print_Dog_Frame B8D6 LD HL,$48A9 Set the target screen buffer location in HL.
This entry point is used by the routines at Messaging_DartNumber and Animation_Dog.
Print_Dog_Frame_0 B8D9 HALT Halt operation (suspend CPU until the next interrupt) four times.
B8DA HALT
B8DB HALT
B8DC HALT
B8DD LD B,$18 Set a counter in B of 18 for the height of the graphic.
Print_Dog_Frame_Loop B8DF PUSH BC Stash the height counter and screen buffer location on the stack.
B8E0 PUSH HL
B8E1 EX DE,HL Exchange the DE and HL registers.
B8E2 LDI Copy 04 bytes of data from the graphic to the screen buffer.
B8E4 LDI
B8E6 LDI
B8E8 LDI
Self-modifying code. See; Messaging_DartNumber and Animation_Dog.
B8EA NOP No operation.
B8EB NOP No operation.
B8EC EX DE,HL Exchange the DE and HL registers.
B8ED POP HL Restore the screen buffer location from the stack.
B8EE CALL NextScreenBufferLine Call NextScreenBufferLine.
B8F1 POP BC Restore the height counter from the stack.
B8F2 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.
B8F4 RET Return.
Prev: B871 Up: Map Next: B8F5