![]() |
Routines |
| Prev: 645F | Up: Map |
|
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 |