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 xcoordinate 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 xcoordinate from $FC.  
$0E8B  INC $0B  Is the boy's xcoordinate 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 