Dynamite Dan | Routines |
Prev: CC5E | Up: Map | Next: CC89 |
Used by the routine at C800.
|
||||
CC5F | LD A,($CFCA) | Get the current room. (CFCA). | ||
CC62 | CP $08 | Is it greater than 8? | ||
CC64 | RET NC | Return if it is, the room's not by the river. | ||
CC65 | LD HL,$CC5E | Get the river's animation frame. (CC5E) | ||
CC68 | DEC (HL) | Decrement it, and return if it's not zero. | ||
CC69 | JR Z,$CC6C | |||
CC6B | RET | |||
The river needs updating.
|
||||
CC6C | LD (HL),$03 | Set the tick count back to 3. | ||
CC6E | LD DE,$5060 | Load DE at the correct place on screen. | ||
CC71 | LD C,$03 | 3 rows to update. | ||
CC73 | PUSH DE | Remember DE. | ||
CC74 | LD A,(DE) | Get the next byte of the river. | ||
CC75 | LD H,A | Store it in H. | ||
CC76 | INC E | Move to the next column. | ||
CC77 | LD B,$1F | 1F columns to update. | ||
CC79 | LD A,(DE) | Move this graphic data to the previous column. | ||
CC7A | DEC E | |||
CC7B | LD (DE),A | |||
CC7C | INC E | Move back to this column, then onto the next one. | ||
CC7D | INC E | |||
CC7E | DJNZ $CC79 | Loop while there are more columns to copy. | ||
CC80 | DEC E | Move back to the last column. | ||
CC81 | LD A,H | Put the old value of the first column (that was in H) here. | ||
CC82 | LD (DE),A | |||
CC83 | POP DE | Restore DE. | ||
CC84 | INC D | Move up a row. | ||
CC85 | DEC C | Loop until all row have been updated. | ||
CC86 | JR NZ,$CC73 | |||
CC88 | RET |
Prev: CC5E | Up: Map | Next: CC89 |