|
| | CESTER_TEST (mvmva_rt_v0_tr, gte_tests, cop2_putc(0, 0xf0000000);cop2_putc(1, 0x10000000);cop2_putc(2, 0x00000000);cop2_putc(3, 0x00000000);cop2_putc(4, 0x1000);gte_set_translation(10, 20, 30);cop2_put(0,(200<< 16)|100);cop2_put(1, 300);gte_clear_flag();cop2_cmd(COP2_MVMVA(1, 0, 0, 0, 0));int32_t mac1, mac2, mac3;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);cester_assert_int_eq(-190, mac1);cester_assert_int_eq(120, mac2);cester_assert_int_eq(330, mac3);) CESTER_TEST(mvmva_rt_v1_zero |
| |
| | gte_set_identity_rotation () |
| |
| | cop2_put (2,(40<< 16)|30) |
| |
| | cop2_put (3, 50) |
| |
| | gte_clear_flag () |
| |
| | cop2_cmd (COP2_MVMVA(1, 0, 1, 3, 0)) |
| |
| | cop2_get (25, mac1) |
| |
| | cop2_get (26, mac2) |
| |
| | cop2_get (27, mac3) |
| |
| | cester_assert_int_eq (30, mac1) |
| |
| | cester_assert_int_eq (40, mac2) |
| |
| | cester_assert_int_eq (50, mac3) |
| |
| | CESTER_TEST (mvmva_rt_v2_bk, gte_tests, gte_set_identity_rotation();cop2_putc(13, 1000);cop2_putc(14, 2000);cop2_putc(15, 3000);cop2_put(4,(200<< 16)|100);cop2_put(5, 300);gte_clear_flag();cop2_cmd(COP2_MVMVA(1, 0, 2, 1, 0));int32_t mac1, mac2, mac3;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);cester_assert_int_eq(1100, mac1);cester_assert_int_eq(2200, mac2);cester_assert_int_eq(3300, mac3);) CESTER_TEST(mvmva_rt_ir_zero |
| |
| | cop2_put (9, 500) |
| |
| | cop2_put (10, 600) |
| |
| | cop2_put (11, 700) |
| |
| | cop2_cmd (COP2_MVMVA(1, 0, 3, 3, 0)) |
| |
| | cester_assert_int_eq (500, mac1) |
| |
| | cester_assert_int_eq (600, mac2) |
| |
| | cester_assert_int_eq (700, mac3) |
| |
| | CESTER_TEST (mvmva_ll_v0_zero, gte_tests, gte_set_simple_light();cop2_put(0,(200<< 16)|100);cop2_put(1, 0x1000);gte_clear_flag();cop2_cmd(COP2_MVMVA(1, 1, 0, 3, 0));int32_t mac1, mac2, mac3;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);cester_assert_int_eq(0, mac1);cester_assert_int_eq(0, mac2);cester_assert_int_eq(0x1000, mac3);) CESTER_TEST(mvmva_lc_ir_bk |
| |
| | gte_set_white_light_color () |
| |
| | cop2_putc (13, 100) |
| |
| | cop2_putc (14, 200) |
| |
| | cop2_putc (15, 300) |
| |
| | cop2_put (9, 0x1000) |
| |
| | cop2_put (10, 0x1000) |
| |
| | cop2_put (11, 0x1000) |
| |
| | cop2_cmd (COP2_MVMVA(1, 2, 3, 1, 0)) |
| |
| | cester_assert_int_eq (4196, mac1) |
| |
| | cester_assert_int_eq (4296, mac2) |
| |
| | cester_assert_int_eq (4396, mac3) |
| |
| | CESTER_TEST (mvmva_cv2_fc_bug, gte_tests, gte_set_identity_rotation();gte_set_far_color(0x1000, 0x2000, 0x3000);cop2_put(0,(0x200<< 16)|0x100);cop2_put(1, 0x300);gte_clear_flag();cop2_cmd(COP2_MVMVA(1, 0, 0, 2, 0));int32_t mac1, mac2, mac3;uint32_t flag;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);flag=gte_read_flag();ramsyscall_printf("MVMVA cv=2: MAC=(%d,%d,%d) FLAG=0x%08x\n", mac1, mac2, mac3, flag);cester_assert_int_eq(0, mac1);cester_assert_int_eq(512, mac2);cester_assert_int_eq(768, mac3);cester_assert_uint_eq(0x00000000, flag);) CESTER_TEST(mvmva_mx3_garbage |
| |
| | cop2_putc (0, 0x20001000) |
| |
| | cop2_putc (1, 0x40003000) |
| |
| | cop2_putc (2, 0x60005000) |
| |
| | cop2_putc (3, 0x80007000) |
| |
| | cop2_putc (4, 0x1000) |
| |
| | cop2_put (8, 0x0800) |
| |
| | cop2_put (0,(0x100<< 16)|0x100) |
| |
| | cop2_put (1, 0x100) |
| |
| | cop2_cmd (COP2_MVMVA(1, 3, 0, 3, 0)) |
| |
| | ramsyscall_printf ("MVMVA mx=3: MAC=(%d,%d,%d) FLAG=0x%08x\n", mac1, mac2, mac3, flag) |
| |
| | cester_assert_int_eq (128, mac1) |
| |
| | cester_assert_int_eq (2304, mac2) |
| |
| | cester_assert_int_eq (3840, mac3) |
| |
| | cester_assert_uint_eq (0x00000000, flag) |
| |