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

OpenBIOS compatibility for free PlayStation emulators #1027

Closed
davidhedlund opened this issue Nov 13, 2022 · 21 comments
Closed

OpenBIOS compatibility for free PlayStation emulators #1027

davidhedlund opened this issue Nov 13, 2022 · 21 comments

Comments

@davidhedlund
Copy link

davidhedlund commented Nov 13, 2022

Is there a page for https://github.com/grumpycoders/pcsx-redux/tree/main/src/mips/openbios that lists compatibility status for PlayStation emulators?

Retroarch libretro-cores

SCPH-5501

libretro core PlayStation SCPH-5501 + 240pTestSuitePS1 scph5501.bin + RetroArch 1.12.0 + Ubuntu 22.04 + 240pTestSuitePS1-EMU scph5501.bin + RetroArch 1.10.3 + Windows 11 + 240pTestSuitePS1-EMU
Beetle PSX HW ? Works Works
Beetle PSX ? Works Works
PCSX ReARMed ? Works Works
SwanStation ? Works Works

OpenBIOS

libretro core OpenBIOS[2] + PlayStation + 240pTestSuitePS1-EMU OpenBIOS[2] + RetroArch 1.12.0 + Ubuntu 22.04 + 240pTestSuitePS1-EMU OpenBIOS[2] + RetroArch 1.10.3 + Windows 11 + 240pTestSuitePS1-EMU
Beetle PSX HW Works Failed: libretro/beetle-psx-libretro#866 Failed: libretro/beetle-psx-libretro#866
Beetle PSX Works Failed: libretro/beetle-psx-libretro#866 Failed: libretro/beetle-psx-libretro#866
PCSX ReARMed ? Failed: libretro/pcsx_rearmed#708 Failed: libretro/pcsx_rearmed#708
SwanStation ? Works Works

GNU/Linux commands:

  • Beetle PSX HW: retroarch --libretro ~/.config/retroarch/cores/mednafen_psx_hw_libretro.so ~/.config/retroarch/downloads/240pTestSuitePS1-EMU.cue
  • Beetle PSX: retroarch --libretro ~/.config/retroarch/cores/mednafen_psx_libretro.so ~/.config/retroarch/downloads/240pTestSuitePS1-EMU.cue
  • PCSX ReARMed: retroarch --libretro ~/.config/retroarch/cores/pcsx_rearmed_libretro.so ~/.config/retroarch/downloads/240pTestSuitePS1-EMU.cue
  • SwanStation: retroarch --libretro ~/.config/retroarch/cores/swanstation_libretro.so ~/.config/retroarch/downloads/240pTestSuitePS1-EMU.cue

Windows commands:

  • Beetle PSX HW: cd C:\RetroArch-Win64; .\retroarch.exe --libretro .\cores\mednafen_psx_hw_libretro.dll .\downloads\240pTestSuitePS1-EMU.cue
  • Beetle PSX: cd C:\RetroArch-Win64; .\retroarch.exe --libretro .\cores\mednafen_psx_libretro.dll .\downloads\240pTestSuitePS1-EMU.cue
  • PCSX ReARMed: cd C:\RetroArch-Win64; .\retroarch.exe --libretro .\cores\pcsx_rearmed_libretro.dll .\downloads\240pTestSuitePS1-EMU.cue
  • SwanStation: cd C:\RetroArch-Win64; .\retroarch.exe --libretro .\cores\swanstation_libretro.dll .\downloads\240pTestSuitePS1-EMU.cue

