![]()  | 
Routines | 
| Prev: 27911 | Up: Map | Next: 28019 | 
| 
 
Used by the routine at 27291.
 
 | 
||||
| 27922 | LD C,0 | C=0. | ||
| 27924 | LD A,(24077) | A=Speed. | ||
| 27927 | RLA | |||
| 27928 | RL C | |||
| 27930 | RLA | |||
| 27931 | RL C | |||
| 27933 | LD HL,24112 | HL=Unknown. | ||
| 27936 | ADD A,(HL) | |||
| 27937 | LD (HL),A | |||
| 27938 | LD A,C | |||
| 
 
Working backwards, add onto the odometer.
 
 | 
||||
| 27939 | LD B,3 | B=3 (counter - miles are stored in three bytes). | ||
| CalcMiles | 27941 | DEC HL | Decrease the pointer to the miles counter held by HL by one. | |
| 27942 | ADC A,(HL) | Adds A to the miles byte held at HL. | ||
| 27943 | DAA | |||
| 27944 | LD (HL),A | Write A to HL. | ||
| 27945 | LD A,0 | Reset A to 0 while maintaining the carry flag. | ||
| 27947 | DJNZ CalcMiles | Decrease counter by one and loop back to CalcMiles until counter is zero. | ||
| 27949 | LD A,(24180) | L=24180. | ||
| 27952 | LD L,A | |||
| 27953 | LD A,(24110) | A=24110. | ||
| 27956 | CP L | |||
| 27957 | JR Z,27968 | |||
| 27959 | LD (24180),A | |||
| 27962 | LD BC,16 | BC=0016. | ||
| 27965 | CALL AddPointsToScore | Call AddPointsToScore. | ||
| 27968 | LD HL,(24069) | HL=PlayerMapPosition. | ||
| 
 
Check fuel.
 
 | 
||||
| 27971 | LD A,(24075) | If Fuel level is not zero then jump to 27990. | ||
| 27974 | AND A | |||
| 27975 | JR NZ,27990 | |||
| 
 
Handle being out of fuel.
 
 | 
||||
| 27977 | LD A,(24077) | A=Speed. | ||
| 27980 | CP 51 | |||
| 27982 | JR C,27997 | |||
| 27984 | DEC A | |||
| 27985 | LD (24077),A | |||
| 27988 | JR 28004 | Jump to 28004. | ||
| 
 
Check temperature.
 
 | 
||||
| 27990 | LD A,(24076) | A=Temperature. | ||
| 27993 | CP 160 | |||
| 27995 | JR NC,27977 | |||
| 27997 | CALL ReadInputAccelerate | Call ReadInputAccelerate. | ||
| 28000 | BIT 3,A | |||
| 28002 | JR Z,HandlerCanAccelerate | |||
| 28004 | CALL ReadInputBrake | Call ReadInputBrake. | ||
| 28007 | BIT 2,A | |||
| 28009 | JR NZ,HandlerAccelerate_0 | |||
| 28011 | LD A,(24077) | A=Speed. | ||
| 28014 | SUB 16 | |||
| 28016 | JR NC,HandlerAccelerate | |||
| 28018 | XOR A | A=0. | ||
| Prev: 27911 | Up: Map | Next: 28019 |