Dynamite Dan | Routines |
Prev: E592 | Up: Map | Next: E62F |
Used by the routine at C800.
|
||||
E5E8 | LD HL,$C87E | Get the game flags. (C87E) | ||
E5EB | BIT 7,(HL) | Is the blimp been launched? | ||
E5ED | JR NZ,$E62F | Display the winning text if so. | ||
E5EF | LD A,($CFCA) | Get the current room. (CFCA) | ||
E5F2 | CP $2B | Is it the start room? (2B)? | ||
E5F4 | RET NZ | Return if not. | ||
E5F5 | LD A,$02 | |||
E5F7 | LD ($CFD3),A | |||
E5FA | LD A,($C872) | Is the Y co-ordinate 16? | ||
E5FD | CP $16 | |||
E5FF | RET NZ | Return if not. | ||
E600 | LD A,($C873) | Is the X co-ordinate between 08 and 14? | ||
E603 | SUB $0C | |||
E605 | CP $08 | |||
E607 | RET NC | Return if not. | ||
E608 | BIT 1,(HL) | Does Dan have the plans? | ||
E60A | RET Z | Return if not. | ||
Dan is in the blimp and has the plans. Launch it.
|
||||
E60B | LD (HL),$80 | Set bit 7 to denote Dan has the plans, clear all other flags. | ||
E60D | LD HL,$40B0 | Starting screen address. | ||
E610 | LD B,$08 | Loop 8 times. | ||
E612 | LD A,$FF | Load A with all bits set. | ||
E614 | PUSH HL | Remember the current screen address. | ||
E615 | LD (HL),A | Set the next three columns to this. | ||
E616 | INC L | |||
E617 | LD (HL),A | |||
E618 | INC L | |||
E619 | LD (HL),A | |||
E61A | POP HL | Restore the screen address. | ||
E61B | INC H | Move down a row. | ||
E61C | DJNZ $E614 | Loop until the number of rows has been scrolled. | ||
E61E | LD HL,$5855 | Starting attribute address. | ||
E621 | LD (HL),$06 | Set yellow on black. | ||
E623 | LD BC,$0904 | Fill for 9 columns, 4 rows. | ||
E626 | LD DE,$0C05 | Start at co-ordinate 0C 05. | ||
E629 | LD A,$05 | Fill with cyan on black. | ||
E62B | CALL $E8BA | |||
E62E | RET | Return for another run round the main loop. |
Prev: E592 | Up: Map | Next: E62F |