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 > NDS, The Basics

#115406 - Funky Gibbon - Mon Jan 15, 2007 10:12 pm

Hello,

Im not new to c++, and not new to GBA dev, i am however new to NDS dev, what i need is some basic guidance, i get really confused as to the function of ARM9 and ARM7 within the DS, which to use for specific functions and how they pass information between themselves, can someone sergest a link or ducument that covers the basics?

Thanks
Shaun


Last edited by Funky Gibbon on Mon Jan 15, 2007 11:36 pm; edited 1 time in total

#115407 - Lord Raptor - Mon Jan 15, 2007 10:32 pm

Maybe this can help :
http://nocash.emubase.de/gbatek.htm

#115408 - Funky Gibbon - Mon Jan 15, 2007 10:50 pm

Thanks for that Raptor, i have found gbatek to be helpfull in the past, the bit i find confusing is in say devkitpro, a touch example for instance will have to sources, 1 for arm9 to drive the lcd and 1 for touch sense worked by the arm7, but then another example that just uses one arm.
i think i should just stick to GBA, at least theres only one processor to concentrate on

#115410 - tepples - Mon Jan 15, 2007 11:03 pm

The examples that have no ARM7 program use a generic ARM7 program defined by libnds, which comes with devkitARM.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#115413 - simonjhall - Mon Jan 15, 2007 11:07 pm

DS is easy :-)

The ARM9 is the one that you normally would want to use, and many of the ARM7 things are acessible on the '9 via some libnds functions.
With the touch sample the ARM7 program reads the pad and pen/screen and passes the data across to the ARM9. If your ARM9 program wants the pen and button info you just have to call touchreadXY (or something) and it'll pick up and return the data for you.
I think libnds also provides some sound-handling functions for you (the '7 controls the sound) so you can 'easily' do sound from the ARM9 without having to mess around with '7 code.

If you don't provide an ARM7 program then I think ndstool just fills in a default one which will handle the sound and pad/screen for you.

It is a little confusing how one processor controls one thing and the other one controls other stuff... The ARM9 is the main processor though.
_________________
Big thanks to everyone who donated for Quake2

#115415 - Funky Gibbon - Mon Jan 15, 2007 11:33 pm

Ok, Thanks
I think that goes some way to explaining