![]() |
Routines |
| Prev: 27922 | Up: Map | Next: 28210 |
|
Used by the routines at HandlerCanAccelerate and 27922.
|
||||
|
Increase speed (see HandlerCanAccelerate).
|
||||
| HandlerAccelerate | 28019 | LD (24077),A | Write A to Speed. | |
|
This entry point is used by the routines at HandlerCanAccelerate and 27922.
|
||||
| HandlerAccelerate_0 | 28022 | LD A,(24077) | A=Speed. | |
| 28025 | LD HL,18914 | HL=18914. | ||
| 28028 | CALL DrawGaugeLine | Call DrawGaugeLine. | ||
| 28031 | LD A,(24081) | A=24081. | ||
| 28034 | INC A | Increment A by one. | ||
| 28035 | LD C,A | Store the result in C. | ||
| 28036 | LD A,(24080) | A=Player_Direction. | ||
| 28039 | RRA | Shift A right three times. | ||
| 28040 | RRA | |||
| 28041 | RRA | |||
| 28042 | AND %00011111 | Keep bits 0-4. | ||
| 28044 | BIT 0,C | |||
| 28046 | JR NZ,HandlerAccelerate_1 | |||
| 28048 | XOR %00011111 | Unset bits 0-4. | ||
| HandlerAccelerate_1 | 28050 | LD E,A | Create an offset; E=A and D=0. | |
| 28051 | LD D,0 | |||
| 28053 | PUSH DE | Stash DE on the stack. | ||
| 28054 | LD HL,32619 | HL=32619 + offset. | ||
| 28057 | ADD HL,DE | |||
| 28058 | LD A,(24077) | Create an offset; E=Speed and D=0. | ||
| 28061 | LD E,A | |||
| 28062 | LD D,0 | |||
| 28064 | PUSH DE | Stash DE on the stack. | ||
| 28065 | LD A,(HL) | |||
| 28066 | CALL 28463 | Call 28463. | ||
| 28069 | LD A,(24073) | A=24073. | ||
| 28072 | LD DE,(24071) | DE=24071. | ||
| 28076 | CALL 28354 | Call 28354. | ||
| 28079 | BIT 1,C | |||
| 28081 | JR NZ,HandlerAccelerate_6 | |||
| 28083 | ADD HL,DE | |||
| 28084 | ADC A,0 | |||
| 28086 | CP 12 | |||
| 28088 | JR NC,HandlerAccelerate_7 | |||
| HandlerAccelerate_2 | 28090 | LD (24073),A | Store A at 24073. | |
| 28093 | LD (24071),HL | Store HL at 24071. | ||
| HandlerAccelerate_3 | 28096 | POP HL | ||
| 28097 | POP DE | |||
| 28098 | PUSH HL | |||
| 28099 | LD HL,32650 | HL=32650. | ||
| 28102 | AND A | |||
| 28103 | SBC HL,DE | |||
| 28105 | LD A,(HL) | |||
| 28106 | POP DE | |||
| 28107 | CALL 28463 | Call 28463. | ||
| 28110 | LD A,(24070) | A=24070. | ||
| 28113 | LD DE,(24068) | DE=24068. | ||
| 28117 | CALL 28354 | Call 28354. | ||
| 28120 | DEC C | |||
| 28121 | BIT 1,C | |||
| 28123 | JR NZ,28210 | |||
| 28125 | ADD HL,DE | |||
| 28126 | ADC A,0 | |||
| 28128 | CP 24 | |||
| 28130 | JR NC,HandlerAccelerate_8 | |||
|
This entry point is used by the routine at 28210.
|
||||
| HandlerAccelerate_4 | 28132 | LD (24068),HL | ||
| 28135 | LD (24070),A | |||
| HandlerAccelerate_5 | 28138 | CALL 27693 | Call 27693. | |
| 28141 | JR 28227 | Jump to 28227. | ||
| HandlerAccelerate_6 | 28143 | EX DE,HL | ||
| 28144 | AND A | |||
| 28145 | SBC HL,DE | |||
| 28147 | SBC A,0 | |||
| 28149 | JR NZ,HandlerAccelerate_2 | |||
| 28151 | EX AF,AF' | |||
| 28152 | LD A,H | |||
| 28153 | CP 128 | |||
| 28155 | JR C,HandlerAccelerate_7 | |||
| 28157 | EX AF,AF' | |||
| 28158 | JR HandlerAccelerate_2 | |||
| HandlerAccelerate_7 | 28160 | LD A,(24081) | ||
| 28163 | XOR 1 | |||
| 28165 | LD (24081),A | |||
| 28168 | LD A,(24080) | |||
| 28171 | CPL | |||
| 28172 | LD (24080),A | |||
| 28175 | LD A,5 | |||
| 28177 | LD (24133),A | |||
| 28180 | CALL SoundsBounce | |||
| 28183 | JR HandlerAccelerate_3 | |||
|
This entry point is used by the routine at 28210.
|
||||
| HandlerAccelerate_8 | 28185 | LD A,(24081) | ||
| 28188 | XOR 3 | |||
| 28190 | LD (24081),A | |||
| 28193 | LD A,(24080) | |||
| 28196 | CPL | |||
| 28197 | LD (24080),A | |||
| 28200 | LD A,5 | |||
| 28202 | LD (24133),A | |||
| 28205 | CALL SoundsBounce | |||
| 28208 | JR HandlerAccelerate_5 | |||
| Prev: 27922 | Up: Map | Next: 28210 |