.FRMIS LDX #MSL ; Call FRS1 to launch a missile straight ahead of us JSR FRS1 BCC FR1 ; If FRS1 returns with the C flag clear, then there ; isn't room in the universe for our missile, so jump ; down to FR1 to display a "missile jammed" message LDX MSTG ; Fetch the slot number of the missile's target JSR GINF ; Get the address of the data block for the target ship ; and store it in INF LDA FRIN,X ; Fetch the ship type of the missile's target into A JSR ANGRY ; Call ANGRY to make the target ship hostile LDY #BLACK2 ; We have just launched a missile, so we need to remove JSR ABORT ; missile lock and hide the leftmost indicator on the ; dashboard by setting it to black DEC NOMSL ; Reduce the number of missiles we have by 1 LDY #sfxwhosh ; Call the NOISE routine with Y = sfxwhosh to make the JMP NOISE ; sound of a missile launch, returning from the ; subroutine using a tail callName: FRMIS [Show more] Type: Subroutine Category: Tactics Summary: Fire a missile from our shipContext: See this subroutine in context in the source code References: This subroutine is called as follows: * Main flight loop (Part 3 of 16) calls FRMIS
We fired a missile, so send it streaking away from us to unleash mayhem and destruction on our sworn enemies.
[X]
Subroutine ABORT (category: Dashboard)
Disarm missiles and update the dashboard indicators
[X]
Subroutine ANGRY (category: Tactics)
Make a ship hostile
[X]
Configuration variable BLACK2 = $B7
A multicolour bitmap mode palette byte for screen RAM that sets dark grey ($B) for %01 in the bitmap and yellow (7) for %10 in the bitmap, for displaying an empty missile indicator
[X]
Subroutine FR1 (category: Tactics)
Display the "missile jammed" message
[X]
Subroutine FRS1 (category: Tactics)
Launch a ship straight ahead of us, below the laser sights
[X]
Subroutine GINF (category: Universe)
Fetch the address of a ship's data block into INF
[X]
Configuration variable MSL = 1
Ship type for a missile
[X]
Subroutine NOISE (category: Sound)
Make the sound whose number is in Y
[X]
Configuration variable sfxwhosh = 4
Sound 4 = Missile launched / Ship launch