Prev: 47165 Up: Map Next: 47318
47217: Animation: Dog
Used by the routine at Animation_OpponentThrowing.
Self-modifying code:
Animation_Dog 47217 LD A,237 Writes an extra LDI to 47338.
47219 LD (47338),A
47222 LD A,160
47224 LD (47339),A
47227 LD B,7 B=7.
47229 LD HL,18608 HL=18608 (screen buffer location).
Animation_Dog_0 47232 PUSH BC Stash BC and HL on the stack.
47233 PUSH HL
47234 LD DE,51388 DE=Graphics_Dog_02.
47237 CALL Print_Dog_Frame_0 Call Print_Dog_Frame_0.
47240 HALT Halt operation (suspend CPU until the next interrupt).
47241 HALT Halt operation (suspend CPU until the next interrupt).
47242 POP HL Restore HL from the stack.
47243 PUSH HL Stash HL on the stack.
47244 LD DE,51268 DE=Graphics_Dog_01.
47247 CALL Print_Dog_Frame_0 Call Print_Dog_Frame_0.
47250 HALT Halt operation (suspend CPU until the next interrupt).
47251 HALT Halt operation (suspend CPU until the next interrupt).
47252 POP HL Restore HL from the stack.
47253 DEC L Decrease L by one.
47254 POP BC Restore BC from the stack.
47255 DJNZ Animation_Dog_0 Decrease counter by one and loop back to Animation_Dog_0 until counter is zero.
47257 INC L Increment L by four.
47258 INC L
47259 INC L
47260 INC L
47261 LD DE,51812 DE=Graphics_Bar.
47264 LD B,24 B=24.
Animation_Dog_1 47266 LD A,(DE) A=*DE.
47267 LD (HL),A Write A to *HL.
47268 INC DE Increment DE by one.
47269 CALL NextScreenBufferLine Call NextScreenBufferLine.
47272 DJNZ Animation_Dog_1 Decrease counter by one and loop back to Animation_Dog_1 until counter is zero.
Self-modifying code.
47274 XOR A Writes NOP NOP to remove the extra LDI command.
47275 LD (47338),A
47278 LD (47339),A
47281 LD DE,51508 Call Print_Dog_Frame with DE=Graphics_Dog_03.
47284 CALL Print_Dog_Frame
47287 LD DE,51604 Call Print_Dog_Frame with DE=Graphics_Dog_04.
47290 CALL Print_Dog_Frame
47293 LD DE,51700 Call Print_Dog_Frame with DE=Graphics_Dog_05.
47296 CALL Print_Dog_Frame
47299 LD DE,51700 Call Print_Dog_Frame with DE=Graphics_Dog_05.
47302 CALL Print_Dog_Frame
47305 LD DE,51604 Call Print_Dog_Frame with DE=Graphics_Dog_04.
47308 CALL Print_Dog_Frame
47311 LD DE,51508 Call Print_Dog_Frame with DE=Graphics_Dog_03.
47314 CALL Print_Dog_Frame
47317 RET Return.
Prev: 47165 Up: Map Next: 47318