![]() |
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 |