![]() |
Routines |
| Prev: B83D | Up: Map | Next: B8D6 |
|
Used by the routine at Animation_OpponentThrowing.
|
||||
|
Self-modifying code:
|
||||
| Animation_Dog | B871 | LD A,$ED | Writes an extra LDI to B8EA. |
|
| B873 | LD ($B8EA),A | |||
| B876 | LD A,$A0 | |||
| B878 | LD ($B8EB),A | |||
| B87B | LD B,$07 | B=07. | ||
| B87D | LD HL,$48B0 | HL=48B0 (screen buffer location). | ||
| Animation_Dog_0 | B880 | PUSH BC | Stash BC and HL on the stack. | |
| B881 | PUSH HL | |||
| B882 | LD DE,$C8BC | DE=Graphics_Dog_02. | ||
| B885 | CALL Print_Dog_Frame_0 | Call Print_Dog_Frame_0. | ||
| B888 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| B889 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| B88A | POP HL | Restore HL from the stack. | ||
| B88B | PUSH HL | Stash HL on the stack. | ||
| B88C | LD DE,$C844 | DE=Graphics_Dog_01. | ||
| B88F | CALL Print_Dog_Frame_0 | Call Print_Dog_Frame_0. | ||
| B892 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| B893 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| B894 | POP HL | Restore HL from the stack. | ||
| B895 | DEC L | Decrease L by one. | ||
| B896 | POP BC | Restore BC from the stack. | ||
| B897 | DJNZ Animation_Dog_0 | Decrease counter by one and loop back to Animation_Dog_0 until counter is zero. | ||
| B899 | INC L | Increment L by four. | ||
| B89A | INC L | |||
| B89B | INC L | |||
| B89C | INC L | |||
| B89D | LD DE,$CA64 | DE=Graphics_Bar. | ||
| B8A0 | LD B,$18 | B=18. | ||
| Animation_Dog_1 | B8A2 | LD A,(DE) | A=*DE. | |
| B8A3 | LD (HL),A | Write A to *HL. | ||
| B8A4 | INC DE | Increment DE by one. | ||
| B8A5 | CALL NextScreenBufferLine | Call NextScreenBufferLine. | ||
| B8A8 | DJNZ Animation_Dog_1 | Decrease counter by one and loop back to Animation_Dog_1 until counter is zero. | ||
|
Self-modifying code.
|
||||
| B8AA | XOR A | Writes NOP NOP to remove the extra LDI command. |
||
| B8AB | LD ($B8EA),A | |||
| B8AE | LD ($B8EB),A | |||
| B8B1 | LD DE,$C934 | Call Print_Dog_Frame with DE=Graphics_Dog_03. | ||
| B8B4 | CALL Print_Dog_Frame | |||
| B8B7 | LD DE,$C994 | Call Print_Dog_Frame with DE=Graphics_Dog_04. | ||
| B8BA | CALL Print_Dog_Frame | |||
| B8BD | LD DE,$C9F4 | Call Print_Dog_Frame with DE=Graphics_Dog_05. | ||
| B8C0 | CALL Print_Dog_Frame | |||
| B8C3 | LD DE,$C9F4 | Call Print_Dog_Frame with DE=Graphics_Dog_05. | ||
| B8C6 | CALL Print_Dog_Frame | |||
| B8C9 | LD DE,$C994 | Call Print_Dog_Frame with DE=Graphics_Dog_04. | ||
| B8CC | CALL Print_Dog_Frame | |||
| B8CF | LD DE,$C934 | Call Print_Dog_Frame with DE=Graphics_Dog_03. | ||
| B8D2 | CALL Print_Dog_Frame | |||
| B8D5 | RET | Return. | ||
| Prev: B83D | Up: Map | Next: B8D6 |