diff --git a/code/gte_hello/gen/gte_hello.offsets.h b/code/hello_gte/gen/gte_hello.offsets.h similarity index 100% rename from code/gte_hello/gen/gte_hello.offsets.h rename to code/hello_gte/gen/gte_hello.offsets.h diff --git a/code/hello_gte/gen/hello_gte.offsets.h b/code/hello_gte/gen/hello_gte.offsets.h new file mode 100644 index 0000000..7c262ef --- /dev/null +++ b/code/hello_gte/gen/hello_gte.offsets.h @@ -0,0 +1,29 @@ +// Auto-generated by ps1_meta.lua (passes/offsets.lua) — DO NOT EDIT +// Source: C:\projects\Pikuma\ps1\code\hello_gte\hello_gte_tape.c +#pragma once + +#pragma region hello_gte_tape + + +// --- atom: cube_g4_face (77 words) --- + +#define _atom_offset_cull_cube_g4_face_exit 42 +#define _atom_offset_bounds_chk_cube_g4_face_exit 24 + +enum { + atom_offset_cull_cube_g4_face_exit = _atom_offset_cull_cube_g4_face_exit, + atom_offset_bounds_chk_cube_g4_face_exit = _atom_offset_bounds_chk_cube_g4_face_exit, +}; + +// --- atom: floor_f3_face (58 words) --- + +#define _atom_offset_culling_floor_f3_face_exit 25 +#define _atom_offset_bounds_chk_floor_f3_face_exit 16 + +enum { + atom_offset_culling_floor_f3_face_exit = _atom_offset_culling_floor_f3_face_exit, + atom_offset_bounds_chk_floor_f3_face_exit = _atom_offset_bounds_chk_floor_f3_face_exit, +}; + +#pragma endregion hello_gte_tape + diff --git a/code/gte_hello/hello_gte.c b/code/hello_gte/hello_gte.c similarity index 100% rename from code/gte_hello/hello_gte.c rename to code/hello_gte/hello_gte.c diff --git a/code/gte_hello/hello_gte.h b/code/hello_gte/hello_gte.h similarity index 100% rename from code/gte_hello/hello_gte.h rename to code/hello_gte/hello_gte.h diff --git a/code/gte_hello/hello_gte_tape.c b/code/hello_gte/hello_gte_tape.c similarity index 84% rename from code/gte_hello/hello_gte_tape.c rename to code/hello_gte/hello_gte_tape.c index a8c3f2f..b02ae19 100644 --- a/code/gte_hello/hello_gte_tape.c +++ b/code/hello_gte/hello_gte_tape.c @@ -50,32 +50,31 @@ MipsAtom_(cube_g4_face) atom_info(atom_phase(cube_g4), nop2, gte_cmdw_rotate_translate_perspective_triple, // required cpu -> gte delay slot gte_cmdw_nclip, - gte_mv_from_data_r(R_T0, C2_MAC0), - nop, + gte_mv_from_data_r(R_T0, C2_MAC0), nop, branch_le_zero(R_T0, atom_offset(cull, cube_g4_face_exit)), nop, + store_word(R_0, R_PrimCursor, O_(Poly_G4, tag)), + shift_lleft(R_AT, R_T3, v3s2_byteoff), add_u(R_AT, R_AT, R_VertBase), + load_word(R_V0, R_AT, O_(V3_S2, x)), load_word(R_V1, R_AT, O_(V3_S2, z)), + gte_mv_to_data_r(R_V0, C2_VXY0), gte_mv_to_data_r(R_V1, C2_VZ0), - store_word(R_0, R_PrimCursor, O_(Poly_G4, tag)), + mac_gte_store_g4_p012(), + gte_cmdw_rotate_translate_perspective_single, + mac_gte_store_g4_p3(), - shift_lleft(R_AT, R_T3, v3s2_byteoff), add_u(R_AT, R_AT, R_VertBase), - load_word(R_V0, R_AT, O_(V3_S2, x)), load_word(R_V1, R_AT, O_(V3_S2, z)), - gte_mv_to_data_r(R_V0, C2_VXY0), gte_mv_to_data_r(R_V1, C2_VZ0), + gte_cmdw_avg_sort_z4, + gte_mv_from_data_r(R_T1, C2_OTZ), + add_ui( R_AT, R_0, OrderingTbl_Len), + set_lt_u( R_AT, R_T1, R_AT), - mac_gte_store_g4_p012(), - gte_cmdw_rotate_translate_perspective_single, - mac_gte_store_g4_p3(), - - gte_cmdw_avg_sort_z4, - gte_mv_from_data_r(R_T1, C2_OTZ), - - add_ui( R_AT, R_0, OrderingTbl_Len), - set_lt_u( R_AT, R_T1, R_AT), - branch_equal(R_AT, R_0, atom_offset(bounds_chk, cube_g4_face_exit)), nop, - mac_format_g4_color( - /* c0 magenta */ 0xFF, 0x00, 0xFF, - /* c1 yellow */ 0xFF, 0xFF, 0x00, - /* c2 cyan */ 0x00, 0xFF, 0xFF, - /* c3 green */ 0x00, 0xFF, 0x00), - mac_insert_ot_tag_g4(), + branch_equal(R_AT, R_0, atom_offset(bounds_chk, cube_g4_face_exit)), nop, + mac_insert_ot_tag_g4(), + mac_format_g4_color( + /* c0 magenta */ 0xFF, 0x00, 0xFF, + /* c1 yellow */ 0xFF, 0xFF, 0x00, + /* c2 cyan */ 0x00, 0xFF, 0xFF, + /* c3 green */ 0x00, 0xFF, 0x00), + // end: branch(bounds_chk) +// end: branch(cull) atom_label(cube_g4_face_exit) add_ui_self(R_PrimCursor, S_(Poly_G4)), /* 9 words = Poly_G4 */ diff --git a/scripts/build_psyq.ps1 b/scripts/build_psyq.ps1 index 62d9df5..6f66c58 100644 --- a/scripts/build_psyq.ps1 +++ b/scripts/build_psyq.ps1 @@ -350,10 +350,10 @@ function build-graphis_hello { } # build-graphis_hello -function build-gte_hello { +function build-hello_gte { $includes += @() - $path_module = join-path $path_code 'gte_hello' + $path_module = join-path $path_code 'hello_gte' $path_duffle = join-path $path_code 'duffle' $path_atom_metadata = join-path $path_duffle 'word_count.metadata.h' $path_build_gen = join-path $path_build 'gen' @@ -458,7 +458,7 @@ function build-gte_hello { } } } -build-gte_hello +build-hello_gte # NO idea if this works yet...