From d640bdd032f75a9d22a226f81756f85d666b6811 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Wed, 19 Dec 2012 11:11:27 +0100 Subject: [PATCH] Fix memory stick status check - now saving works in Lumines --- Core/HLE/sceIo.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Core/HLE/sceIo.cpp b/Core/HLE/sceIo.cpp index 17817b760b..d25d07983d 100644 --- a/Core/HLE/sceIo.cpp +++ b/Core/HLE/sceIo.cpp @@ -494,9 +494,16 @@ u32 sceIoDevctl(const char *name, int cmd, u32 argAddr, int argLen, u32 outPtr, } break; - case 0x02025806: // Memory stick inserted? case 0x02025801: // Memstick Driver status? - if (Memory::IsValidAddress(outPtr)) { + if (Memory::IsValidAddress(outPtr) && outLen >= 4) { + Memory::Write_U32(4, outPtr); // JPSCP: The right return value is 4 for some reason + return 0; + } else { + return ERROR_MEMSTICK_DEVCTL_BAD_PARAMS; + } + + case 0x02025806: // Memory stick inserted? + if (Memory::IsValidAddress(outPtr) && outLen >= 4) { Memory::Write_U32(1, outPtr); return 0; } else {