gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > absolute newbie requires DS audio advice

#38400 - serf - Sun Mar 27, 2005 3:06 am

I'd like to write a bunch of physics-based audio toys, kind of like BallDroppings (not by me -- though I did write a similar audio toy with corrected physics and numerous audio enhancements). Each toy would be based on a different physical phenomenon: projectile motion (like BallDroppings), gravitational attraction, wave propagation, etc. Each toy would have some unique way of mapping physical parameters to sound. And I'd like to have these running on some platform that's portable enough for me to carry around in my pocket.

I'm thinking of using a DS as a platform for this project because it's small, it's light, it's relatively cheap, it has a long battery life, and (big one!) it has a touch screen. I could have the simulation running on the bottom screen, where it could be directly manipulated with the stylus, while assorted simulation and audio parameters were displayed on the top screen. The microphone could also be useful.

What worries me about the DS, on the other hand, is that it seems like it might be a little light on processing power. I'm not about to try to write some amazing semimodular software synth with antialiased and oversampled everything, but I'd love to have some indication of how much the DS can deal with at once. For example:
-> Are the ARM9E DSP instructions present in the DS?
-> How is the memory bandwidth (and latency!) -- is doing several hundred thousand table lookups per second likely to make me unhappy?
-> Would running 20-30 digital filters (say 3 multiplies, 5 adds per sample per channel) in parallel with an n-body gravitational simulation with the same number of bodies be something the DS would have a problem with? That looks like only 10 million instructions / sec for the filters (assuming one cycle adds and multiplies and a 44.1kHz sample rate), well within the ARM9's capabilities -- but am I oversimplifying the situation?

I realize that I my questions are a little vague, but so are the specs for these programs (at this point). Any kind of guidance anyone can provide would be appreciated. The only audio software I've ever written has been written for the comparatively resource-abundant environment of my Powerbook, so I really have no feel for what might or might not be capable on the DS.

Also, is there any site with any kind of detailed information about the DS audio hardware? The NDS tech wiki seems a litte light on details still....

Thanks a lot!

[edit: thread title revised for clarity]

#38406 - sgeos - Sun Mar 27, 2005 3:22 am

I think the DS runs at roughly ~60 fps. Has anyone compiled lists of cycles availave at vblank, vdraw, hblank, and hdraw?

-Brendan

#38411 - Darkain - Sun Mar 27, 2005 6:45 am

sgeos wrote:
I think the DS runs at roughly ~60 fps. Has anyone compiled lists of cycles availave at vblank, vdraw, hblank, and hdraw?

-Brendan


try searching next time? ;)

http://www.bottledlight.com/ds/index.php/Video/Screens
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS

#38418 - serf - Sun Mar 27, 2005 11:32 am

Hmm ... on further reflection, does anyone even know (yet) how to output PCM audio from the DS? How does one go about figuring out which registers are which? Have I missed a post that answers or gives some pointers for either of these questions?

#38437 - Darkain - Sun Mar 27, 2005 8:44 pm

serf wrote:
Hmm ... on further reflection, does anyone even know (yet) how to output PCM audio from the DS? How does one go about figuring out which registers are which? Have I missed a post that answers or gives some pointers for either of these questions?


we have no knowledge of DS audio. check the wiki i just posted a link to. its the informational resource.
_________________
-=- Darkain Dragoon -=-
http://www.darkain.com
DarkStar for Nintendo DS

#38442 - serf - Sun Mar 27, 2005 9:32 pm

Ok, thanks. I realized that the wiki didn't contain much info on the subject -- I was just curious if there were any other resources out there.