3d engine bits

This commit is contained in:
Zack Buhman 2024-08-31 23:13:43 -05:00
parent 9e6cd43860
commit 572890a181
3 changed files with 170 additions and 139 deletions

137
bits.h
View File

@ -1,137 +0,0 @@
#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 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)

View File

@ -40,8 +40,8 @@
"DISPCNT","bitmap_obj_mapping_mode","6-5","1d_mapping","0b10",,
"DISPCNT","character_obj_mapping_mode",4,"2d_mapping",0,,
"DISPCNT","character_obj_mapping_mode",4,"1d_mapping",1,,
"DISPCNT","2d_3d_display_selection_for_bg0",3,"display_2d_graphics",0,,
"DISPCNT","2d_3d_display_selection_for_bg0",3,"display_3d_graphics",1,,
"DISPCNT","display_selection_for_bg0",3,"2d_graphics",0,,
"DISPCNT","display_selection_for_bg0",3,"3d_graphics",1,,
"DISPCNT","bg_mode","2-0","text0_text1_text2_text3",0,,
"DISPCNT","bg_mode","2-0","text0_text1_text2_affine3",1,,
"DISPCNT","bg_mode","2-0","text0_text1_affine2_affine3",2,,
@ -121,6 +121,166 @@
"BG3CNT",,"5-2","character_base_block",,"0b1111",
"BG3CNT",,"1-0","priority",,"0b11",
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
"DISP3DCNT","clear_image",14,"disable",0,,
"DISP3DCNT","clear_image",14,"enable",1,,
"DISP3DCNT",,13,"polygon_list_ram_and_vertex_ram_overflow",1,,
"DISP3DCNT",,12,"color_buffer_underflow",1,,
"DISP3DCNT",,"11-8","fog_shift",,"0b1111",
"DISP3DCNT","fog_master",7,"disable",0,,
"DISP3DCNT","fog_master",7,"enable",1,,
"DISP3DCNT","fog_mode",6,"blending_using_pixel_color_value_and_alpha_value",0,,
"DISP3DCNT","fog_mode",6,"blending_using_only_pixel_alpha_value",1,,
"DISP3DCNT","edge_marking",5,"disable",0,,
"DISP3DCNT","edge_marking",5,"enable",1,,
"DISP3DCNT","anti_aliasing",4,"disable",0,,
"DISP3DCNT","anti_aliasing",4,"enable",1,,
"DISP3DCNT","alpha_blending",3,"disable",0,,
"DISP3DCNT","alpha_blending",3,"enable",1,,
"DISP3DCNT","alpha_test",2,"disable",0,,
"DISP3DCNT","alpha_test",2,"enable",1,,
"DISP3DCNT","toon_highlight",1,"toon_shading",0,,
"DISP3DCNT","toon_highlight",1,"highlight_shading",1,,
"DISP3DCNT","texture_mapping",0,"disable",0,,
"DISP3DCNT","texture_mapping",0,"enable",1,,
,,,,,,
"MTX_MODE","matrix_mode","1-0","projection","0b00",,
"MTX_MODE","matrix_mode","1-0","position","0b01",,
"MTX_MODE","matrix_mode","1-0","position_and_vector","0b10",,
"MTX_MODE","matrix_mode","1-0","texture","0b11",,
,,,,,,
"MTX_POP",,"5-0","number_of_pops",,"0b111111",
,,,,,,
"MTX_STORE",,"4-0","index",,"0b11111",
,,,,,,
"MTX_RESTORE",,"4-0","position",,"0b11111",
,,,,,,
"NORMAL",,"29-20","z_component",,"0x7ff",
"NORMAL",,"19-10","y_component",,"0x7ff",
"NORMAL",,"9-0","x_component",,"0x7ff",
,,,,,,
"TEXCOORD",,"31-16","t_coordinate",,"0xff",
"TEXCOORD",,"15-0","x_coordinate",,"0xff",
,,,,,,
"VTX_16",,"31-16","y_coordinate",,"0xff",
"VTX_16",,"15-0","x_coordinate",,"0xff",
"VTX_16",,"15-0","z_coordinate",,"0xff",
,,,,,,
"VTX_10",,"29-20","z_coordinate",,"0x7ff",
"VTX_10",,"19-10","y_coordinate",,"0x7ff",
"VTX_10",,"9-0","x_coordinate",,"0x7ff",
,,,,,,
"VTX_XY",,"31-16","y_coordinate",,"0xff",
"VTX_XY",,"15-0","x_coordinate",,"0xff",
,,,,,,
"VTX_XZ",,"31-16","z_coordinate",,"0xff",
"VTX_XZ",,"15-0","z_coordinate",,"0xff",
,,,,,,
"VTX_YZ",,"31-16","z_coordinate",,"0xff",
"VTX_YZ",,"15-0","y_coordinate",,"0xff",
,,,,,,
"VTX_DIFF",,"29-20","z_coordinate",,"0x7ff",
"VTX_DIFF",,"19-10","y_coordinate",,"0x7ff",
"VTX_DIFF",,"9-0","x_coordinate",,"0x7ff",
,,,,,,
"POLYGON_ATTR",,"29-24","polygon_id",,"0b111111",
"POLYGON_ATTR",,"20-16","alpha_value",,"0b11111",
"POLYGON_ATTR","fog",15,"disable",0,,
"POLYGON_ATTR","fog",15,"enable",1,,
"POLYGON_ATTR","depth_test_condition",14,"render_when_depth_value_is_smaller_than_buffer_value",0,,
"POLYGON_ATTR","depth_test_condition",14,"render_when_depth_value_is_equal_to_buffer_value",1,,
"POLYGON_ATTR","one_dot_polygon",13,"do_not_render",0,,
"POLYGON_ATTR","one_dot_polygon",13,"render",1,,
"POLYGON_ATTR","far_plane_intersection",12,"delete",0,,
"POLYGON_ATTR","far_plane_intersection",12,"clip",1,,
"POLYGON_ATTR","translucent_depth_value_update",11,"do_not_update",0,,
"POLYGON_ATTR","translucent_depth_value_update",11,"update",1,,
"POLYGON_ATTR","render_front_surface",7,"disable",0,,
"POLYGON_ATTR","render_front_surface",7,"enable",1,,
"POLYGON_ATTR","render_back_surface",6,"disable",0,,
"POLYGON_ATTR","render_back_surface",6,"enable",1,,
"POLYGON_ATTR","polygon_mode","5-4","modulation","0b00",,
"POLYGON_ATTR","polygon_mode","5-4","decal","0b01",,
"POLYGON_ATTR","polygon_mode","5-4","toon","0b10",,
"POLYGON_ATTR","polygon_mode","5-4","shadow","0b11",,
"POLYGON_ATTR","light_3",3,"disable",0,,
"POLYGON_ATTR","light_3",3,"enable",1,,
"POLYGON_ATTR","light_2",2,"disable",0,,
"POLYGON_ATTR","light_2",2,"enable",1,,
"POLYGON_ATTR","light_1",1,"disable",0,,
"POLYGON_ATTR","light_1",1,"enable",1,,
"POLYGON_ATTR","light_0",0,"disable",0,,
"POLYGON_ATTR","light_0",0,"enable",1,,
,,,,,,
"TEXIMAGE_PARAM","texture_coordinate_transformation_mode","31-30","do_not_transform_texture_coordinates","0b00",,
"TEXIMAGE_PARAM","texture_coordinate_transformation_mode","31-30","texcoord_source","0b01",,
"TEXIMAGE_PARAM","texture_coordinate_transformation_mode","31-30","normal_source","0b10",,
"TEXIMAGE_PARAM","texture_coordinate_transformation_mode","31-30","vextex_source","0b11",,
"TEXIMAGE_PARAM","palette_color0_transparency",29,"palette_setting",0,,
"TEXIMAGE_PARAM","palette_color0_transparency",29,"always_transparent",1,,
"TEXIMAGE_PARAM","texture_format","28-26","no_texture",0,,
"TEXIMAGE_PARAM","texture_format","28-26","a3i5_translucent",1,,
"TEXIMAGE_PARAM","texture_format","28-26","4_color_palette",2,,
"TEXIMAGE_PARAM","texture_format","28-26","16_color_palette",3,,
"TEXIMAGE_PARAM","texture_format","28-26","256_color_palette",4,,
"TEXIMAGE_PARAM","texture_format","28-26","4x4_texel_compressed",5,,
"TEXIMAGE_PARAM","texture_format","28-26","a5i3_translucent",6,,
"TEXIMAGE_PARAM","texture_format","28-26","direct",7,,
"TEXIMAGE_PARAM","t_size","25-23","8_texels",0,,
"TEXIMAGE_PARAM","t_size","25-23","16_texels",1,,
"TEXIMAGE_PARAM","t_size","25-23","32_texels",2,,
"TEXIMAGE_PARAM","t_size","25-23","64_texels",3,,
"TEXIMAGE_PARAM","t_size","25-23","128_texels",4,,
"TEXIMAGE_PARAM","t_size","25-23","256_texels",5,,
"TEXIMAGE_PARAM","t_size","25-23","512_texels",6,,
"TEXIMAGE_PARAM","t_size","25-23","1024_texels",7,,
"TEXIMAGE_PARAM","s_size","22-20","8_texels",0,,
"TEXIMAGE_PARAM","s_size","22-20","16_texels",1,,
"TEXIMAGE_PARAM","s_size","22-20","32_texels",2,,
"TEXIMAGE_PARAM","s_size","22-20","64_texels",3,,
"TEXIMAGE_PARAM","s_size","22-20","128_texels",4,,
"TEXIMAGE_PARAM","s_size","22-20","256_texels",5,,
"TEXIMAGE_PARAM","s_size","22-20","512_texels",6,,
"TEXIMAGE_PARAM","s_size","22-20","1024_texels",7,,
"TEXIMAGE_PARAM","flip_t",19,"do_not_flip",0,,
"TEXIMAGE_PARAM","flip_t",19,"flip",1,,
"TEXIMAGE_PARAM","flip_s",18,"do_not_flip",0,,
"TEXIMAGE_PARAM","flip_s",18,"flip",1,,
"TEXIMAGE_PARAM","repeat_t",17,"do_not_repeat",0,,
"TEXIMAGE_PARAM","repeat_t",17,"repeat",1,,
"TEXIMAGE_PARAM","repeat_s",16,"do_not_repeat",0,,
"TEXIMAGE_PARAM","repeat_s",16,"repeat",1,,
"TEXIMAGE_PARAM",,"15-0","texture_starting_address",,"0xffff",
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
"OBJ_ATTRIBUTE_0","obj_shape","15-14","square","0b00",,
"OBJ_ATTRIBUTE_0","obj_shape","15-14","long_rectangle","0b01",,
"OBJ_ATTRIBUTE_0","obj_shape","15-14","tall_rectangle","0b10",,
@ -137,3 +297,11 @@
"OBJ_ATTRIBUTE_0","affine_transformation",8,"disable",0,,
"OBJ_ATTRIBUTE_0","affine_transformation",8,"enable",1,,
"OBJ_ATTRIBUTE_0",,"7-0","y_coordinate",,"0xff",
,,,,,,
"OBJ_ATTRIBUTE_1",,"15-14","obj_size",,"0b11",
"OBJ_ATTRIBUTE_1",,"13-9","affine_transformation_parameter",,"0b11111",
"OBJ_ATTRIBUTE_1",,"8-0","x_coordinate",,"0x1ff",
,,,,,,
"OBJ_ATTRIBUTE_2",,"15-12","color_parameter",,"0b1111",
"OBJ_ATTRIBUTE_2",,"11-10","display_priority",,"0b11",
"OBJ_ATTRIBUTE_2",,"9-0","character_name",,"0x3ff",

