Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android][OpenGL&Vulkan][Save issue] Assassin's Creed : Bloodlines (ULJM05571) #12761

Closed
nassau-tk opened this issue Mar 24, 2020 · 17 comments · Fixed by #13520
Closed

[Android][OpenGL&Vulkan][Save issue] Assassin's Creed : Bloodlines (ULJM05571) #12761

nassau-tk opened this issue Mar 24, 2020 · 17 comments · Fixed by #13520
Labels
Saving issue Prevents or obstructs saving game (not save states.)
Milestone

Comments

@nassau-tk
Copy link
Contributor

nassau-tk commented Mar 24, 2020

What happens?

The game can't save correctly. (Over write ??)

Step1: Start the game and create the savedata.(First time start up)
Step2: Play the game.
Step3: Auto save data working when check point coming.
Step4: Then appear a save error.(MemoryStick Change warning)

[Screen Shot Japanese]
MS_change_cant_save_jp

[Screen Shot English]
save_issue_english
I borrowed a English picture from different issue.

If you copied the savedata from real PSP.
You can load the savedata correctly.
But,You can't save (over write) this too.

What should happen?

Save game correctly.

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

PPSSPP Ver. : 1.9.3-559
OS: Android 9.0
DeviceName: SONY SO-02K / Xperia XZ1 Compact (Japan)
CPU: Snapdragon835 (Octa-core)
GPU: Adreno 540
Resolution: 720×1280
RAM: 4GB
ROM:32GB
ExternalStrage: microSDXC 512GB

I serched about save issue in github.
But,I couldn't find it.
If duplicated this issue then It's so sorry!!
#1525 (Closed)

I will attached 2 savedata.
Create on PPSSPP & Create on RealPSP
ULJM05571_PPSSPP.zip
ULJM05571_RealPSP.zip

And iso files CRC32 = F4ED0A50
Referring ==> http://redump.org/disc/66541/

@ghost
Copy link

ghost commented Mar 24, 2020

Related to #12753

@Saramagrean
Copy link
Contributor

Similar #7244?

@nassau-tk
Copy link
Contributor Author

I think #12753 not related.
(Text appearing issue? May be?)

Umm...
#7244 is near?
But, I'm not talking about ”statesave”.

Pure ”Save” by the game system.

@unknownbrackets
Copy link
Collaborator

Did this stop happening?

-[Unknown]

@Panderner
Copy link
Contributor

Did this stop happening?

-[Unknown]

Assassin's Creed Bloodlines can't be saved even i don't use savestates.

@hrydgard
Copy link
Owner

Gonna reopen then I guess.

@hrydgard hrydgard reopened this Mar 26, 2020
@nassau-tk
Copy link
Contributor Author

Oh!
Should it be considered?

@deathlire
Copy link

This also happens on linux version of ppsspp.
latest tested: v1.7.5-403-g128c0ad

os: gentoo
latest dev binary used. would seem to be a state change or copy protection being involved.

@LunaMoo
Copy link
Collaborator

LunaMoo commented Apr 2, 2020

We had an issue like that which I could reproduce back when starting to play this game, however could not later when trying to reproduce it and it was eventually closed as it could be a savestate time travel issue where player loads a savestate made before last savedata, thus disabling game's ability to recognize memstick.

I also fixed this with a hack back when starting to play this game by doing the exact thing I would with games that have time travel issue that is made a check for savedata always match, so the game could recognize savedata it didn't matched to.

Now, when I was testing it after completing a game I had that hack disabled and savedata still worked, in fact I can still load my savedata today without the hack, pick any mission from animus or just continue before last boss, it saves and can be loaded without issues so if affected people never used savestates, it could mean other things, for example that:

  • some initial save points in the game are broken,
  • game has memory allocation problems and early in the game calculates savedata hash from a memory which does not have savedata,
  • maybe it tries to calculate savedata hash before initially creating savedata due to some threading or timing issues,
  • something else?

Either way if you see a message a game cannot detect memory stick used at the start of the game, it has detected a hash missmatch between savedata it stores in it's memory(after loading or initially creating it) and the savedata stored on the memstick.
This is no copy protection or anything alike, quite a few games do check for savedata hash or savedata iteration to disallow saving over different savedata if memstick was changed after game was booted.

@unknownbrackets
Copy link
Collaborator

I am mostly sure the answer is no, but does this game ever call sceIoChstat()? I saw a log once that made me think a game was clearing the FAT archive bit, and then using that to check if Windows or similar has modified it (Windows will always set the bit whenever modifying a file.)

We always indicate the archive bit is cleared, but if this game ever does anything similar or if we sometimes don't set a field most games don't check, that might explain why this doesn't always happen.

If this happens, are you able to delete the save data and continue saving? Or are you stuck unable to save unless you can somehow match its mistaken hash?

-[Unknown]

@nassau-tk
Copy link
Contributor Author

nassau-tk commented Apr 2, 2020

@unknownbrackets
@LunaMoo

Here is report

If this happens, are you able to delete the save data and continue saving?>

I tested this case.
Result : Can not save
Error type : Same

Step1:Start the game.
Step2:Delete the ULJM05571(Savedata)
Step3:Clear the 1st Stage and coming save point.
Step4:Appear the Error screen.

And,Not create savedata after the error.

@deathlire
Copy link

deathlire commented Apr 3, 2020

@unknownbrackets
@LunaMoo

Here is report

If this happens, are you able to delete the save data and continue saving?>

I tested this case.
Result : Can not save
Error type : Same

Step1:Start the game.
Step2:Delete the ULJM05571(Savedata)
Step3:Clear the 1st Stage and coming save point.
Step4:Appear the Error screen.

And,Not create savedata after the error.

Exactly. This happens upon a New game on the initial saving is done and you play until the first save point. I could delve deeper and get terminal logs / assembly / testing if needed for you.

Never used a save state.. It is beginning of games first save once playing as @nassau-tk has said.

@nassau-tk
Copy link
Contributor Author

Um...
Windows10(64-bit) is not happen the issue.

@nassau-tk
Copy link
Contributor Author

May be this issue is very difficult.
But,I wonder it why don't attached the label(Tag)??

@nassau-tk
Copy link
Contributor Author

I tested v1.10.3-833.
Because,#13365 solved by this build.

I started by "continue".
The loaded file was moved from Real PSP.
It could saved correctly only the 1 time.
"Just 1 time".
And, next time couldn't save.
Appeared the same error dialog.

I deleted the Save Data and play "NewGame".
But,It could't save correctly.

I had never success to save on Android.
I think that I also succeeded in only once may be related to this build.
Because,This game using Autosave system.

I don't have any knowledge.
This is amateur's impressions.
For reference.

@nassau-tk
Copy link
Contributor Author

Wao!
Awesome!!
My amatures impression was not related.
But,I will become so happy by this PR!!

@nassau-tk
Copy link
Contributor Author

Yes!
I tested on Android device.
It's solved!
Thank you!!

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Oct 20, 2020
This seems to be necessary for Assassin's Creed.  See hrydgard#12761.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Saving issue Prevents or obstructs saving game (not save states.)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants