Nugget
Loading...
Searching...
No Matches
Functions | Variables
gte-op.c File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 CESTER_TEST (op_identity_diagonal, gte_tests, gte_set_identity_rotation();cop2_put(9, 1000);cop2_put(10, 2000);cop2_put(11, 3000);gte_clear_flag();cop2_cmd(COP2_OP_CP(1, 0));int32_t ir1, ir2, ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_int_eq(1000, ir1);cester_assert_int_eq(-2000, ir2);cester_assert_int_eq(1000, ir3);) CESTER_TEST(op_unshifted
 
 gte_set_identity_rotation ()
 
 cop2_put (9, 10)
 
 cop2_put (10, 20)
 
 cop2_put (11, 30)
 
 gte_clear_flag ()
 
 cop2_cmd (COP2_OP_CP(0, 0))
 
 cop2_get (25, mac1)
 
 cop2_get (26, mac2)
 
 cop2_get (27, mac3)
 
 cester_assert_int_eq (40960, mac1)
 
 cester_assert_int_eq (-81920, mac2)
 
 cester_assert_int_eq (40960, mac3)
 
 CESTER_TEST (op_asymmetric, gte_tests, cop2_putc(0, 0x00000800);cop2_putc(1, 0x00000000);cop2_putc(2, 0x00001000);cop2_putc(3, 0x00000000);cop2_putc(4, 0x2000);cop2_put(9, 100);cop2_put(10, 200);cop2_put(11, 300);gte_clear_flag();cop2_cmd(COP2_OP_CP(1, 0));int32_t ir1, ir2, ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_int_eq(-100, ir1);cester_assert_int_eq(50, ir2);cester_assert_int_eq(0, ir3);) CESTER_TEST(op_overflow_flag
 
 cop2_putc (0, 0x00007fff)
 
 cop2_putc (2, 0x00007fff)
 
 cop2_putc (4, 0x7fff)
 
 cop2_put (9, 0x7fff)
 
 cop2_put (10, 0x7fff)
 
 cop2_put (11, 0x7fff)
 
 ramsyscall_printf ("OP overflow: FLAG=0x%08x\n", flag)
 
 cester_assert_uint_eq (0x00000000, flag)
 

Variables

 gte_tests
 
int32_t mac1
 
int32_t mac2
 
int32_t mac3
 
uint32_t flag = gte_read_flag()
 

Function Documentation

◆ cester_assert_int_eq() [1/3]

cester_assert_int_eq ( 81920,
mac2   
)

◆ cester_assert_int_eq() [2/3]

cester_assert_int_eq ( 40960  ,
mac1   
)

◆ cester_assert_int_eq() [3/3]

cester_assert_int_eq ( 40960  ,
mac3   
)

◆ cester_assert_uint_eq()

cester_assert_uint_eq ( 0x00000000  ,
flag   
)

◆ CESTER_TEST() [1/2]

CESTER_TEST ( op_asymmetric  ,
gte_tests  ,
cop2_putc(0, 0x00000800);cop2_putc(1, 0x00000000);cop2_putc(2, 0x00001000);cop2_putc(3, 0x00000000);cop2_putc(4, 0x2000);cop2_put(9, 100);cop2_put(10, 200);cop2_put(11, 300);gte_clear_flag();cop2_cmd(COP2_OP_CP(1, 0));int32_t  ir1,
ir2  ,
ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_int_eq(-100, ir1);cester_assert_int_eq(50, ir2);cester_assert_int_eq(0, ir3);   
)

◆ CESTER_TEST() [2/2]

CESTER_TEST ( op_identity_diagonal  ,
gte_tests  ,
gte_set_identity_rotation();cop2_put(9, 1000);cop2_put(10, 2000);cop2_put(11, 3000);gte_clear_flag();cop2_cmd(COP2_OP_CP(1, 0));int32_t  ir1,
ir2  ,
ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_int_eq(1000, ir1);cester_assert_int_eq(-2000, ir2);cester_assert_int_eq(1000, ir3);   
)

◆ cop2_cmd()

cop2_cmd ( COP2_OP_CP(0, 0)  )

◆ cop2_get() [1/3]

cop2_get ( 25  ,
mac1   
)

◆ cop2_get() [2/3]

cop2_get ( 26  ,
mac2   
)

◆ cop2_get() [3/3]

cop2_get ( 27  ,
mac3   
)

◆ cop2_put() [1/6]

cop2_put ( 10  ,
0x7fff   
)

◆ cop2_put() [2/6]

cop2_put ( 10  ,
20   
)

◆ cop2_put() [3/6]

cop2_put ( 11  ,
0x7fff   
)

◆ cop2_put() [4/6]

cop2_put ( 11  ,
30   
)

◆ cop2_put() [5/6]

cop2_put ( ,
0x7fff   
)

◆ cop2_put() [6/6]

cop2_put ( ,
10   
)

◆ cop2_putc() [1/3]

cop2_putc ( ,
0x00007fff   
)

◆ cop2_putc() [2/3]

cop2_putc ( ,
0x00007fff   
)

◆ cop2_putc() [3/3]

cop2_putc ( ,
0x7fff   
)

◆ gte_clear_flag()

gte_clear_flag ( )

◆ gte_set_identity_rotation()

gte_set_identity_rotation ( )

◆ ramsyscall_printf()

ramsyscall_printf ( )

Variable Documentation

◆ flag

flag = gte_read_flag()

◆ gte_tests

gte_tests

◆ mac1

int32_t mac1

◆ mac2

int32_t mac2

◆ mac3

int32_t mac3