[Coco] Assembly audio routines

Zippster zippster278 at gmail.com
Sun Mar 19 22:42:05 EDT 2017


Hi Brett,

Darren has implemented a stream command in the firmware that 
allows for continuous sector reads with minimal tending from the CoCo.

I’m working with a pre-release version of the firmware.

I am using a *huge* fully unrolled sector read routine with playback
integrated for continuous playback of any size audio file (up to the LBA
volume limit).  It plays straight 8-bit unsigned mono audio at 44.5KHz.

It uses only a 512 byte buffer in the CoCo, and writes the DAC once
every 20 cycles, leaving me 11 cycle blocks between each write where
I have to do everything else I want to do (at 44.5KHz).

Including, filling the buffer, taking samples of the audio stream, and
implementing a 32 position level meter (nearly done, needs some tuning).

All at .89MHz on a CoCo2.

It’s been a little challenging and educational…  :)

I’ve also been working with Chris Martin, using his SG24 video converter.
So far we’ve got 15+fps SG24 video with 13.4KHz sound.  That format is
interleaved 64/448 per sector audio/video.


- Ed





> On Mar 19, 2017, at 9:14 PM, Brett Gordon <beretta42 at gmail.com> wrote:
> 
> Yup make sure the low bits are masked.  Its probably fastest to just format
> the data before attempting playback (dont mask the bits on the fly)
> 
> Ed:  wow.  That's impressive you where able to make 44k on a coco2 from a
> sdc!  You must have really interleaved sd access to the extreme to acheive?
> Do tell!  Did you totally unroll the data transfer loop or something?
> 
> brett
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco



More information about the Coco mailing list