-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Bust-A-Move Deluxe videos not working #8795
Comments
Update the full debug log to v1.2.2-607-g21ba67e |
Does Jpcsp also create a UserSbrk of this size? If so, it seems like the game can't allocate internally 10329600 bytes from this buffer (which is already almost all of RAM.) Maybe this is a timing issue... maybe some internal thing hasn't freed whatever memory it's using yet? -[Unknown] |
I add logging to check |
@unknownbrackets |
still an issue in 1.6 |
Yeah - especially if it traced sceIo functions. That said, it might alter their timing... -[Unknown] |
Ah, it's harder to tell without the log before/after each syscall. The version in my fork does that: -[Unknown] |
Based on that log, average timings: Microseconds per byte:
Microseconds per sector assuming a full sector read:
And total overall timings (there's surely some factor of overhead):
Currently, our timing (which is based on memory stick access) is definitely much faster:
I think it'd be worth trying just increasing the time for ISO by 20x, which might be more realistic. If you want to give this a shot, open Core/FileSystems/ISOFileSystem.cpp and find: ppsspp/Core/FileSystems/ISOFileSystem.cpp Lines 476 to 477 in bb5b981
Add right below that: usec = size / 2 + 400;
if (usec < 600) {
usec = 600;
} That won't increase the read speeds for memory stick access, but it will increase it for all ISO/UMD access. But it might be that aligning to a sector is more realistic. -[Unknown] |
Tested @unknownbrackets changed,no change https://drive.google.com/file/d/1Duz2fiXM248Itc2hwqOSuMXQ0hMIYnqd/view?usp=sharing |
PPSSPP v1.10.3-1395-g1ba290a45 Windows 64 bit Simuate umd delay log: |
Hm, the difference in those is:
It seems like ThreadFunc fails (exit 1 usually means an error) and then it can't be suspended. Just to confirm, if you comment out this line: ppsspp/Core/FileSystems/ISOFileSystem.cpp Line 570 in 679a952
It makes "Simulate UMD Delays" not work, right? How low can you make -[Unknown] |
Add this game id to [ForceUMDDelay] fixes this issue. |
I think that we might be need to check the mpeg.prx crc |
True, there might be multiple versions with different behaviors... |
I don't know that how to do crc of disc0:/PSP_GAME/USRDIR/module/mpeg.prx |
Anyway |
Update full debug log to v1.13.2-1304-g16f93a268 |
v1.14.4-106-g765bfac01 still same. |
I found more info! Turns out this game seems to have anti-piracy measure a la Aces of War where it crashes when the Taito logo is about to play. It seems the game checks the loading time to ensure it's being run off the real UMD. This is ACTUALLY confirmed to happen on real hardware. I compressed the game to CSO via PSP CSO Compressor and then tested it on 6.61 LME-2.3 and then boom it works! (Sources: Adrenaline on ConsoleMods Wiki, GBATemp Forum) Maybe i should have a permanent fix; Force UMD delays for this game. |
@hrydgard Can add this game in ForceUMDDelay in compat.ini for v1.18 ? |
Please note: this game only occurs for US (Bust a Move Deluxe) & Europe (Bust-a Move Ghost) version of the game. Japanese version of the game (Ultra Puzzle Bobble Pocket) does not occur this bug. |
Only Japanese version of this game had a digital release. |
Alright, I'll add it! Sorry @Sukotto-1999 , I missed your message somehow. Thanks for the reminder @sum2012 |
Reported in #3338.
Details from @raven02:
Details from @sum2012:
-[Unknown]
Bust A Move Deluxe - USA 1.00
The text was updated successfully, but these errors were encountered: