SD2SNES ROM uploading and boot on Linux?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
SD2SNES ROM uploading and boot on Linux?
by on (#231383)
I finally got my hands on an SD2SNES a couple months back, and have been enjoying the hell out of it. While it isn't official yet, RedGuyy has posted some neat Windows app that will let you do all sorts of neat things, but for my interests, being able to upload a ROM and boot it from the PC over USB is pretty useful.

Problem is, this is wrapped in a Windows program, and the only other attempt to do this on *nix no longer works.

Where should I start looking if I want to take a stab at getting this going on Linux, unless someone else is already on it of course. :) (No, USB2SNES does not work in Wine. It does in a VM, but that defeats the purpose.)
Re: SD2SNES ROM uploading and boot on Linux?
by on (#232008)
I actually wanted to do this myself and ended up writing a little web server for myself in Python.

I started that before RedGuyyy came up with his websocket interface, but then added support for his same websocket interface. You can find the whole thing here: https://gitlab.com/TrueJournals/usb2snes-server

I actually run this on a raspberry pi connected to my sd2snes with a web interface (in the frontend directory) so I can access it from any computer on my local network.

There's not a CLI in there because I didn't personally have a need for that, but hopefully the websocket implementation is useful :)

I don't have much there in terms of documentation. You'll need to install the necessary Python modules (see Pipfile) for the server side -- after that, run main.py. For the frontend, you should be able to "npm install" then "npm run-script build" to build the frontend.
Re: SD2SNES ROM uploading and boot on Linux?
by on (#232527)
While I can get the server + frontend built and running, Firefox and Chrome both throw websocket errors, so I suppose I'll just stick with using USB2SNES on a Windows VM for now. I do run an Apache server, though I woulln't think that would stop it from working.