• @cm0002
    link
    57
    edit-2
    2 months ago

    Nah, that’s still a bunch of bull, they designed it and have all the documentation. They know all of its functionality, hidden or otherwise, it’s “undocumented” functions, it’s quirk’s, the very ins and outs of it. They probably still have original designers on staff. They have far more knowledge and experience of their own design than any game developers.

    And yet RPCS3, an open source PS3 emulator based on reverse engineered research is able to achieve decent playability on most games.

    Not to mention, they’re a multi-billion dollar company, don’t make excuses for them.

    • magic_lobster_party
      link
      fedilink
      46
      edit-2
      2 months ago

      AFAIK, the documentation isn’t the main problem. I’m pretty sure PS3 is quite well understood.

      The problem is how to translate the code to a typical X86 architecture. PS3’s uses a very different architecture with a big focus on their own special way on doing parallelism. It’s not an easy translation, and it must be done at great speed.

      The work on RPCS3 incredible, but it took them more than a decade of optimizations to get where they are now. Wii U emulation got figured out relatively quickly in comparison, even if it uses similar specs to PS3.

      • @SkunkWorkz
        link
        102 months ago

        The Wii U was just a souped up Wii so of course the emulation scene had a Wii U emulator in no time.

      • @jaaake
        link
        62 months ago

        Having worked (as a designer, not an engineer) on a PS3 launch tile, this post also aligns with my understanding.

      • Semperverus
        link
        English
        32 months ago

        Just rewrite it in haskell (or Fold)! Problem solved :)

    • CaptainBlagbird
      link
      152 months ago

      They probably have a bunch of developers like me: Dafuq did I do yesterday? 😵‍💫

      • bruhduh
        link
        72 months ago

        Recent crowdstrike problem be like

    • @Buddahriffic
      link
      82 months ago

      There can be a lot of subtle changes going from one uarch to another.

      Eg, C/C++ for x64 and ARM both use a coprocessor register to store the pointer to thread-local storage. On x64, you can offset that address and read it from memory as an atomic operation. On ARM, you need to first load it into a core register, then you can read the address with offset from memory. This makes accessing thread-local memory on ARM more complicated to do in a thread safe manner than on x64 because you need to be sure you don’t get pre-empted between those two instructions or one thread can end up with another’s thread-local memory pointer. Some details might be off, it’s been a while since I dealt with this issue. I think there was another thing that had to line up perfectly for the bug to happen (like have it happen during a user-mode context switch).

      And that’s an example for two more similar uarchs. I’m not familiar with cell but I understand it to be a lot more different than x64 vs ARM. Sure, they’ve got all the documentation and probably still even have the collective expertise such that everything is known by at least someone without needing to look it up, but those individuals might not have that same understanding on the x64 side of things to see the pitfalls before running into them.

      And even once they experience various bugs, they still need to be debugged to figure out what’s going on, and there’s potential that the solution isn’t even possible in the paradigm used to design whatever go-between system they were currently working on.

      They are both Turing complete, so there is a 1:1 functional equivalence between them (ie, anything one can do, the other can). But it doesn’t mean both will be able to do it as fast as the other. An obvious example of this is desktops with 2024 hardware and desktops with 1990 hardware also have that 1:1 functional equivalence, but the more recent machines run circles around the older ones.

      • @cm0002
        link
        12 months ago

        That’s all understandable, for a startup or young company. But this is Sony a multi-billion dollar electronics company with many MANY released devices and software projects under its belt.

        If they had taken things seriously, invested the proper funding and pulled the appropriate personnel they would have no problems getting something out that can beat RPCS3 in a year tops.

        They tried to just slap something together as (what someone around here commented a while back) a minimum value add product and shove it out the door. Any claims of “It’s just too hard” they try to make is nothing but cover AFAIC now that people are starting to call them out on it

        • @Buddahriffic
          link
          32 months ago

          “It’s too hard” really means “we don’t think the benefit we’d gain is worth the resources and effort it would take to get there”.

    • @[email protected]
      link
      fedilink
      English
      72 months ago

      For profit corporations should not be trusted to preserve out culture. They would happily delete everything it if made then 1 dollar

    • @[email protected]
      link
      fedilink
      32 months ago

      I’ve worked at companies where the documentation was either non-existent, not digitized, or very poor in quality. Add 10+ years to that when nobody is left at the company who worked on the original project and it can cause this exact level of frustration.

    • @[email protected]
      link
      fedilink
      English
      32 months ago

      Most of the games I’ve played on RPCS3 look way better and run much smoother than how they did on the console itself. And no long wait times to load into the console OS save menuz saving was nearly instant. So good.

    • मुक्त
      link
      fedilink
      22 months ago

      Not to mention, they’re a multi-billion dollar company, don’t make excuses for them.

      They pay someone handsomely to make excuses for them.