<https://atariage.com/forums/topic/318978-movie-cart/page/14/#comment-4923478>
<http://schema.org/text>
"Sounds like what I did in Draconian.\n \n\n\n\t\n\t\tChannel 0 is used for both speech and sound effects. AUDC0 and AUDF0 are updated once per frame, while AUDV0 is updated once per scanline from a data stream.\n\t \n\t\n\t\tChannel 1 is used only for sound effects. AUDC1, AUDF1, and AUDV1 are updated once per frame.\n\t \n\n\n\n\tThe data stream for AUDV0 will either be pointed at the data for the speech sample, or at the byte of RAM containing the volume for the sound effect.\n \n\n\n\t \n \n\n\n\tData stream has a sample rate which controls how fast the data stream advances while playing back the sample.  For the 5 samples in Draconian the rates are:\n \n\n\nSampleRates = [* &amp; $fff] + $7000\n    .word 110000 / 256  ; blastoff\n    .word  94000 / 256  ; alert\n    .word  95000 / 256  ; battlestations\n    .word  98000 / 256  ; spy ship\n    .word  92000 / 256  ; condition red     \n\n\n\n\t \n \n\n\n\tThe / 256 is to make the value fit in 16 bits. The C code does a * 256 when the rate is set.\n \n\n\n\t \n \n\n\n\tThe sample rate is set to 0 if a sound effect is active on channel 0. This causes the data stream to never advance - so it returns the sound effect's volume for every scanline.\n \n\n\n\t \n \n\n\n\t \n \n\n\n\t \n \n"
<https://atariage.com/forums/topic/318978-movie-cart/page/14/?tab=comments#comment-4912051>