Nintendo DS GPU

Murakami

Regular
Does the DS have a GPU or rendering is done by the ARM9 CPU? Is there a sound chip? Which is the task of the ARM7 CPU in a DS (not GBA) game? Thanks.
 
It does have a GPU with - according to Fafalada - a fairly modern feature-set, though it needs to be programmed in a quite different/quirky fashion compared to other 3D accelerators it seems.

Some features of the DS GPU include texture mapping (though it's not entirely perspective correct, and only point sampling texture filtering), alpha blending (not sure if it has full blendmodes or not) and hardware transform and lighting (fixed function, unsure if there is skinning matrix support).

The ARM7 chip can probably be programmed to do whatever the programmers want I'd assume. As it clocks to twice the speed in DS mode compared to GBA mode it stands for a substantial amount of the total system processing power. Therefore it stands to reason programmers should be able to exploit it as they see fit.

It may be that each CPU is fixed to run one screen each, so if that's the case, at the very minimum the ARM7 would be drive the graphics of the 'secondary' display, whichever of the two that may be in the particular game you're playing.
 
Well speak up, damn you!

Both you and Faf tease us with tidbits while keeping the real meat well out of hand's reach. You bastards! :D

Come oooonnnn... Spill the beans, please? /beg
 
Murakami said:
Does the DS have a GPU or rendering is done by the ARM9 CPU? Is there a sound chip? Which is the task of the ARM7 CPU in a DS (not GBA) game? Thanks.
The DS has a fairly mighty sound subsystem with 16-channel hardware fetch (DMA), mixing and playback of digitized sound, where even 4bit ADPCM samples are supported directly. Additionally there's hardware support for a number of synth and noise generator channels.

The ARM7 is free to use for whatever, it's not really tied to a screen. The two CPUs can even cooperate for graphics (ARM7 traverses scene graph to build a render list, ARM9 reads that list and pushes the appropriate polygons; something like that).
 
zeckensack said:
The DS has a fairly mighty sound subsystem with 16-channel hardware fetch (DMA), mixing and playback of digitized sound, where even 4bit ADPCM samples are supported directly. Additionally there's hardware support for a number of synth and noise generator channels.

The ARM7 is free to use for whatever, it's not really tied to a screen. The two CPUs can even cooperate for graphics (ARM7 traverses scene graph to build a render list, ARM9 reads that list and pushes the appropriate polygons; something like that).
So, is really there a discrete DSP or ASIC for sound? :oops:
 
Murakami said:
So, is really there a discrete DSP or ASIC for sound? :oops:
There's nothing "discrete" in the DS really. It's all basically a single chip where all components are integrated.

There is definitely dedicated sound hardware in there somewhere, that performs all the functions I described. Not a DSP as far as I can tell, but that isn't really the point I guess.
 
zeckensack said:
There's nothing "discrete" in the DS really. It's all basically a single chip where all components are integrated.

There is definitely dedicated sound hardware in there somewhere, that performs all the functions I described. Not a DSP as far as I can tell, but that isn't really the point I guess.
Very interesting... :oops:
 
zeckensack said:
There's nothing "discrete" in the DS really. It's all basically a single chip where all components are integrated.
Yeah, apart from the 4MB of memory, which is a separate IC from what I believe. And the wifi radio, but that shouldn't be much of a surprise to anyone I think. :)

Are all 2D/3D screen buffers placed in main memory, or are there separate video memory areas integrated on the main die? And what color depth does DS support in 3D mode?
 
Guden Oden said:
It does have a GPU with - according to Fafalada - a fairly modern feature-set, though it needs to be programmed in a quite different/quirky fashion compared to other 3D accelerators it seems.

Some features of the DS GPU include texture mapping (though it's not entirely perspective correct, and only point sampling texture filtering), alpha blending (not sure if it has full blendmodes or not) and hardware transform and lighting (fixed function, unsure if there is skinning matrix support).

DS's T&L unit has a configurable matrix processor, so its not entirely fixed funtion.
 
Last edited by a moderator:
Okay you guys "in the know", here's a suggestion. You know what we would like to know more about, so just tell us as much as possibly can without breaking your strict NDAs. PLEASE!!
:D :oops:
It doesn't have to be a very wordy post just a simple list of specs and features.
Personally, I would really like to know more about the texture compression.
It will be highly appreciated.
 
Both processors can indeed be used for one display - Square-Enix is doing so for parts of Final Fantasy III.
 
Tagrineth said:
Both processors can indeed be used for one display - Square-Enix is doing so for parts of Final Fantasy III.

Just curious, but how did u know this?

And if u somehow have the 'inside track', how are the loadtimes in this game coming along? Are they being improved?
 
How can there be loadtimes? Besides, are you sure what is being experienced really is 'loadtimes' and not some sort of artistic fade to black (inserted for whatever cryptic reason).

The machine only has 4MB of RAM, even filling all of it should not take very long. Certainly not long enough to cause bother, I've not seen any loadtimes whatsoever in any of the DS titles I've played. Well, not above what can be hidden by passing from a menu to gameplay or such anyway.
 
Maybe decompression or some other expensive initialization of RAM (heap management, whatever).

E.g. there are very noticable "load times" in Metroid Prime: Hunters. I would have said that such pauses in a DS game are explained by sloppy/quick programming work ... how difficult can it fill/set 4MB of RAM to a known state?
OTOH I really want to give the MPH team the benefit of the doubt, they are really pushing the system hard IMO.

There's probably something else going on that I don't know about. I think I once read, somewhere, that the NDS cartridges can carry an extended "file system" beyond the end of addressable ROM, to allow very large amounts of game data, though the info is both inofficial and inconclusive. If there's any merit to that, MPH might be a game that uses this. I really wouldn't believe they can cram those FMVs and the whole game into the "normal" ROM size. Final Fantasy III might involve lots of FMV, too.

Anyway, such pauses do exist in games.
 
Maybe it's like flash-RAM that can be very large but also very slow (compared to real RAM). I believe flash memory is doing some sort of bank switching and is using a pretty narrow bus to get the data out of the die.
Resident Evil 2 on N64 was on a 64Mb one chip ROM IIRC. ROMs must have advanced significantly since then, 128Mb and larger must be very cheap by now.
Also new tech such 3D matrix ROMs, with two or more layers on the same die, might make burnable 1Gb ROMs feasible. Anyone know the state of that tech?
 
Back
Top