34#define WWCL_INIT_MODE(disp_ctrl, text_mode, scr1_addr, scr2_addr, spr_addr, reserved_name, reserved_from, reserved_to) \
35 const uint8_t __wwcl_init_display_control = disp_ctrl; \
36 const uint8_t __wwcl_init_scr_base = SCR1_BASE(scr1_addr) | SCR2_BASE(scr2_addr); \
37 const uint8_t __wwcl_init_spr_base = SPR_BASE(spr_addr); \
38 const uint8_t __wwcl_init_text_mode = text_mode; \
39 __attribute__((section(reserved_name))) \
40 const uint8_t __wwcl_reserved[(reserved_to) - (reserved_from)];
45#define WWCL_INIT_MODE_ASCII1() \
47 DISPLAY_SCR2_ENABLE, TEXT_MODE_ANK, \
48 0x3000, 0x3000, 0x2E00, ".iramx_2e00", 0x2E00, 0x4000 \
54#define WWCL_INIT_MODE_ASCII2() \
56 DISPLAY_SCR1_ENABLE | DISPLAY_SCR2_ENABLE, TEXT_MODE_ANK, \
57 0x3000, 0x2800, 0x2600, ".iramx_2600", 0x2600, 0x4000 \
63#define WWCL_INIT_MODE_JAPANESE1() \
65 DISPLAY_SCR2_ENABLE, TEXT_MODE_ANK_SJIS, \
66 0x1800, 0x1800, 0x1600, ".iramx_1600", 0x1600, 0x4000 \
72#define WWCL_INIT_MODE_JAPANESE2() \
74 DISPLAY_SCR2_ENABLE, TEXT_MODE_ANK_SJIS, \
75 0x1000, 0x1800, 0x0E00, ".iramx_0e00", 0x0E00, 0x4000 \
88#define WWCL_INIT_RESERVE_TILES_2BPP(count) \
89 __attribute__((section(".iramCx_4000"))) \
90 const uint8_t __wwcl_reserved_2bbp_tiles[(count > 512 ? count - 512 : 0) * 16];
97#define WWCL_INIT_RESERVE_TILES_4BPP(count) \
98 __attribute__((section(".iramCx_4000"))) \
99 const uint8_t __wwcl_reserved_4bpp_tiles[count * 32];
void wwcl_init(void)
Initialize the libwwcl library using a memory layout mode.
void wwcl_init_custom(void)
Initialize the libwwcl library using a custom memory layout.