BNCD files (Binary Nitro Cell Data) store cell bank and graphics data. These files are present in the DS firmware program.
Format Version 1.1#
This version of the format appears in the DS firmware program (IPL2). It has a header that takes on the following structure:
Offset | Type | Meaning |
---|---|---|
0x00 | char[4] | File signature ("JNCD") |
0x04 | u16 | Version (0x101 for 1.1) |
0x06 | u16 | Number of cells |
0x08 | u32 | Offset to cell data, relative to the start of the file. |
0x0C | u32 | Offset to OBJ data, relative to the start of the file. |
0x10 | u32 | Offset to OBJ graphics, relative to the start of the file. |
0x14 | u32 | Size of OBJ graphics, in bytes. |
0x18 | u32 | Mapping mode shift. This corresponds to bits 20-21 of DISPCNT. |
Cells are looked up by index. The offset to cell data points to an array of the following structure:
Offset | Type | Meaning |
---|---|---|
0x00 | u8 | Cell width in pixels |
0x01 | u8 | Cell height in pixels |
0x02 | u16 | Starting OBJ index |
0x04 | u16 | Number of OBJ in this cell |
The cell data references OBJ in the OBJ data array pointed to by the file header. It is an array of the following structure:
Offset | Type | Meaning |
---|---|---|
0x00 | u16 | OAM attribute 0 |
0x02 | u16 | OAM attribute 1 |
0x04 | u16 | OAM attribute 2, with the character name field cleared. |
0x06 | u16 | Padding |
0x08 | u16 | Character name for this OBJ. Used to relocate character name pointers at runtime. |
0x0A | u16 | Size of character data referenced by this OBJ, in character name units. |
OBJ data is arranged with (0,0) at the top left corner of the cell, hence no minimum/maximum coordinates are stored.
Add new attachment
Only authorized users are allowed to upload new attachments.
«
This page (revision-2) was last changed on 19-Dec-2024 19:19 by Garhoogin
JSPWiki v2.10.4