![]() |
Routines |
| Prev: 7653 | Up: Map | Next: 76AC |
|
||||||||
| 7654 | PUSH HL | |||||||
| 7655 | LD HL,$7FF4 | 7FF4 contains the doors flags | ||||||
| 7658 | LD A,E | A=x-coordinate of the point in front of the mouse/frog/pellet | ||||||
| 7659 | CP $BE | This is the x-coordinate of the far wall of the girls' skool | ||||||
| 765B | JR NC,$767F | Jump if the mouse/frog/pellet is facing this wall | ||||||
| 765D | LD A,D | A=y-coordinate of the mouse/frog/pellet | ||||||
| 765E | CP $05 | Is the mouse/frog/pellet on the top floor (or just below it)? | ||||||
| 7660 | JR NC,$7682 | Jump if not | ||||||
|
The mouse/frog/pellet is on the top floor.
|
||||||||
| 7662 | LD A,E | A=x-coordinate of the point in front of the mouse/frog/pellet | ||||||
| 7663 | CP $9F | This is the x-coordinate of the left wall of the girls' skool | ||||||
| 7665 | JR Z,$767F | Jump if the mouse/frog/pellet is facing this wall | ||||||
| 7667 | LD D,$01 | Set bit 0: left study door | ||||||
| 7669 | CP $48 | This is the x-coordinate of the left study door | ||||||
| 766B | JR Z,$767B | Jump if the mouse/frog/pellet is facing this door | ||||||
| 766D | INC D | Set bit 1: right study door | ||||||
| 766E | CP $54 | This is the x-coordinate of the right study door | ||||||
| 7670 | JR Z,$767B | Jump if the mouse/frog/pellet is facing this door | ||||||
| 7672 | LD D,$40 | Set bit 6: top-floor window | ||||||
| 7674 | CP $5C | This is the x-coordinate of the top-floor window | ||||||
| 7676 | JR Z,$767B | Jump if the mouse/frog/pellet is facing this window | ||||||
| 7678 | AND A | Clear the carry flag: no obstacles ahead | ||||||
| 7679 | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
| 767A | RET | Return with the carry flag reset | ||||||
| 767B | LD A,D | A holds the identifier of the door or window in front of the mouse/frog/pellet | ||||||
| 767C | AND (HL) | Is this door/window open? | ||||||
| 767D | JR NZ,$7679 | Jump if so | ||||||
| 767F | SCF | Set the carry flag: no admittance | ||||||
| 7680 | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
| 7681 | RET | Return with the carry flag set | ||||||
| 7682 | CP $0C | |||||||
| 7684 | LD A,E | |||||||
| 7685 | JR NC,$769E | Jump if the mouse/frog/pellet is on the bottom floor (or just above it) | ||||||
|
The mouse/frog/pellet is on the middle floor.
|
||||||||
| 7687 | CP $9F | This is the x-coordinate of the left wall of the girls' skool | ||||||
| 7689 | JR Z,$767F | Jump if the mouse/frog/pellet is facing this wall | ||||||
| 768B | CP $3E | This is the x-coordinate of the far wall of the Science Lab storeroom | ||||||
| 768D | JR Z,$767F | Jump if the mouse/frog/pellet is facing this wall | ||||||
| 768F | CP $35 | This is the x-coordinate of the Science Lab storeroom door | ||||||
| 7691 | LD D,$04 | Set bit 2: Science Lab storeroom door | ||||||
| 7693 | JR Z,$767B | Jump if the mouse/frog/pellet is facing this door | ||||||
| 7695 | LD D,$80 | Set bit 7: middle-floor window | ||||||
| 7697 | CP $5E | This is the x-coordinate of the middle-floor window | ||||||
| 7699 | JR Z,$767B | Jump if the mouse/frog/pellet is facing this window | ||||||
| 769B | AND A | Clear the carry flag: no obstacles ahead | ||||||
| 769C | POP HL | Restore the character number of the mouse/frog/pellet to H | ||||||
| 769D | RET | Return with the carry flag reset | ||||||
|
The mouse/frog/pellet is on the bottom floor.
|
||||||||
| 769E | LD D,$08 | Set bit 3: boys' skool door | ||||||
| 76A0 | CP $5E | This is the x-coordinate of the boys' skool door | ||||||
| 76A2 | JR Z,$767B | Jump if mouse/frog/pellet is facing this door | ||||||
| 76A4 | LD D,$10 | Set bit 4: skool gate | ||||||
| 76A6 | CP $85 | This is the x-coordinate of the skool gate | ||||||
| 76A8 | JR Z,$767B | Jump if the mouse/frog/pellet is facing this | ||||||
| 76AA | JR $769B | Otherwise it's all clear | ||||||
| Prev: 7653 | Up: Map | Next: 76AC |