44static void drawSGAB(
void) {
46 rasterClearTestRegion(0, 0, 64, 32);
47 rasterGouraudTri(0x0000ffu, 20, 20,
50 rasterFlushPrimitive();
54static void drawSG1(
void) {
56 rasterClearTestRegion(0, 0, 64, 56);
60 rasterFlushPrimitive();
64static void drawSG2(
void) {
66 rasterClearTestRegion(0, 0, 72, 56);
70 rasterFlushPrimitive();
75static void drawSGR(
void) {
77 rasterClearTestRegion(0, 0, 56, 56);
81 rasterFlushPrimitive();
85static void drawSG3(
void) {
87 rasterClearTestRegion(0, 0, 48, 56);
91 rasterFlushPrimitive();
CESTER_BODY(static int s_got40;static int s_got80;static uint32_t s_cause;static uint32_t s_epc;static uint32_t s_from;static uint32_t *s_resume;static uint32_t *s_regs;static uint32_t(*s_customhandler)()=NULL;static uint32_t s_oldIMASK;static uint32_t s_oldDPCR;static uint32_t s_oldDICR;uint32_t handler(uint32_t *regs, uint32_t from) { if(from==0x40) s_got40=1;if(from==0x80) s_got80=1;uint32_t cause;uint32_t epc;s_from=from;asm("mfc0 %0, $13\nnop\nmfc0 %1, $14\nnop" :"=r"(cause), "=r"(epc));s_cause=cause;s_epc=epc;if(s_customhandler) { return s_customhandler();} else { return s_resume ?((uint32_t) s_resume) :(epc+4);} } void installExceptionHandlers(uint32_t(*handler)(uint32_t *regs, uint32_t from));void uninstallExceptionHandlers();uint32_t branchbranch1();uint32_t branchbranch2();uint32_t jumpjump1();uint32_t jumpjump2();uint32_t cpu_LWR_LWL_half(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_nodelay(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_delayed(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_load_different(uint32_t buff[], uint32_t initial);uint32_t cpu_LW_LWR(uint32_t buff[], uint32_t initial);uint32_t cpu_delayed_load(uint32_t buff[], uint32_t override);uint32_t cpu_delayed_load_cancelled(uint32_t buff[], uint32_t override);uint64_t cpu_delayed_load_load(uint32_t buff[], uint32_t override);uint32_t linkandload();uint32_t lwandlink();uint32_t nolink();static int s_interruptsWereEnabled;) CESTER_BEFORE_EACH(cpu_tests
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
#define SG3_31_40
Definition raster-expected-phase22.h:136
#define SG_AB_33_28
Definition raster-expected-phase22.h:90
#define SG_AB_24_23
Definition raster-expected-phase22.h:69
#define SG_AB_43_27
Definition raster-expected-phase22.h:85
#define SG_AB_28_27
Definition raster-expected-phase22.h:81
#define SG_AB_30_28
Definition raster-expected-phase22.h:89
#define SG1_29_26
Definition raster-expected-phase22.h:97
#define SG2_39_31
Definition raster-expected-phase22.h:110
#define SG2_30_30
Definition raster-expected-phase22.h:111
#define SG_AB_27_25
Definition raster-expected-phase22.h:75
#define SGR_31_20
Definition raster-expected-phase22.h:125
#define SG_AB_28_28
Definition raster-expected-phase22.h:87
#define SGR_13_22
Definition raster-expected-phase22.h:126
#define SG_AB_29_28
Definition raster-expected-phase22.h:88
#define SG2_48_32
Definition raster-expected-phase22.h:112
#define SG_AB_30_24
Definition raster-expected-phase22.h:72
#define SG1_20_20
Definition raster-expected-phase22.h:100
#define SG_AB_38_27
Definition raster-expected-phase22.h:83
#define SG_AB_26_23
Definition raster-expected-phase22.h:70
#define SG_AB_25_27
Definition raster-expected-phase22.h:80
#define SG3_33_38
Definition raster-expected-phase22.h:138
#define SG_AB_27_26
Definition raster-expected-phase22.h:78
#define SG_AB_32_24
Definition raster-expected-phase22.h:73
#define SG_AB_27_24
Definition raster-expected-phase22.h:71
#define SG2_40_20
Definition raster-expected-phase22.h:113
#define SG_AB_32_25
Definition raster-expected-phase22.h:76
#define SG3_30_33
Definition raster-expected-phase22.h:134
#define SG1_24_24
Definition raster-expected-phase22.h:98
#define SG2_20_34
Definition raster-expected-phase22.h:114
#define SG_AB_26_22
Definition raster-expected-phase22.h:68
#define SG1_36_28
Definition raster-expected-phase22.h:99
#define SG_AB_37_24
Definition raster-expected-phase22.h:74
#define SG3_30_22
Definition raster-expected-phase22.h:135
#define SG_AB_49_28
Definition raster-expected-phase22.h:91
#define SG3_V2_20_46
Definition raster-expected-phase22.h:133
#define SG_AB_35_26
Definition raster-expected-phase22.h:79
#define SG_AB_49_27
Definition raster-expected-phase22.h:86
#define SG_AB_22_26
Definition raster-expected-phase22.h:77
#define SGR_8_8
Definition raster-expected-phase22.h:121
#define SG2_V2_6_40
Definition raster-expected-phase22.h:109
#define SGR_16_16
Definition raster-expected-phase22.h:123
#define SG1_40_24
Definition raster-expected-phase22.h:102
#define SG_AB_33_27
Definition raster-expected-phase22.h:82
#define SG3_28_30
Definition raster-expected-phase22.h:137
#define SGR_22_28
Definition raster-expected-phase22.h:124
#define SG1_30_32
Definition raster-expected-phase22.h:101
#define SG_AB_41_27
Definition raster-expected-phase22.h:84
#define SGR_26_25
Definition raster-expected-phase22.h:122
#define RASTER_CMD_BLUE
Definition raster-helpers.h:127
#define RASTER_CMD_RED
Definition raster-helpers.h:123
#define RASTER_CMD_GREEN
Definition raster-helpers.h:125
#define ASSERT_PIXEL_EQ(expected, x_, y_)
Definition raster-helpers.h:472