Routines |
Prev: EC39 | Up: Map | Next: ECAF |
Used by the routine at Game_Initialisation.
|
|||||
|
|||||
StaticAnimation | EC5A | LD B,$4B | B=4B. | ||
StaticAnimation_0 | EC5C | PUSH BC | Stash BC on the stack. | ||
EC5D | LD B,$04 | B=04. | |||
EC5F | LD C,$16 | C=16. | |||
StaticAnimation_1 | EC61 | LD A,R | A=the contents of the Memory Refresh Register. | ||
EC63 | AND %00001111 | Keep only bits 0-3. | |||
EC65 | LD D,A | D=A. | |||
EC66 | LD A,R | E=the contents of the Memory Refresh Register. | |||
EC68 | LD E,A | ||||
EC69 | PUSH BC | Stash BC on the stack. | |||
EC6A | CALL Calculate_ScreenBlockAddress | Call Calculate_ScreenBlockAddress. | |||
EC6D | EX DE,HL | Exchange the DE and HL registers. | |||
EC6E | LD B,$08 | B=08. | |||
StaticAnimation_2 | EC70 | PUSH BC | Stash BC and DE on the stack. | ||
EC71 | PUSH DE | ||||
EC72 | LD BC,$000A | BC=000A. | |||
EC75 | LDIR | LDIR. | |||
EC77 | POP DE | Restore DE from the stack. | |||
EC78 | INC D | Increment D by one. | |||
EC79 | POP BC | Restore BC from the stack. | |||
EC7A | DJNZ StaticAnimation_2 | Decrease counter by one and loop back to StaticAnimation_2 until counter is zero. | |||
EC7C | POP BC | Restore BC from the stack. | |||
EC7D | INC B | Increment B by one. | |||
EC7E | LD A,$0C | Jump to StaticAnimation_1 if B is not equal to 0C. | |||
EC80 | CP B | ||||
EC81 | JR NZ,StaticAnimation_1 | ||||
EC83 | LD H,$05 | H=05. | |||
EC85 | LD BC,$012C | BC=012C. | |||
StaticAnimation_3 | EC88 | LD A,(HL) | A=*HL. | ||
EC89 | AND %00011000 | Keep only bits 3-4. | |||
EC8B | OR %00000101 | Set bits 0, 2. | |||
EC8D | OUT ($FE),A | Set border to the colour held by A. | |||
EC8F | INC HL | Increment HL by one. | |||
EC90 | DEC BC | Decrease BC by one. | |||
EC91 | LD A,B | Jump to StaticAnimation_3 if BC is not zero. | |||
EC92 | OR C | ||||
EC93 | JR NZ,StaticAnimation_3 | ||||
EC95 | POP BC | Restore BC from the stack. | |||
EC96 | DJNZ StaticAnimation_0 | Decrease counter by one and loop back to StaticAnimation_0 until counter is zero. | |||
Now clear the display.
|
|||||
EC98 | LD HL,$5896 | HL=5896 (attribute buffer location). | |||
EC9B | LD DE,$0020 | DE=0020. | |||
EC9E | LD B,$08 | B=08. | |||
StaticAnimation_4 | ECA0 | PUSH HL | Stash HL and BC on the stack. | ||
ECA1 | PUSH BC | ||||
ECA2 | LD B,$0A | B=0A. | |||
StaticAnimation_5 | ECA4 | LD (HL),$00 | Write 00 to *HL. | ||
ECA6 | INC HL | Increment HL by one. | |||
ECA7 | DJNZ StaticAnimation_5 | Decrease counter by one and loop back to StaticAnimation_5 until counter is zero. | |||
ECA9 | POP BC | Restore BC and HL from the stack. | |||
ECAA | POP HL | ||||
ECAB | ADD HL,DE | HL+=DE. | |||
ECAC | DJNZ StaticAnimation_4 | Decrease counter by one and loop back to StaticAnimation_4 until counter is zero. | |||
ECAE | RET | Return. |
Prev: EC39 | Up: Map | Next: ECAF |