| Dynamite Dan | Routines |
| Prev: E909 | Up: Map | Next: E93F |
|
Used by the routine at E644.
|
||||
| E916 | LD DE,$4000 | Point DE to the start of screen. | ||
| E919 | LD B,$08 | 8 8x8 blocks to update. | ||
| E91B | PUSH BC | Remember BC and DE. | ||
| E91C | PUSH DE | |||
| E91D | LD B,$07 | 7 rows to update. | ||
| E91F | LD L,E | Copy DE to HL. | ||
| E920 | LD H,D | |||
| E921 | INC H | Move down a row. | ||
| E922 | PUSH HL | Remember HL and BC. | ||
| E923 | PUSH BC | |||
| E924 | LD BC,$0020 | Copy a line from HL to a row above in DE. | ||
| E927 | LDIR | |||
| E929 | EX DE,HL | Swap DE and HL. | ||
| E92A | POP BC | Restore BC. | ||
| E92B | POP DE | Restore HL into DE. | ||
| E92C | DJNZ $E91F | Loop back while there are more rows to update. | ||
| E92E | POP HL | Restore HL and BC. | ||
| E92F | POP BC | |||
| E930 | DEC B | Reduce the number of blocks to update by 1, and return if it is zero. | ||
| E931 | RET Z | |||
| E932 | PUSH BC | Remember BC. | ||
| E933 | LD BC,$0020 | Move down a 8x8 block. | ||
| E936 | ADD HL,BC | |||
| E937 | PUSH HL | Remember HL. | ||
| E938 | LDIR | Do the copy. | ||
| E93A | POP DE | Restore HL as DE. | ||
| E93B | POP BC | Restore BC. | ||
| E93C | JR $E91B | Loop back to update more. | ||
| E93E | RET | This is never executed, the function executes at E931. | ||
| Prev: E909 | Up: Map | Next: E93F |