Prev: 6CD6 Up: Map Next: 6D17
6CF4: Play low fuel warning sound
Generates a warbling warning sound when fuel is low. Called once per interrupt while CONTROLS_BIT_LOW_FUEL is set. The sound pitch varies each interrupt creating an urgent warbling effect.
  • Decrements low_fuel_sound_period each interrupt, wrapping at $7F (0-127 range)
  • Uses this value as period for symmetric square wave
  • 3 cycles of waveform per invocation
  • As period decrements, pitch rises then resets, creating warble
do_low_fuel 6CF4 LD C,$03 Loop counter: 3 cycles of waveform.
do_low_fuel_loop 6CF6 LD A,($5F65) Decrement period (low_fuel_sound_period), wrap at $7F. Store new period in E.
6CF9 DEC A
6CFA AND $7F
6CFC LD ($5F65),A
6CFF LD E,A Speaker ON.
6D00 LD A,$10
6D02 OUT ($FE),A
6D04 LD D,E Load period into D.
do_low_fuel_delay_on 6D05 DEC D Delay loop for speaker ON phase.
6D06 JR NZ,do_low_fuel_delay_on
6D08 LD A,$00 Speaker OFF.
6D0A OUT ($FE),A
6D0C LD D,E Load period into D.
do_low_fuel_delay_off 6D0D DEC D Delay loop for speaker OFF phase.
6D0E JR NZ,do_low_fuel_delay_off
6D10 DEC C Decrement cycle counter, loop for 3 cycles. Return from interrupt when done.
6D11 JP NZ,do_low_fuel_loop
6D14 JP int_return
Prev: 6CD6 Up: Map Next: 6D17