Routines 
Prev: 25918  Up: Map  Next: 25989 
25944  LD DE,(58881)  Collect Sam's x and ycoordinates in E and D  
25948  LD A,(32764)  Pick up Sam's status flags from 32764  
25951  BIT 3,A  Is Sam rolling or somersaulting?  
25953  JR NZ,25967  Jump if so  
25955  AND 129  Is Sam either being carried by a gangster or policeman, or falling from the roof of a building?  
25957  LD A,(58884)  Return with A holding Sam's zcoordinate if not  
25960  RET Z  
Sam is either being carried by a policeman, or falling from the roof of a building.


25961  LD A,2  2=behind people on the sidewalk  
25963  LD DE,9896  D=38, E=168 (out of reach)  
25966  RET  
Sam is rolling or somersaulting.


25967  LD A,(58880)  A=Sam's animatory state  
25970  AND 127  Discard bit 7 (the direction bit)  
25972  CP 15  Is Sam horizontal at the moment (animatory state 15 or 31)?  
25974  JR C,25978  Jump if not  
25976  INC E  Add 2 to Sam's xcoordinate if he's horizontal  
25977  INC E  
25978  LD A,E  A=x+2 if Sam's horizontal, or x otherwise (where x is Sam's xcoordinate)  
25979  CALL 60165  Reset the carry flag if Sam is on or above the sidewalk, or set it if he's on or above the road  
25982  ADC A,34  D=34 if Sam's on or above the sidewalk, 35 if he's on or above the road  
25984  SUB E  
25985  LD D,A  
25986  LD A,4  4=outside  
25988  RET 
Prev: 25918  Up: Map  Next: 25989 