- Missile fire
- Engine (normal speed)
- Engine (fast speed)
- Engine (slow speed)
- Explosion
- Low fuel warning
- Bonus life
- Tank full
- Refueling
- Helicopter missile launch
- Tank shell whistle
Missile fire
This sound effect is produced by the routine at do_fire. The routine plays 8
speaker pulses (~1.3 ms) per interrupt. The CONTROLS_BIT_FIRE_SOUND flag is set
when the missile is created and cleared by the game loop when missile Y drops to
$70 (112). Starting from Y=$7E (126) and moving -6 pixels per game frame, this
takes 3 game frames (~12 interrupts at 50 Hz). The audio below shows 12
consecutive interrupt calls with ~18.7 ms gaps between them.
Engine (normal speed)
This sound effect is produced by the routine at beep_engine_normal during normal speed
flight (player not pressing up or down). Called once per interrupt (~50 Hz);
each call plays 8 speaker pulses (~9.5 kHz).
Engine (fast speed)
This sound effect is produced by the routine at beep_engine_fast when the player holds
up to accelerate. Called once per interrupt (~50 Hz); each call plays 8
speaker pulses (~16.6 kHz).
Engine (slow speed)
This sound effect is produced by the routine at beep_engine_slow when the player holds
down to decelerate. Called once per interrupt (~50 Hz); each call plays 8
speaker pulses (~10.3 kHz).
Explosion
This sound effect is produced by the routine at beep_explosion when the player's plane
is destroyed. The ON delay varies semi-randomly between frames because the DE
register is not intentionally set by the caller, giving the explosion its noisy
character. Each frame plays 4 cycles of waveform with a decreasing OFF delay,
making the sound more rapid and urgent as the explosion progresses.
Low fuel warning
This sound effect is produced by the routine at do_low_fuel when the fuel level
drops below the warning threshold. The pitch warbles by decrementing the period
each frame, creating an urgent rising tone that resets after reaching zero.
Bonus life
This sound effect is produced by the routine at do_bonus_life when the player earns
an extra life. It generates a rising pitch over 63 frames by calling the ROM
BEEPER routine at $03B5 with decreasing pitch values.
Tank full
This sound effect is produced by the routine at signal_fuel_level_excessive when the fuel tank is
already full and cannot accept more fuel. Called once per game frame (~12 FPS);
plays a short beep (~1450 Hz, ~6 ms) via the ROM BEEPER routine.
Refueling
This sound effect is produced by the routine at 6E50 while the plane is
actively receiving fuel. Called once per game frame (~12 FPS); uses the ROM
BEEPER routine with DE=$0007, HL=$0333 (8 cycles, ~516 Hz, ~14.6 ms per call).
Helicopter missile launch
This sound effect is produced by the routine at 73EB when an advanced helicopter
fires a missile. Uses the ROM BEEPER routine with DE=$0001, HL=$2800 (2 cycles,
~43 Hz, ~35 ms).
Tank shell whistle
This sound effect is produced by the routine at 7457 once per game frame while a
tank shell is in flight. The pitch parameter is HL = step × 256 (DE=$0002, 3 cycles
per step), producing a descending whistle over trajectory steps 1–7. Step 8 triggers
an explosion and plays no sound.