forked from Mirror/GodMode9
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#pragma once
|
|
|
|
#include "common.h"
|
|
|
|
// very limited, information taken from here:
|
|
// https://github.com/devkitPro/ndstool/blob/dsi-support/source/header.h
|
|
typedef struct {
|
|
// common stuff (DS + DSi)
|
|
char game_title[12];
|
|
char game_code[4];
|
|
char maker_code[2];
|
|
u8 unit_code; // (0x00=NDS, 0x02=NDS+DSi, 0x03=DSi)
|
|
u8 seed_select;
|
|
u8 device_capacity; // cartridge size: (128 * 1024) << this
|
|
u8 reserved0[7];
|
|
u8 unknown0[2];
|
|
u8 rom_version;
|
|
u8 flags;
|
|
u8 ignored0[0x60]; // ignored
|
|
u32 ntr_rom_size; // in byte
|
|
u32 header_size;
|
|
u8 reserved1[56];
|
|
u8 logo[156];
|
|
u16 logo_crc;
|
|
u16 header_crc;
|
|
u8 debugger_reserved[0x20];
|
|
// extended mode stuff (DSi only)
|
|
u8 ignored1[0x40]; // ignored
|
|
u32 arm9i_rom_offset;
|
|
u32 reserved2;
|
|
u32 arm9i_load_adress;
|
|
u32 arm9i_size;
|
|
u32 arm7i_rom_offset;
|
|
u32 unknown1;
|
|
u32 arm7i_load_adress;
|
|
u32 arm7i_size;
|
|
u8 ignored2[0x30]; // ignored
|
|
u32 ntr_twl_rom_size;
|
|
u8 unknown2[12];
|
|
u8 ignored3[0x10]; // ignored
|
|
u64 title_id;
|
|
u32 pubsav_size;
|
|
u32 prvsav_size;
|
|
u8 reserved3[176];
|
|
u8 unknown3[0x10];
|
|
u8 ignored4[0xD00]; // ignored
|
|
} __attribute__((packed)) TwlHeader;
|