src/audio.c:update_audio() drives the audio state machine. It is called from:
- src/custom.c:DMACON()
- src/custom.c:ADKCON()
- src/custom.c:hsync_handler()
- All audio register writes (handled in audio.c)
src/custom.c calls src/audio.c:update_audio() on hsync_handler:
1. update_audio()
2. fetch new sample for audio state machine if necessary