Monday, 18 February 2008

For my own future reference: How to quickly turn the neo1973 into a USB sound card, courtesy of avahi and pulseaudio:

ssh root@fic-gta01.local
ipkg install pulseaudio-module-zeroconf-publish
echo "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16" >> /etc/pulse/session
echo "load-module module-zeroconf-publish" >> /etc/pulse/session
/etc/init.d/pulseaudio restart


Now the padevchooser applet on the Desktop lists "output on fic-gta01" as audio sink. I really should stop ripping out my laptop's headphone jacks.

Thursday, 7 February 2008

DSP

Since that wicked N810 arrived, I've had to neglect the other devices a bit. The reason is mainly that the OMAP2420 CPU has an integrated TMS320C55x DSP. And thanks to the DSP Gateway it is possible to actually run our own code on it (see the DSPProgramming wiki page). Before, I could only dream about playing with those inaccessible DSPs on the OMAP850 and Calypso chipsets.

So I set out to learn C55x assembly and at the same time figure out how to play sound directly from the DSP. I somehow got the idea that this could be done by disassembling the pcm2 dsptask module (that is the backend for the dsppcm GStreamer sink, which unfortunately can't be built because the latest version of the DSP header files is nowhere to be found).
I think I have understood the bigger part of the pcm2 code by now, although trying to grasp indirect adressing using ARn registers gives me headaches. The stream setup and the command interface to the ARM processor is already recreated, but the most important part is still missing: the actual data transfer of PCM data from ARM to DSP via mmap and from DSP to EAC via SIO issue/reclaim.
Once that is done, I hope to make use of the knowledge gained by helping the DSP OGG Vorbis decoder project.

In the meanwhile, bricks keep falling into place in kernel land, so I have to do some catching up and submitting patches for at least Magician soon.