Cameras: Difference between revisions
→Games: Added the DSi Exclusive "Foto Showdown" |
document camera registers |
||
| (3 intermediate revisions by one other user not shown) | |||
| Line 6: | Line 6: | ||
[[Image:DSiCameraSampleImage.jpg|200px|thumb|right|A picture taken with the DSi's camera.]] | [[Image:DSiCameraSampleImage.jpg|200px|thumb|right|A picture taken with the DSi's camera.]] | ||
Aptina MT9V113 | |||
* 0.3 Megapixel | * 0.3 Megapixel | ||
* 640*480 VGA | * 640*480 VGA | ||
* No zoom and no flash. | * No zoom and no flash. | ||
== Applications/Games compatible == | == Applications/Games compatible == | ||
| Line 33: | Line 34: | ||
* Castle of Magic (DSiWare) | * Castle of Magic (DSiWare) | ||
* Photo Dojo (DSiWare) | * Photo Dojo (DSiWare) | ||
=== Homebrew === | |||
* [[dsi-camera]] | |||
* [[dsidl]] | |||
== Camera registers (ARM7) == | == Camera registers (ARM7) == | ||
| Line 50: | Line 55: | ||
| 0x04004200 | | 0x04004200 | ||
| 2 | | 2 | ||
| | | REG_CAM_MCNT | ||
|- | |- | ||
| 0x04004202 | | 0x04004202 | ||
| 2 | | 2 | ||
| | | REG_CAM_CNT | ||
|- | |- | ||
| 0x04004204 | | 0x04004204 | ||
| 4 | | 4 | ||
| | | REG_CAM_DATA | ||
|- | |- | ||
| 0x04004210 | | 0x04004210 | ||
| 4 | | 4 | ||
| | | REG_CAM_SOFS | ||
|- | |- | ||
| 0x04004214 | | 0x04004214 | ||
| 4 | | 4 | ||
| | | REG_CAM_EOFS | ||
|} | |} | ||
=== | === REG_CAM_MCNT === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| Line 75: | Line 80: | ||
! DESCRIPTION | ! DESCRIPTION | ||
|- | |- | ||
| 15-0 | | 15-8 | ||
| | | unused | ||
|- | |||
| 7 | |||
| INI | |||
|- | |||
| 6 | |||
| V28 rail enable | |||
|- | |||
| 5 | |||
| VIO (1.8V IO voltage) rail enable | |||
|- | |||
| 4 | |||
| V18 (1.8V core voltage) rail enable | |||
|- | |||
| 3 | |||
| IRCLK | |||
|- | |||
| 2 | |||
| SYNC | |||
|- | |||
| 1 | |||
| RST | |||
|- | |||
| 0 | |||
| STDBY | |||
|} | |} | ||
| Line 88: | Line 117: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| | | NLINES | ||
|- | |- | ||
| 4 | | 4 | ||
| IRQ error flag | | IRQ FIFO-error flag | ||
|- | |- | ||
| 5 | | 5 | ||
| | | flush | ||
|- | |- | ||
| 7-6 | | 7-6 | ||
| ? | | ? | ||
|- | |- | ||
| 9 | | 8-9 | ||
| | | IREQVS | ||
|- | |- | ||
| 10 | | 10 | ||
| Set to 1 during init, 0 on cameras shutdown | | IREQBE: Set to 1 during init, 0 on cameras shutdown | ||
|- | |- | ||
| 11 | | 11 | ||
| Set to 1 during init, 0 on cameras shutdown | | IE: Set to 1 during init, 0 on cameras shutdown | ||
|- | |- | ||
| 12 | | 12 | ||
| Line 112: | Line 141: | ||
|- | |- | ||
| 13 | | 13 | ||
| | | YUV2RGB | ||
|- | |- | ||
| 14 | | 14 | ||
| | | TRIMEN | ||
|- | |- | ||
| 15 | | 15 | ||
| | | data transfer enable | ||
|} | |} | ||
| Line 124: | Line 153: | ||
=== REG_CAMDATA === | === REG_CAMDATA === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! | ||
! | ! BIT | ||
! DESCRIPTION | |||
|- | |||
! rowspan=4 | YUV422 | |||
| 0-7 | |||
| First pixel's luminance (Y) | |||
|- | |||
| 8-15 | |||
| Both pixels' blue (U) | |||
|- | |||
| 16-23 | |||
| Second pixel's luminance (Y) | |||
|- | |||
| 24-31 | |||
| Both pixels' red (V) | |||
|- | |||
! rowspan=8 | RGB555 | |||
| 0-4 | |||
| First pixel's red | |||
|- | |||
| 5-9 | |||
| First pixel's green | |||
|- | |||
| 10-14 | |||
| First pixel's blue | |||
|- | |||
| 15 | |||
| First pixel's alpha (always 1) | |||
|- | |||
| 16-20 | |||
| Second pixel's red | |||
|- | |||
| 21-25 | |||
| Second pixel's green | |||
|- | |||
| 26-30 | |||
| Second pixel's blue | |||
|- | |- | ||
| 31 | | 31 | ||
| | | Second pixel's alpha (always 1) | ||
|} | |} | ||
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) | 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) | ||
The video data can be transferred as the camera's native YUV422 for higher quality or automatically converted to the same RGB555 as the 2D engine bitmap format. No official program uses the YUV mode, but it has been used in the homebrew [[dsi-camera]]. | |||
== See also == | == See also == | ||