Routines |
Prev: B871 | Up: Map | Next: B8F5 |
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 |