![]() |
Routines |
Prev: 6BE5 | Up: Map |
Used by the routine at 6C7C. Returns with the zero flag set if the character is standing beside a chair. Returns with the carry flag set if the character should turn round.
|
||||||||||||||
6BF0 | BIT 7,A | Set the zero flag if the character is facing left | ||||||||||||
This entry point is used by the routine at 6CAF with H=0xAC (ERIC).
|
||||||||||||||
6BF2 | LD A,D | A=character's y-coordinate | ||||||||||||
6BF3 | JR NZ,$6C2E | Jump if the character is facing right | ||||||||||||
6BF5 | CP $9B | Set the zero flag if the character is on the top floor | ||||||||||||
6BF7 | LD A,E | A=character's x-coordinate | ||||||||||||
6BF8 | JR NZ,$6C12 | Jump if the character's on the middle floor | ||||||||||||
6BFA | CP $3A | Is the character to the right of the Map Room wall? | ||||||||||||
6BFC | JR NC,$6C0B | Jump if so | ||||||||||||
6BFE | CP $30 | This is the x-coordinate of the leftmost chair in the Reading Room | ||||||||||||
6C00 | RET C | Return if the character is to the left of this | ||||||||||||
6C01 | NOP | |||||||||||||
6C02 | CP $38 | This is the x-coordinate of the rightmost chair in the Reading Room | ||||||||||||
6C04 | JR Z,$6C07 | Jump if the character is beside the rightmost chair in the room | ||||||||||||
6C06 | RET NC | Return if the character is to the right of this chair | ||||||||||||
6C07 | AND A | |||||||||||||
6C08 | BIT 0,A | Return with the zero flag set if the character is standing beside a chair | ||||||||||||
6C0A | RET | |||||||||||||
The character is on the top floor to the right of the Map Room wall.
|
||||||||||||||
6C0B | CP $40 | This is the x-coordinate of the leftmost chair in the Map Room | ||||||||||||
6C0D | RET C | Return if the character is to the left of this | ||||||||||||
6C0E | CP $48 | This is the x-coordinate of the rightmost chair in the Map Room | ||||||||||||
6C10 | JR $6C04 | |||||||||||||
The character is somewhere on the middle floor.
|
||||||||||||||
6C12 | CP $27 | Is the character to the right of the Exam Room wall? | ||||||||||||
6C14 | JR NC,$6C1E | Jump if so | ||||||||||||
6C16 | CP $1D | This is the x-coordinate of the leftmost chair in the White Room | ||||||||||||
6C18 | RET C | Return if the character is to the left of this | ||||||||||||
6C19 | INC A | This is the x-coordinate (+1) of the rightmost chair in the White Room | ||||||||||||
6C1A | CP $26 | |||||||||||||
6C1C | JR $6C04 | |||||||||||||
The character is on the middle floor to the right of the Exam Room wall.
|
||||||||||||||
6C1E | CP $2B | This is the x-coordinate of the leftmost chair in the Exam Room | ||||||||||||
6C20 | RET C | Return if the character is to the left of this | ||||||||||||
6C21 | CP $3C | This is the x-coordinate of the left end of the first set of chairs in the Exam Room | ||||||||||||
6C23 | JR C,$6C29 | Jump if the character is to the left of this | ||||||||||||
6C25 | CP $44 | This is the x-coordinate of the rightmost chair in the Exam Room | ||||||||||||
6C27 | JR $6C04 | |||||||||||||
The character is in the Exam Room, to the left of the first set of chairs.
|
||||||||||||||
6C29 | INC A | This is the x-coordinate (+1) of the right end of the second set of chairs in the Exam Room | ||||||||||||
6C2A | CP $36 | |||||||||||||
6C2C | JR $6C04 | |||||||||||||
The character is facing right.
|
||||||||||||||
6C2E | CP $9B | Set the zero flag if the character is on the top floor | ||||||||||||
6C30 | LD A,E | A=character's x-coordinate | ||||||||||||
6C31 | JR NZ,$6C42 | Jump if the character is on the middle floor | ||||||||||||
6C33 | CP $3A | This is the x-coordinate of the wall between the Reading and Map Rooms | ||||||||||||
6C35 | JR NC,$6C3E | Jump if the character is to the right of this | ||||||||||||
6C37 | CP $37 | This is the x-coordinate of the spot between the two chairs at the right in the Reading Room; if this were 'CP $38' instead, kids would be able to find the rightmost seat in the room | ||||||||||||
6C39 | CCF | Clear the carry flag if the character is to the left of the rightmost chair in the room (i.e. he's still on his way there) | ||||||||||||
6C3A | RET NZ | Return unless the character is beside the rightmost chair in the room | ||||||||||||
6C3B | AND A | Reset the zero flag, and set the carry flag to indicate that the character should turn round | ||||||||||||
6C3C | CCF | |||||||||||||
6C3D | RET | |||||||||||||
6C3E | CP $48 | This is the x-coordinate of the rightmost seat in the Map Room | ||||||||||||
6C40 | JR $6C39 | |||||||||||||
6C42 | CP $27 | This is the x-coordinate of the wall between the White and Exam Rooms | ||||||||||||
6C44 | JR NC,$6C4A | Jump if the character is to the right of this | ||||||||||||
6C46 | CP $25 | This is the x-coordinate of the rightmost chair in the White Room | ||||||||||||
6C48 | JR $6C39 | |||||||||||||
6C4A | CP $44 | This is the x-coordinate of the rightmost chair in the Exam Room | ||||||||||||
6C4C | JR $6C39 |
Prev: 6BE5 | Up: Map |