From f964dfaa5e36d37196d67910c83b9477d9dab6a0 Mon Sep 17 00:00:00 2001 From: Ty Lamontagne Date: Thu, 12 Dec 2024 14:38:06 -0500 Subject: [PATCH] IOPBios: Defer to iopMemSafeWriteBytes when HLEing reads --- pcsx2/IopBios.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pcsx2/IopBios.cpp b/pcsx2/IopBios.cpp index 2c8617cb7f..843f2a0275 100644 --- a/pcsx2/IopBios.cpp +++ b/pcsx2/IopBios.cpp @@ -852,8 +852,16 @@ namespace R3000A v0 = file->read(buf.get(), count); - for (s32 i = 0; i < (s32)v0; i++) - iopMemWrite8(data + i, buf[i]); + [[likely]] + if (v0 >= 0 && iopMemSafeWriteBytes(data, buf.get(), v0)) + { + psxCpu->Clear(data, (v0 + 3) / 4); + } + else + { + for (s32 i = 0; i < static_cast(v0); i++) + iopMemWrite8(data + i, buf[i]); + } pc = ra; return 1;