![]() |
Routines |
| Prev: $0E58 | Up: Map | Next: $0EB4 |
|
This corresponds to $6E3C in the ZX Spectrum version.
|
||||||||||
| $0E59 | LDA #$FF | A=$FF, corresponding to no particular teacher. | ||||||||
|
This entry point is used by the routine at $149F with A holding a teacher's character number.
|
||||||||||
| $0E5B | STA $78 | Store $FF or the teacher's character number at $78. | ||||||||
| $0E5D | JSR $0BAC | Compute the coordinate ranges within which the boy can be seen. | ||||||||
| $0E60 | LDA #$0B | Character number $0B is MR WACKER. | ||||||||
| $0E62 | STA $07 | Store the teacher's character number at $07. | ||||||||
| $0E64 | CMP $78 | Does this teacher's character number match the one at $78? | ||||||||
| $0E66 | BEQ $0EA3 | Branch if so to skip this teacher. | ||||||||
| $0E68 | JSR $0D67 | Can the teacher see the boy? | ||||||||
| $0E6B | BCC $0EA3 | Branch if not. | ||||||||
| $0E6D | LDA #$78 | Store the base address of the teacher's character buffer at $4E. | ||||||||
| $0E6F | CLC | |||||||||
| $0E70 | ADC $07 | |||||||||
| $0E72 | STA $4F | |||||||||
| $0E74 | LDA #$60 | |||||||||
| $0E76 | STA $4E | |||||||||
| $0E78 | LDY #$00 | Pick up the teacher's animatory state and store it at $0A. | ||||||||
| $0E7A | LDA ($4E),Y | |||||||||
| $0E7C | STA $0A | |||||||||
| $0E7E | INY | Pick up the teacher's x-coordinate and store it at $0B. | ||||||||
| $0E7F | LDA ($4E),Y | |||||||||
| $0E81 | STA $0B | |||||||||
| $0E83 | LDY #$10 | Is the teacher currently controlled by an uninterruptible subcommand routine? | ||||||||
| $0E85 | LDA ($4E),Y | |||||||||
| $0E87 | BNE $0EA3 | Consider the next teacher if so (this one is busy). | ||||||||
| $0E89 | LDA $FC | Pick up the boy's x-coordinate from $FC. | ||||||||
| $0E8B | INC $0B | Is the boy's x-coordinate greater than the teacher's? | ||||||||
| $0E8D | CMP $0B | |||||||||
| $0E8F | BCS $0E9A | Branch if so. | ||||||||
| $0E91 | LDA $0A | Pick up the teacher's animatory state. | ||||||||
| $0E93 | ASL A | Is the teacher facing the boy? | ||||||||
| $0E94 | BCS $0EA3 | Branch if not. | ||||||||
| $0E96 | SEC | Set the carry flag: the boy can be seen. | ||||||||
| $0E97 | JMP $0EB1 | Jump forward. | ||||||||
| $0E9A | LDA $0A | Pick up the teacher's animatory state. | ||||||||
| $0E9C | ASL A | Is the teacher facing the boy? | ||||||||
| $0E9D | BCC $0EA3 | Branch if not. | ||||||||
| $0E9F | SEC | Set the carry flag: the boy can be seen. | ||||||||
| $0EA0 | JMP $0EB1 | Jump forward. | ||||||||
| $0EA3 | LDA $07 | Pick up the teacher's character number. | ||||||||
| $0EA5 | CMP #$0E | Have we checked all four teachers yet? | ||||||||
| $0EA7 | BEQ $0EB0 | Branch if so. | ||||||||
| $0EA9 | INC $07 | Next teacher. | ||||||||
| $0EAB | LDA $07 | Pick up the next teacher's character number. | ||||||||
| $0EAD | JMP $0E64 | Jump back to consider him. | ||||||||
| $0EB0 | CLC | Clear the carry flag: the boy cannot be seen. | ||||||||
| $0EB1 | LDA $07 | Pick up the teacher's character number. | ||||||||
| $0EB3 | RTS | |||||||||
| Prev: $0E58 | Up: Map | Next: $0EB4 |