bsnes

Documentation

Currently, there's no official documentation as the bsnes user interface is brand new. However, I'll put the most important information on this page.

In the mean time, you can try reading the official higan documentation. Although the user interface is substantially different, many concepts do carry over to bsnes.

Firmware

bsnes ships with a firmware folder which contains the following files:

But unfortunately, many firmware files are missing due to their contents being covered by copyright law:

It would be against the law to ship bsnes with these files, and I can't tell you where to find these files.

Please also note that files named dsp1.rom, st010.rom, etc are concatenated (merged) images that do not currently work with any emulator. These are not the correct files to use.

Unlike Snes9X, bsnes only provides low-level emulation of SNES coprocessors. Thus, if you wish to play these games, you must obtain these files yourself and place them into the firmware directory first. Failure to do so will result in error messages when you run the aforementioned games.

Suffice to say, if you see any of these messages, it means you must obtain the above files first. In a future release, it's planned to provide better help messages, and even possibly a high-level emulation fallback.

Until then, sorry for the inconvenience. I realize this is all very inconvenient, and I will be working toward alleviating this in future releases.

I am a huge proponent in that this firmware is part of the original games, and should thus be grouped together with the games themselves, but unfortunately this viewpoint has not caught on in practice.

Technically, all of these firmware programs fall under three coprocessor architectures, and when you load a game without the firmware present, bsnes does not yet know exactly which program to use for a given title. It tries to guess, but presents you with the generic architecture names: upd7725, upd96050, and arm6.

This guessing also means that the included SNES games database cannot be used, because the game checksums will not match the database entries. In practice, this won't affect emulation accuracy. But if you really need the database lookup functionality, you'll need to append the SNES firmware to the end of your SNES ROM images. Doing so is beyond the scope of these notes, but basically you would use the cat command on the terminal.

High DPI support

bsnes v107 does not include high DPI support, but v108 and onward will.

In the meantime, Windows users can right-click on bsnes.exe, go to properties, go to compatibility, choose change high DPI settings, choose override high DPI scaling behavior, and choose system (enhanced) mode.

This will get you 95% of the way to true high DPI support while waiting for bsnes v108.