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 |