mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-11 15:13:37 +02:00
Add memory breakpoints on sceIo read/write.
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include "native/thread/threadutil.h"
|
||||
#include "Core/Core.h"
|
||||
#include "Core/Config.h"
|
||||
#include "Core/Debugger/Breakpoints.h"
|
||||
#include "Core/MemMap.h"
|
||||
#include "Core/System.h"
|
||||
#include "Core/Host.h"
|
||||
@@ -725,6 +726,7 @@ bool __IoRead(int &result, int id, u32 data_addr, int size) {
|
||||
result = ERROR_KERNEL_BAD_FILE_DESCRIPTOR;
|
||||
return true;
|
||||
} else if (Memory::IsValidAddress(data_addr)) {
|
||||
CBreakPoints::ExecMemCheck(data_addr, true, size, currentMIPS->pc);
|
||||
u8 *data = (u8*) Memory::GetPointer(data_addr);
|
||||
if (f->npdrm) {
|
||||
result = npdrmRead(f, data, size);
|
||||
@@ -855,6 +857,8 @@ bool __IoWrite(int &result, int id, u32 data_addr, int size) {
|
||||
return true;
|
||||
}
|
||||
|
||||
CBreakPoints::ExecMemCheck(data_addr, false, size, currentMIPS->pc);
|
||||
|
||||
bool useThread = __KernelIsDispatchEnabled() && ioManagerThreadEnabled && size > IO_THREAD_MIN_DATA_SIZE;
|
||||
if (useThread) {
|
||||
// If there's a pending operation on this file, wait for it to finish and don't overwrite it.
|
||||
|
||||
Reference in New Issue
Block a user