1 register_name enum_name bits bit_name value mask description
40 DISPCNT bitmap_obj_mapping_mode 6-5 1d_mapping 0b10
41 DISPCNT character_obj_mapping_mode 4 2d_mapping 0
42 DISPCNT character_obj_mapping_mode 4 1d_mapping 1
43 DISPCNT 2d_3d_display_selection_for_bg0 display_selection_for_bg0 3 display_2d_graphics 2d_graphics 0
44 DISPCNT 2d_3d_display_selection_for_bg0 display_selection_for_bg0 3 display_3d_graphics 3d_graphics 1
45 DISPCNT bg_mode 2-0 text0_text1_text2_text3 0
46 DISPCNT bg_mode 2-0 text0_text1_text2_affine3 1
47 DISPCNT bg_mode 2-0 text0_text1_affine2_affine3 2
121 BG3CNT 5-2 character_base_block 0b1111
122 BG3CNT 1-0 priority 0b11
123
124
125
126
127
128
129
130 DISP3DCNT clear_image 14 disable 0
131 DISP3DCNT clear_image 14 enable 1
132 DISP3DCNT 13 polygon_list_ram_and_vertex_ram_overflow 1
133 DISP3DCNT 12 color_buffer_underflow 1
134 DISP3DCNT 11-8 fog_shift 0b1111
135 DISP3DCNT fog_master 7 disable 0
136 DISP3DCNT fog_master 7 enable 1
137 DISP3DCNT fog_mode 6 blending_using_pixel_color_value_and_alpha_value 0
138 DISP3DCNT fog_mode 6 blending_using_only_pixel_alpha_value 1
139 DISP3DCNT edge_marking 5 disable 0
140 DISP3DCNT edge_marking 5 enable 1
141 DISP3DCNT anti_aliasing 4 disable 0
142 DISP3DCNT anti_aliasing 4 enable 1
143 DISP3DCNT alpha_blending 3 disable 0
144 DISP3DCNT alpha_blending 3 enable 1
145 DISP3DCNT alpha_test 2 disable 0
146 DISP3DCNT alpha_test 2 enable 1
147 DISP3DCNT toon_highlight 1 toon_shading 0
148 DISP3DCNT toon_highlight 1 highlight_shading 1
149 DISP3DCNT texture_mapping 0 disable 0
150 DISP3DCNT texture_mapping 0 enable 1
151
152 MTX_MODE matrix_mode 1-0 projection 0b00
153 MTX_MODE matrix_mode 1-0 position 0b01
154 MTX_MODE matrix_mode 1-0 position_and_vector 0b10
155 MTX_MODE matrix_mode 1-0 texture 0b11
156
157 MTX_POP 5-0 number_of_pops 0b111111
158
159 MTX_STORE 4-0 index 0b11111
160
161 MTX_RESTORE 4-0 position 0b11111
162
163 NORMAL 29-20 z_component 0x7ff
164 NORMAL 19-10 y_component 0x7ff
165 NORMAL 9-0 x_component 0x7ff
166
167 TEXCOORD 31-16 t_coordinate 0xff
168 TEXCOORD 15-0 x_coordinate 0xff
169
170 VTX_16 31-16 y_coordinate 0xff
171 VTX_16 15-0 x_coordinate 0xff
172 VTX_16 15-0 z_coordinate 0xff
173
174 VTX_10 29-20 z_coordinate 0x7ff
175 VTX_10 19-10 y_coordinate 0x7ff
176 VTX_10 9-0 x_coordinate 0x7ff
177
178 VTX_XY 31-16 y_coordinate 0xff
179 VTX_XY 15-0 x_coordinate 0xff
180
181 VTX_XZ 31-16 z_coordinate 0xff
182 VTX_XZ 15-0 z_coordinate 0xff
183
184 VTX_YZ 31-16 z_coordinate 0xff
185 VTX_YZ 15-0 y_coordinate 0xff
186
187 VTX_DIFF 29-20 z_coordinate 0x7ff
188 VTX_DIFF 19-10 y_coordinate 0x7ff
189 VTX_DIFF 9-0 x_coordinate 0x7ff
190
191 POLYGON_ATTR 29-24 polygon_id 0b111111
192 POLYGON_ATTR 20-16 alpha_value 0b11111
193 POLYGON_ATTR fog 15 disable 0
194 POLYGON_ATTR fog 15 enable 1
195 POLYGON_ATTR depth_test_condition 14 render_when_depth_value_is_smaller_than_buffer_value 0
196 POLYGON_ATTR depth_test_condition 14 render_when_depth_value_is_equal_to_buffer_value 1
197 POLYGON_ATTR one_dot_polygon 13 do_not_render 0
198 POLYGON_ATTR one_dot_polygon 13 render 1
199 POLYGON_ATTR far_plane_intersection 12 delete 0
200 POLYGON_ATTR far_plane_intersection 12 clip 1
201 POLYGON_ATTR translucent_depth_value_update 11 do_not_update 0
202 POLYGON_ATTR translucent_depth_value_update 11 update 1
203 POLYGON_ATTR render_front_surface 7 disable 0
204 POLYGON_ATTR render_front_surface 7 enable 1
205 POLYGON_ATTR render_back_surface 6 disable 0
206 POLYGON_ATTR render_back_surface 6 enable 1
207 POLYGON_ATTR polygon_mode 5-4 modulation 0b00
208 POLYGON_ATTR polygon_mode 5-4 decal 0b01
209 POLYGON_ATTR polygon_mode 5-4 toon 0b10
210 POLYGON_ATTR polygon_mode 5-4 shadow 0b11
211 POLYGON_ATTR light_3 3 disable 0
212 POLYGON_ATTR light_3 3 enable 1
213 POLYGON_ATTR light_2 2 disable 0
214 POLYGON_ATTR light_2 2 enable 1
215 POLYGON_ATTR light_1 1 disable 0
216 POLYGON_ATTR light_1 1 enable 1
217 POLYGON_ATTR light_0 0 disable 0
218 POLYGON_ATTR light_0 0 enable 1
219
220 TEXIMAGE_PARAM texture_coordinate_transformation_mode 31-30 do_not_transform_texture_coordinates 0b00
221 TEXIMAGE_PARAM texture_coordinate_transformation_mode 31-30 texcoord_source 0b01
222 TEXIMAGE_PARAM texture_coordinate_transformation_mode 31-30 normal_source 0b10
223 TEXIMAGE_PARAM texture_coordinate_transformation_mode 31-30 vextex_source 0b11
224 TEXIMAGE_PARAM palette_color0_transparency 29 palette_setting 0
225 TEXIMAGE_PARAM palette_color0_transparency 29 always_transparent 1
226 TEXIMAGE_PARAM texture_format 28-26 no_texture 0
227 TEXIMAGE_PARAM texture_format 28-26 a3i5_translucent 1
228 TEXIMAGE_PARAM texture_format 28-26 4_color_palette 2
229 TEXIMAGE_PARAM texture_format 28-26 16_color_palette 3
230 TEXIMAGE_PARAM texture_format 28-26 256_color_palette 4
231 TEXIMAGE_PARAM texture_format 28-26 4x4_texel_compressed 5
232 TEXIMAGE_PARAM texture_format 28-26 a5i3_translucent 6
233 TEXIMAGE_PARAM texture_format 28-26 direct 7
234 TEXIMAGE_PARAM t_size 25-23 8_texels 0
235 TEXIMAGE_PARAM t_size 25-23 16_texels 1
236 TEXIMAGE_PARAM t_size 25-23 32_texels 2
237 TEXIMAGE_PARAM t_size 25-23 64_texels 3
238 TEXIMAGE_PARAM t_size 25-23 128_texels 4
239 TEXIMAGE_PARAM t_size 25-23 256_texels 5
240 TEXIMAGE_PARAM t_size 25-23 512_texels 6
241 TEXIMAGE_PARAM t_size 25-23 1024_texels 7
242 TEXIMAGE_PARAM s_size 22-20 8_texels 0
243 TEXIMAGE_PARAM s_size 22-20 16_texels 1
244 TEXIMAGE_PARAM s_size 22-20 32_texels 2
245 TEXIMAGE_PARAM s_size 22-20 64_texels 3
246 TEXIMAGE_PARAM s_size 22-20 128_texels 4
247 TEXIMAGE_PARAM s_size 22-20 256_texels 5
248 TEXIMAGE_PARAM s_size 22-20 512_texels 6
249 TEXIMAGE_PARAM s_size 22-20 1024_texels 7
250 TEXIMAGE_PARAM flip_t 19 do_not_flip 0
251 TEXIMAGE_PARAM flip_t 19 flip 1
252 TEXIMAGE_PARAM flip_s 18 do_not_flip 0
253 TEXIMAGE_PARAM flip_s 18 flip 1
254 TEXIMAGE_PARAM repeat_t 17 do_not_repeat 0
255 TEXIMAGE_PARAM repeat_t 17 repeat 1
256 TEXIMAGE_PARAM repeat_s 16 do_not_repeat 0
257 TEXIMAGE_PARAM repeat_s 16 repeat 1
258 TEXIMAGE_PARAM 15-0 texture_starting_address 0xffff
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284 OBJ_ATTRIBUTE_0 obj_shape 15-14 square 0b00
285 OBJ_ATTRIBUTE_0 obj_shape 15-14 long_rectangle 0b01
286 OBJ_ATTRIBUTE_0 obj_shape 15-14 tall_rectangle 0b10
297 OBJ_ATTRIBUTE_0 affine_transformation 8 disable 0
298 OBJ_ATTRIBUTE_0 affine_transformation 8 enable 1
299 OBJ_ATTRIBUTE_0 7-0 y_coordinate 0xff
300
301 OBJ_ATTRIBUTE_1 15-14 obj_size 0b11
302 OBJ_ATTRIBUTE_1 13-9 affine_transformation_parameter 0b11111
303 OBJ_ATTRIBUTE_1 8-0 x_coordinate 0x1ff
304
305 OBJ_ATTRIBUTE_2 15-12 color_parameter 0b1111
306 OBJ_ATTRIBUTE_2 11-10 display_priority 0b11
307 OBJ_ATTRIBUTE_2 9-0 character_name 0x3ff

Binary file not shown.