Prev: E592 Up: Map Next: E62F
E5E8: See if Dan is in the blimp with the plans, and if so, launch it
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