Any plans to support the PBP For Mednafen PSX core?

Just wondering, it’s a great compression method that seems to be working on most emulators.

No plans that I know of but it would make multidisc games easier to deal with, which would be nice.

Are different compression/formats even something that the devs (not really sure what to call the people who work on the cores) can implement?

Or is that something that can’t really be added since the cores are all splinters of there original emulators. (I don’t really understand the technical side of emulation so I’m sorry if this is a stupid question.)

It could theoretically be implemented. We often add/remove things from our forks (for example, our fork of mednafen-psx has a hardware-upscaling option that doesn’t exist in standalone). It depends on the core how easy such a change would be, though, and then depends on whether anyone wants to go through the effort. We’re volunteers and people work on whatever they want to work on.

We are actually having a great discussion on native compression formats over in the hyperspin forums: http://www.hyperspin-fe.com/topic/15576-comprehensive-list-of-natively-supported-compression-formats/

I too would love to see PBP format supported by the Mednafen core if at all possible (Along with most people in that thread) lol

Cool. Do you have people who know how to do it? If so, feel free to fork and hack away and submit a pull request with the change: https://github.com/libretro/beetle-psx-libretro

The libretro dev(s) (is/are) very receptive to additional features and fixes.

Its the first time I hear about the pbp format but it sounds promising enough that I just did some investigation on it:

Format documentation -> http://www.psdevwiki.com/ps3/Eboot.PBP PCSX-R implemetation -> https://pcsxr.codeplex.com/SourceControl/latest#pcsxr/libpcsxcore/cdriso.c (search for “handlepbp”)

However after digging through all that it doesn’t seem like there is any actual compression (algorithm) involved? Unless they downsample any music tracks on the disk which I wouldn’t really appreciate. The only other explanation I have for the smaller size would be that the original data gets reordered to be stored more efficiently (like any unused sections are removed if there are any), however that would be done.

Unfortunately the tools for creating/converting pbp files don’t don’t feature any documentation at all (or source code for that matter), there is just a magic “compression” slider without any explanation given (at least from what I can tell).

Last but not least, three little sidenotes I have for people using the PSX2PSP utility to create pbp files:

  • even though you can only select .bin files the tool will implicitly search for an accompanying .cue file to find any additional music tracks (if there isn’t one the resulting pbp file will still have the same size but you won’t hear any music ingame so make sure the cue file is there)

  • unfortunately an accompanying sbi file won’t be packed in the pbp file, so you’ll still need to drag those along for any games that need them (not sure if the format would support it, if it does then I’d certainly appreciate an update for the conversion tool)

  • it is possible to pack multiple disks in one pbp file, however it doesn’t seem like the emulator is able deal with that (only tried PCSX-R though) and only resulted in being able to access the first disk. It would be nice if this information could be used to generate the multi-disk info from just one file (and just press one button to switch the the next one if required) but I’m not sure if its possible. Interestingly enough it doesn’t seem like the converter writes the according structures (DISC_NUMBER and DISC_TOTAL) in the pbp file, not sure if they should be simply ommitted or not.

Not really I converted all my bin files using that tool without any cues and the music works perfectly: http://libretro.com/forums/showthread.php?t=5009

And those bin files had multiple tracks or just one? Some games still store the music along with all other data (resulting in only one track), other games store some music (sound effects, etc) along with the data track and the rest (background music) in separate tracks.

Also it would suffice if the cue files were in the same directory for the tracks to be identified.

All I can say is that the emulator I used (PCSX-R) wouldn’t identify any additional tracks from the pbp file if I removed the .cue file before I selected the .bin file for conversion (and it would if I used it when converting).

I would just like to let the developers know that Retroarch is my favorite emulator, and that Mednafen PSX’s lack of support of pbp files is my biggest problem with Retroarch in it’s current state, and I would be greatly pleased to see support for pbp files to be added in a future version of Retroarch.

EDIT: Why do I want to see this added as a feature so much? This is mainly because I don’t like how bin/cue files consist of two files. When I have a directory containing games from one system, I like them all to have the same file extension. Since Mednafen PSX doesn’t support PS1 games in .iso format, I have to choose between one of several multi-file options, bin/cue being one of them, or the .pbp format, which I rather like because it only has one file per game disc and it reduces the size of the disc as a bonus. In addition, I’ve found that Retroarch can play games that are inside of a .7z archive. While this works for Dreamcast .cdi’s, Nintendo 64, GBA, and SNES dumps, attempting to select a PS1 bin/cue within a .7z archive results in the .cue being extracted, followed by a crash as Retroarch fails to locate the .bin file it never extracted.

[QUOTE=Zapeth;36657]

  • it is possible to pack multiple disks in one pbp file, however it doesn’t seem like the emulator is able deal with that (only tried PCSX-R though) and only resulted in being able to access the first disk. It would be nice if this information could be used to generate the multi-disk info from just one file (and just press one button to switch the the next one if required) but I’m not sure if its possible.[/QUOTE]

ePSXe supports pbp files with more than one disc. Not that that helps us much. Darn proprietary emulators…

Fortunately for the purposes of compression, a test I just did with a copy of Colony Wars indicates that a pbp file with multiple discs is only a few kilobytes smaller than the combined size of individual pbp files of each disc.

If you’re on a PSP with Custom Firmware running PBPs of PS1 games, why would you ever need to run them in MEdnafen, or even REtroarch? They run natively on the PSP itself. You’re then running an emulator inside another emulator, inside another emulator. This sounds pointless.

It sounds like CSO could be a possibility if both Mednafen and MaxCSO were updated to support it based on comments here and here.

CSO doesn’t support multidisc, but I wonder if it’d be easier to add support for it instead of PBP since it’s not based on a proprietary Sony format.

According to the Wiki page on the format, the PSP version of PicoDrive supports it for Sega CD games :o

Except not everybody plays with their PSP on the Mednafen PSX core?

I know its hard to understand since its not useful to you but there are other users that might greatly appreciate this (optional) feature on their non-PSP system/platform, me included.

[QUOTE=Zapeth;36657]However after digging through all that it doesn’t seem like there is any actual compression (algorithm) involved? Unless they downsample any music tracks on the disk which I wouldn’t really appreciate. The only other explanation I have for the smaller size would be that the original data gets reordered to be stored more efficiently (like any unused sections are removed if there are any), however that would be done. [/QUOTE] After investigating some more in the PCSX-R code I have to correct that statement, it seems like a standard inflate/deflate algorithm is used to compress parts of the data. Since the current core doesn’t have any code for that, an external dependency like zlib would also have to be added for a working implementation.

Also there is actually some code in PCSX-R that identifies mutliple disks in the pbp files, its just barely implemented and far from a state that would allow the user to switch to a different disk on the fly.

Anyway, I would like to investigate further regarding subchannel data being supported by the pbp format but there just doesn’t seem to be any information available regarding that (not even any pbp files of PAL games for investigation, even if I wanted to pirate them). Its probably safe to assume that the currently available tools to generate pbp files are not able to deal with it but the format could support it so it would be interesting to take a look into a legit copy of a game (list of games that use it -> http://psxdatacenter.com/sbifiles.html )

The reason why I would like to know more about it is because it could be problematic to load games from a single pbp file with mutliple disks that are supposed to have subchannel data (like PAL Final Fantasy IX), and of course the convenience of having everything stored in a single file.