|  | Routines | 
| Prev: D303 | Up: Map | Next: D392 | 
| 
Used by the routine at D2D9.
 | ||||||||||||||||
| 
On entry A will contain one of;  
 | ||||||||||||||||
| Action_Controls | D307 | LD HL,$D306 | Writes A to Controls_Byte and sets HL=Hit. | |||||||||||||
| D30A | LD (HL),A | |||||||||||||||
| D30B | LD HL,$D300 | |||||||||||||||
| D30E | LD A,C | |||||||||||||||
| D30F | BIT 0,A | If "3" was pressed then jump to Shot_Three (a check for if bit 0 is set). | ||||||||||||||
| D311 | JR NZ,Shot_Three | |||||||||||||||
| D313 | BIT 1,A | If "1" was pressed then jump to Shot_One (a check for if bit 1 is set). | ||||||||||||||
| D315 | JR NZ,Shot_One | |||||||||||||||
| 
Handles settings flags and shot drawing location for door 2.
 | ||||||||||||||||
| Shot_Two | D317 | LD A,($D303) | If Two is not zero then return. | |||||||||||||
| D31A | AND A | |||||||||||||||
| D31B | RET NZ | |||||||||||||||
| D31C | LD ($D304),A | Sets the other two door flags to zero (Three and One). | ||||||||||||||
| D31F | LD ($D305),A | |||||||||||||||
| D322 | INC A | Indicate the the middle door is being shot at (write $01 to Two and $02 to Hit). | ||||||||||||||
| D323 | LD ($D303),A | |||||||||||||||
| D326 | LD A,$02 | |||||||||||||||
| D328 | LD (HL),A | |||||||||||||||
| D329 | LD HL,$D8AC | Increase D8AC by one. | ||||||||||||||
| D32C | INC (HL) | |||||||||||||||
| D32D | LD HL,$482F | Sets the screen location for this shot to $482F and stash it. | ||||||||||||||
| D330 | PUSH HL | |||||||||||||||
| D331 | CALL Draw_GunShot_Mask | Draw the shot mask. | ||||||||||||||
| D334 | POP HL | Grab the screen location again, and now draw the shot. | ||||||||||||||
| D335 | CALL Draw_GunShot | |||||||||||||||
| D338 | JP Shot_Sound_01_Alias | Jump to Shot_Sound_01_Alias. | ||||||||||||||
| 
Handles settings flags and shot drawing location for door 3.
 | ||||||||||||||||
| Shot_Three | D33B | LD A,($D304) | If Three is not zero then return. | |||||||||||||
| D33E | AND A | |||||||||||||||
| D33F | RET NZ | |||||||||||||||
| D340 | LD ($D303),A | Sets the other two door flags to zero (Two and One). | ||||||||||||||
| D343 | LD ($D305),A | |||||||||||||||
| D346 | INC A | Indicate the the right door is being shot at (write $01 to Three and $03 to Hit). | ||||||||||||||
| D347 | LD ($D304),A | |||||||||||||||
| D34A | LD A,$03 | |||||||||||||||
| D34C | LD (HL),A | |||||||||||||||
| D34D | LD HL,$D8AC | Shifts the value at D8AC to the left with bit 7 moved to the carry flag and bit 0 reset (zeroed). | ||||||||||||||
| D350 | SLA (HL) | |||||||||||||||
| D352 | LD HL,$483A | Sets the screen location for this shot to $483A and stash it. | ||||||||||||||
| D355 | PUSH HL | |||||||||||||||
| D356 | CALL Draw_GunShot_Mask | Draw the shot mask. | ||||||||||||||
| D359 | POP HL | Grab the screen location again, and now draw the shot. | ||||||||||||||
| D35A | CALL Draw_GunShot | |||||||||||||||
| D35D | JP Shot_Sound_02_Alias | Jump to Shot_Sound_02_Alias. | ||||||||||||||
| 
Handles settings flags and shot drawing location for door 1.
 | ||||||||||||||||
| Shot_One | D360 | LD A,($D305) | If One is not zero then return. | |||||||||||||
| D363 | AND A | |||||||||||||||
| D364 | RET NZ | |||||||||||||||
| D365 | LD ($D303),A | Sets the other two door flags to zero (Two and Three). | ||||||||||||||
| D368 | LD ($D304),A | |||||||||||||||
| D36B | INC A | Indicate the the left door is being shot at (write $01 to One and $01 to Hit). | ||||||||||||||
| D36C | LD ($D305),A | |||||||||||||||
| D36F | LD A,$01 | |||||||||||||||
| D371 | LD (HL),A | |||||||||||||||
| D372 | LD HL,$D8AC | Shifts the value at D8AC to the left with bit 7 moved to the carry flag and bit 0 reset (zeroed). | ||||||||||||||
| D375 | SLA (HL) | |||||||||||||||
| D377 | LD HL,$4824 | Sets the screen location for this shot to $4824 and stash it. | ||||||||||||||
| D37A | PUSH HL | |||||||||||||||
| D37B | CALL Draw_GunShot_Mask | Draw the shot mask. | ||||||||||||||
| D37E | POP HL | Grab the screen location again, and now draw the shot. | ||||||||||||||
| D37F | CALL Draw_GunShot | |||||||||||||||
| D382 | CALL Shot_Sound_03_Alias | Jump to Shot_Sound_03_Alias. | ||||||||||||||
| D385 | RET | Return. | ||||||||||||||
| 
Sets the flag for indicating "right" has been pressed by the player.
 | ||||||||||||||||
| Set_Right | D386 | LD HL,$D301 | Write $01 to Right and return. | |||||||||||||
| D389 | LD (HL),$01 | |||||||||||||||
| D38B | RET | |||||||||||||||
| 
Sets the flag for indicating "left" has been pressed by the player.
 | ||||||||||||||||
| Set_Left | D38C | LD HL,$D302 | Write $01 to Left and return. | |||||||||||||
| D38F | LD (HL),$01 | |||||||||||||||
| D391 | RET | |||||||||||||||
| Prev: D303 | Up: Map | Next: D392 |