![]() |
Routines |
| A | ERIC's animatory state |
| D | ERIC's y-coordinate |
| E | ERIC's x-coordinate |
| 29574 | AND 128 | A=0 if ERIC's facing left, 128 if facing right |
| 29576 | ADD A,25 | A=25/153: bike standing upright |
| 29578 | LD B,A | Copy the bike's animatory state to B |
| 29579 | LD HL,54018 | H=211 (bike), L=2 |
| 29582 | LD A,D | A=ERIC's y-coordinate |
| 29583 | CP (HL) | Is ERIC on the same floor as the bike? |
| 29584 | RET NZ | Return if not |
| 29585 | DEC L | L=1 |
| 29586 | LD A,E | A=ERIC's x-coordinate |
| 29587 | CP (HL) | Is ERIC at the same x-coordinate as the bike? |
| 29588 | RET NZ | Return if not |
| 29589 | DEC L | L=0 |
| 29590 | LD (HL),B | Fill in the animatory state of the bike |
| 29591 | CALL 29012 | Make a sound effect |
| 29594 | LD HL,32763 | 32763 holds ERIC's status flags |
| 29597 | LD (HL),2 | Set bit 1: examine byte at 32749 |
| 29599 | LD A,18 | |
| 29601 | LD L,238 | HL=32750 (keypress table offset of the last key pressed while riding the bike) |
| 29603 | LD (HL),A | Initialise this to 18 (which doesn't correspond to any key) |
| 29604 | INC L | Initialise the bike's speed counter (at 32751) to 18 (matching its initial momentum, set below, so that it doesn't move forward before ERIC has started pedalling) |
| 29605 | LD (HL),A | |
| 29606 | INC L | Initialise the bike's momentum (at 32752) to 18 (giving ERIC a decent chance to start pedalling before the bike falls over) |
| 29607 | LD (HL),A | |
| 29608 | LD L,243 | HL=32755 (ERIC's animation timer) |
| 29610 | JP 29488 | Place ERIC on the bike |