hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.32k stars 2.18k forks source link

Colin McRae Rally 2005 - Lack of Memory stick space for Saves. #5377

Closed ThePhoenixRises closed 10 years ago

ThePhoenixRises commented 10 years ago

On Windows 7 (x86) using v0.9.6-813-g9798af3 Game is EUR version: ULES00111.

There is still the issue of Colin McRae Rally 2005, remember its still refusing to save because of it complaining of not having enough room on the memory stick. screen00015

This is the save part of the Info Log, if you require whole log, let me know.

14:14:512 user_main I[ME]: hle\scempeg.cpp:1122 sceMpegFinish(...) 14:14:637 user_main I[KERNEL]: hle\scekernelthread.cpp:2136 367=sceKernelCreateThread(name=mpegDummyThread, entry=089be3c4, prio=3d, stacksize=8192) 14:14:637 user_main I[KERNEL]: hle\scekernelthread.cpp:2187 sceKernelStartThread(thread=367, argSize=4, argPtr=00000000) 14:14:637 user_main W[KERNEL]: hle\scekernelthread.cpp:2203 00000000=sceKernelStartThread(thread=367, argSize=4, argPtr=00000000): NULL argument with size (should crash?) 14:14:698 user_main I[SCEGE]: gles\framebuffer.cpp:794 Creating FBO for 00044000 : 480 x 272 x 1 14:14:833 idle0 I[SCEGE]: gles\framebuffer.cpp:1605 Decimating FBO for 00088000 (480 x 272 x 3), age 6 14:28:128 user_main E[IO]: hle\sceio.cpp:1656 ERROR_ERRNO_FILE_NOT_FOUND=sceIoOpenAsync(memstick:/PSP/SAVEDATA/ULES001110000/CMR5TS.DAT, 00000001, 00000000) - file not found 14:28:162 user_main E[IO]: hle\sceio.cpp:1574 UNIMPL sceIoDevctl("memstick:", 02425818, 0bfbf984, 4, 00000000, 0) 14:37:705 user_main I[IO]: hle\sceio.cpp:842 stdout: POOL 237568 14:37:707 user_main I[IO]: hle\sceio.cpp:842 stdout: POOL 16384 14:37:726 user_main I[G3D]: gles\shadermanager.cpp:146 Linked shader: vs 24 fs 29 14:39:011 user_main I[G3D]: gles\shadermanager.cpp:146 Linked shader: vs 19 fs 31 14:39:024 user_main I[G3D]: gles\shadermanager.cpp:146 Linked shader: vs 33 fs 29

unknownbrackets commented 10 years ago

Does the log ever show sceUtilitySavedataInitStart?

Do you have any files in memstick/PSP/SAVEDATA/ULES001110000/?

I wonder if we support "memstick:" as an alias for "ms0:".... I can't remember even seeing that before.

-[Unknown]

ThePhoenixRises commented 10 years ago

@unknownbrackets Actually No it doesn't, why would that be the reason? And Yes, I have a full set of six files including: CMR5TS.DAT, ICON0.PNG,OPTIONS.DAT,PARAM.SFO,PIC1.PNG,TIMES.DAT

Here is the full log if I did it right: https://gist.github.com/ThePhoenixRises/8904846

unknownbrackets commented 10 years ago

Then it's not even technically "savedata" related, it's just memstick related. Time to try memstick:...

-[Unknown]

unknownbrackets commented 10 years ago

Hmm, memstick: doesn't seem to work. I guess it must be calling sceIoAssign or something...

-[Unknown]

ThePhoenixRises commented 10 years ago

I Uploaded the full log above for you, @unknownbrackets

unknownbrackets commented 10 years ago

I just added some reporting / additional logging in a0d5610f36d018138e023d7a209052781d038fc2. When v0.9.6-839-ga0d5610 is available on the buildbot, a log from it (or just running it with compatibility reports enabled) would help.

I seem to be able to create aliases at will, unsurprisingly, so the game might be doing that.

-[Unknown]

ThePhoenixRises commented 10 years ago

Okay here goes......Only one line using that error code: 13:26:507 user_main W[IO]: HLE\sceIo.cpp:551 sceIoAssign(memstick:, msstor0p1:/, fatms0:, IOASSIGN_RDWR, 00000000, 0)

New complete Info Log: https://gist.github.com/ThePhoenixRises/8906124

hrydgard commented 10 years ago

