| 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.
|
||||
| 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 |