USB2SNES is way to communicate with the SNES or devices (including some emulators) that act like a SNES

Contents

Origins

USB2SNES firmware

USB2SNES is a firmware for the SD2SNES cartridge written by Redguyy that allows to use the USB port on the SD2SNES to access various functionality of the SD2SNES. Most notable are uploading ROM, read and write various memories of the console.

The issue with this approach, when writing application that use this technology only one application can have access to the SD2SNES. So for example you cannot run an Item tracker for ALTTP randomizer at the same time than the fileviewer to upload a new ROM.

Direct access

To avoid this issue, Redguyy wrote an intermediary application also called USB2SNES that other application use to talk to the SD2SNES.

So a basic usage look like that:

Websocket access

Emulators, SNES Classic…

Since then an alternative implementation called QUsb2Snes has added support for other backends including SNES Emulators or SNES Classic

For example Snes9x

Lua connection

Supported platforms

Intermediate software

Different choices of platforms that is supported

Platform USB2SNES QUsb2Snes
SD2SNES with the USB2SNES firmware
Snes9x Multitroid with Lua support
SNES Classic modded with Hakchi2 CE
Bizhawk 2.3.1
RetroArch support with Snes9x and bsnes-mercury cores

Getting started

Downloads

Windows

You can download a bundle on usb2snes github releases page. This include the latest QUsb2Snes, the latest USB2SNES firmware and a bunch of applications to have something ready to use.

Mac os X

For Mac os X users you will need to grab a QUsb2Snes dmg on QUsb2Snes releases page, sadly other applications does not have a Mac os X release yet.

Linux

You will need to compile yourself see QUsb2Snes Linux Readme

Installation

Download the file corresponding to your operating system, then follow the instructions on the Readme or on QUsb2Snes usage

Tutorials

Coming soon (tm)

Getting help

The best way to get help is to join the “multitroid” discord at The Slicers and contact ask your question.

There is also a connection tester page that can help with verifying that QUsb2snes is accessable and can find devices.

Applications

Multitroid

Multitroid is a mod for Super Metroid that allows multiple players to complete the game cooperative, they can share energy, ammo, items, equipment, events and map across different platforms

See Multitroid.com for more information

Savestate2snes

Savestate2snes is a tool that let you create and manage savestates on your SNES console with a SD2SNES. It also support ‘hacked’ SNES classic with hakchi2 CE

QFile2Snes

Provided with QUsb2Snes, QFile2Snes is a software to mainly access your files on your SD2SNES, It’s a more ‘modern’ replacement for the Fileviewer provided with the original USB2SNES. It support Drag and Drop for example.

Fileviewer (legacy)

Included with USB2SNES

This application allows you access your SD2SNES files and perform some special operation, like starting a game, applying a patch.

MemoryView

Included with USB2SNES

This application allow you to have a look at various memory of your SNES and overwrite value if you want.

InputViewer

Included with the bundle, it’s a patched NintendoSpy that use some memory value of your device to display the buttons your press. It has some limitations like not showing input during screen transition and such.

Developpers

If you don’t plan on doing a complex application, you can look at the Magic2Snes project. It’s a project written toward making small application easier by hiding all the Usb2Snes specific behind simple call like memory.readByte()

If you want more details about the Usb2Snes websocket protocol you need too look at the Protocol page of the QUsb2Snes project.