Wonder if it's worth adding proper support for reassignments, or if we should just add another one to the list of aliases we already have...

unknownbrackets commented 10 years ago

That's why I added the reporting, to find out what other cases we have to deal with.

http://report.ppsspp.org/logs/kinds/

-[Unknown]

ThePhoenixRises commented 10 years ago

Hi Morning, I have just tested latest version, and its worked to a certain degree, the screens have changed to these now. screen00027 screen00028 So it now knows where the memstick is, but refused to save still. Here is the latest Info Log: https://gist.github.com/ThePhoenixRises/8914369

dbz400 commented 10 years ago

Have a chance to test it .This is the log from savedata part

22:10:931 user_main I[UTIL]: Dialog\PSPSaveDialog.cpp:66 sceUtilitySavedataInitStart(08b412b4) : Mode = 1 22:10:955 user_main E[FileSys]: FileSystems\DirectoryFileSystem.cpp:462 DirectoryFileSystem::OpenFile: FAILED, 123 - access = 10 22:10:955 user_main E[IO]: HLE\sceIo.cpp:1656 ERROR_ERRNO_FILE_NOT_FOUND=sceIoOpenAsync(memstick:/PSP/SAVEDATA/ULES001110000/TIMES.DAT, 00000602, 0 00001ff) - file not found 22:14:634 user_main E[FileSys]: FileSystems\DirectoryFileSystem.cpp:462 DirectoryFileSystem::OpenFile: FAILED, 123 - access = 1 22:14:634 user_main E[IO]: HLE\sceIo.cpp:1656 ERROR_ERRNO_FILE_NOT_FOUND=sceIoOpenAsync(memstick:/PSP/SAVEDATA/ULES001110000/CMR5TS.DAT, 00000001, 00000000) - file not found

dbz400 commented 10 years ago

It should write that CMR5TS.DAT and TIMES.DAT files (SAVE FAILED) .Then try to read it .

ThePhoenixRises commented 10 years ago

I tried deleting my game save that I did have, and tried that, but same outcome. Right I have to get ready for work now...........so will be back online in 12 hours time.

unknownbrackets commented 10 years ago

Hmm. A JpcspTrace to see how the savedata stuff goes (with no previous savedata) would help.

At least it's getting to the savedata part now. It seems to do an AUTOSAVE, not sure why it doesn't work.

-[Unknown]

sum2012 commented 10 years ago

Let me say first @raven02 Log this setting more useful for debug sceutility 1

sum2012 commented 10 years ago

@unknownbrackets ppsspp-v0.9.6-881 sceutility log: https://gist.github.com/sum2012/02de9c75c8cf63af8be9 JPCSPTrace log: https://gist.github.com/sum2012/171642c5f432249c0f6e

ThePhoenixRises commented 10 years ago

Thanks @sum2012, For doing the JPCSPTrace Log, as I have No idea whatsoever on how to do one.

unknownbrackets commented 10 years ago

Windows is giving error 123, ERROR_INVALID_NAME. Means there's something wrong with the filename.

Duhh.. I'm stupid: https://github.com/hrydgard/ppsspp/blob/master/Core/FileSystems/MetaFileSystem.cpp#L233

Try replacing this line:

outpath = realpath.substr(prefLen);

With:

outpath = realpath.substr(prefixPos + 1);

-[Unknown]

sum2012 commented 10 years ago

@unknownbrackets Well done,fixed edit:Who do the pull request ?

hrydgard commented 10 years ago

@sum2012 feel free to do it, unknown is probably asleep at this hour :)

sum2012 commented 10 years ago

@hrydgard The buildbot broken ?

hrydgard commented 10 years ago

@sum2012 it seems to be waiting for something... not sure what's going on. @Orphis ?

unknownbrackets commented 10 years ago

[02:39] < Orphis_ > I've disabled the builds for 2 hours. I need the server for something high prio right now!

-[Unknown]

sum2012 commented 10 years ago

@ThePhoenixRises please confirm v0.9.6-923-gc158d0a or newer version fixed

ThePhoenixRises commented 10 years ago

@sum2012, just tested: v0.9.6-923-gc158d0a Yes awesome, it worked perfectly, its saving & loading my save game now. Thank you so much guys.......Great job!!!!

sum2012 commented 10 years ago

@ThePhoenixRises The JPCSPTrace log is that use Real PSP to make log.The file is inside JPCSP download.ms0\JpcspTrace\

3