6#define MVMVA_T(mx, v, cv) do { \
7 if ((v) == 3) { cop2_put(9, 0x100); cop2_put(10, 0x200); cop2_put(11, 0x300); } \
9 cop2_cmd(COP2_MVMVA(1, mx, v, cv, 0)); \
12#define MVMVA_MX3_V(v) do { \
13 if ((v) == 3) { cop2_put(9, 0x400); cop2_put(10, 0x500); cop2_put(11, 0x600); } \
15 cop2_cmd(COP2_MVMVA(1, 3, v, 3, 0)); \
16 int32_t _m1, _m2, _m3; \
17 cop2_get(25, _m1); cop2_get(26, _m2); cop2_get(27, _m3); \
18 ramsyscall_printf("MVMVA mx=3 v=%d: MAC=(%d,%d,%d)\n", v, _m1, _m2, _m3); \
21#define MVMVA_CV2_MX(mx) do { \
22 cop2_put(9, 0x100); cop2_put(10, 0x200); cop2_put(11, 0x300); \
24 cop2_cmd(COP2_MVMVA(1, mx, 0, 2, 0)); \
25 int32_t _m1, _m2, _m3; uint32_t _fl; \
26 cop2_get(25, _m1); cop2_get(26, _m2); cop2_get(27, _m3); _fl = gte_read_flag(); \
27 ramsyscall_printf("MVMVA mx=%d cv=2: MAC=(%d,%d,%d) FLAG=0x%08x\n", mx, _m1, _m2, _m3, _fl); \
CESTER_TEST(cpu_cop0_basic_write_bp, cpu_tests, uint32_t expectedEPC;uint32_t t;volatile uint32_t *ptr=(volatile uint32_t *) 0x58; *ptr=1;__asm__ volatile("" " lui %0, 0b1100101010000000\n" " mtc0 %0, $7\n" " li %0, 0x58\n" " mtc0 %0, $5\n" " li %0, 0xfffffff0\n" " mtc0 %0, $9\n" :"=r"(t));cester_assert_uint_eq(1, *ptr);__asm__ volatile("la %0, 1f\n1:\nsw $0, 0x58($0)" :"=r"(expectedEPC));__asm__ volatile("mtc0 $0, $7\n");cester_assert_uint_eq(0, *ptr);cester_assert_uint_eq(1, s_got40);cester_assert_uint_eq(0, s_got80);cester_assert_uint_eq(0x40, s_from);cester_assert_uint_eq(expectedEPC, s_epc);) CESTER_TEST(cpu_cop0_kseg_write_bp
cester_assert_uint_eq(1, *ptr)
#define COP2_FN_GPF
Definition cop2.h:105
#define COP2_OP_CP(sf, lm)
Definition cop2.h:136
#define cop2_cmd(op)
Definition cop2.h:175
#define cop2_put(reg, val)
Definition cop2.h:182
#define COP2_SQR(sf, lm)
Definition cop2.h:161
#define COP2_GPF(sf, lm)
Definition cop2.h:168
#define cop2_putc(reg, val)
Definition cop2.h:196
#define COP2_RTPS(sf, lm)
Definition cop2.h:129
#define COP2_AVSZ3
Definition cop2.h:164
#define COP2_FN_RTPS
Definition cop2.h:86
#define cop2_get(reg, dest)
Definition cop2.h:189
#define COP2_FN_NCLIP
Definition cop2.h:87
#define COP2_OP(fake, sf, mx, v, cv, lm, fn)
Definition cop2.h:116
#define COP2_FN_AVSZ3
Definition cop2.h:102
cester_assert_int_eq(0, hi)
gte_set_far_color(0xff00, 0xff00, 0xff00)
gte_tests
Definition gte-depthcue.c:29
gte_set_identity_rotation()
gte_set_translation(0, 0, 0)
#define MVMVA_T(mx, v, cv)
Definition gte-encoding.c:6
#define MVMVA_CV2_MX(mx)
Definition gte-encoding.c:21
#define MVMVA_MX3_V(v)
Definition gte-encoding.c:12
gte_set_white_light_color()
void uint32_t(classId, spec)