Cameras
This article is a stub. You can help DSiBrew by expanding it. |
The Nintendo DSi contains two cameras. The cameras can be used in the Nintendo DSi Camera application or DSi games that are compatible.
Specifications
- 0.3 Megapixel
- 640*480 VGA
- No zoom and no flash.
- Photos saved in JPG format (saved in DCIM/ folder on the SD/SDHC or in the internal memory)
Applications/Games compatible
Applications
Games
- Asphalt 4 : Elite Racing (DSiWare)
- Brain Challenge (DSiWare)
- Classic Word Games
- Cooking Coach
- Pop SuperStar : Road To Celebrity (DSiWare)
- Real Football 2009 (DSiWare)
- WarioWare : Snapped! (DSiWare)
- iCarly
- Pokemon Black,White (2010,JP)
- Castle of Magic (DSiWare)
- Photo Dojo (DSiWare)
Camera registers
The cameras are controlled and initialized with I2C. The below registers are accessed by the arm9.
ADDRESS | WIDTH | NAME |
---|---|---|
0x04004200 | 2 | REG_CAMRST |
0x04004202 | 2 | REG_CAMCNT |
0x04004204 | 4 | REG_CAMDATA |
REG_CAMRST
BIT | DESCRIPTION |
---|---|
15-0 | ? |
Used for resetting cameras/DSP. Once cameras/DSP are reset by poking this register, REG_CAMDATA and REG_CAMCNT are cleared by hw.
REG_CAMCNT
BIT | DESCRIPTION |
---|---|
0-3 | ? |
4 | IRQ error flag |
5 | Resets cameras/DSP when set? |
7-6 | ? |
9-8 | Set to 2(bit9 set) during init, cleared to zero on shutdown |
10 | Set to 1 during init, 0 on cameras/DSP shutdown |
11 | Set to 1 during init, 0 on cameras/DSP shutdown |
12 | ? |
13 | Set during initialization? |
14 | Cleared during initialization? |
15 | Enable |
When the IRQ error flag is set when the cameras IRQ handler is executing, the cameras are shut off.
REG_CAMDATA
BIT | DESCRIPTION |
---|---|
31-0 | RGB555 video data converted by DSP |
For retrieving camera video data, NDMA with arm9 startup mode 11(camera) is used with this src register. The NDMA frame transfer is started when the cameras IRQ was thrown. Supported DSP final resolutions are 256x192 and 640x480, the corresponding frame transfer lengths are 0x18000 and 0x96000.(The 256x192 final resolution is converted by the DSP from the camera resolution)
The DSP fw binary still seems to be loaded after cameras were used in the exploited title, as reading this register(with cameras reinitialized prior to that) results in changing data rather than fixed data. The DSP is a proprietary CEVA DSP, since this ISA is proprietary fw binaries can't be compiled for it. Thus homebrew could potentially only use cameras when the exploited title can use cameras and cameras were used in the title prior to running hax.