• Luffy@lemmy.ml
    link
    fedilink
    arrow-up
    5
    arrow-down
    10
    ·
    2 days ago

    Such thing does not exist and will never. The best example for this is NES emulation. There exist thousands of NES emulators, but almost none of them behave like the real chip in the few (though almost triple digits) edge cases that exist.

    Now imagine that NES times 10.000 in complexity alone, and said edge cases, together with their number, increasing in complexity to the point that you cant just create a sheet of every case but also have to do this every time a new version of any used software gets released.

    And of course you can combat this via something like protontricks, but you will never reach 100% compatibility via any of those methods

    • Equinox1289@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      2 days ago

      One, there is literally an entire NES test suite ROM specifically for testing emulator compatibility with original hardware. Nearly 80% of the tests are hardware specific quirks that have genuinely no impact on any of the original NES ROMs and emulators can freely omit them to save on performance.

      Two, with Linux adding NTsync, it can now act just like the NT kernel that Windows uses. You don’t need to use hardware emulation when you can recompile software or translate syscalls unless you are dealing directly with firmware like NES ROMs or HID drivers. Wine and Proton basically just act as reimplementation of the WinAPI and can often be more faithful to the original implementation since they have built-in tweaks dedicated to each software where the WinAPI has been free to make breaking changes.