Cartridge banner format
The banner contains the program title in different languages and the icon. There
are different versions of the banner that support additional content. The
section start offset is defined in the header at 0x68
. Additional
in DSi-enhanced or exclusive games, the header also contains the banner length
at 0x208
.
Binary format
Offset | Format | Description |
---|---|---|
0x00 | ushort | Version (major.minor) |
0x02 | ushort | CRC-16 basic banner [0x20..0x840) |
0x04 | ushort | (Version >= 0.1) CRC-16 with Chinese [0x20..0x940) |
0x06 | ushort | (Version >= 0.2) CRC-16 with Korean [0x20..0xA40) |
0x08 | ushort | (Version >= 1.3) CRC-16 animated icon [0x1240..0x23C0) |
0x0A | byte[22] | Reserved |
0x20 | Pixel[1024] | 4 bpp indexed tiled pixels for 32x32 icon |
0x220 | Color[16] | 16 BGR-555 colors |
0x240 | char[256] | Japanese title |
0x340 | char[256] | English title |
0x440 | char[256] | French title |
0x540 | char[256] | German title |
0x640 | char[256] | Italian title |
0x740 | char[256] | Spanish title |
0x840 | char[256] | (Version >= 0.1) Chinese title |
0x940 | char[256] | (Version >= 0.2) Korean title |
0xA40 | byte[0x800] | Reserved |
0x1240 | Pixel[8192] | 4 bpp indexed tiled pixels animated bitmap 0..7 |
0x2240 | Color[128] | 16 x 8 BGR-555 colors |
0x2340 | byte[0x80] | Animation sequence |
The encoding for the title text is UTF-16. Titles may be empty, filled with
0x00
.
Icon format
The icon is an indexed bitmap of 32 x 32 pixels. The format is 4 bpp, each pixel byte points to two pixel colors in the palette (4-bits for each pixel). The pixels follow a tile order. This means they are not lineal, but each block of 64 pixels defines a 8x8 pixels block of the image.
The palette colors have the format BGR555
. Each color is defined in an
unsigned 16-bits values. There are 5-bits per component (higher bit is unused).
Animated icon
The animation sequence defines each frame of the animation. It points to one of the 8 bitmaps and one of the 8 palettes. It also defines the duration of the frame. The animation sequence are 16-bits values defined as:
Bits | Description |
---|---|
0-7 | Frame duration in 60 Hz units |
8-10 | Bitmap index |
11-13 | Palette index |
14 | Horizontal flip |
15 | Vertical flip |