43static void drawQFA4(
void) {
45 rasterClearTestRegion(0, 0, 32, 16);
47 setTextureWindow(0, 0, 0, 0);
55 rasterFlushPrimitive();
58static void drawQFA8(
void) {
60 rasterClearTestRegion(0, 0, 48, 16);
62 setTextureWindow(0, 0, 0, 0);
70 rasterFlushPrimitive();
73static void drawQFA15(
void) {
75 rasterClearTestRegion(0, 0, 32, 16);
77 setTextureWindow(0, 0, 0, 0);
84 rasterFlushPrimitive();
89static void drawQFD4(
void) {
96 rasterClearTestRegion(0, 0, 28, 16);
98 setTextureWindow(0, 0, 0, 0);
105 rasterFlushPrimitive();
108static void drawQFD15(
void) {
111 rasterClearTestRegion(0, 0, 28, 16);
113 setTextureWindow(0, 0, 0, 0);
120 rasterFlushPrimitive();
130static void drawQFO4(
void) {
132 rasterClearTestRegion(0, 0, 16, 16);
134 setTextureWindow(0, 0, 0, 0);
141 rasterFlushPrimitive();
144static void drawQFO8(
void) {
148 rasterClearTestRegion(0, 0, 16, 16);
150 setTextureWindow(0, 0, 0, 0);
157 rasterFlushPrimitive();
160static void drawQFO15(
void) {
162 rasterClearTestRegion(0, 0, 16, 16);
164 setTextureWindow(0, 0, 0, 0);
171 rasterFlushPrimitive();
181static void drawQFS4(
void) {
187 setTextureWindow(0, 0, 0, 0);
194 rasterFlushPrimitive();
197static void drawQFS8(
void) {
201 setTextureWindow(0, 0, 0, 0);
208 rasterFlushPrimitive();
216static void drawQFDeg(
void) {
218 rasterClearTestRegion(0, 0, 32, 16);
220 setTextureWindow(0, 0, 0, 0);
227 rasterFlushPrimitive();
231static void drawQFDegRef(
void) {
233 rasterClearTestRegion(0, 0, 32, 16);
235 setTextureWindow(0, 0, 0, 0);
241 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 QFDEG_7_3
Definition raster-expected-phase8.h:214
#define QFA8_0_6
Definition raster-expected-phase8.h:105
#define QFO8_TERMINAL_4_0
Definition raster-expected-phase8.h:183
#define QFD15_4_5
Definition raster-expected-phase8.h:162
#define QFO4_TERMINAL_4_0
Definition raster-expected-phase8.h:177
#define QFD15_14_6
Definition raster-expected-phase8.h:153
#define QFD15_0_0
Definition raster-expected-phase8.h:148
#define QFS4_7_3
Definition raster-expected-phase8.h:201
#define QFA8_22_5
Definition raster-expected-phase8.h:108
#define QFA15_0_6
Definition raster-expected-phase8.h:117
#define QFA8_30_6
Definition raster-expected-phase8.h:106
#define QFO4_INTERIOR_2_1
Definition raster-expected-phase8.h:180
#define QFD15_4_2
Definition raster-expected-phase8.h:158
#define QFD4_4_6
Definition raster-expected-phase8.h:131
#define QFA4_0_0
Definition raster-expected-phase8.h:90
#define QFD4_8_0
Definition raster-expected-phase8.h:128
#define QFD15_10_5
Definition raster-expected-phase8.h:163
#define QFD4_0_0
Definition raster-expected-phase8.h:127
#define QFD15_4_3
Definition raster-expected-phase8.h:150
#define QFA4_7_3
Definition raster-expected-phase8.h:94
#define QFD15_4_1
Definition raster-expected-phase8.h:156
#define QFO4_TERMINAL_4_1
Definition raster-expected-phase8.h:178
#define QFS8_30_6
Definition raster-expected-phase8.h:206
#define QFD15_8_0
Definition raster-expected-phase8.h:149
#define QFD4_10_2
Definition raster-expected-phase8.h:142
#define QFDEG_3_5
Definition raster-expected-phase8.h:215
#define QFD4_10_3
Definition raster-expected-phase8.h:130
#define QFO4_TERMINAL_4_2
Definition raster-expected-phase8.h:179
#define QFD15_4_6
Definition raster-expected-phase8.h:152
#define QFS4_14_6
Definition raster-expected-phase8.h:202
#define QFO15_TERMINAL_4_0
Definition raster-expected-phase8.h:188
#define QFA15_0_0
Definition raster-expected-phase8.h:115
#define QFA8_15_3
Definition raster-expected-phase8.h:107
#define QFA4_14_6
Definition raster-expected-phase8.h:93
#define QFD4_4_4
Definition raster-expected-phase8.h:143
#define QFD15_10_2
Definition raster-expected-phase8.h:159
#define QFA15_3_5
Definition raster-expected-phase8.h:120
#define QFD4_4_5
Definition raster-expected-phase8.h:145
#define QFA15_14_6
Definition raster-expected-phase8.h:118
#define QFO15_TERMINAL_4_2
Definition raster-expected-phase8.h:190
#define QFD15_4_4
Definition raster-expected-phase8.h:160
#define QFO15_INTERIOR_2_1
Definition raster-expected-phase8.h:191
#define QFD4_4_2
Definition raster-expected-phase8.h:141
#define QFA15_14_0
Definition raster-expected-phase8.h:116
#define QFD15_10_4
Definition raster-expected-phase8.h:161
#define QFDEG_REF_7_3
Definition raster-expected-phase8.h:218
#define QFDEG_0_0
Definition raster-expected-phase8.h:213
#define QFD4_10_1
Definition raster-expected-phase8.h:140
#define QFD15_10_1
Definition raster-expected-phase8.h:157
#define QFA8_0_0
Definition raster-expected-phase8.h:103
#define QFD4_4_3
Definition raster-expected-phase8.h:129
#define QFA4_14_0
Definition raster-expected-phase8.h:91
#define QFA8_30_0
Definition raster-expected-phase8.h:104
#define QFO8_INTERIOR_2_1
Definition raster-expected-phase8.h:186
#define QFD4_10_5
Definition raster-expected-phase8.h:146
#define QFA4_0_6
Definition raster-expected-phase8.h:92
#define QFS4_0_0
Definition raster-expected-phase8.h:200
#define QFD4_10_4
Definition raster-expected-phase8.h:144
#define QFD4_4_1
Definition raster-expected-phase8.h:139
#define QFS8_0_0
Definition raster-expected-phase8.h:204
#define QFA15_7_3
Definition raster-expected-phase8.h:119
#define QFS8_15_3
Definition raster-expected-phase8.h:205
#define QFD4_14_6
Definition raster-expected-phase8.h:132
#define QFO15_TERMINAL_4_1
Definition raster-expected-phase8.h:189
#define QFDEG_REF_0_0
Definition raster-expected-phase8.h:217
#define QFO4_INTERIOR_3_2
Definition raster-expected-phase8.h:181
#define QFD15_10_3
Definition raster-expected-phase8.h:151
#define QFA4_3_5
Definition raster-expected-phase8.h:95
#define QFDEG_REF_3_5
Definition raster-expected-phase8.h:219
#define QFO8_TERMINAL_4_1
Definition raster-expected-phase8.h:184
#define QFO8_TERMINAL_4_2
Definition raster-expected-phase8.h:185
#define RASTER_VRAM_RED
Definition raster-helpers.h:124
#define ASSERT_PIXEL_EQ(expected, x_, y_)
Definition raster-helpers.h:472
#define CLUT8_FIELD
Definition texture-fixtures.h:84
#define TEX15_TY
Definition texture-fixtures.h:66
#define TEX8_TY
Definition texture-fixtures.h:61
#define CLUT4_FIELD
Definition texture-fixtures.h:83
#define TEX15_TPAGE
Definition texture-fixtures.h:104
#define TEX8_TPAGE
Definition texture-fixtures.h:103
#define CLUT15_FIELD
Definition texture-fixtures.h:85
#define TEX15_TX
Definition texture-fixtures.h:65
#define TEX8_TX
Definition texture-fixtures.h:60
#define TEX_MOD_NEUTRAL
Definition texture-fixtures.h:328
#define TEX4_TY
Definition texture-fixtures.h:56
#define TEX4_TX
Definition texture-fixtures.h:55
#define TEX4_TPAGE
Definition texture-fixtures.h:102