@@ -111,6 +111,8 @@ void PCSX::Debug::process(uint32_t oldPC, uint32_t newPC, uint32_t oldCode, uint
111
111
const bool isSWL = basic == 0x2a ;
112
112
const bool isSW = (basic == 0x2b ) || (basic == 0x3a );
113
113
const bool isSWR = basic == 0x2e ;
114
+ const bool isLWC2 = basic == 0x32 ;
115
+ const bool isSWC2 = basic == 0x3a ;
114
116
uint32_t offset = regs.GPR .r [(newCode >> 21 ) & 0x1f ] + int16_t (newCode);
115
117
if (isLWL || isLWR || isSWR || isSWL) offset &= ~3 ;
116
118
if (isLB || isLBU) {
@@ -127,7 +129,7 @@ void PCSX::Debug::process(uint32_t oldPC, uint32_t newPC, uint32_t oldCode, uint
127
129
}
128
130
if (m_mapping_r16) markMap (offset, MAP_R16);
129
131
}
130
- if (isLW || isLWR || isLWL) {
132
+ if (isLW || isLWR || isLWL || isLWC2 ) {
131
133
checkBP (offset, BreakpointType::Read, 4 );
132
134
if (m_breakmp_r32 && !isMapMarked (offset, MAP_R32)) {
133
135
triggerBP (nullptr , offset, 4 , _ (" Read 32 map" ));
@@ -148,7 +150,7 @@ void PCSX::Debug::process(uint32_t oldPC, uint32_t newPC, uint32_t oldCode, uint
148
150
}
149
151
if (m_mapping_w16) markMap (offset, MAP_W16);
150
152
}
151
- if (isSW || isSWR || isSWL) {
153
+ if (isSW || isSWR || isSWL || isSWC2 ) {
152
154
checkBP (offset, BreakpointType::Write, 4 );
153
155
if (m_breakmp_w32 && !isMapMarked (offset, MAP_W32)) {
154
156
triggerBP (nullptr , offset, 4 , _ (" Write 32 map" ));
0 commit comments