Installations

  • Retroarch: To avoid conflicts, delete ~/.config/retroarch/, and start Retroarch to generate a new settings directory
  • Retroarch: Retroarch: Main menu -> Online Updater -> Update Assets -- this will fix the fonts for the menu, and the assets are also required to run 240pTestSuitePS1-EMU.cue
  • 240pTestSuitePS1-EMU: Can be downloaded from 1) https://github.com/filipalac/240pTestSuite-PS1/releases/tag/19122020 2) Retroarch: Main menu -> Online Updater -> Content Downloader -> Sony PlayStation -> 240pTestSuitePS1-EMU.zip
  • Retroarch: Main menu -> Online Updater -> Update Core Info Files
  • Retroarch: Main menu -> Online Updater -> Core Downloader -> Sony - PlayStation (Beetle PSX HW)
  • Retroarch: Main menu -> Online Updater -> Core Downloader -> Sony - PlayStation (Beetle PSX)
  • Retroarch: Main menu -> Online Updater -> Core Downloader -> Sony PlayStation (PCSX ReARMed)
  • Retroarch: Main menu -> Online Updater -> Core Downloader -> Sony PlayStation (SwanStation)
  • [2]: OpenBIOS: openbios.bin extracted from pcsx-redux-nightly-11167.20221114.1-x64.zip downloaded from https://install.appcenter.ms/orgs/grumpycoders/apps/pcsx-redux-win64/distribution_groups/public (link listed in https://github.com/grumpycoders/pcsx-redux/#where)

Built-in OpenBIOS in libretro-cores:

OpenBIOS in free multi-emulators

  • ares: Ubuntu: scph5501.bin works with games, but OpenBIOS failed with games
  • MAME: Ubuntu: No tested
  • Mednafen: Ubuntu: scph5501.bin works with games, but OpenBIOS failed with games
  • OpenEmu: macOS-only: Not tested

DuckStation (works)

@nicolasnoble
Copy link
Member

I don't have any desire nor time to dedicate testing OpenBIOS with other emulators than PCSX-Redux itself. The code is tested on both Redux and the real hardware. If there is a compatibility issue with another emulator that doesn't show neither in Redux nor the real hardware, then it's a bug in said emulator, and should be filed accordingly. General bugs with OpenBIOS should still be filed here: I don't have the attention span nor energy to look at more than one location for issues.

That being said, talking with @stenzek regularly, I know OpenBIOS works as well on his emulator as the retail hardware.

@davidhedlund
Copy link
Author

davidhedlund commented Nov 14, 2022

Interesting. @stenzek What do you think about the idea of recommending OpenBIOS in the text at https://github.com/stenzek/duckstation ?

@davidhedlund
Copy link
Author

@nicolasnoble Good work on the project! OpenBIOS is the only free BIOS that I'm aware of for PlayStation. Cheers.

@davidhedlund
Copy link
Author

davidhedlund commented Nov 14, 2022

I don't have any desire nor time to dedicate testing OpenBIOS with other emulators than PCSX-Redux itself. The code is tested on both Redux and the real hardware. If there is a compatibility issue with another emulator that doesn't show neither in Redux nor the real hardware, then it's a bug in said emulator, and should be filed accordingly. General bugs with OpenBIOS should still be filed here: I don't have the attention span nor energy to look at more than one location for issues.

Well, good work on the project anyways! OpenBIOS is the only free BIOS that I'm aware of for PlayStation. Cheers.

That being said, talking with @stenzek regularly, I know OpenBIOS works as well on his emulator as the retail hardware.

I can confirm that OpenBIOS works for Duckstation. I think OpenBIOS should be the default BIOS in Duckstation.

@wheremyfoodat
Copy link
Collaborator

@nicolasnoble Good work on the project! OpenBIOS is the only free BIOS that I'm aware of for PlayStation. Cheers.

There is also the no$psx BIOS if you're interested. However it's not open source, actively maintained, and is pretty clumsy to use.

@wheremyfoodat
Copy link
Collaborator

I don't have any desire nor time to dedicate testing OpenBIOS with other emulators than PCSX-Redux itself. The code is tested on both Redux and the real hardware. If there is a compatibility issue with another emulator that doesn't show neither in Redux nor the real hardware, then it's a bug in said emulator, and should be filed accordingly. General bugs with OpenBIOS should still be filed here: I don't have the attention span nor energy to look at more than one location for issues.
That being said, talking with @stenzek regularly, I know OpenBIOS works as well on his emulator as the retail hardware.

