Netplay Cross Architecture compatibility questions

I have a few questions concerning netplay. Per this, there are various cores that can run on both, say, an amd64 computer and an arm computer.

  1. I’m curious as to the cores like mupen64plus, which have the choice between an interpreter and architecture specific dynarec cores. Would I be right in assuming that a computer guest running, say, an Nvidia Shield TV (running the ARM dynarec for Mupen64Plus) wouldn’t be able to connect to an amd64 host running the amd64 dynarec for Mupen64Plus?

  2. I take it the Dynarec/Interpreter situation is the same with other cores, like Beetle PSX perhaps?

  3. According to this, the BSNES cores aren’t that reliable for netplay. A few years passed since that post, and the link I posted earlier was much more recent, and doesn’t mention such issues. Is the latest Snes9x core still the best option for SNES netplay?

Differing core options can indeed cause desyncs, as can differences in dynarecs. It’s not a given, though, so it’s worth trying.

The bsnes issue has to do with its savestates, and the lsnes TAS fork had to patch around it to make TASing work with it. Other than that, it’s much more resource-intensive than snes9x, which comes into play when when the core needs to catch up after a desync/rollback.

But is the bsnes savestate issue fixed now? Also, this seems to give the impression that dynarec and pure interpreter savestates may or may not be compatible with each other.

If they aren’t, would you suggest that, if the hardware is beefy enough, to use pure interpreter mode for netplay with multiple architectures?

No, it’s not really something that’s easily fixed.

Yeah, you can try using pure interpreter. Even that might not work, but it’s more likely to work than dueling dynarecs.