Closed benderscruffy closed 10 months ago
Tested in latest Windows build 1.6, issue confirmed.
Tested with the European and Japanese versions of the game in Windows V1.9.3, however this also occurs on actual PSP hardware running CFW as well as a PSVita using adrenaline. This particular game really doesn't seem to like being run from a disk image.
So it's not a bug, however it still could be fixed by simulating UMD delays, maybe already is, since it's not activated by default.
Just tested on Windows 1.9.3 with simulated UMD delay and all other settings default, still no joy. Are there any logs or dumps I could provide that might be helpful?
Is this a anti piracy measure? It should detected on PSP and PS Vita running CFWs. And i mentioned the DJ Max Portable's copy protection.
This isn't an anti copy protection, it's just the typical badly coded game that depends on exact hardware timing. It works from umd which is extremely slow, and bugs out from any faster medium. Since it was confirmed to happen on real PSP it's not a bug, but it can at some point in the future be solved by simulating real hardware slowness better.
Yeah our current simulated UMD delays are still far faster than real hardware. We need an extra mode with slower measured timings (though might be possible to just fake and hope, also...)
Can you listed in #7647?
So does this actually work now on recent builds, or not, with the UMD I/O timings?
Issue still appears to persist on Windows 64bit build v1.9.3-900-g79299e19f. Tried with otherwise default settings and with all I/O timing methods. It still hangs in the same spot. It is possible to get ingame on training missions regardless of the I/O timing settings (as I think was the case on the stable build), but trying to launch missions still produces the hang.
The gameid is ULES00590
Oh! It appears, the game itself, actually includes an anti-piracy measure! I analyzed the copy protection scheme itself and it turns out the game compares the loading times with the one that's being requested, if this check fails, the game will freeze while the background music still plays.
Oh! It appears, the game itself, actually includes an anti-piracy measure! I analyzed the copy protection scheme itself and it turns out the game compares the loading times with the one that's being requested, if this check fails, the game will freeze while the background music still plays.
@Sukotto-1999 are you tested with your CFW PSP?
@Sukotto-1999 Really, got any more details? Is it timing a whole loading process or just individual reads, and if so, do you know the thresholds?
Unfortuanently, i am aware of risks of semi-bricking my PSP-3000. So, i may have to test on my CFW'ed PSP-1000 (Jap model) to verify.
Oh, and by the way, how about a new option that allows to set a delay that can allow bypassing the freeze.
Here how UMD detection works: The game calculates the requested milliseconds and compares them to the actual loading time itself.
Example:
When loading via UMD: same milliseconds compared to requested = Game loads fine When loading via Memory Stick: few milliseconds compared to requested one = Check fails, game freezes.
I'll upload a comparison later.
You say you analyzed it and found a copyright protection scheme, but are you really sure it is one? It could theretically also be that something else in PPSSPP is too fast or slow, causing a race condition that doesn't happen on the real hardware. Like, does it work on real hardware both from ISO and UMD? Those have very different timings...
Typical cases of that is the dialog functions, synchronizing with graphics rendering, and such things, but would need to step through (using "Next HLE" repeatedly in the PPSSPP disassembly window) during the specific time where it hangs to collect a list of candidate functions...
From https://www.youtube.com/watch?v=me3EAMu1QFU&lc=Ugyppxz9CArGT991dMx4AaABAg.8ffAiy398BO9N64wbWVelH I confirm convert to CSO format can play in REAL PSP of Memory strick. ISO format can NOT play in REAL PSP.
I don't know that change timing of CSO of coding in PPSSPP.
From https://www.youtube.com/watch?v=me3EAMu1QFU&lc=Ugyppxz9CArGT991dMx4AaABAg.8ffAiy398BO9N64wbWVelH I confirm convert to CSO format can play in REAL PSP of Memory strick. ISO format can NOT play in REAL PSP.
I don't know that change timing of CSO of coding in PPSSPP.
decompression using PSP's CPU should be much slower than decompression on PPSSPP isn't? thus may affect the timing on real PSP, unless CSO also worked fine on PPSSPP while ISO didn't ... that would indeed be strange
Okay, instead of uploading a comparison, how about i wrote a comment about a comparison of booting ModNation Racers by either UMD or ISO. When loading ModNation Racers via a physical UMD copy, a loading ring icon appears before the warning screen. You cannot see the loading ring icon when using an ISO copy. If using "Simulate UMD delays" I/O setting on PPSSPP with ModNation Racers, You cannot see the loading ring icon. UMD Copy ISO Copy
Hmm.. according to this post Pac Man World Rally also have freezing issue on certain levels, which also freezes on real PSP but works on Vita https://forums.ppsspp.org/showthread.php?tid=29262&pid=146290#pid146290 May be it have similar I/O timing issue with Aces of War.
I get 100 multiple times slower in reading data in-game !!! I will pull request next day night.
I noticed that Crazy Taxi Fare Wars can sometimes stuck/freezes after selecting either Crazy Taxi or Crazy Taxi 2 (still showing the game selection screen while it stucks), where it usually checks the memstick/game saves, so may be that game also have issue with I/O too sometimes but rarely gets triggered (or may be because i use save state to skips the intro, but still rare to happen)
Hmm.. according to this post Pac Man World Rally also have freezing issue on certain levels, which also freezes on real PSP but works on Vita https://forums.ppsspp.org/showthread.php?tid=29262&pid=146290#pid146290 May be it have similar I/O timing issue with Aces of War.
Testing with adhoc is impossible for me ,I am testing in single player EDIT:Seem no problem
UPDATE: I tested the game either via no-UMD or UMD driver on CFW. and the game hangs when selecting a chapter (ISO) or crashes when starting a level (CSO).
Also, same for PPSSPP. I can't start a level. Sorry!
@Sukotto-1999 I am using Inferno Mode of PRO C2 CFW Anyway , if you are using windows , you can test this build https://github.com/hrydgard/ppsspp/actions/runs/6574857743#artifacts
Actually, i reduced the crashing by compressing the game with UMDGen to CSO by using compression level 7. Should work now on CFW on PSP.
Okay, here's how the checking process works, in Aces of War.
When selecting a mission or returning from the mission, the game checks the reading speed to ensure the game is running via the UMD copy. If it detects that the loading times are shorter than expected, it will softlock the game with the music still playing. Quitting the game after softlock still works.
To get pass the copy protection, i simply compressed the game with UMDGen by using compression 7. Should simulate the UMD loading times for Aces of War. The same method for Aces of War don't work on the DJMax games (example DJMax Fever Retail), but i really want to get DJMax Fever (UMD/Retail) to work as a backup, can someone send me the patched executable, not the actual game. The patch for the UMD version was now long gone. I can't find any.
The same method for Aces of War don't work on the DJMax games (example DJMax Fever Retail), but i really want to get DJMax Fever (UMD/Retail) to work as a backup, can someone send me the patched executable, not the actual game. The patch for the UMD version was now long gone. I can't find any.
There are infos regarding DJMax Fever anti-piracy at https://tcrf.net/DJMax_Fever
The game performs two checks to detect if a game is being played on a real copy. upon startup, the game checks the directory ms0:/PSP/ISO (on modded PSP systems, this allows ISO games to be run) on the inserted Memory Stick regardless of owning a real copy of the game or not. If the directory is detected on the inserted Memory Stick, the game will refuse to start and therefore shuts off your PSP system, forcing you to reload the system.
As with most DJMAX Portable games in the series after DJMAX Portable International, In the retail version of the game, The game will perform an additional check on a real UMD drive to ensure if the game is present. if it is not present, Then after playing the game for a few minutes, the anti-piracy will; Add the crackles to the background music before becoming a distorted high pitched sound, randomize the playback speed of the keysounds and SFX audio, and flicker the graphics list to randomly skip drawing textures which causes the screen to flash rapidly. After attempting to change the song one or two times, It will lock up the game. This is completely absent in the PSN versions.
Well, i did document the anti-piracy on the TCRF. but someone can send me the patched executable for DJMax Fever [UMD VERSION, NOT PSN]? I said it's now long gone.
To get pass the copy protection, i simply compressed the game with UMDGen by using compression 7. Should simulate the UMD loading times for Aces of War. The same method for Aces of War don't work on the DJMax games (example DJMax Fever Retail), but i really want to get DJMax Fever (UMD/Retail) to work as a backup, can someone send me the patched executable, not the actual game. The patch for the UMD version was now long gone. I can't find any.
Setting a compression level and using host timing is not gonna work universally across devices with different speeds, so we're gonna need to do something different here.
PPSSPP v1.5.4-995-g373366911 Windows 64 bit choose mission mode then the chapter you want to play then choose a part of the story you want to play, after you choose it the game just freezes while music in the background plays ppsspplog.zip