I can confirm that OpenBIOS works for Duckstation. I think OpenBIOS should be the default BIOS in Duckstation.

Keep in mind OpenBIOS is not 100% compatible with retail games yet. As such, this decision would be a double-edged blade, as users might be confused when their games don't work because of the BIOS (implicitly) used.

@davidhedlund
Copy link
Author

I can confirm that OpenBIOS works for Duckstation. I think OpenBIOS should be the default BIOS in Duckstation.

Keep in mind OpenBIOS is not 100% compatible with retail games yet. As such, this decision would be a double-edged blade, as users might be confused when their games don't work because of the BIOS (implicitly) used.

Thanks for your feedback, I really appreciate it.

@wheremyfoodat
Copy link
Collaborator

I can confirm that OpenBIOS works for Duckstation. I think OpenBIOS should be the default BIOS in Duckstation.

Keep in mind OpenBIOS is not 100% compatible with retail games yet. As such, this decision would be a double-edged blade, as users might be confused when their games don't work because of the BIOS (implicitly) used.

Thanks for your feedback, I really appreciate it.

No problem.

@stenzek
Copy link
Contributor

stenzek commented Nov 14, 2022

I'm going to add detection for OpenBIOS so that it doesn't show up as an unknown entry. But, I have no plans to ship any BIOS ROMs alongside the application itself. I was considering adding it an option in the "missing BIOS" dialog, however - with the risks that @wheremyfoodat pointed out.

As for the libretro core being broken, that has nothing to do with me, and is possibly violating copyright since they committed code which was never released as their own without attribution. So please don't tag me with any relation to it. I try to stay out of the public eye, because the trolling from those folks never ends.

@davidhedlund
Copy link
Author

OpenBIOS also works fine with swanstation_libretro.so for Windows 11. I just tried it. @nicolasnoble

@nicolasnoble
Copy link
Member

Hah, I didn't realize you were offering to do this sort of testing yourself :-) Good data, thanks!

As another data point, I know that OpenBIOS works properly on some other emulators, like Avocado or the PSX_MiSTer.

I'm totally open in solving problems people may encounter with using OpenBIOS, mind you, so feel free to file bugs. I'm also available on the EmuDev subreddit and Discord server to discuss.

@davidhedlund
Copy link
Author

davidhedlund commented Nov 15, 2022

Hah, I didn't realize you were offering to do this sort of testing yourself :-) Good data, thanks!

As another data point, I know that OpenBIOS works properly on some other emulators, like Avocado or the PSX_MiSTer.

I'm totally open in solving problems people may encounter with using OpenBIOS, mind you, so feel free to file bugs. I'm also available on the EmuDev subreddit and Discord server to discuss.

I spend last day to evaluate OpenBIOS (see the updated list in the top post) because I think it's the most important component in the emulator world right now. If developers are starting to ship emulators that require a BIOS with a free BIOSes, or if a free BIOS package is offered, end users may be able to run games very easily.

To put things into perspective, please have a look for PCSX-redux at https://directory.fsf.org/wiki/Collection:Video_game_console_emulators#Sony -- I'm a long-term contributor and admin for the Free Software Directory and I'm cooperating closely with the Free Software Foundation.

I will try my best to help you.

@davidhedlund
Copy link
Author

#1029

@davidhedlund
Copy link
Author

davidhedlund commented Nov 16, 2022

@nicolasnoble I updated the top post table a lot. I think it would be useful to publish it in your repository after all since we can maintain it. Cache issues make it nearly impossible to frequently update tables in a GitHub issue, because sometime old revisions are writing over the current revision.

@nicolasnoble
Copy link
Member

So, several thoughts here.

  • Using the 240p test disc isn't really a good one because it's not an official software that wasn't written very well. The ISO has been badly mastered, and as you've seen, some emulators won't run it properly.
  • The list is probably something we'd want to have as a COMPATIBILITY.md file in the src/mips/openbios directory. Feel free to issue a PR if you want this properly stored in the repository in a more visible way.

