![]() |
Routines |
Prev: 62794 | Up: Map | Next: 62903 |
|
||||
62815 | LD L,29 | Set bit 7 of byte 29 of MR WACKER's buffer, making him run | ||
62817 | SET 7,(HL) | |||
62819 | LD A,255 | Set the MSB of the lesson clock at 32739 to 255 (this lesson will not end until ERIC's expelled) | ||
62821 | LD (32740),A | |||
62824 | CALL 25944 | Move MR WACKER one step closer to ERIC (if he's not yet close enough) | ||
62827 | LD HL,51200 | Point HL at byte 0 of MR WACKER's buffer | ||
62830 | BIT 0,(HL) | Is MR WACKER now midstride? | ||
62832 | RET NZ | Return if so | ||
62833 | INC L | L=1 | ||
62834 | LD DE,(53761) | E=ERIC's x-coordinate, D=ERIC's y-coordinate | ||
62838 | LD A,(HL) | A=MR WACKER's x-coordinate | ||
62839 | SUB E | Is MR WACKER within 3 x-coordinates of ERIC? | ||
62840 | ADD A,3 | |||
62842 | CP 7 | |||
62844 | RET NC | Return if not | ||
62845 | INC L | L=2 | ||
62846 | LD A,(HL) | A=MR WACKER's y-coordinate | ||
62847 | SUB D | Is MR WACKER within 3 y-coordinates of ERIC? | ||
62848 | ADD A,3 | |||
62850 | CP 7 | |||
62852 | RET NC | Return if not | ||
MR WACKER has found ERIC.
|
||||
62853 | LD HL,32763 | 32763 holds ERIC's status flags | ||
62856 | LD (HL),64 | Set bit 6: MR WACKER is expelling ERIC (who is now paralysed) | ||
62858 | LD L,237 | HL=32749 (ERIC's other status flags) | ||
62860 | BIT 5,(HL) | Bit 5 is set if ERIC jumped out of the top-floor window | ||
62862 | LD H,200 | 200=MR WACKER | ||
62864 | LD E,99 | Message 99: YOU HAVE 10000 LINES... | ||
62866 | JR Z,62869 | Jump if ERIC didn't jump out of the top-floor window (i.e. he has 10000 lines) | ||
62868 | INC E | E=100: YOU ARE NOT A BIRD... | ||
62869 | LD BC,27144 | Redirect control to the routine at 27144 (make character speak) and return to 62875 (below) when done | ||
62872 | CALL 25503 | |||
62875 | LD DE,(32741) | Collect the score from 32741 into DE | ||
62879 | LD HL,(32745) | Collect the current hi-score from 32745 into HL | ||
62882 | AND A | Clear the carry flag ready for subtraction | ||
62883 | SBC HL,DE | Do we have a new hi-score? | ||
62885 | JR NC,62891 | Jump if not | ||
62887 | LD (32745),DE | Insert the new hi-score | ||
62891 | LD HL,0 | Reset the score (at 32741) and the lines total (at 32743) to 0 | ||
62894 | LD (32741),HL | |||
62897 | LD (32743),HL | |||
62900 | JP 63189 | Enter demo mode |
Prev: 62794 | Up: Map | Next: 62903 |