Difference between revisions of "Cameras"

From DSiBrew
Jump to navigation Jump to search
(28 intermediate revisions by 9 users not shown)
Line 4: Line 4:
  
 
== Specifications ==
 
== Specifications ==
 +
 +
[[Image:DSiCameraSampleImage.jpg|200px|thumb|right|A picture taken with the DSi's camera.]]
  
 
* 0.3 Megapixel  
 
* 0.3 Megapixel  
 
* 640*480 VGA
 
* 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)
 
* Photos saved in JPG format (saved in [[DCIM/]] folder on the SD/SDHC or in the internal memory)
  
Line 14: Line 17:
  
 
* [[Nintendo DSi Camera]]
 
* [[Nintendo DSi Camera]]
 +
* [[System Menu]]
  
 
=== Games ===
 
=== Games ===
  
* WarioWare : Snapped!
+
* 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 (ARM7) ==
 +
 
 +
The cameras are controlled and initialized with [[I2C_Bus#Cameras|I2C Bus]] on ARM7 side.
 +
 
 +
== Camera registers (ARM9) ==
 +
 
 +
The actual data transfers are done on ARM9 side with below registers.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
!  ADDRESS
 +
!  WIDTH
 +
!  NAME
 +
|-
 +
|  0x04004200
 +
|  2
 +
|  REG_CAMRST
 +
|-
 +
|  0x04004202
 +
|  2
 +
|  REG_CAMCNT
 +
|-
 +
|  0x04004204
 +
|  4
 +
|  REG_CAMDATA
 +
|-
 +
|  0x04004210
 +
|  4
 +
|  REG_CAM_?
 +
|-
 +
|  0x04004214
 +
|  4
 +
|  REG_CAM_?
 +
|}
 +
 
 +
=== REG_CAMRST ===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  BIT
 +
!  DESCRIPTION
 +
|-
 +
| 15-0
 +
| ?
 +
|}
 +
 
 +
Used for resetting cameras. Once cameras are reset by poking this register, all three 0x0400420X camera registers are set to zero.
 +
 
 +
=== REG_CAMCNT ===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  BIT
 +
!  DESCRIPTION
 +
|-
 +
| 0-3
 +
| ?
 +
|-
 +
| 4
 +
| IRQ error flag
 +
|-
 +
| 5
 +
| Resets cameras 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 shutdown
 +
|-
 +
| 11
 +
| Set to 1 during init, 0 on cameras shutdown
 +
|-
 +
| 12
 +
| ?
 +
|-
 +
| 13
 +
| Set during initialization?
 +
|-
 +
| 14
 +
| Cleared during initialization?
 +
|-
 +
| 15
 +
| Enable
 +
|}
 +
 
 +
When the IRQ error flag is set when the cameras [[Interrupts|IRQ]] handler is executing, the cameras are shut off. The cameras I2C devices are powered off until cameras are initialized via this register.
 +
 
 +
=== REG_CAMDATA ===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  BIT
 +
!  DESCRIPTION
 +
|-
 +
| 31-0
 +
| RGB555 video data converted by internal-cameras 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 [[Interrupts|IRQ]] was thrown. Supported internal-cameras DSP final resolutions are 256x192 and 640x480, the corresponding frame transfer lengths are 0x18000 and 0x96000.(The 256x192 final resolution is converted by the internal-cameras DSP from the camera resolution)
  
 
== See also ==
 
== See also ==
  
 +
* [[Hardware|DSi Hardware]]
 
* [[Nintendo DSi Camera]]
 
* [[Nintendo DSi Camera]]

Revision as of 17:01, 16 July 2013

The Nintendo DSi contains two cameras. The cameras can be used in the Nintendo DSi Camera application or DSi games that are compatible.

Specifications

A picture taken with the DSi's camera.
  • 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 (ARM7)

The cameras are controlled and initialized with I2C Bus on ARM7 side.

Camera registers (ARM9)

The actual data transfers are done on ARM9 side with below registers.

ADDRESS WIDTH NAME
0x04004200 2 REG_CAMRST
0x04004202 2 REG_CAMCNT
0x04004204 4 REG_CAMDATA
0x04004210 4 REG_CAM_?
0x04004214 4 REG_CAM_?

REG_CAMRST

BIT DESCRIPTION
15-0 ?

Used for resetting cameras. Once cameras are reset by poking this register, all three 0x0400420X camera registers are set to zero.

REG_CAMCNT

BIT DESCRIPTION
0-3 ?
4 IRQ error flag
5 Resets cameras 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 shutdown
11 Set to 1 during init, 0 on cameras 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. The cameras I2C devices are powered off until cameras are initialized via this register.

REG_CAMDATA

BIT DESCRIPTION
31-0 RGB555 video data converted by internal-cameras 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 internal-cameras DSP final resolutions are 256x192 and 640x480, the corresponding frame transfer lengths are 0x18000 and 0x96000.(The 256x192 final resolution is converted by the internal-cameras DSP from the camera resolution)

See also