![]() |
Routines |
| Prev: 23887 | Up: Map | Next: 24027 |
| 23907 | LD HL,32755 | 32755 holds ERIC's main action timer | ||
| 23910 | DEC (HL) | Is it time for ERIC to land? | ||
| 23911 | RET NZ | Return if not | ||
| 23912 | LD L,251 | Reset all of ERIC's status flags at 32763 (ERIC is no longer doing anything special) | ||
| 23914 | LD (HL),0 | |||
| 23916 | LD H,210 | 210=ERIC | ||
| 23918 | CALL 63878 | Set the zero flag if ERIC is in the same position as a plant pot | ||
| 23921 | LD A,2 | Bit 1 set at 32763: make the routine at 63405 inspect ERIC's other status flags at 32749; bit 1 set at 32749: ERIC is standing on a plant pot | ||
| 23923 | JR NZ,23940 | Jump if ERIC's not in the same position as a plant pot | ||
|
This entry point is used by the routine at 24263 with A=0.
|
||||
| 23925 | LD DE,32763 | Set or reset the appropriate status flags at 32763 | ||
| 23928 | LD (DE),A | |||
| 23929 | LD E,237 | Set or reset the appropriate status flags at 32749 | ||
| 23931 | LD (DE),A | |||
| 23932 | CALL 25012 | Update the SRB for ERIC's current animatory state and location | ||
| 23935 | AND 128 | Restore ERIC's animatory state to 0 (facing left) or 128 (facing right) as appropriate | ||
|
This entry point is used by the routine at 23887.
|
||||
| 23937 | JP 62231 | Update ERIC's animatory state and update the SRB | ||
|
ERIC has jumped, but not onto a plant pot.
|
||||
| 23940 | LD L,A | L=2 | ||
| 23941 | LD A,(HL) | A=ERIC's y-coordinate | ||
| 23942 | SUB L | |||
| 23943 | JR Z,23953 | Jump if ERIC jumped while on the top floor | ||
| 23945 | LD H,210 | 210=ERIC | ||
| 23947 | CALL 25012 | Update the SRB for ERIC's current animatory state and location | ||
| 23950 | INC D | Increment ERIC's y-coordinate, bringing him back to the floor | ||
| 23951 | JR 23935 | Restore ERIC's animatory state and update the SRB | ||
|
ERIC jumped while on the top floor. Up to the drinks cabinet?
|
||||
| 23953 | LD L,A | L=0 | ||
| 23954 | LD A,(HL) | A=ERIC's animatory state | ||
| 23955 | INC L | Now A=x-coordinate of ERIC's raised arm | ||
| 23956 | RLCA | |||
| 23957 | SBC A,A | |||
| 23958 | ADD A,A | |||
| 23959 | CPL | |||
| 23960 | INC A | |||
| 23961 | ADD A,(HL) | |||
| 23962 | LD HL,32756 | 32756 holds the door/window status flags | ||
| 23965 | CP 190 | Did ERIC jump up to the drinks cabinet? | ||
| 23967 | JR C,23996 | Jump if not | ||
| 23969 | BIT 5,(HL) | Is the drinks cabinet door open? | ||
| 23971 | JR Z,23945 | Just bring ERIC back to the floor if not | ||
|
ERIC has jumped up to the drinks cabinet, and it's open. But has he got the water pistol?
|
||||
| 23973 | LD L,235 | HL=32747 (which holds the inventory flags) | ||
| 23975 | BIT 4,(HL) | Has ERIC already got a sherry-filled water pistol? | ||
| 23977 | JR NZ,23945 | Jump if so | ||
| 23979 | BIT 3,(HL) | Has ERIC got a water-filled water pistol? | ||
| 23981 | JR Z,23945 | Jump if not | ||
| 23983 | SET 4,(HL) | Signal: ERIC now has a sherry-filled water pistol | ||
| 23985 | CALL 31746 | Print the inventory | ||
|
Acknowledge the sherry-filled water pistol with a sound effect.
|
||||
| 23988 | LD HL,534 | Make a sound effect | ||
| 23991 | CALL 62150 | |||
| 23994 | JR 23945 | Bring ERIC back to the floor | ||
|
ERIC has jumped, but not onto a plant pot or up to the drinks cabinet. Up to the safe?
|
||||
| 23996 | CP 81 | Did ERIC jump up to the safe in WACKER's study? | ||
| 23998 | JR NZ,23945 | Jump if not | ||
| 24000 | LD L,235 | HL=32747 (which holds the inventory flags) | ||
| 24002 | BIT 0,(HL) | Has ERIC got the safe key? | ||
| 24004 | JR Z,23945 | Just bring ERIC back to the floor if not | ||
|
ERIC has jumped up to the safe, and he has the safe key. Celebration time.
|
||||
| 24006 | LD L,222 | Set 32734 to 1 so the game will be restarted instead of going into demo mode | ||
| 24008 | INC (HL) | |||
| 24009 | LD A,200 | Add 2000 to the score and print it | ||
| 24011 | CALL 29621 | |||
| 24014 | XOR A | A=0: 'ONTO THE NEXT YEAR' | ||
| 24015 | CALL 32478 | Print this in the lesson box and ring the bell | ||
| 24018 | LD HL,56363 | Play the up-a-year tune | ||
| 24021 | CALL 24485 | |||
| 24024 | JP 63189 | Restart the game | ||
| Prev: 23887 | Up: Map | Next: 24027 |