Files
pokeplatinum/tools/nitrorom/include/constants.h
James Petersen 78c1991f31
Some checks failed
build / build (push) Has been cancelled
Transition to compiled arm7 binary (#1247)
Co-authored-by: Rachel <rachel@lhea.me>
2026-08-11 02:36:58 -04:00

86 lines
2.8 KiB
C

// SPDX-License-Identifier: MIT
#ifndef CONSTANTS_H
#define CONSTANTS_H
#define HEADER_BSIZE 0x4000
#define BANNER_BSIZE_V1 0x0840
#define BANNER_BSIZE_V2 0x0940
#define BANNER_BSIZE_V3 0x1240
#define ROM_ALIGN 0x200
#define TRY_CAPSHIFT_BASE 0x00020000
#define MAX_CAPSHIFT_MROM 10
#define MAX_CAPSHIFT_PROM 15
#define OFS_HEADER_TITLE 0x000
#define OFS_HEADER_SERIAL 0x00C
#define OFS_HEADER_MAKER 0x010
#define OFS_HEADER_CHIPCAPACITY 0x014
#define OFS_HEADER_REVISION 0x01E
#define OFS_HEADER_ARM9_ROMOFFSET 0x020
#define OFS_HEADER_ARM9_ENTRYPOINT 0x024
#define OFS_HEADER_ARM9_LOADADDR 0x028
#define OFS_HEADER_ARM9_LOADSIZE 0x02C
#define OFS_HEADER_ARM7_ROMOFFSET 0x030
#define OFS_HEADER_ARM7_ENTRYPOINT 0x034
#define OFS_HEADER_ARM7_LOADADDR 0x038
#define OFS_HEADER_ARM7_LOADSIZE 0x03C
#define OFS_HEADER_FNTB_ROMOFFSET 0x040
#define OFS_HEADER_FNTB_BSIZE 0x044
#define OFS_HEADER_FATB_ROMOFFSET 0x048
#define OFS_HEADER_FATB_BSIZE 0x04C
#define OFS_HEADER_OVT9_ROMOFFSET 0x050
#define OFS_HEADER_OVT9_BSIZE 0x054
#define OFS_HEADER_OVT7_ROMOFFSET 0x058
#define OFS_HEADER_OVT7_BSIZE 0x05C
#define OFS_HEADER_ROMCTRL_DEC 0x060
#define OFS_HEADER_ROMCTRL_ENC 0x064
#define OFS_HEADER_BANNER_ROMOFFSET 0x068
#define OFS_HEADER_SECURECRC 0x06C
#define OFS_HEADER_SECURE_DELAY 0x06E
#define OFS_HEADER_ARM9_AUTOLOADCB 0x070
#define OFS_HEADER_ARM7_AUTOLOADCB 0x074
#define OFS_HEADER_ROMSIZE 0x080
#define OFS_HEADER_HEADERSIZE 0x084
#define OFS_HEADER_STATICFOOTER 0x088
#define OFS_HEADER_HEADERCRC 0x15E
#define LEN_HEADER_TITLE 12
#define LEN_HEADER_SERIAL 4
#define LEN_HEADER_MAKER 2
#define ST_MROM 0x051E
#define ST_PROM 0x0D7E
#define ROMCTRL_DEC_MROM 0x00586000
#define ROMCTRL_ENC_MROM 0x001808F8
#define ROMCTRL_DEC_PROM 0x00416657
#define ROMCTRL_ENC_PROM 0x081808F8
#define OFS_BANNER_CRC_V1OFFSET 0x002
#define OFS_BANNER_CRC_V2OFFSET 0x004
#define OFS_BANNER_CRC_V3OFFSET 0x006
#define OFS_BANNER_ICON_BITMAP 0x020
#define OFS_BANNER_ICON_PALETTE 0x220
#define OFS_BANNER_TITLE_JP 0x240
#define OFS_BANNER_TITLE_EN 0x340
#define OFS_BANNER_TITLE_FR 0x440
#define OFS_BANNER_TITLE_DE 0x540
#define OFS_BANNER_TITLE_IT 0x640
#define OFS_BANNER_TITLE_ES 0x740
#define OFS_BANNER_TITLE_CN 0x840
#define OFS_BANNER_TITLE_KR 0x940
#define ICON_BITMAP_DIMEN 32
#define ICON_BITMAP_BSIZE ((ICON_BITMAP_DIMEN * ICON_BITMAP_DIMEN) / 2)
#define ICON_COLOR_BSIZE 2
#define ICON_COLOR_DEPTH 16
#define ICON_PALETTE_BSIZE (ICON_COLOR_DEPTH * ICON_COLOR_BSIZE)
#define UNICODE_BMP_BSIZE 2
#define BANNER_TITLE_LEN 128
#define BANNER_TITLE_BSIZE (UNICODE_BMP_BSIZE * BANNER_TITLE_LEN)
#endif // CONSTANTS_H