#define DISPCNT__obj_extended_palette (0x1 << 31) #define DISPCNT__bg_extended_palette (0x1 << 30) #define DISPCNT__bg_screen_base_offset(v) (((v) & 0x7) << 27) #define DISPCNT__bg_character_base_offset(v) (((v) & 0x7) << 24) #define DISPCNT__obj_processing_during_h_blank_period (0x1 << 23) #define DISPCNT__obj_vram_capacity__128kb (0x0 << 22) #define DISPCNT__obj_vram_capacity__256kb (0x1 << 22) #define DISPCNT__character_vram_capacity__32kb (0x0 << 20) #define DISPCNT__character_vram_capacity__64kb (0x1 << 20) #define DISPCNT__character_vram_capacity__128kb (0x2 << 20) #define DISPCNT__character_vram_capacity__256kb (0x3 << 20) #define DISPCNT__display_vram_block__vram_a (0x0 << 18) #define DISPCNT__display_vram_block__vram_b (0x1 << 18) #define DISPCNT__display_vram_block__vram_c (0x2 << 18) #define DISPCNT__display_vram_block__vram_d (0x3 << 18) #define DISPCNT__display_mode__display_off (0x0 << 16) #define DISPCNT__display_mode__graphics_display (0x1 << 16) #define DISPCNT__display_mode__vram_display (0x2 << 16) #define DISPCNT__display_mode__main_memory_display (0x3 << 16) #define DISPCNT__obj_window__disable (0x0 << 15) #define DISPCNT__obj_window__enable (0x1 << 15) #define DISPCNT__window_1__disable (0x0 << 14) #define DISPCNT__window_1__enable (0x1 << 14) #define DISPCNT__window_0__disable (0x0 << 13) #define DISPCNT__window_0__enable (0x1 << 13) #define DISPCNT__obj__disable (0x0 << 12) #define DISPCNT__obj__enable (0x1 << 12) #define DISPCNT__bg3__disable (0x0 << 11) #define DISPCNT__bg3__enable (0x1 << 11) #define DISPCNT__bg2__disable (0x0 << 10) #define DISPCNT__bg2__enable (0x1 << 10) #define DISPCNT__bg1__disable (0x0 << 9) #define DISPCNT__bg1__enable (0x1 << 9) #define DISPCNT__bg0__disable (0x0 << 8) #define DISPCNT__bg0__enable (0x1 << 8) #define DISPCNT__2d_display_forced_blank (0x1 << 7) #define DISPCNT__bitmap_obj_mapping_mode__2d_mapping_with_128_horizontal_dots (0x0 << 5) #define DISPCNT__bitmap_obj_mapping_mode__2d_mapping_with_256_horizontal_dots (0x1 << 5) #define DISPCNT__bitmap_obj_mapping_mode__1d_mapping (0x2 << 5) #define DISPCNT__character_obj_mapping_mode__2d_mapping (0x0 << 4) #define DISPCNT__character_obj_mapping_mode__1d_mapping (0x1 << 4) #define DISPCNT__2d_3d_display_selection_for_bg0__display_2d_graphics (0x0 << 3) #define DISPCNT__2d_3d_display_selection_for_bg0__display_3d_graphics (0x1 << 3) #define DISPCNT__bg_mode__text0_text1_text2_text3 (0x0 << 0) #define DISPCNT__bg_mode__text0_text1_text2_affine3 (0x1 << 0) #define DISPCNT__bg_mode__text0_text1_affine2_affine3 (0x2 << 0) #define DISPCNT__bg_mode__text0_text1_text2_extended3 (0x3 << 0) #define DISPCNT__bg_mode__text0_text1_affine2_extended3 (0x4 << 0) #define DISPCNT__bg_mode__text0_text1_extended2_extended3 (0x5 << 0) #define DISPCNT__bg_mode__3d_large_screen_256_color_bitmap (0x6 << 0) #define DISPSTAT__v_counter_match_interrupt_request__disable (0x0 << 5) #define DISPSTAT__v_counter_match_interrupt_request__enable (0x1 << 5) #define DISPSTAT__h_blank_interrupt_request__disable (0x0 << 4) #define DISPSTAT__h_blank_interrupt_request__enable (0x1 << 4) #define DISPSTAT__v_blank_interrupt_request__disable (0x0 << 3) #define DISPSTAT__v_blank_interrupt_request__enable (0x1 << 3) #define DISPSTAT__v_counter_match_detection__outside_a_matching_interval (0x0 << 2) #define DISPSTAT__v_counter_match_detection__during_a_matching_interval (0x1 << 2) #define DISPSTAT__h_blank_detection__outside_h_blank_interval (0x0 << 1) #define DISPSTAT__h_blank_detection__during_h_blank_interval (0x1 << 1) #define DISPSTAT__v_blank_detection__outside_v_blank_interval (0x0 << 0) #define DISPSTAT__v_blank_detection__during_v_blank_interval (0x1 << 0) #define VCOUNT__v_counter_value(v) (((v) >> 0) & 0x1ff) #define BG0CNT__screen_size__256x256 (0x0 << 14) #define BG0CNT__screen_size__512x256 (0x1 << 14) #define BG0CNT__screen_size__256x512 (0x2 << 14) #define BG0CNT__screen_size__512x512 (0x3 << 14) #define BG0CNT__bg_extended_palette_slot__slot_0 (0x0 << 13) #define BG0CNT__bg_extended_palette_slot__slot_2 (0x1 << 13) #define BG0CNT__screen_base_block(v) (((v) & 0x1f) << 8) #define BG0CNT__color_mode__16_color_mode (0x0 << 7) #define BG0CNT__color_mode__256_color_mode (0x1 << 7) #define BG0CNT__mosaic__disable (0x0 << 6) #define BG0CNT__mosaic__enable (0x1 << 6) #define BG0CNT__character_base_block(v) (((v) & 0xf) << 2) #define BG0CNT__priority(v) (((v) & 0x3) << 0) #define BG1CNT__screen_size__256x256 (0x0 << 14) #define BG1CNT__screen_size__512x256 (0x1 << 14) #define BG1CNT__screen_size__256x512 (0x2 << 14) #define BG1CNT__screen_size__512x512 (0x3 << 14) #define BG1CNT__bg_extended_palette_slot__slot_1 (0x0 << 13) #define BG1CNT__bg_extended_palette_slot__slot_3 (0x1 << 13) #define BG1CNT__screen_base_block(v) (((v) & 0x1f) << 8) #define BG1CNT__color_mode__16_color_mode (0x0 << 7) #define BG1CNT__color_mode__256_color_mode (0x1 << 7) #define BG1CNT__mosaic__disable (0x0 << 6) #define BG1CNT__mosaic__enable (0x1 << 6) #define BG1CNT__character_base_block(v) (((v) & 0xf) << 2) #define BG1CNT__priority(v) (((v) & 0x3) << 0) #define BG2CNT__screen_size__256x256 (0x0 << 14) #define BG2CNT__screen_size__512x256 (0x1 << 14) #define BG2CNT__screen_size__256x512 (0x2 << 14) #define BG2CNT__screen_size__512x512 (0x3 << 14) #define BG2CNT__out_of_area_processing__transparent_display (0x0 << 13) #define BG2CNT__out_of_area_processing__wraparound_display (0x1 << 13) #define BG2CNT__screen_base_block(v) (((v) & 0x1f) << 8) #define BG2CNT__color_mode__16_color_mode (0x0 << 7) #define BG2CNT__color_mode__256_color_mode (0x1 << 7) #define BG2CNT__mosaic__disable (0x0 << 6) #define BG2CNT__mosaic__enable (0x1 << 6) #define BG2CNT__character_base_block(v) (((v) & 0xf) << 2) #define BG2CNT__priority(v) (((v) & 0x3) << 0) #define BG3CNT__screen_size__256x256 (0x0 << 14) #define BG3CNT__screen_size__512x256 (0x1 << 14) #define BG3CNT__screen_size__256x512 (0x2 << 14) #define BG3CNT__screen_size__512x512 (0x3 << 14) #define BG3CNT__out_of_area_processing__transparent_display (0x0 << 13) #define BG3CNT__out_of_area_processing__wraparound_display (0x1 << 13) #define BG3CNT__screen_base_block(v) (((v) & 0x1f) << 8) #define BG3CNT__color_mode__16_color_mode (0x0 << 7) #define BG3CNT__color_mode__256_color_mode (0x1 << 7) #define BG3CNT__mosaic__disable (0x0 << 6) #define BG3CNT__mosaic__enable (0x1 << 6) #define BG3CNT__character_base_block(v) (((v) & 0xf) << 2) #define BG3CNT__priority(v) (((v) & 0x3) << 0) #define OBJ_ATTRIBUTE_0__obj_shape__square (0x0 << 14) #define OBJ_ATTRIBUTE_0__obj_shape__long_rectangle (0x1 << 14) #define OBJ_ATTRIBUTE_0__obj_shape__tall_rectangle (0x2 << 14) #define OBJ_ATTRIBUTE_0__color_mode__16_color_mode (0x0 << 13) #define OBJ_ATTRIBUTE_0__color_mode__256_color_mode (0x1 << 13) #define OBJ_ATTRIBUTE_0__mosaic__off (0x0 << 12) #define OBJ_ATTRIBUTE_0__mosaic__on (0x1 << 12) #define OBJ_ATTRIBUTE_0__obj_mode__normal (0x0 << 10) #define OBJ_ATTRIBUTE_0__obj_mode__translucent (0x1 << 10) #define OBJ_ATTRIBUTE_0__obj_mode__obj_window (0x2 << 10) #define OBJ_ATTRIBUTE_0__obj_mode__bitmap_obj (0x3 << 10) #define OBJ_ATTRIBUTE_0__double_size__disable (0x0 << 9) #define OBJ_ATTRIBUTE_0__double_size__enable (0x1 << 9) #define OBJ_ATTRIBUTE_0__affine_transformation__disable (0x0 << 8) #define OBJ_ATTRIBUTE_0__affine_transformation__enable (0x1 << 8) #define OBJ_ATTRIBUTE_0__y_coordinate(v) (((v) & 0xff) << 0)