Control SNES emulator from different machines
Solution 1:
Parsec seems to accomplish what you want through streaming video and allowing for control passthrough.
Parsec is typically used to stream and play a couch co-op PC game that doesn't support network play. It streams the video to anyone who connects to the computer while allowing remote computers to use their controllers and keyboards. It works with any application on your computer, including emulators.
You'll want to host Parsec on M1 and have M2 and M3 connect to it. You'll have the option to enable keyboards or controllers for each client that connects. Once you're connected, you should be able to stream your emulator from M1 and control it from M2 or M3. As a bonus, this is not restricted to just working on your local network.
Since this is streaming video over the network, it's more resource intensive than if an emulator has network play features built in, but this is a guaranteed way to have this multiplayer support on your emulator if it's missing support.