I just wanna pitch in my .2c, fwiw, about the name: Its not too late to rename c64_tools to something else. I urge you to consider doing this, because c64 and tools .. well .. isn't this a bit clashy with the good ol' C64 of POKE ilk? Just sayin' .. it would be nice if we could easily search for this package with a unique name.
wasn't this discussed already in the announce thread ? my stance on this is that it was TI's decision to name their DSP "C64". Yes, I could have chosen a different name and called the package e.g. "snørkelzørg" but I wanted the name to have a reference to the DSP's name. Besides, the name is quite irrelevant since only developers will see it, just like normal users will probably not notice that there's e.g. a software called "dbus" running in the background.
Anyway, it looks like things are going to be stable enough, soon enough, to support a bit of DSP development .. well I've got the sources for Tony Hardie-Bicks' unique DFM-1 filter, which emulates real analog circuitry, and I'm thinking its almost the perfect thing to port to the Pandora DSP environment, for first kicks..
http://entitysynth.net/ (And hear a demo here:
http://jeremah.co.uk/dfm1ugen.html)
I think I listened to demos of that synths before. It sounds good although it's hard to judge without trying it out in practice.
The nice thing about synth engines is that they usually do not require a lot of code. A port of this would be a nice addition to the "core" DSP image, resp. could be implemented as an overlay in case the "core" does not remain FOSS because of some video codec or whatever (
the DFM-1 is GPL and would therefore "taint" the core image / not be compatible with the license of a closed source video codec for example).
For performance's sake, the code should be converted to fixed point (via iqmath), if that is possible (
it uses double precision floats ATM).
On the topic of synths in general: Once we have a synth engine (or multiple ones) on the DSP, we should think about defining a standard interface to access these things. I mentioned that I am developing a music editor (since 2007) which does not only support VST but also a custom synth plugin interface which is a lot more simple than VST (but has less bells and whistles which are required for editors). The reason for that was that I needed a portable plugin interface for a standalone replayer so that music made in the editor can be replayed in games/demos/.. in realtime, i.e. no lossy mp3 exports necessary.
The editor, and especially the replayer have not been been publically released, yet. Some previews are available but a lot has changed since the so I will not link to them.
Just wanted to mention this since you might want to keep that in mind.
Is there going to be any effort to share a VM with the tools already set up, among us, or is it really a matter of having to go ahead and get the tools installed ourselves .. I frankly dread having to set up all the account business with TI
I might be wrong but usually this kind of software is prohibited from being redistributed.
(
..TI probably would not care much if someone send you a VM image through some back channels (not me, I'm not using a VM anyway)..)
Besides, setting up an account at ti.com is no biggie. Maybe you can even use
http://mailinator.com/ or similar to register / get to the cgtools download link.
As a reminder, the following packages should be downloaded to compile the DSP side sources in the c64_tools package:
CGTOOLS: https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm (v7.4.5)
DSPBIOS: http://software-dl-1.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/5_42_01_09/index_FDS.html
IQMATH: http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c64p_iqmath/latest/index_FDS.html
FASTRTS: http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c62c64_fastrts/latest/index_FDS.html
In the announce thread, crow_riot said:
What comes to my mind is: would it be somehow to get the hardware mixers address like we have the framebuffer address into the DSP API, so that we could directly output sound from the DSP ?
The answer is: yes, it is. The question is: is it really worth the effort ?
It's not just about getting the hw addresses, you would also have to know which sound buffer is currently the back buffer and which one is the front buffer (
the one currently being replayed).
There's no technical reason why it should not be possible to add support for this feature to e.g. ALSA but since audio uses very little bandwidth (
~0.183 MBytes/sec for 16bit@48Khz stereo) the required kernel-brainsurgery might not be worth the gain.
When I got my Pandora I took a look at the Linux audio driver (and its dependencies) to see if the driver could be ported to the DSP with little effort. My conclusion was that this a) would not require "
just some little effort" and B) it would interfer with the ARM-side driver anyway, and again c) the performance gain would not justify the effort.
I really appreciate the summary, bsp .. that really helps set the scene for a return to the Pandora DSP. I'm *very* happy that you've given us c64_tools - this looks like almost exactly what we need to get things sorted and exploit the remaining power in the Pandora itself ..
thanks
It might be a while until there will be a Pandora successor, if ever, so we really should make the most of the hardware we already have.