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.38k stars 2.19k forks source link

Beats - Couldn't see/load mp3 files, now they're choppy #14812

Open Sanaki opened 3 years ago

Sanaki commented 3 years ago

Game or games this happens in

NPUG-80060 - Beats

What area of the game / PPSSPP

When entering My Music Challenge in Beats, it can correctly see the directory structure of the MUSIC directory, but can't actually see any files. To my knowledge only mp3 is supported by the game, though no files of any type appear.

What should happen

Music should be visible in the directory structure and preferably loadable.

Logs

No response

Platform

Linux / BSD

Mobile phone model or graphics card

NVIDIA GeForce GTX 1060 6GB

PPSSPP version affected

v1.11.3-1280-g5e4c478f4

Last working version

No response

Graphics backend (3D API)

Vulkan

Checklist

unknownbrackets commented 3 years ago

PSP games could only play MP3 files with certain bitrates/etc. Have you made sure they're files encoded in a way the game supported?

They might have to be 44.1kHz or similar, and might have to be lower bitrates. I don't know about Beats specifically, but I've seen other games ignore files that aren't supported (I think maybe Motorstorm...?)

-[Unknown]

Sanaki commented 3 years ago

Documentation is sparse on it, but I have some of the same files I used to play available and can't see them, so I don't believe that's the issue. I can attempt to locate my physical PSP to test it sometime soon, though I have no estimate of how long that'd take.

ghost commented 3 years ago

FOUND IT! @Sanaki

The reason it won't work is because PPSSPP doesn't support .PRX files,and guess what Beats uses to find music? prx

PPSSPP should add workaround or atleast way to use those three,if it ever happens

unknownbrackets commented 3 years ago

PPSSPP actually does support prx files. What makes you confident this is the cause of the issue?

-[Unknown]

anr2me commented 2 years ago

It seems playing the game on Vita also have similar issue image image But this was a year ago, not sure whether Adrenaline have solved this issue or not by now.

anr2me commented 2 years ago

Looks like JPCSP (HLE) is able to see my MP3 files inside /PSP/MUSIC/ folder image

While it can't be seen by PPSSPP image

Edit: Based on the logs, PPSSPP did see the files image

Tagger102 commented 1 year ago

Commenting here as it's been a year with no potential fixes. The furthest I've gotten with troubleshooting is the same as @ANR2ME, Beats can't read the /PSP/MUSIC/ folder at all even though it works on JPCSP. Though I also noticed PPSSPP logs the music files.

Is there any hope of allowing Beats to read the songs properly? We're so close yet so far!

hrydgard commented 11 months ago

Very strange indeed, it does indeed read the file listing as shown in the logs above, but doesn't display them anyway.

We are not handling the d_private field in sceIoDRead fully correctly (we don't write the 8.3 filename), but, this game sets it to 0 anyway. So except for that, I don't see any difference in how we handle directory listings, compared to JPCSP.

The game doesn't try to open the files or otherwise query them, so this is kinda mysterious..

hrydgard commented 11 months ago

OK, turns out that for readable files on memstick we returned permissions 666 (read/write) while jpcsp returns 777 (read/write/execute). Switching to 777 fixes it.

So, fix coming up (though, the files stutter during playback :( )

Tagger102 commented 9 months ago

OK, turns out that for readable files on memstick we returned permissions 666 (read/write) while jpcsp returns 777 (read/write/execute). Switching to 777 fixes it.

So, fix coming up (though, the files stutter during playback :( )

Thanks so much for this!! Just tested and I see what you mean. Still a big step in the right direction, maybe in the future the stutter will be resolved but for now this is great!