diff --git a/c/classpath.h b/c/classpath.h index 555f114..39cc847 100644 --- a/c/classpath.h +++ b/c/classpath.h @@ -1,6 +1,5 @@ #include "example/DreamcastVideo2.class.h" #include "example/DreamcastVideo.class.h" -#include "example/Vec2.class.h" #include "java/io/PrintStream.class.h" #include "java/lang/Integer.class.h" #include "java/lang/Math.class.h" @@ -8,7 +7,8 @@ #include "java/lang/String.class.h" #include "java/lang/System.class.h" #include "java/misc/Memory.class.h" -#include "model/FacePNT.class.h" +#include "java/misc/Resource.class.h" +#include "model/FacePTN.class.h" #include "model/ModelObject.class.h" #include "model/UntitledModel.class.h" #include "model/Vec2.class.h" diff --git a/c/classpath.inc.c b/c/classpath.inc.c index 046fef4..20e1398 100644 --- a/c/classpath.inc.c +++ b/c/classpath.inc.c @@ -1,6 +1,5 @@ (const uint8_t *)&_binary_example_DreamcastVideo2_class_start, (const uint8_t *)&_binary_example_DreamcastVideo_class_start, -(const uint8_t *)&_binary_example_Vec2_class_start, (const uint8_t *)&_binary_java_io_PrintStream_class_start, (const uint8_t *)&_binary_java_lang_Integer_class_start, (const uint8_t *)&_binary_java_lang_Math_class_start, @@ -8,7 +7,8 @@ (const uint8_t *)&_binary_java_lang_String_class_start, (const uint8_t *)&_binary_java_lang_System_class_start, (const uint8_t *)&_binary_java_misc_Memory_class_start, -(const uint8_t *)&_binary_model_FacePNT_class_start, +(const uint8_t *)&_binary_java_misc_Resource_class_start, +(const uint8_t *)&_binary_model_FacePTN_class_start, (const uint8_t *)&_binary_model_ModelObject_class_start, (const uint8_t *)&_binary_model_UntitledModel_class_start, (const uint8_t *)&_binary_model_Vec2_class_start, diff --git a/c/execute.c b/c/execute.c index 542050d..b75cef7 100644 --- a/c/execute.c +++ b/c/execute.c @@ -10,7 +10,7 @@ void op_aaload(struct vm * vm) { int32_t index = operand_stack_pop_u32(vm->current_frame); int32_t * arrayref = (int32_t *)operand_stack_pop_u32(vm->current_frame); - assert(arrayref[0] > 0 && index < arrayref[0]); + assertvm(vm, arrayref[0] > 0 && index < arrayref[0]); uint32_t * referencearray = (uint32_t *)&arrayref[1]; uint32_t value = referencearray[index]; operand_stack_push_u32(vm->current_frame, value); diff --git a/c/frame.c b/c/frame.c index 08e6608..b79d3b0 100644 --- a/c/frame.c +++ b/c/frame.c @@ -283,6 +283,24 @@ void vm_native_method_call(struct vm * vm, struct class_entry * class_entry, str } } + int java_misc_resource_length = 18; + bool java_misc_resource = + class_name_constant->utf8.length == java_misc_resource_length && + hash_table_key_equal(class_name_constant->utf8.bytes, (const uint8_t *)"java/misc/Resource", class_name_constant->utf8.length); + if (java_misc_resource) { + int getresource_length = 11; + bool getresource = + method_name_constant->utf8.length == getresource_length && + hash_table_key_equal(method_name_constant->utf8.bytes, (const uint8_t *)"getResource", method_name_constant->utf8.length); + if (getresource) { + assert(nargs == 1); + assert(return_type == '['); + uint32_t value = java_misc_resource_getresource_1(args); + operand_stack_push_u32(vm->current_frame, value); + return; + } + } + int java_io_printstream_length = 19; bool java_io_printstream = class_name_constant->utf8.length == java_io_printstream_length && diff --git a/c/native.c b/c/native.c index 7c33361..f464758 100644 --- a/c/native.c +++ b/c/native.c @@ -3,7 +3,7 @@ void native_java_io_printstream_write(uint32_t * arrayref) { - uint32_t length = arrayref[0]; + int32_t length = arrayref[0]; char * buf = (char *)&arrayref[1]; print_string(buf, length); } @@ -103,3 +103,21 @@ native_java_lang_math_cos_1(uint32_t * args) float value = __builtin_cosf(arg); return *((uint32_t *)&value); } + +#if defined(__dreamcast__) +#include "resources.inc.c" +#endif + +uint32_t java_misc_resource_getresource_1(uint32_t * args) +{ + uint32_t * objectref = (uint32_t *)args[0]; + int32_t * arrayref = (int32_t *)objectref[1]; + int32_t name_length = (int32_t)arrayref[0]; + uint8_t * name = (uint8_t *)&arrayref[1]; + #if defined(__dreamcast__) + uint32_t resource = find_resource(name, name_length); + return resource; + #else + return 0; + #endif +} diff --git a/c/native.h b/c/native.h index 85b0fb3..1ee0ce6 100644 --- a/c/native.h +++ b/c/native.h @@ -14,3 +14,4 @@ uint32_t native_java_misc_memory_getU1_1(uint32_t * args); void native_java_misc_memory_putSQ1_2(uint32_t * args); uint32_t native_java_lang_math_sin_1(uint32_t * args); uint32_t native_java_lang_math_cos_1(uint32_t * args); +uint32_t java_misc_resource_getresource_1(uint32_t * args); diff --git a/c/resources.inc.c b/c/resources.inc.c new file mode 100644 index 0000000..a87d552 --- /dev/null +++ b/c/resources.inc.c @@ -0,0 +1,56 @@ +#include "images/java_text.data.h" +#include "images/java_cup.data.h" +#include "images/java_powered.data.h" + +#include "hash_table.h" +#include "assert.h" + +struct resource { + const uint8_t * name; + int32_t name_length; + const int32_t * buf; + int32_t buf_length; +}; + +static struct resource resources[] = { + { + .name = (const uint8_t *)"images/java_text", + .name_length = 16, + .buf = (const int32_t *)&_binary_images_java_text_data_start, + .buf_length = (int32_t)&_binary_images_java_text_data_size + }, + { + .name = (const uint8_t *)"images/java_cup", + .name_length = 15, + .buf = (const int32_t *)&_binary_images_java_cup_data_start, + .buf_length = (int32_t)&_binary_images_java_cup_data_size + }, + { + .name = (const uint8_t *)"images/java_powered", + .name_length = 19, + .buf = (const int32_t *)&_binary_images_java_powered_data_start, + .buf_length = (int32_t)&_binary_images_java_powered_data_size + }, +}; + +static int resources_length = (sizeof (resources)) / (sizeof (resources[0])); + +static uint32_t find_resource(const uint8_t * name, int32_t name_length) +{ + for (int i = 0; i < resources_length; i++) { + struct resource * resource = &resources[i]; + if (resource->name_length != name_length) + continue; + if (hash_table_key_equal(resource->name, name, name_length)) { + //debugf("resource match: "); + //print_string((const char *)name, name_length); + //debugc('\n'); + uint32_t buf = (uint32_t)resource->buf; + // alignment check + assert((resource->buf_length & (~3)) == resource->buf_length); + assert((buf & ~(3)) == buf); + return buf; + } + } + return 0; +} diff --git a/classpath.mk b/classpath.mk index ca82771..c934e63 100644 --- a/classpath.mk +++ b/classpath.mk @@ -1,7 +1,6 @@ CLASS_PATH = \ example/DreamcastVideo2.class.o \ example/DreamcastVideo.class.o \ - example/Vec2.class.o \ java/io/PrintStream.class.o \ java/lang/Integer.class.o \ java/lang/Math.class.o \ @@ -9,7 +8,8 @@ CLASS_PATH = \ java/lang/String.class.o \ java/lang/System.class.o \ java/misc/Memory.class.o \ - model/FacePNT.class.o \ + java/misc/Resource.class.o \ + model/FacePTN.class.o \ model/ModelObject.class.o \ model/UntitledModel.class.o \ model/Vec2.class.o \ diff --git a/example/DreamcastVideo2.java b/example/DreamcastVideo2.java index 4d6334b..8df3640 100644 --- a/example/DreamcastVideo2.java +++ b/example/DreamcastVideo2.java @@ -12,31 +12,25 @@ import sega.dreamcast.holly.TextureMemoryAllocation; import sega.dreamcast.holly.ISPTSP; import sega.dreamcast.holly.TAVertexParameter; import sega.dreamcast.holly.TAGlobalParameter; -import sega.dreamcast.systembus.Systembus; -import sega.dreamcast.systembus.SystembusBits; import sega.dreamcast.MemoryMap; import model.UntitledModel; import model.Vec3; -import model.FacePNT; +import model.Vec2; +import model.FacePTN; import model.ModelObject; import java.misc.Memory; - -/* -class Vec2 { - float x; - float y; -} -*/ +import java.misc.Resource; class DreamcastVideo2 { static final int framebuffer_width = 640; static final int framebuffer_height = 480; - static TAGlobalParameter.polygon_type_0 gt0; - static TAVertexParameter.polygon_type_0 vt0; + static TAGlobalParameter.polygon_type_0[] gt0; + static TAVertexParameter.polygon_type_3 vt0; static TAGlobalParameter.end_of_list eol; - //static Vec2[] vtx; + static Vec2[] quad; + static Vec2[] quad_uv; static float theta; @@ -49,66 +43,102 @@ class DreamcastVideo2 { static { int parameter_control_word = TAParameter.para_control__para_type__polygon_or_modifier_volume - | TAParameter.para_control__list_type__opaque - | TAParameter.obj_control__col_type__packed_color; + | TAParameter.para_control__list_type__translucent + | TAParameter.obj_control__col_type__packed_color + | TAParameter.obj_control__texture; int isp_tsp_instruction_word = ISPTSP.isp_tsp_instruction_word__depth_compare_mode__greater | ISPTSP.isp_tsp_instruction_word__culling_mode__no_culling; - int tsp_instruction_word = ISPTSP.tsp_instruction_word__src_alpha_instr__one - | ISPTSP.tsp_instruction_word__dst_alpha_instr__zero - | ISPTSP.tsp_instruction_word__fog_control__no_fog; + int tsp_instruction_word = ISPTSP.tsp_instruction_word__src_alpha_instr__src_alpha + | ISPTSP.tsp_instruction_word__dst_alpha_instr__inverse_src_alpha + | ISPTSP.tsp_instruction_word__fog_control__no_fog + | ISPTSP.tsp_instruction_word__texture_u_size__512 + | ISPTSP.tsp_instruction_word__texture_v_size__1024 + | ISPTSP.tsp_instruction_word__use_alpha; + + int texture_address = TextureMemoryAllocation.texture_regions[1][0] + 512; + int texture_control_word = ISPTSP.texture_control_word__pixel_format__4444 + | ISPTSP.texture_control_word__scan_order__non_twiddled + | ISPTSP.texture_control_word__texture_address(texture_address / 8); - int texture_control_word = 0; int data_size_for_sort_dma = 0; int next_address_for_sort_dma = 0; - gt0 = new TAGlobalParameter.polygon_type_0(parameter_control_word, - isp_tsp_instruction_word, - tsp_instruction_word, - texture_control_word, - data_size_for_sort_dma, - next_address_for_sort_dma); + gt0 = new TAGlobalParameter.polygon_type_0[2]; + gt0[0] = new TAGlobalParameter.polygon_type_0(parameter_control_word, + isp_tsp_instruction_word, + tsp_instruction_word, + texture_control_word, + data_size_for_sort_dma, + next_address_for_sort_dma); - vt0 = new TAVertexParameter.polygon_type_0(0, // parameter_control_word + tsp_instruction_word = ISPTSP.tsp_instruction_word__src_alpha_instr__src_alpha + | ISPTSP.tsp_instruction_word__dst_alpha_instr__inverse_src_alpha + | ISPTSP.tsp_instruction_word__fog_control__no_fog + | ISPTSP.tsp_instruction_word__texture_u_size__128 + | ISPTSP.tsp_instruction_word__texture_v_size__64 + | ISPTSP.tsp_instruction_word__use_alpha; + + texture_address = TextureMemoryAllocation.texture_regions[1][0] + 512 + (512 * 512 * 2 * 2); + texture_control_word = ISPTSP.texture_control_word__pixel_format__4444 + | ISPTSP.texture_control_word__scan_order__non_twiddled + | ISPTSP.texture_control_word__texture_address(texture_address / 8); + + gt0[1] = new TAGlobalParameter.polygon_type_0(parameter_control_word, + isp_tsp_instruction_word, + tsp_instruction_word, + texture_control_word, + data_size_for_sort_dma, + next_address_for_sort_dma); + + vt0 = new TAVertexParameter.polygon_type_3(0, // parameter_control_word 0.0f, // x 0.0f, // y - 0.1f, // z - 0); // color + 0.0f, // z + 0.0f, // u + 0.0f, // v + 0, // color + 0); // offset_color eol = new TAGlobalParameter.end_of_list(TAParameter.para_control__para_type__end_of_list); - /* - vtx = new Vec2[3]; - for (int i = 0; i < 3; i++) - vtx[i] = new Vec2(); - vtx[0].x = 0.0f; - vtx[0].y = 1.0f; - vtx[1].x = 0.866025f; - vtx[1].y = -0.5f; - vtx[2].x = -0.866025f; - vtx[2].y = -0.5f; - */ + float x = 256.0f; + float y = 208.0f; + quad = new Vec2[4]; + quad[0] = new Vec2(x + 0.0f, y + 0.0f); + quad[1] = new Vec2(x + 128.0f, y + 0.0f); + quad[2] = new Vec2(x + 128.0f, y + 64.0f); + quad[3] = new Vec2(x + 0.0f, y + 64.0f); + + quad_uv = new Vec2[4]; + quad_uv[0] = new Vec2(0.0f, 0.0f); + quad_uv[1] = new Vec2(1.0f, 0.0f); + quad_uv[2] = new Vec2(1.0f, 1.0f); + quad_uv[3] = new Vec2(0.0f, 1.0f); } - public static void transform_vertex(Vec3[] position, FacePNT pnt) { - float px = position[pnt.position].x; - float py = position[pnt.position].y; - float pz = position[pnt.position].z; + public static void transform_vertex(Vec3[] position, Vec2[] texture, FacePTN ptn) { + float px = position[ptn.position].x; + float py = position[ptn.position].y; + float pz = position[ptn.position].z; - //px *= 0.5; - //py *= 0.5; - //pz *= 0.5; + float theta2 = theta * 2.0f; + float scale = (Math.sin(theta2) + 3.0f) * 0.3f; + + px *= scale; + py *= scale; + pz *= scale; float x0 = px * Math.cos(theta) - py * Math.sin(theta); float y0 = px * Math.sin(theta) + py * Math.cos(theta); float z0 = pz; - float theta2 = theta / 2.0f; + float theta05 = theta * 0.5f; - float x1 = x0 * Math.cos(theta2) - z0 * Math.sin(theta2); + float x1 = x0 * Math.cos(theta05) - z0 * Math.sin(theta05); float y1 = y0; - float z1 = x0 * Math.sin(theta2) + z0 * Math.cos(theta2); + float z1 = x0 * Math.sin(theta05) + z0 * Math.cos(theta05); // camera transform float z2 = 3f + z1; @@ -122,67 +152,197 @@ class DreamcastVideo2 { float y = -y2 * 240f + 240f; float z = 1.0f / z2; - DreamcastVideo2.vt0.x = x; - DreamcastVideo2.vt0.y = y; - DreamcastVideo2.vt0.z = z; + vt0.x = x; + vt0.y = y; + vt0.z = z; + vt0.u = texture[ptn.texture].x; + vt0.v = texture[ptn.texture].y; } - public static void transform_triangle(int n, Vec3[] position, FacePNT[] face) { + public static void transform_triangle(int n, Vec3[] position, Vec2[] texture, FacePTN[] face) { for (int i = 0; i < 3; i++) { - DreamcastVideo2.vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter; + vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter; if (i == 2) - DreamcastVideo2.vt0.parameter_control_word |= TAParameter.para_control__end_of_strip; - transform_vertex(position, face[i]); - DreamcastVideo2.vt0.base_color = colors[n]; + vt0.parameter_control_word |= TAParameter.para_control__end_of_strip; + transform_vertex(position, texture, face[i]); + vt0.base_color = colors[n]; - Memory.putSQ1(DreamcastVideo2.vt0, MemoryMap.ta_fifo_polygon_converter); + Memory.putSQ1(vt0, MemoryMap.ta_fifo_polygon_converter); } } - public static void transfer_scene() { - // global parameter - Memory.putSQ1(DreamcastVideo2.gt0, MemoryMap.ta_fifo_polygon_converter); + public static void transform_quad() { + // strip order: + // 0 1 3 2 - // vertex parameters + vt0.z = 0.1f; + + vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter; + vt0.x = quad[0].x; + vt0.y = quad[0].y; + vt0.u = quad_uv[0].x; + vt0.v = quad_uv[0].y; + Memory.putSQ1(vt0, MemoryMap.ta_fifo_polygon_converter); + + vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter; + vt0.x = quad[1].x; + vt0.y = quad[1].y; + vt0.u = quad_uv[1].x; + vt0.v = quad_uv[1].y; + Memory.putSQ1(vt0, MemoryMap.ta_fifo_polygon_converter); + + vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter; + vt0.x = quad[3].x; + vt0.y = quad[3].y; + vt0.u = quad_uv[3].x; + vt0.v = quad_uv[3].y; + Memory.putSQ1(vt0, MemoryMap.ta_fifo_polygon_converter); + + vt0.parameter_control_word = TAParameter.para_control__para_type__vertex_parameter + | TAParameter.para_control__end_of_strip; + vt0.x = quad[2].x; + vt0.y = quad[2].y; + vt0.u = quad_uv[2].x; + vt0.v = quad_uv[2].y; + Memory.putSQ1(vt0, MemoryMap.ta_fifo_polygon_converter); + } + + public static void transfer_cube_scene() { + // global parameters + Memory.putSQ1(gt0[0], MemoryMap.ta_fifo_polygon_converter); + + // triangle parameters ModelObject obj = UntitledModel.objects[0]; for (int i = 0; i < obj.faces.length; i ++) { - transform_triangle(i, UntitledModel.position, obj.faces[i]); + transform_triangle(i, UntitledModel.position, UntitledModel.texture, obj.faces[i]); } // end of list - Memory.putSQ1(DreamcastVideo2.eol, MemoryMap.ta_fifo_polygon_converter); + Memory.putSQ1(eol, MemoryMap.ta_fifo_polygon_converter); + } + + public static void transfer_splash_scene() { + // global parameters + Memory.putSQ1(gt0[1], MemoryMap.ta_fifo_polygon_converter); + + // quad parameters + transform_quad(); + + // end of list + Memory.putSQ1(eol, MemoryMap.ta_fifo_polygon_converter); + } + + public static void transfer_textures() { + int texture = TextureMemoryAllocation.texture_regions[1][0] + 512; + + // java_cup + int[] java_cup = Resource.getResource("images/java_cup"); + int java_cup_length = (java_cup == null) ? 0 : java_cup.length; + //System.out.print("images/java_cup length: "); + //System.out.println(java_cup_length); + + for (int i = 0; i < java_cup_length; i++) { + Memory.putU4(MemoryMap.texture_memory64 + texture, java_cup[i]); + texture += 4; + } + + // java_text + int[] java_text = Resource.getResource("images/java_text"); + int java_text_length = (java_text == null) ? 0 : java_text.length; + //System.out.print("images/java_text length: "); + //System.out.println(java_text_length); + + for (int i = 0; i < java_text_length; i++) { + Memory.putU4(MemoryMap.texture_memory64 + texture, java_text[i]); + texture += 4; + } + } + + public static void transfer_java_powered() { + int texture = TextureMemoryAllocation.texture_regions[1][0] + 512 + (512 * 512 * 2 * 2); + + // java_powered + int[] java_powered = Resource.getResource("images/java_powered"); + int java_powered_length = (java_powered == null) ? 0 : java_powered.length; + //System.out.print("images/java_powered length: "); + //System.out.println(java_powered_length); + + for (int i = 0; i < java_powered_length; i++) { + Memory.putU4(MemoryMap.texture_memory64 + texture, java_powered[i]); + texture += 4; + } + } + + public static void boot_splash(int ta_alloc, int opb_size_total) { + // unpipelined render loop + TAFIFOPolygonConverter.init(TextureMemoryAllocation.isp_tsp_parameters_start[0], + TextureMemoryAllocation.isp_tsp_parameters_end[0], + TextureMemoryAllocation.object_list_start[0], + TextureMemoryAllocation.object_list_end[0], + opb_size_total, + ta_alloc, + framebuffer_width / 32, + framebuffer_height / 32); + transfer_splash_scene(); + TAFIFOPolygonConverter.wait_translucent_list(); + + Core.start_render(TextureMemoryAllocation.region_array_start[0], + TextureMemoryAllocation.isp_tsp_parameters_start[0], + TextureMemoryAllocation.background_start[0], + TextureMemoryAllocation.framebuffer_start[0], + framebuffer_width); + Core.wait_end_of_render_tsp(); + + while ((CoreBits.spg_status__vsync(Memory.getU4(Holly.SPG_STATUS)) != 0)); + Core.fb_r_enable(); + Memory.putU4(Holly.FB_R_SOF1, TextureMemoryAllocation.framebuffer_start[0]); } public static void main() { - Core.init(); - Core.fb_init(framebuffer_width, framebuffer_height); + System.out.println(Memory.getU4(Holly.FB_R_SOF1)); int ta_alloc = TABits.ta_alloc_ctrl__opb_mode__increasing_addresses | TABits.ta_alloc_ctrl__pt_opb__no_list | TABits.ta_alloc_ctrl__tm_opb__no_list - | TABits.ta_alloc_ctrl__t_opb__no_list + | TABits.ta_alloc_ctrl__t_opb__8x4byte | TABits.ta_alloc_ctrl__om_opb__no_list - | TABits.ta_alloc_ctrl__o_opb__8x4byte + | TABits.ta_alloc_ctrl__o_opb__no_list ; RegionArray.OPBSize[] opb_size = { - new RegionArray.OPBSize(8 * 4, // opaque + new RegionArray.OPBSize(0, // opaque 0, // opaque_modifier_volume - 0, // translucent + 8 * 4, // translucent 0, // translucent_modifier_volume 0) // punch_through }; - int opb_size_total = opb_size[0].total(); - int num_render_passes = opb_size.length; + transfer_java_powered(); + + Background.background(TextureMemoryAllocation.background_start[0], + 0x00c0c0c0); // sega white + + int num_render_passes = opb_size.length; RegionArray.region_array(framebuffer_width / 32, framebuffer_height / 32, opb_size, num_render_passes, TextureMemoryAllocation.region_array_start[0], TextureMemoryAllocation.object_list_start[0]); + + Core.init(); + Core.fb_init(framebuffer_width, framebuffer_height); + + boot_splash(ta_alloc, opb_size_total); + + transfer_textures(); + + int background_color = 0xff100a00; + Background.background(TextureMemoryAllocation.background_start[1], + background_color); + RegionArray.region_array(framebuffer_width / 32, framebuffer_height / 32, opb_size, @@ -190,12 +350,6 @@ class DreamcastVideo2 { TextureMemoryAllocation.region_array_start[1], TextureMemoryAllocation.object_list_start[1]); - int background_color = 0xff443300; - Background.background(TextureMemoryAllocation.background_start[0], - background_color); - Background.background(TextureMemoryAllocation.background_start[1], - background_color); - int core = 0; int ta = 0; while (true) { @@ -208,12 +362,12 @@ class DreamcastVideo2 { ta_alloc, framebuffer_width / 32, framebuffer_height / 32); - transfer_scene(); - TAFIFOPolygonConverter.wait_opaque_list(); + transfer_cube_scene(); + TAFIFOPolygonConverter.wait_translucent_list(); Core.start_render(TextureMemoryAllocation.region_array_start[ta], TextureMemoryAllocation.isp_tsp_parameters_start[ta], - TextureMemoryAllocation.background_start[ta], + TextureMemoryAllocation.background_start[1], TextureMemoryAllocation.framebuffer_start[core], framebuffer_width); Core.wait_end_of_render_tsp(); diff --git a/example/Vec2.class.h b/example/Vec2.class.h deleted file mode 100644 index fa2112e..0000000 --- a/example/Vec2.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_example_Vec2_class_start __asm("_binary_example_Vec2_class_start"); -extern uint32_t _binary_example_Vec2_class_end __asm("_binary_example_Vec2_class_end"); -extern uint32_t _binary_example_Vec2_class_size __asm("_binary_example_Vec2_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/generate.sh b/generate.sh index 7352973..9b030aa 100644 --- a/generate.sh +++ b/generate.sh @@ -13,4 +13,9 @@ python regs/bits_gen.py ../dreamcast/regs/systembus_bits.csv systembus Systembus python regs/ta_parameters.py ../dreamcast/regs/vertex_parameter_format.csv holly TAVertexParameter > sega/dreamcast/holly/TAVertexParameter.java python regs/ta_parameters.py ../dreamcast/regs/global_parameter_format.csv holly TAGlobalParameter > sega/dreamcast/holly/TAGlobalParameter.java -PYTHONPATH=./regs/ python ../model_generator/generate_java.py ../untitled.obj UntitledModel > ./models/UntitledModel.java +PYTHONPATH=./regs/ python ../model_generator/generate_java.py ../untitled.obj UntitledModel > ./model/UntitledModel.java + + +python images/color_convert.py images/java_cup.png argb4444 images/java_cup.data +python images/color_convert.py images/java_text.png argb4444 images/java_text.data +python images/color_convert.py images/java_powered.png argb4444 images/java_powered.data diff --git a/images/color_convert.py b/images/color_convert.py new file mode 100644 index 0000000..c838853 --- /dev/null +++ b/images/color_convert.py @@ -0,0 +1,96 @@ +import struct +import sys + +from PIL import Image + +class color_format: + def gbgr1555(r, g, b, a): # nintendo ds + r5 = (r >> 3) & 31 + g6 = (g >> 3) & 31 + g6_l = (g >> 2) & 1 + b5 = (b >> 3) & 31 + return (g6_l << 15) | (b5 << 10) | (g6 << 5) | (r5 << 0) + + def argb4444(r, g, b, a): + a4 = (a >> 4) & 15 + r4 = (r >> 4) & 15 + g4 = (g >> 4) & 15 + b4 = (b >> 4) & 15 + return (a4 << 12) | (r4 << 8) | (g4 << 4) | (b4 << 0) + + def argb1555(r, g, b, a): + a1 = (a >> 7) & 1 + r5 = (r >> 3) & 31 + g5 = (g >> 3) & 31 + b5 = (b >> 3) & 31 + return (a1 << 15) | (r5 << 10) | (g5 << 5) | (b5 << 0) + + def rgb565(r, g, b, a): + r5 = (r >> 3) & 31 + g6 = (g >> 2) & 63 + b5 = (b >> 3) & 31 + return (r5 << 11) | (g5 << 5) | (b5 << 0) + + def axxx4444(r, g, b, a): + a4 = (a >> 4) & 15 + return (a4 << 12) + + def from_string(s): + return dict([ + ("gbgr1555", color_format.gbgr1555), + ("argb4444", color_format.argb4444), + ("argb1555", color_format.argb1555), + ("rgb565", color_format.rgb565), + ("axxx4444", color_format.axxx4444), + ])[s] + +def convert_colors(f, convert, colors): + assert len(colors) % 2 == 0, len(colors) + f.write(struct.pack(" + +#ifdef __cplusplus +extern C { +#endif + +extern uint32_t _binary_images_java_cup_data_start __asm("_binary_images_java_cup_data_start"); +extern uint32_t _binary_images_java_cup_data_end __asm("_binary_images_java_cup_data_end"); +extern uint32_t _binary_images_java_cup_data_size __asm("_binary_images_java_cup_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/images/java_cup.png b/images/java_cup.png new file mode 100644 index 0000000..c3b99f8 Binary files /dev/null and b/images/java_cup.png differ diff --git a/images/java_cup.xcf b/images/java_cup.xcf new file mode 100644 index 0000000..e49656e Binary files /dev/null and b/images/java_cup.xcf differ diff --git a/images/java_powered.data b/images/java_powered.data new file mode 100644 index 0000000..1384a11 Binary files /dev/null and b/images/java_powered.data differ diff --git a/images/java_powered.data.h b/images/java_powered.data.h new file mode 100644 index 0000000..9b0dffc --- /dev/null +++ b/images/java_powered.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern C { +#endif + +extern uint32_t _binary_images_java_powered_data_start __asm("_binary_images_java_powered_data_start"); +extern uint32_t _binary_images_java_powered_data_end __asm("_binary_images_java_powered_data_end"); +extern uint32_t _binary_images_java_powered_data_size __asm("_binary_images_java_powered_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/images/java_powered.png b/images/java_powered.png new file mode 100644 index 0000000..6fac62d Binary files /dev/null and b/images/java_powered.png differ diff --git a/images/java_powered.xcf b/images/java_powered.xcf new file mode 100644 index 0000000..1869118 Binary files /dev/null and b/images/java_powered.xcf differ diff --git a/images/java_text.data b/images/java_text.data new file mode 100644 index 0000000..333c946 Binary files /dev/null and b/images/java_text.data differ diff --git a/images/java_text.data.h b/images/java_text.data.h new file mode 100644 index 0000000..cc93c73 --- /dev/null +++ b/images/java_text.data.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern C { +#endif + +extern uint32_t _binary_images_java_text_data_start __asm("_binary_images_java_text_data_start"); +extern uint32_t _binary_images_java_text_data_end __asm("_binary_images_java_text_data_end"); +extern uint32_t _binary_images_java_text_data_size __asm("_binary_images_java_text_data_size"); + +#ifdef __cplusplus +} +#endif diff --git a/images/java_text.png b/images/java_text.png new file mode 100644 index 0000000..aec10ed Binary files /dev/null and b/images/java_text.png differ diff --git a/images/java_text.xcf b/images/java_text.xcf new file mode 100644 index 0000000..5dfcff3 Binary files /dev/null and b/images/java_text.xcf differ diff --git a/java.mk b/java.mk index 7ac51c9..6893389 100644 --- a/java.mk +++ b/java.mk @@ -21,7 +21,10 @@ OBJ = \ MAIN_DREAMCAST_OBJ = \ c/sh7091_scif.o \ - c/main_dreamcast.o + c/main_dreamcast.o \ + images/java_text.data.o \ + images/java_cup.data.o \ + images/java_powered.data.o MAIN_HOSTED_OBJ = \ c/file.o \ diff --git a/java/misc/Resource.class.h b/java/misc/Resource.class.h new file mode 100644 index 0000000..b965149 --- /dev/null +++ b/java/misc/Resource.class.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern C { +#endif + +extern uint32_t _binary_java_misc_Resource_class_start __asm("_binary_java_misc_Resource_class_start"); +extern uint32_t _binary_java_misc_Resource_class_end __asm("_binary_java_misc_Resource_class_end"); +extern uint32_t _binary_java_misc_Resource_class_size __asm("_binary_java_misc_Resource_class_size"); + +#ifdef __cplusplus +} +#endif diff --git a/java/misc/Resource.java b/java/misc/Resource.java new file mode 100644 index 0000000..a72284a --- /dev/null +++ b/java/misc/Resource.java @@ -0,0 +1,8 @@ +package java.misc; + +public class Resource { + private Resource() { + } + + public static native int[] getResource(String name); +} diff --git a/model/FacePNT.class.h b/model/FacePNT.class.h deleted file mode 100644 index 957e231..0000000 --- a/model/FacePNT.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_model_FacePNT_class_start __asm("_binary_model_FacePNT_class_start"); -extern uint32_t _binary_model_FacePNT_class_end __asm("_binary_model_FacePNT_class_end"); -extern uint32_t _binary_model_FacePNT_class_size __asm("_binary_model_FacePNT_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/model/FacePNT.java b/model/FacePNT.java deleted file mode 100644 index 6b8d666..0000000 --- a/model/FacePNT.java +++ /dev/null @@ -1,13 +0,0 @@ -package model; - -public class FacePNT { - public int position; - public int normal; - public int texture_coordinate; - - FacePNT(int position, int normal, int texture_coordinate) { - this.position = position; - this.normal = normal; - this.texture_coordinate = texture_coordinate; - } -} diff --git a/model/FacePTN.class.h b/model/FacePTN.class.h new file mode 100644 index 0000000..78073af --- /dev/null +++ b/model/FacePTN.class.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern C { +#endif + +extern uint32_t _binary_model_FacePTN_class_start __asm("_binary_model_FacePTN_class_start"); +extern uint32_t _binary_model_FacePTN_class_end __asm("_binary_model_FacePTN_class_end"); +extern uint32_t _binary_model_FacePTN_class_size __asm("_binary_model_FacePTN_class_size"); + +#ifdef __cplusplus +} +#endif diff --git a/model/FacePTN.java b/model/FacePTN.java new file mode 100644 index 0000000..5b575e4 --- /dev/null +++ b/model/FacePTN.java @@ -0,0 +1,13 @@ +package model; + +public class FacePTN { + public int position; + public int texture; + public int normal; + + FacePTN(int position, int texture, int normal) { + this.position = position; + this.texture = texture; + this.normal = normal; + } +} diff --git a/model/ModelObject.java b/model/ModelObject.java index aee5001..a4a4fe1 100644 --- a/model/ModelObject.java +++ b/model/ModelObject.java @@ -1,5 +1,5 @@ package model; public class ModelObject { - public FacePNT[][] faces; + public FacePTN[][] faces; } diff --git a/model/UntitledModel.java b/model/UntitledModel.java index 5c6529c..df6c00b 100644 --- a/model/UntitledModel.java +++ b/model/UntitledModel.java @@ -10,7 +10,7 @@ public class UntitledModel { static { position = new Vec3[8]; normal = new Vec3[6]; - texture = new Vec2[4]; + texture = new Vec2[6]; objects = new ModelObject[1]; position[0] = new Vec3(1.0f, 1.0f, -1.0f); position[1] = new Vec3(1.0f, -1.0f, -1.0f); @@ -27,46 +27,48 @@ public class UntitledModel { normal[4] = new Vec3(1.0f, 0.0f, 0.0f); normal[5] = new Vec3(0.0f, 0.0f, -1.0f); texture[0] = new Vec2(1.0f, 0.0f); - texture[1] = new Vec2(0.0f, 1.0f); + texture[1] = new Vec2(0.0f, 0.5f); texture[2] = new Vec2(0.0f, 0.0f); - texture[3] = new Vec2(1.0f, 1.0f); + texture[3] = new Vec2(1.0f, 0.5f); + texture[4] = new Vec2(0.0f, 1.0f); + texture[5] = new Vec2(1.0f, 1.0f); objects[0] = new ModelObject(); - objects[0].faces = new FacePNT[12][3]; - objects[0].faces[0][0] = new FacePNT(4, 0, 0); - objects[0].faces[0][1] = new FacePNT(2, 1, 0); - objects[0].faces[0][2] = new FacePNT(0, 2, 0); - objects[0].faces[1][0] = new FacePNT(2, 0, 1); - objects[0].faces[1][1] = new FacePNT(7, 1, 1); - objects[0].faces[1][2] = new FacePNT(3, 2, 1); - objects[0].faces[2][0] = new FacePNT(6, 0, 2); - objects[0].faces[2][1] = new FacePNT(5, 1, 2); - objects[0].faces[2][2] = new FacePNT(7, 2, 2); - objects[0].faces[3][0] = new FacePNT(1, 0, 3); - objects[0].faces[3][1] = new FacePNT(7, 1, 3); - objects[0].faces[3][2] = new FacePNT(5, 2, 3); - objects[0].faces[4][0] = new FacePNT(0, 0, 4); - objects[0].faces[4][1] = new FacePNT(3, 1, 4); - objects[0].faces[4][2] = new FacePNT(1, 2, 4); - objects[0].faces[5][0] = new FacePNT(4, 0, 5); - objects[0].faces[5][1] = new FacePNT(1, 1, 5); - objects[0].faces[5][2] = new FacePNT(5, 2, 5); - objects[0].faces[6][0] = new FacePNT(4, 0, 0); - objects[0].faces[6][1] = new FacePNT(6, 3, 0); - objects[0].faces[6][2] = new FacePNT(2, 1, 0); - objects[0].faces[7][0] = new FacePNT(2, 0, 1); - objects[0].faces[7][1] = new FacePNT(6, 3, 1); - objects[0].faces[7][2] = new FacePNT(7, 1, 1); - objects[0].faces[8][0] = new FacePNT(6, 0, 2); - objects[0].faces[8][1] = new FacePNT(4, 3, 2); - objects[0].faces[8][2] = new FacePNT(5, 1, 2); - objects[0].faces[9][0] = new FacePNT(1, 0, 3); - objects[0].faces[9][1] = new FacePNT(3, 3, 3); - objects[0].faces[9][2] = new FacePNT(7, 1, 3); - objects[0].faces[10][0] = new FacePNT(0, 0, 4); - objects[0].faces[10][1] = new FacePNT(2, 3, 4); - objects[0].faces[10][2] = new FacePNT(3, 1, 4); - objects[0].faces[11][0] = new FacePNT(4, 0, 5); - objects[0].faces[11][1] = new FacePNT(0, 3, 5); - objects[0].faces[11][2] = new FacePNT(1, 1, 5); + objects[0].faces = new FacePTN[12][3]; + objects[0].faces[0][0] = new FacePTN(4, 0, 0); + objects[0].faces[0][1] = new FacePTN(2, 1, 0); + objects[0].faces[0][2] = new FacePTN(0, 2, 0); + objects[0].faces[1][0] = new FacePTN(2, 0, 1); + objects[0].faces[1][1] = new FacePTN(7, 1, 1); + objects[0].faces[1][2] = new FacePTN(3, 2, 1); + objects[0].faces[2][0] = new FacePTN(6, 3, 2); + objects[0].faces[2][1] = new FacePTN(5, 4, 2); + objects[0].faces[2][2] = new FacePTN(7, 1, 2); + objects[0].faces[3][0] = new FacePTN(1, 0, 3); + objects[0].faces[3][1] = new FacePTN(7, 1, 3); + objects[0].faces[3][2] = new FacePTN(5, 2, 3); + objects[0].faces[4][0] = new FacePTN(0, 3, 4); + objects[0].faces[4][1] = new FacePTN(3, 4, 4); + objects[0].faces[4][2] = new FacePTN(1, 1, 4); + objects[0].faces[5][0] = new FacePTN(4, 0, 5); + objects[0].faces[5][1] = new FacePTN(1, 1, 5); + objects[0].faces[5][2] = new FacePTN(5, 2, 5); + objects[0].faces[6][0] = new FacePTN(4, 0, 0); + objects[0].faces[6][1] = new FacePTN(6, 3, 0); + objects[0].faces[6][2] = new FacePTN(2, 1, 0); + objects[0].faces[7][0] = new FacePTN(2, 0, 1); + objects[0].faces[7][1] = new FacePTN(6, 3, 1); + objects[0].faces[7][2] = new FacePTN(7, 1, 1); + objects[0].faces[8][0] = new FacePTN(6, 3, 2); + objects[0].faces[8][1] = new FacePTN(4, 5, 2); + objects[0].faces[8][2] = new FacePTN(5, 4, 2); + objects[0].faces[9][0] = new FacePTN(1, 0, 3); + objects[0].faces[9][1] = new FacePTN(3, 3, 3); + objects[0].faces[9][2] = new FacePTN(7, 1, 3); + objects[0].faces[10][0] = new FacePTN(0, 3, 4); + objects[0].faces[10][1] = new FacePTN(2, 5, 4); + objects[0].faces[10][2] = new FacePTN(3, 4, 4); + objects[0].faces[11][0] = new FacePTN(4, 0, 5); + objects[0].faces[11][1] = new FacePTN(0, 3, 5); + objects[0].faces[11][2] = new FacePTN(1, 1, 5); } } diff --git a/model/Vec2.java b/model/Vec2.java index 73b0868..ad7a55a 100644 --- a/model/Vec2.java +++ b/model/Vec2.java @@ -4,7 +4,7 @@ public class Vec2 { public float x; public float y; - Vec2(float x, float y) { + public Vec2(float x, float y) { this.x = x; this.y = y; } diff --git a/model/Vec3.java b/model/Vec3.java index e2cacb1..42969b4 100644 --- a/model/Vec3.java +++ b/model/Vec3.java @@ -5,7 +5,7 @@ public class Vec3 { public float y; public float z; - Vec3(float x, float y, float z) { + public Vec3(float x, float y, float z) { this.x = x; this.y = y; this.z = z; diff --git a/p/Multiply.class.h b/p/Multiply.class.h deleted file mode 100644 index f502b96..0000000 --- a/p/Multiply.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern uint32_t _binary_p_Multiply_class_start __asm("_binary_p_Multiply_class_start"); -extern uint32_t _binary_p_Multiply_class_end __asm("_binary_p_Multiply_class_end"); -extern uint32_t _binary_p_Multiply_class_size __asm("_binary_p_Multiply_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/p/Native.class.h b/p/Native.class.h deleted file mode 100644 index 4bfda70..0000000 --- a/p/Native.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern uint32_t _binary_p_Native_class_start __asm("_binary_p_Native_class_start"); -extern uint32_t _binary_p_Native_class_end __asm("_binary_p_Native_class_end"); -extern uint32_t _binary_p_Native_class_size __asm("_binary_p_Native_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/p/TestResource.java b/p/TestResource.java new file mode 100644 index 0000000..1879c11 --- /dev/null +++ b/p/TestResource.java @@ -0,0 +1,12 @@ +package p; + +import java.misc.Resource; + +class TestResource { + public static void test() { + Resource.getResource("foo"); + } + public static void main() { + test(); + } +} diff --git a/sega/dreamcast/holly/Core.java b/sega/dreamcast/holly/Core.java index af5f7d4..abbd986 100644 --- a/sega/dreamcast/holly/Core.java +++ b/sega/dreamcast/holly/Core.java @@ -64,11 +64,6 @@ public class Core { | CoreBits.fb_r_size__fb_y_size(y_size - 3) | CoreBits.fb_r_size__fb_x_size((x_size * 16) / 32 - 1); - int fb_r_ctrl = - CoreBits.fb_r_ctrl__vclk_div__pclk_vclk_1 - | CoreBits.fb_r_ctrl__fb_depth__565_rgb_16bit - | CoreBits.fb_r_ctrl__fb_enable; - int fb_w_ctrl = CoreBits.fb_w_ctrl__fb_dither | CoreBits.fb_w_ctrl__fb_packmode__565_rgb_16bit; @@ -78,10 +73,22 @@ public class Core { Memory.putU4(Holly.FB_X_CLIP, fb_x_clip); Memory.putU4(Holly.FB_Y_CLIP, fb_y_clip); Memory.putU4(Holly.FB_R_SIZE, fb_r_size); - Memory.putU4(Holly.FB_R_CTRL, fb_r_ctrl); Memory.putU4(Holly.FB_W_CTRL, fb_w_ctrl); } + public static void fb_r_disable() { + Memory.putU4(Holly.FB_R_CTRL, 0); + } + + public static void fb_r_enable() { + int fb_r_ctrl = + CoreBits.fb_r_ctrl__vclk_div__pclk_vclk_1 + | CoreBits.fb_r_ctrl__fb_depth__565_rgb_16bit + | CoreBits.fb_r_ctrl__fb_enable; + + Memory.putU4(Holly.FB_R_CTRL, fb_r_ctrl); + } + public static void start_render(int region_array_start, int isp_tsp_parameters_start, int background_start, diff --git a/sega/dreamcast/holly/ISPTSP.java b/sega/dreamcast/holly/ISPTSP.java index 106a576..ec0bc4b 100644 --- a/sega/dreamcast/holly/ISPTSP.java +++ b/sega/dreamcast/holly/ISPTSP.java @@ -54,18 +54,6 @@ public class ISPTSP { public static int tsp_instruction_word__mip_map_d_adjust(int n) { return (n & 15) << 8; } - public static int tsp_instruction_word__palette_selector4(int n) { - return (n & 63) << 21; - } - public static int tsp_instruction_word__palette_selector8(int n) { - return (n & 3) << 25; - } - public static int tsp_instruction_word__stride_select(int n) { - return (n >> 25) & 1; - } - public static int tsp_instruction_word__texture_address(int n) { - return (n & 2097151) << 0; - } public static final int tsp_instruction_word__flip_uv__none = 0 << 17; public static final int tsp_instruction_word__flip_uv__v = 1 << 17; public static final int tsp_instruction_word__flip_uv__u = 2 << 17; @@ -98,15 +86,27 @@ public class ISPTSP { public static final int tsp_instruction_word__texture_v_size__256 = 5 << 0; public static final int tsp_instruction_word__texture_v_size__512 = 6 << 0; public static final int tsp_instruction_word__texture_v_size__1024 = 7 << 0; - public static final int tsp_instruction_word__pixel_format__1555 = 0 << 27; - public static final int tsp_instruction_word__pixel_format__565 = 1 << 27; - public static final int tsp_instruction_word__pixel_format__4444 = 2 << 27; - public static final int tsp_instruction_word__pixel_format__yuv422 = 3 << 27; - public static final int tsp_instruction_word__pixel_format__bump_map = 4 << 27; - public static final int tsp_instruction_word__pixel_format__4bpp_palette = 5 << 27; - public static final int tsp_instruction_word__pixel_format__8bpp_palette = 6 << 27; - public static final int tsp_instruction_word__scan_order__twiddled = 0 << 26; - public static final int tsp_instruction_word__scan_order__non_twiddled = 1 << 26; public static final int texture_control_word__mip_mapped = 1 << 31; public static final int texture_control_word__vq_compressed = 1 << 30; + public static int texture_control_word__palette_selector4(int n) { + return (n & 63) << 21; + } + public static int texture_control_word__palette_selector8(int n) { + return (n & 3) << 25; + } + public static int texture_control_word__stride_select(int n) { + return (n >> 25) & 1; + } + public static int texture_control_word__texture_address(int n) { + return (n & 2097151) << 0; + } + public static final int texture_control_word__pixel_format__1555 = 0 << 27; + public static final int texture_control_word__pixel_format__565 = 1 << 27; + public static final int texture_control_word__pixel_format__4444 = 2 << 27; + public static final int texture_control_word__pixel_format__yuv422 = 3 << 27; + public static final int texture_control_word__pixel_format__bump_map = 4 << 27; + public static final int texture_control_word__pixel_format__4bpp_palette = 5 << 27; + public static final int texture_control_word__pixel_format__8bpp_palette = 6 << 27; + public static final int texture_control_word__scan_order__twiddled = 0 << 26; + public static final int texture_control_word__scan_order__non_twiddled = 1 << 26; } diff --git a/sega/dreamcast/holly/RegionArray$OPBSize.class.h b/sega/dreamcast/holly/RegionArray$OPBSize.class.h deleted file mode 100644 index de60bb5..0000000 --- a/sega/dreamcast/holly/RegionArray$OPBSize.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_RegionArray_OPBSize_class_start __asm("_binary_sega_dreamcast_holly_RegionArray_OPBSize_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_RegionArray_OPBSize_class_end __asm("_binary_sega_dreamcast_holly_RegionArray_OPBSize_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_RegionArray_OPBSize_class_size __asm("_binary_sega_dreamcast_holly_RegionArray_OPBSize_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAFIFOPolygonConverter.java b/sega/dreamcast/holly/TAFIFOPolygonConverter.java index 46a3204..9b2a454 100644 --- a/sega/dreamcast/holly/TAFIFOPolygonConverter.java +++ b/sega/dreamcast/holly/TAFIFOPolygonConverter.java @@ -3,6 +3,8 @@ package sega.dreamcast.holly; import sega.dreamcast.holly.Holly; import sega.dreamcast.holly.CoreBits; import sega.dreamcast.holly.TABits; +import sega.dreamcast.systembus.Systembus; +import sega.dreamcast.systembus.SystembusBits; import java.misc.Memory; public class TAFIFOPolygonConverter { @@ -45,14 +47,21 @@ public class TAFIFOPolygonConverter { public static void wait_opaque_list() { - //while ((system.ISTNRM & istnrm::end_of_transferring_opaque_list) == 0) { - //}; - //system.ISTNRM = istnrm::end_of_transferring_opaque_list; while (true) { - int istnrm = Memory.getU4(0xa05f6900); - if ((istnrm & (1 << 7)) != 0) + int istnrm = Memory.getU4(Systembus.ISTNRM); + if ((istnrm & SystembusBits.istnrm__end_of_transferring_opaque_list) != 0) break; } - Memory.putU4(0xa05f6900, (1 << 7)); + Memory.putU4(Systembus.ISTNRM, SystembusBits.istnrm__end_of_transferring_opaque_list); + } + + public static void wait_translucent_list() + { + while (true) { + int istnrm = Memory.getU4(Systembus.ISTNRM); + if ((istnrm & SystembusBits.istnrm__end_of_transferring_translucent_list) != 0) + break; + } + Memory.putU4(Systembus.ISTNRM, SystembusBits.istnrm__end_of_transferring_translucent_list); } } diff --git a/sega/dreamcast/holly/TAGlobalParameter$end_of_list.class.h b/sega/dreamcast/holly/TAGlobalParameter$end_of_list.class.h deleted file mode 100644 index 807ac04..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$end_of_list.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_end_of_list_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$modifier_volume.class.h b/sega/dreamcast/holly/TAGlobalParameter$modifier_volume.class.h deleted file mode 100644 index fcf5f9e..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$modifier_volume.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_modifier_volume_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$object_list_set.class.h b/sega/dreamcast/holly/TAGlobalParameter$object_list_set.class.h deleted file mode 100644 index 4975637..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$object_list_set.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_object_list_set_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_0.class.h b/sega/dreamcast/holly/TAGlobalParameter$polygon_type_0.class.h deleted file mode 100644 index b0035b2..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_0.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_0_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_1.class.h b/sega/dreamcast/holly/TAGlobalParameter$polygon_type_1.class.h deleted file mode 100644 index 39d4e68..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_1.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_1_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_2.class.h b/sega/dreamcast/holly/TAGlobalParameter$polygon_type_2.class.h deleted file mode 100644 index 816adbf..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_2.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_2_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_3.class.h b/sega/dreamcast/holly/TAGlobalParameter$polygon_type_3.class.h deleted file mode 100644 index ee55fb0..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_3.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_3_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_4.class.h b/sega/dreamcast/holly/TAGlobalParameter$polygon_type_4.class.h deleted file mode 100644 index 551e5cf..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$polygon_type_4.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_polygon_type_4_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$sprite.class.h b/sega/dreamcast/holly/TAGlobalParameter$sprite.class.h deleted file mode 100644 index 24e22ae..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$sprite.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_sprite_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAGlobalParameter$user_tile_clip.class.h b/sega/dreamcast/holly/TAGlobalParameter$user_tile_clip.class.h deleted file mode 100644 index 8adffec..0000000 --- a/sega/dreamcast/holly/TAGlobalParameter$user_tile_clip.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_start __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_end __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_size __asm("_binary_sega_dreamcast_holly_TAGlobalParameter_user_tile_clip_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$modifier_volume.class.h b/sega/dreamcast/holly/TAVertexParameter$modifier_volume.class.h deleted file mode 100644 index 5e10b48..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$modifier_volume.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_modifier_volume_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_0.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_0.class.h deleted file mode 100644 index 4d8aca5..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_0.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_0_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_1.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_1.class.h deleted file mode 100644 index 314df92..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_1.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_1_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_10.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_10.class.h deleted file mode 100644 index 20e9250..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_10.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_10_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_11.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_11.class.h deleted file mode 100644 index db73340..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_11.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_11_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_12.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_12.class.h deleted file mode 100644 index 1b38764..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_12.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_12_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_13.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_13.class.h deleted file mode 100644 index 1d88797..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_13.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_13_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_14.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_14.class.h deleted file mode 100644 index 246ed39..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_14.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_14_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_2.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_2.class.h deleted file mode 100644 index 39a4d03..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_2.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_2_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_3.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_3.class.h deleted file mode 100644 index c0ba5c1..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_3.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_3_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_4.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_4.class.h deleted file mode 100644 index a07c262..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_4.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_4_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_5.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_5.class.h deleted file mode 100644 index 40f05fe..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_5.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_5_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_6.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_6.class.h deleted file mode 100644 index ddd3bac..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_6.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_6_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_7.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_7.class.h deleted file mode 100644 index ac47d65..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_7.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_7_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_8.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_8.class.h deleted file mode 100644 index f1decdf..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_8.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_8_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$polygon_type_9.class.h b/sega/dreamcast/holly/TAVertexParameter$polygon_type_9.class.h deleted file mode 100644 index ead7e2c..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$polygon_type_9.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_polygon_type_9_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$sprite_type_0.class.h b/sega/dreamcast/holly/TAVertexParameter$sprite_type_0.class.h deleted file mode 100644 index f3199d9..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$sprite_type_0.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_0_class_size"); - -#ifdef __cplusplus -} -#endif diff --git a/sega/dreamcast/holly/TAVertexParameter$sprite_type_1.class.h b/sega/dreamcast/holly/TAVertexParameter$sprite_type_1.class.h deleted file mode 100644 index 90df670..0000000 --- a/sega/dreamcast/holly/TAVertexParameter$sprite_type_1.class.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern C { -#endif - -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_start __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_start"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_end __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_end"); -extern uint32_t _binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_size __asm("_binary_sega_dreamcast_holly_TAVertexParameter_sprite_type_1_class_size"); - -#ifdef __cplusplus -} -#endif