![]() |
Routines |
| Prev: 645F | Up: Map | Next: 6495 |
|
Used by the routine at 63BE when the character under consideration is on the bottom floor but is destined for another floor.
|
||||||||||||||
| 6464 | LD A,(HL) | A=destination y-coordinate | ||||||||||||
| 6465 | CP $A2 | Set the zero flag if the character is going to the middle floor | ||||||||||||
| 6467 | LD A,$26 | This is the x-coordinate of the wall between the White and Exam Rooms | ||||||||||||
| 6469 | JR Z,$646D | Jump if the character is going to the middle floor | ||||||||||||
| 646B | LD A,$39 | This is the x-coordinate of the wall between the Map and Reading Rooms | ||||||||||||
| 646D | INC L | Set the carry flag if the character is destined for some place to the right of the wall referred to by A | ||||||||||||
| 646E | CP (HL) | |||||||||||||
| 646F | LD A,$46 | This is the x-coordinate of the bottoms of the staircases at the right of the skool | ||||||||||||
| 6471 | JR C,$6475 | Jump if the character must go to a staircase on the right | ||||||||||||
| 6473 | LD A,$13 | This is the x-coordinate of the bottoms of the staircases at the left of the skool | ||||||||||||
| 6475 | CP E | Is the character at the bottom of the staircase he must climb? | ||||||||||||
| 6476 | JP NZ,$641B | Jump if not (to send the character there) | ||||||||||||
| 6479 | LD L,$60 | Byte 0x60 of the character's buffer holds his animatory state | ||||||||||||
| 647B | BIT 0,(HL) | Is the character midstride? | ||||||||||||
| 647D | JP NZ,$641B | Jump if so (to finish the stride) | ||||||||||||
| 6480 | CP $30 | Is the character at the bottom of a staircase at the right of the skool? | ||||||||||||
| 6482 | JR NC,$648B | Jump if so | ||||||||||||
| 6484 | BIT 7,(HL) | Is the character facing right? | ||||||||||||
| 6486 | JP NZ,$640F | Turn him round if so | ||||||||||||
| 6489 | JR $6490 | |||||||||||||
| 648B | BIT 7,(HL) | Is the character facing left? | ||||||||||||
| 648D | JP Z,$640F | Turn him round if so | ||||||||||||
| 6490 | LD C,$8C | Set BC=638C (guide character up stairs) and place this interruptible subcommand routine address into bytes 0x69 and 0x6A of the character's buffer | ||||||||||||
| 6492 | JP $6419 | |||||||||||||
| Prev: 645F | Up: Map | Next: 6495 |