As for help offered, thank you, but at the end of the day, I don't necessarily see much to be done from our end anyway? The code is here, fairly simple to build, using off the shelve Linux packages, and has already lots of flexible options allowing customizations. There's Avocado for instance as an emulator that's shipping a customized version of OpenBIOS to display its logo instead of the boot cube, which is totally fair game. Unless there are hurdles to clear from our end, which I haven't seen identified at this time, the shipping and fixing would need to happen on these other emulator's release and distribution process.

@davidhedlund
Copy link
Author

davidhedlund commented Nov 17, 2022

So, several thoughts here.

  • Using the 240p test disc isn't really a good one because it's not an official software that wasn't written very well. The ISO has been badly mastered, and as you've seen, some emulators won't run it properly.

Good points. And 240pTestSuitePS1-EMU has not been maintained for 2 years. Do you know if there's any good and maintained test suite that is distributed as free software?

  • The list is probably something we'd want to have as a COMPATIBILITY.md file in the src/mips/openbios directory. Feel free to issue a PR if you want this properly stored in the repository in a more visible way.

I'm happy for your support! I suggested the COMPATIBILITY.md file here: c441041

@davidhedlund davidhedlund changed the title OpenBIOS compatibility for PlayStation emulators OpenBIOS compatibility for free PlayStation emulators Nov 18, 2022
@lorn10
Copy link

lorn10 commented Nov 26, 2022

@davidhedlund The following maybe already known but PCSX-Reloaded doesn't seems to work with the PSX OpenBIOS. Yes that emulator is super old but he is still present in the repository of Ubuntu. PCSX-Reloaded is even available for the newest Ubuntu editions and therefore (for ordinary people) easier to handle than PCSX-Redux . 😉

I have tested the OpenBIOS compatibility with the stock version of PCSX-Reloaded, package 1.9.94-4, on Kubuntu 20.04 LTS and Crash Bandicoot 1. I add this here just for the sake of completeness and if someone else wants to know about that.

And by the way this interesting topic here would be better off in the Discussions section. 👍

@wheremyfoodat
Copy link
Collaborator

Please read the relevant literature on why issues should be used over discussions sometimes before using discussions.
#1082 (comment)

@davidhedlund
Copy link
Author

@davidhedlund The following maybe already known but PCSX-Reloaded doesn't seems to work with the PSX OpenBIOS. Yes that emulator is super old but he is still present in the repository of Ubuntu. PCSX-Reloaded is even available for the newest Ubuntu editions and therefore (for ordinary people) easier to handle than PCSX-Redux . wink

I have tested the OpenBIOS compatibility with the stock version of PCSX-Reloaded, package 1.9.94-4, on Kubuntu 20.04 LTS and Crash Bandicoot 1. I add this here just for the sake of completeness and if someone else wants to know about that.

And by the way this interesting topic here would be better off in the Discussions section. +1

Thanks for your effort. Yes, the pcsxr package exists in Ubuntu 22.04 as well, but the problem is that I couldn't use it (even with an original BIOS. Please give me exact instructions, and I'll give it a try again!

@lorn10
Copy link

lorn10 commented Dec 2, 2022

I have checked it now again and the package is there, if you are on Ubuntu (or a derivative of it) just use:

sudo apt install pcsxr

This will install PCSX-Reloaded package 1.9.94-5build1.

@davidhedlund
Copy link
Author

davidhedlund commented Dec 3, 2022

I have checked it now again and the package is there, if you are on Ubuntu (or a derivative of it) just use:

sudo apt install pcsxr

This will install PCSX-Reloaded package 1.9.94-5build1.

I know that, but the BIOSes don't work in it for me. pcsxr just shuts down when I open ISO files. I tried several ISO files that are working in other PS emulators.

Unfortunately, I don't find any Ubuntu 22.04+pcsxr tutorial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants