Nugget
Loading...
Searching...
No Matches
Functions | Variables
gte-sqr.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 (sqr_shifted, gte_tests, cop2_put(9, 0x1000);cop2_put(10, 0x0800);cop2_put(11, 0x2000);gte_clear_flag();cop2_cmd(COP2_SQR(1, 0));uint32_t ir1, ir2, ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_uint_eq(0x1000, ir1);cester_assert_uint_eq(0x0400, ir2);cester_assert_uint_eq(0x4000, ir3);) CESTER_TEST(sqr_unshifted
 
 cop2_put (9, 4)
 
 cop2_put (10, 5)
 
 cop2_put (11, 6)
 
 gte_clear_flag ()
 
 cop2_cmd (COP2_SQR(0, 0))
 
 cop2_get (9, ir1)
 
 cop2_get (10, ir2)
 
 cop2_get (11, ir3)
 
 cester_assert_uint_eq (16, ir1)
 
 cester_assert_uint_eq (25, ir2)
 
 cester_assert_uint_eq (36, ir3)
 
 CESTER_TEST (sqr_mac_output, gte_tests, cop2_put(9, 100);cop2_put(10, 200);cop2_put(11, 300);gte_clear_flag();cop2_cmd(COP2_SQR(0, 0));int32_t mac1, mac2, mac3;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);cester_assert_int_eq(10000, mac1);cester_assert_int_eq(40000, mac2);cester_assert_int_eq(90000, mac3);) CESTER_TEST(sqr_saturation_shifted
 
 cop2_put (9, 0x4000)
 
 cop2_put (10, 0x5a82)
 
 cop2_put (11, 0x7fff)
 
 cop2_cmd (COP2_SQR(1, 0))
 
 ramsyscall_printf ("SQR sat: IR1=0x%04x IR2=0x%04x IR3=0x%04x FLAG=0x%08x\n", ir1 &0xffff, ir2 &0xffff, ir3 &0xffff, flag)
 
 cester_assert_uint_eq (0x7fff, ir1 &0xffff)
 
 cester_assert_uint_eq (0x7fff, ir2 &0xffff)
 
 cester_assert_uint_eq (0x7fff, ir3 &0xffff)
 
 cester_assert_uint_eq (0x81c00000, flag)
 

Variables

 gte_tests
 
uint32_t ir1
 
uint32_t ir2
 
uint32_t ir3
 
uint32_t flag = gte_read_flag()
 

Function Documentation

◆ cester_assert_uint_eq() [1/7]

cester_assert_uint_eq ( 0x7fff  ,
ir1 0xffff 
)

◆ cester_assert_uint_eq() [2/7]

cester_assert_uint_eq ( 0x7fff  ,
ir2 0xffff 
)

◆ cester_assert_uint_eq() [3/7]

cester_assert_uint_eq ( 0x7fff  ,
ir3 0xffff 
)

◆ cester_assert_uint_eq() [4/7]

cester_assert_uint_eq ( 0x81c00000  ,
flag   
)

◆ cester_assert_uint_eq() [5/7]

cester_assert_uint_eq ( 16  ,
ir1   
)

◆ cester_assert_uint_eq() [6/7]

cester_assert_uint_eq ( 25  ,
ir2   
)

◆ cester_assert_uint_eq() [7/7]

cester_assert_uint_eq ( 36  ,
ir3   
)

◆ CESTER_TEST() [1/2]

CESTER_TEST ( sqr_mac_output  ,
gte_tests  ,
cop2_put(9, 100);cop2_put(10, 200);cop2_put(11, 300);gte_clear_flag();cop2_cmd(COP2_SQR(0, 0));int32_t  mac1,
mac2  ,
mac3;cop2_get(25, mac1);cop2_get(26, mac2);cop2_get(27, mac3);cester_assert_int_eq(10000, mac1);cester_assert_int_eq(40000, mac2);cester_assert_int_eq(90000, mac3);   
)

◆ CESTER_TEST() [2/2]

CESTER_TEST ( sqr_shifted  ,
gte_tests  ,
cop2_put(9, 0x1000);cop2_put(10, 0x0800);cop2_put(11, 0x2000);gte_clear_flag();cop2_cmd(COP2_SQR(1, 0));uint32_t  ir1,
ir2  ,
ir3;cop2_get(9, ir1);cop2_get(10, ir2);cop2_get(11, ir3);cester_assert_uint_eq(0x1000, ir1);cester_assert_uint_eq(0x0400, ir2);cester_assert_uint_eq(0x4000, ir3);   
)

◆ cop2_cmd() [1/2]

cop2_cmd ( COP2_SQR(0, 0)  )

◆ cop2_cmd() [2/2]

cop2_cmd ( COP2_SQR(1, 0)  )

◆ cop2_get() [1/3]

cop2_get ( 10  ,
ir2   
)

◆ cop2_get() [2/3]

cop2_get ( 11  ,
ir3   
)

◆ cop2_get() [3/3]

cop2_get ( ,
ir1   
)

◆ cop2_put() [1/6]

cop2_put ( 10  ,
0x5a82   
)

◆ cop2_put() [2/6]

cop2_put ( 10  ,
 
)

◆ cop2_put() [3/6]

cop2_put ( 11  ,
0x7fff   
)

◆ cop2_put() [4/6]

cop2_put ( 11  ,
 
)

◆ cop2_put() [5/6]

cop2_put ( ,
0x4000   
)

◆ cop2_put() [6/6]

cop2_put ( ,
 
)

◆ gte_clear_flag()

gte_clear_flag ( )

◆ ramsyscall_printf()

ramsyscall_printf ( )

Variable Documentation

◆ flag

flag = gte_read_flag()

◆ gte_tests

gte_tests

◆ ir1

uint32_t ir1

◆ ir2

uint32_t ir2

◆ ir3

uint32_t ir3