#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__display_selection_for_bg0__2d_graphics (0x0 << 3) #define DISPCNT__display_selection_for_bg0__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 VRAMCNT__vram_d__disable (0x0 << 31) #define VRAMCNT__vram_d__enable (0x1 << 31) #define VRAMCNT__vram_d__ofs(v) (((v) & 0x3) << 27) #define VRAMCNT__vram_d__mst(v) (((v) & 0x7) << 24) #define VRAMCNT__vram_c__disable (0x0 << 23) #define VRAMCNT__vram_c__enable (0x1 << 23) #define VRAMCNT__vram_c__ofs(v) (((v) & 0x3) << 19) #define VRAMCNT__vram_c__mst(v) (((v) & 0x7) << 16) #define VRAMCNT__vram_b__disable (0x0 << 15) #define VRAMCNT__vram_b__enable (0x1 << 15) #define VRAMCNT__vram_b__ofs(v) (((v) & 0x3) << 11) #define VRAMCNT__vram_b__mst(v) (((v) & 0x3) << 8) #define VRAMCNT__vram_a__disable (0x0 << 7) #define VRAMCNT__vram_a__enable (0x1 << 7) #define VRAMCNT__vram_a__ofs(v) (((v) & 0x3) << 3) #define VRAMCNT__vram_a__mst(v) (((v) & 0x3) << 0) #define WVRAMCNT__wram__bank(v) (((v) & 0x3) << 24) #define WVRAMCNT__vram_g__disable (0x0 << 23) #define WVRAMCNT__vram_g__enable (0x1 << 23) #define WVRAMCNT__vram_g__ofs(v) (((v) & 0x3) << 19) #define WVRAMCNT__vram_g__mst(v) (((v) & 0x7) << 16) #define WVRAMCNT__vram_f__disable (0x0 << 15) #define WVRAMCNT__vram_f__enable (0x1 << 15) #define WVRAMCNT__vram_f__ofs(v) (((v) & 0x3) << 11) #define WVRAMCNT__vram_f__mst(v) (((v) & 0x7) << 8) #define WVRAMCNT__vram_e__disable (0x0 << 7) #define WVRAMCNT__vram_e__enable (0x1 << 7) #define WVRAMCNT__vram_e__mst(v) (((v) & 0x7) << 0) #define VRAM_HI_CNT__vram_i__disable (0x0 << 15) #define VRAM_HI_CNT__vram_i__enable (0x1 << 15) #define VRAM_HI_CNT__vram_i__mst(v) (((v) & 0x3) << 8) #define VRAM_HI_CNT__vram_h__disable (0x0 << 7) #define VRAM_HI_CNT__vram_h__enable (0x1 << 7) #define VRAM_HI_CNT__vram_h__mst(v) (((v) & 0x3) << 0) #define POWCNT__lcd_output_destination__a_to_lower__b_to_upper (0x0 << 15) #define POWCNT__lcd_output_destination__a_to_upper__b_to_lower (0x1 << 15) #define POWCNT__2d_graphics_engine_b__disable (0x0 << 9) #define POWCNT__2d_graphics_engine_b__enable (0x1 << 9) #define POWCNT__geometry_engine__disable (0x0 << 3) #define POWCNT__geometry_engine__enable (0x1 << 3) #define POWCNT__rendering_engine__disable (0x0 << 2) #define POWCNT__rendering_engine__enable (0x1 << 2) #define POWCNT__2d_graphics_engine_a__disable (0x0 << 1) #define POWCNT__2d_graphics_engine_a__enable (0x1 << 1) #define POWCNT__lcd__disable (0x0 << 0) #define POWCNT__lcd__enable (0x1 << 0) #define RDLINES_COUNT__rendered_lines_min(v) (((v) >> 0) & 0x3f) #define ALPHA_TEST_REF__comparison_value(v) (((v) & 0x1f) << 0) #define CLEAR_COLOR__clear_polygon_id(v) (((v) & 0x3f) << 24) #define CLEAR_COLOR__alpha_value(v) (((v) & 0x1f) << 16) #define CLEAR_COLOR__fog_enable (0x1 << 15) #define CLEAR_COLOR__blue(v) (((v) & 0x1f) << 10) #define CLEAR_COLOR__green(v) (((v) & 0x1f) << 5) #define CLEAR_COLOR__red(v) (((v) & 0x1f) << 0) #define CLEAR_DEPTH__value(v) (((v) & 0x7fff) << 0) #define CLRIMAGE_OFFSET__y_offset(v) (((v) & 0xff) << 8) #define CLRIMAGE_OFFSET__x_offset(v) (((v) & 0xff) << 0) #define DISP3DCNT__clear_image__disable (0x0 << 14) #define DISP3DCNT__clear_image__enable (0x1 << 14) #define DISP3DCNT__polygon_list_ram_and_vertex_ram_overflow (0x1 << 13) #define DISP3DCNT__color_buffer_underflow (0x1 << 12) #define DISP3DCNT__fog_shift(v) (((v) & 0xf) << 8) #define DISP3DCNT__fog_master__disable (0x0 << 7) #define DISP3DCNT__fog_master__enable (0x1 << 7) #define DISP3DCNT__fog_mode__blending_using_pixel_color_value_and_alpha_value (0x0 << 6) #define DISP3DCNT__fog_mode__blending_using_only_pixel_alpha_value (0x1 << 6) #define DISP3DCNT__edge_marking__disable (0x0 << 5) #define DISP3DCNT__edge_marking__enable (0x1 << 5) #define DISP3DCNT__anti_aliasing__disable (0x0 << 4) #define DISP3DCNT__anti_aliasing__enable (0x1 << 4) #define DISP3DCNT__alpha_blending__disable (0x0 << 3) #define DISP3DCNT__alpha_blending__enable (0x1 << 3) #define DISP3DCNT__alpha_test__disable (0x0 << 2) #define DISP3DCNT__alpha_test__enable (0x1 << 2) #define DISP3DCNT__toon_highlight__toon_shading (0x0 << 1) #define DISP3DCNT__toon_highlight__highlight_shading (0x1 << 1) #define DISP3DCNT__texture_mapping__disable (0x0 << 0) #define DISP3DCNT__texture_mapping__enable (0x1 << 0) #define MTX_MODE__matrix_mode__projection (0x0 << 0) #define MTX_MODE__matrix_mode__position (0x1 << 0) #define MTX_MODE__matrix_mode__position_and_vector (0x2 << 0) #define MTX_MODE__matrix_mode__texture (0x3 << 0) #define MTX_POP__number_of_pops(v) (((v) & 0x3f) << 0) #define MTX_STORE__index(v) (((v) & 0x1f) << 0) #define MTX_RESTORE__position(v) (((v) & 0x1f) << 0) #define COLOR__blue(v) (((v) & 0x1f) << 10) #define COLOR__green(v) (((v) & 0x1f) << 5) #define COLOR__red(v) (((v) & 0x1f) << 0) #define NORMAL__z_component(v) (((v) & 0x3ff) << 20) #define NORMAL__y_component(v) (((v) & 0x3ff) << 10) #define NORMAL__x_component(v) (((v) & 0x3ff) << 0) #define TEXCOORD__t_coordinate(v) (((v) & 0xffff) << 16) #define TEXCOORD__s_coordinate(v) (((v) & 0xffff) << 0) #define VTX_16__0__y_coordinate(v) (((v) & 0xffff) << 16) #define VTX_16__0__x_coordinate(v) (((v) & 0xffff) << 0) #define VTX_16__1__z_coordinate(v) (((v) & 0xffff) << 0) #define VTX_10__z_coordinate(v) (((v) & 0x3ff) << 20) #define VTX_10__y_coordinate(v) (((v) & 0x3ff) << 10) #define VTX_10__x_coordinate(v) (((v) & 0x3ff) << 0) #define VTX_XY__y_coordinate(v) (((v) & 0xffff) << 16) #define VTX_XY__x_coordinate(v) (((v) & 0xffff) << 0) #define VTX_XZ__z_coordinate(v) (((v) & 0xffff) << 16) #define VTX_XZ__x_coordinate(v) (((v) & 0xffff) << 0) #define VTX_YZ__z_coordinate(v) (((v) & 0xffff) << 16) #define VTX_YZ__y_coordinate(v) (((v) & 0xffff) << 0) #define VTX_DIFF__z_coordinate(v) (((v) & 0x3ff) << 20) #define VTX_DIFF__y_coordinate(v) (((v) & 0x3ff) << 10) #define VTX_DIFF__x_coordinate(v) (((v) & 0x3ff) << 0) #define POLYGON_ATTR__polygon_id(v) (((v) & 0x3f) << 24) #define POLYGON_ATTR__alpha_value(v) (((v) & 0x1f) << 16) #define POLYGON_ATTR__fog__disable (0x0 << 15) #define POLYGON_ATTR__fog__enable (0x1 << 15) #define POLYGON_ATTR__depth_test_condition__render_when_depth_value_is_smaller_than_buffer_value (0x0 << 14) #define POLYGON_ATTR__depth_test_condition__render_when_depth_value_is_equal_to_buffer_value (0x1 << 14) #define POLYGON_ATTR__one_dot_polygon__do_not_render (0x0 << 13) #define POLYGON_ATTR__one_dot_polygon__render (0x1 << 13) #define POLYGON_ATTR__far_plane_intersection__delete (0x0 << 12) #define POLYGON_ATTR__far_plane_intersection__clip (0x1 << 12) #define POLYGON_ATTR__translucent_depth_value_update__do_not_update (0x0 << 11) #define POLYGON_ATTR__translucent_depth_value_update__update (0x1 << 11) #define POLYGON_ATTR__render_front_surface__disable (0x0 << 7) #define POLYGON_ATTR__render_front_surface__enable (0x1 << 7) #define POLYGON_ATTR__render_back_surface__disable (0x0 << 6) #define POLYGON_ATTR__render_back_surface__enable (0x1 << 6) #define POLYGON_ATTR__polygon_mode__modulation (0x0 << 4) #define POLYGON_ATTR__polygon_mode__decal (0x1 << 4) #define POLYGON_ATTR__polygon_mode__toon (0x2 << 4) #define POLYGON_ATTR__polygon_mode__shadow (0x3 << 4) #define POLYGON_ATTR__light_3__disable (0x0 << 3) #define POLYGON_ATTR__light_3__enable (0x1 << 3) #define POLYGON_ATTR__light_2__disable (0x0 << 2) #define POLYGON_ATTR__light_2__enable (0x1 << 2) #define POLYGON_ATTR__light_1__disable (0x0 << 1) #define POLYGON_ATTR__light_1__enable (0x1 << 1) #define POLYGON_ATTR__light_0__disable (0x0 << 0) #define POLYGON_ATTR__light_0__enable (0x1 << 0) #define TEXIMAGE_PARAM__texture_coordinate_transformation_mode__do_not_transform_texture_coordinates (0x0 << 30) #define TEXIMAGE_PARAM__texture_coordinate_transformation_mode__texcoord_source (0x1 << 30) #define TEXIMAGE_PARAM__texture_coordinate_transformation_mode__normal_source (0x2 << 30) #define TEXIMAGE_PARAM__texture_coordinate_transformation_mode__vertex_source (0x3 << 30) #define TEXIMAGE_PARAM__palette_color0_transparency__palette_setting (0x0 << 29) #define TEXIMAGE_PARAM__palette_color0_transparency__always_transparent (0x1 << 29) #define TEXIMAGE_PARAM__texture_format__no_texture (0x0 << 26) #define TEXIMAGE_PARAM__texture_format__a3i5_translucent (0x1 << 26) #define TEXIMAGE_PARAM__texture_format__4_color_palette (0x2 << 26) #define TEXIMAGE_PARAM__texture_format__16_color_palette (0x3 << 26) #define TEXIMAGE_PARAM__texture_format__256_color_palette (0x4 << 26) #define TEXIMAGE_PARAM__texture_format__4x4_texel_compressed (0x5 << 26) #define TEXIMAGE_PARAM__texture_format__a5i3_translucent (0x6 << 26) #define TEXIMAGE_PARAM__texture_format__direct (0x7 << 26) #define TEXIMAGE_PARAM__t_size__8_texels (0x0 << 23) #define TEXIMAGE_PARAM__t_size__16_texels (0x1 << 23) #define TEXIMAGE_PARAM__t_size__32_texels (0x2 << 23) #define TEXIMAGE_PARAM__t_size__64_texels (0x3 << 23) #define TEXIMAGE_PARAM__t_size__128_texels (0x4 << 23) #define TEXIMAGE_PARAM__t_size__256_texels (0x5 << 23) #define TEXIMAGE_PARAM__t_size__512_texels (0x6 << 23) #define TEXIMAGE_PARAM__t_size__1024_texels (0x7 << 23) #define TEXIMAGE_PARAM__s_size__8_texels (0x0 << 20) #define TEXIMAGE_PARAM__s_size__16_texels (0x1 << 20) #define TEXIMAGE_PARAM__s_size__32_texels (0x2 << 20) #define TEXIMAGE_PARAM__s_size__64_texels (0x3 << 20) #define TEXIMAGE_PARAM__s_size__128_texels (0x4 << 20) #define TEXIMAGE_PARAM__s_size__256_texels (0x5 << 20) #define TEXIMAGE_PARAM__s_size__512_texels (0x6 << 20) #define TEXIMAGE_PARAM__s_size__1024_texels (0x7 << 20) #define TEXIMAGE_PARAM__flip_t__do_not_flip (0x0 << 19) #define TEXIMAGE_PARAM__flip_t__flip (0x1 << 19) #define TEXIMAGE_PARAM__flip_s__do_not_flip (0x0 << 18) #define TEXIMAGE_PARAM__flip_s__flip (0x1 << 18) #define TEXIMAGE_PARAM__repeat_t__do_not_repeat (0x0 << 17) #define TEXIMAGE_PARAM__repeat_t__repeat (0x1 << 17) #define TEXIMAGE_PARAM__repeat_s__do_not_repeat (0x0 << 16) #define TEXIMAGE_PARAM__repeat_s__repeat (0x1 << 16) #define TEXIMAGE_PARAM__texture_starting_address(v) (((v) & 0xffff) << 0) #define TEXPLTT_BASE__base_address(v) (((v) & 0x1fff) << 0) #define DIF_AMB__ambient_blue(v) (((v) & 0x1f) << 26) #define DIF_AMB__ambient_green(v) (((v) & 0x1f) << 21) #define DIF_AMB__ambient_red(v) (((v) & 0x1f) << 16) #define DIF_AMB__vertex_color__do_not_set_vertex_color (0x0 << 15) #define DIF_AMB__vertex_color__set_diffuse_reflection_color_as_vertex_color (0x1 << 15) #define DIF_AMB__diffuse_blue(v) (((v) & 0x1f) << 10) #define DIF_AMB__diffuse_green(v) (((v) & 0x1f) << 5) #define DIF_AMB__diffuse_red(v) (((v) & 0x1f) << 0) #define SPE_EMI__emission_blue(v) (((v) & 0x1f) << 26) #define SPE_EMI__emission_green(v) (((v) & 0x1f) << 21) #define SPE_EMI__emission_red(v) (((v) & 0x1f) << 16) #define SPE_EMI__shininess__disable (0x0 << 15) #define SPE_EMI__shininess__enable (0x1 << 15) #define SPE_EMI__specular_blue(v) (((v) & 0x1f) << 10) #define SPE_EMI__specular_green(v) (((v) & 0x1f) << 5) #define SPE_EMI__specular_red(v) (((v) & 0x1f) << 0) #define LIGHT_VECTOR__light_number(v) (((v) & 0x3) << 30) #define LIGHT_VECTOR__decimal_z(v) (((v) & 0x3ff) << 20) #define LIGHT_VECTOR__decimal_y(v) (((v) & 0x3ff) << 10) #define LIGHT_VECTOR__decimal_x(v) (((v) & 0x3ff) << 0) #define LIGHT_COLOR__light_number(v) (((v) & 0x3) << 30) #define LIGHT_COLOR__blue(v) (((v) & 0x1f) << 10) #define LIGHT_COLOR__green(v) (((v) & 0x1f) << 5) #define LIGHT_COLOR__red(v) (((v) & 0x1f) << 0) #define SHININESS__4x_3(v) (((v) & 0xff) << 24) #define SHININESS__4x_2(v) (((v) & 0xff) << 16) #define SHININESS__4x_1(v) (((v) & 0xff) << 8) #define SHININESS__4x_0(v) (((v) & 0xff) << 0) #define BEGIN_VTXS__type__triangle (0x0 << 0) #define BEGIN_VTXS__type__quadrilateral (0x1 << 0) #define BEGIN_VTXS__type__triangle_strip (0x2 << 0) #define BEGIN_VTXS__type__quadrilateral_strip (0x3 << 0) #define SWAP_BUFFERS__depth_buffering__z_value (0x0 << 1) #define SWAP_BUFFERS__depth_buffering__w_value (0x1 << 1) #define SWAP_BUFFERS__translucent_polygon_y_sorting__auto_sort (0x0 << 0) #define SWAP_BUFFERS__translucent_polygon_y_sorting__manual_sort (0x1 << 0) #define VIEWPORT__y2(v) (((v) & 0xff) << 24) #define VIEWPORT__x2(v) (((v) & 0xff) << 16) #define VIEWPORT__y1(v) (((v) & 0xff) << 8) #define VIEWPORT__x1(v) (((v) & 0xff) << 0) #define BOX_TEST__0__y_coordinate(v) (((v) & 0xffff) << 16) #define BOX_TEST__0__x_coordinate(v) (((v) & 0xffff) << 0) #define BOX_TEST__1__width(v) (((v) & 0xffff) << 16) #define BOX_TEST__1__z_coordinate(v) (((v) & 0xffff) << 0) #define BOX_TEST__2__depth(v) (((v) & 0xffff) << 16) #define BOX_TEST__2__height(v) (((v) & 0xffff) << 0) #define POS_TEST__0__y_coordinate(v) (((v) & 0xffff) << 16) #define POS_TEST__0__x_coordinate(v) (((v) & 0xffff) << 0) #define POS_TEST__1__z_coordinate(v) (((v) & 0xffff) << 0) #define VEC_TEST__decimal_z(v) (((v) & 0x3ff) << 20) #define VEC_TEST__decimal_y(v) (((v) & 0x3ff) << 10) #define VEC_TEST__decimal_x(v) (((v) & 0x3ff) << 0) #define GXSTAT__command_fifo_interrupt_condition__disable (0x0 << 30) #define GXSTAT__command_fifo_interrupt_condition__half_full (0x1 << 30) #define GXSTAT__command_fifo_interrupt_condition__empty (0x2 << 30) #define GXSTAT__geometry_engine_busy (0x1 << 27) #define GXSTAT__fifo_status__empty (0x1 << 26) #define GXSTAT__fifo_status__less_than_half_full (0x1 << 25) #define GXSTAT__fifo_status__full (0x1 << 24) #define GXSTAT__command_fifo_count(v) (((v) >> 16) & 0xff) #define GXSTAT__matrix_stack_status__overflow_or_underflow (0x1 << 15) #define GXSTAT__matrix_stack_status__busy (0x1 << 14) #define GXSTAT__matrix_stack_status__projection_stack_level(v) (((v) >> 13) & 0x1) #define GXSTAT__matrix_stack_status__position_and_vector_stack_level(v) (((v) >> 8) & 0x1f) #define GXSTAT__test_status (0x1 << 1) #define GXSTAT__test_busy (0x1 << 0) #define LISTRAM_COUNT__counter(v) (((v) >> 0) & 0xfff) #define VTXRAM_COUNT__counter(v) (((v) >> 0) & 0x1fff) #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) #define OBJ_ATTRIBUTE_1__obj_size(v) (((v) & 0x3) << 14) #define OBJ_ATTRIBUTE_1__affine_transformation_parameter(v) (((v) & 0x1f) << 9) #define OBJ_ATTRIBUTE_1__x_coordinate(v) (((v) & 0x1ff) << 0) #define OBJ_ATTRIBUTE_2__color_parameter(v) (((v) & 0xf) << 12) #define OBJ_ATTRIBUTE_2__display_priority(v) (((v) & 0x3) << 10) #define OBJ_ATTRIBUTE_2__character_name(v) (((v) & 0x3ff) << 0)