Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Cannot modify header information - headers already sent by (output started at /usr/share/web/joat/webshare/ds/index.php:1101) in /usr/share/web/joat/webshare/ds/index.php on line 885
NDSTech Wiki : 2 D Core browse
Video /
2 D Core

Menu

Getting Started

System Information

Misc

There are two nearly identical 2D cores in the Nintendo DS. The main core has an additional background mode.

NOTE: SOME OF THIS INFORMATION IS WRONG, BEWARE

Core-specific registers

CoreRegister offset
A0x04000000
B0x04001000
Offset:WidthModeName
0x00:32R/WDISPLAY_CR
0x08:16R/WBG0_CR
0x0A:16R/WBG1_CR
0x0C:16R/WBG2_CR
0x0E:16R/WBG3_CR
0x10:16WBG0_X
0x12:16WBG0_Y
0x14:16WBG1_X
0x16:16WBG1_Y
0x18:16WBG2_X
0x1A:16WBG2_Y
0x1C:16WBG3_X
0x1E:16WBG3_Y
0x20:16WBG2_HDX
0x22:16WBG2_HDY
0x24:16WBG2_VDX
0x26:16WBG2_VDY
0x28:32WBG2_X0
0x2C:32WBG2_Y0
0x30:16WBG3_HDX
0x32:16WBG3_HDY
0x34:16WBG3_VDX
0x36:16WBG3_VDY
0x38:32WBG3_X0
0x3C:32WBG3_Y0
0x40:16WWIN0_X
0x42:16WWIN1_X
0x44:16WWIN0_Y
0x46:16WWIN1_Y
0x48:16R/WWIN_IN (3f3f)
0x4A:16R/WWIN_OUT (3f3f)
0x4C:16WMOSAIC
0x50:16R/WBLEND_CR (3fff)
0x52:16R/WBLEND_AB (1f1f)
0x54:16WBLEND_Y
0x6C:16R/WBRIGHT_CR (c01f)

DISPLAY_CONTROL

bitname
31Extended sprite palette enable
30Extended background palette enable
29..24?
23?
22..20Extended sprite mode
19..18Framebuffer select (extended mode 2)
17..16Extended mode
15Sprite window enable
14Window 1 enable
13Window 0 enable
12Sprite enable
11BG3 enable
10BG2 enable
9BG1 enable
8BG0 enable
7Forced blank
6..4Sprite mode
30: BG0 is 2D layer, 1: BG0 is 3D layer
2..0Display mode

Extended Mode:

  • 0: Framebuffer
  • 1: GBA-style (see display mode)
  • 2: acts like framebuffer
  • 3: ?

DISP_CR2

bitname
31Extended sprite palette enable
30Extended background palette enable
29..23?
22..20Extended sprite mode
19..18?
17..16Extended mode
15Sprite window enable
14Window 1 enable
13Window 0 enable
12Sprite enable
11BG3 enable
10BG2 enable
9BG1 enable
8BG0 enable
7Forced blank
6..4Sprite mode
3?
2..0Display mode

Extended Mode:

  • 0: ?
  • 1: GBA-style (see display mode)
  • 2: ?
  • 3: ?

NOTE: THIS INFORMATION IS POSSIBLY WRONG Display Mode (ignored unless Extended Mode is 1):

  • 0: Mode 0 (4 text layers)
  • 1: Mode 1 (2 text layers, 1 rot/scale)
  • 2: Mode 2 (2 rot/scale)
  • 3: Mode 3 (15 bpp framebuffer, single page)
  • 4: Mode 4 (8 bpp indexed framebuffer, double buffered)
  • 5: Mode 5 (bg0 is text/3d, bg1 is text, bg2 is extended rot/scale background)
  • 6: Mode 6 ?

Extended rot/scale background in mode 5: Size fields: BG_BMP16_128x128 BG_BMP16_256x256 BG_BMP16_512x256 BG_BMP16_512x512

Each element in the background is a 16 bit direct-color entry A1B5G5R5. If the top bit is zero, the pixel is transparent, otherwise it is opaque.

Differences to the GBA:

  • Alpha bit (modes 3 and 5 were always opaque on GBA)
  • Multiple sizes
  • Rot/scale registers are *not* set to straight display by default

BRIGHT_CR

bitname
15..14Mode
13..5-
4..0Amount

Mode:

  • 00, 11: Amount ignored, middle brightness
  • 01: Increase, brightness = middle + amount (0x8 and above are pretty much useless)
  • 10: Decrease, brightness = middle - amount (0x8 and above are pretty much useless)

Bits marked as - read as 0, and ignore writes.

Recent Changes (All) | Edit SideBar

Page last modified on November 27, 2005, at 02:05 AM
Edit Page | Page History
Everything done on this project is for the sole purpose of writing interoperable software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.
This site is not affiliated with Nintendo in any manner. Nintendo DS © 2004 Nintendo. TM and ® are trademarks of Nintendo.
Powered by PmWiki