Snes9x 1.39

I've noticed the sound in this version is a lot better compare to the previous version. Also, Street Fighter Alpha 2 runs on this. Snes9X source code 'Snes9X custom' MacOS X port source code 1.40 Windows binaries. Linux x86 binaries. Solaris binaries Solaris x86 binaries AIX binaries (no sound) HPUX binaries (no sound) Snes9X source code Archive Snes9X 1.26 source code Snes9X 1.34a source code Snes9X 1.37c source code Snes9X 1.39 source code and binaries Snes9X 1.39a.

It’s been a while since I did this, but I got some people asking me lately about how exactly I did it and I thought it could be nice to write a post answering that question. Actually, it would be a nice thing for me to have anyway at least as “documentation”, so here it is.

Snes9x 1.39

But first of all, the idea: my personal and very particular goal was to have a proper SNES emulator plugged to my TV, based on the Raspberry Pi (simply because I had a spare one) that I could control entirely with a gamepad (no external keyboards, no ssh connection from a laptop, nothing).

Snes9x 1.39

Yes, I know there are other emulators I could aim for and even Raspberry specific distros designed for a similar purpose but, honestly, I don’t really care about MAME, NeoGeo, PSX emulators or the like. I simply wanted a SNES emulator, period. And on top of that I was quite keen on playing a bit with the Raspberry, so I took this route, for good or bad.

Anyway, after doing some investigation I realized all the main pieces were already out there for me to build such a thing, all that was needed was to put them all together, so I went ahead and did it. And these are the HW & SW ingredients involved in this recipe:

Snes9x 1.39
  • A Raspberry Pi Model B (or better) with Raspbian installed
  • A Bluetooth 2.0 dongle
  • A PS3 DualShock 3 gamepad
  • QtSixA: a joystick manager for PS3’s SixAxis gamepads
  • PiSNES: A SNES emulator for the Raspberry Pi, based on SNES9X 1.39

Once I got all these things around, this is how I assembled the whole thing:

1. Got the gamepad paired and recognized as a joystick under /dev/input/js0 using the QtSixA project. I followed the instructions here, which explain fairly well how to use sixpair to pair the gamepad and how to get the sixad daemon running at boot time, which was an important requirement for this whole thing to work as I wanted it to.

2. Amiga workbench 1.3 rom. I downloaded the source code of PiSNES, then patched it slightly so that it would recognize the PS3 DualShock gamepad, allow me define the four directions of the joystick through the configuration file, among other things.

3. I had no idea how to get the PS3 gamepad paired automatically when booting the Raspberry Pi, so I wrote a stupid small script that would basically wait for the gamepad to be detected under /dev/input/js0, and then launch the snes9x.gui GUI to choose a game from the list of ROMS available. I placed it under /usr/local/bin/snes-run-gui, and looks like this:

4. Because I wanted that script to be launched on boot, I simply added a line to /etc/xdg/lxsession/LXDE/autostart, so that it looked like this:

By doing the steps mentioned above, I got the following “User Experience”:

  1. Turn on the RPi by simply plugging it in
  2. Wait for Raspbian to boot and for the desktop to be visible
  3. At this point, both the sixad daemon and the snes-run-gui script should be running, so press the PS button in the gamepad to connect the gamepad
  4. After a few seconds, the lights in the gamepad should stop blinking and the /dev/input/js0 device file should be available, so snes9x.gui is launched
  5. Select the game you want to play and press with the ‘X’ button to run it
  6. While in the game, press the PS button to get back to the game selection UI
  7. From the game selection UI, press START+SELECT to shutdown the RPi
  8. Profit!

Unfortunately, those steps above were enough to get the gamepad paired and working with PiSNES, but my TV was a bit tricky and I needed to do a few adjustments more in the booting configuration of the Raspberry Pi, which took me a while to find out too.

So, here is the contents of my /boot/config.txt file in case it helps somebody else out there, or simply as reference (more info about the contents of this file in RPiConfig):

As you can imagine, some of those configuration options are specific to the TV I have it connected to (e.g. hdmi_mode), so YMMV. In my case I actually had to try different HDMI modes before settling on one that would simply work, so if you are ever in the same situation, you might want to apt-get installlibraspberrypi-bin and use the following commands as well: Dnd 5e epic boon dmg page. Land before time 2 free download torrent.

In my case, I settled on hdmi_mode=85 simply because that’s the one that work better for me, which stands for the 1280x720p@60Hz DMT mode, according to edidparser:

And that’s all I think. Of course there’s a chance I forgot to mention something because I did this in my random slots of spare time I had back in July, but that should be pretty much it.

Now, simply because this post has been too much text already, here you have a video showing off how this actually works (and let alone how good/bad I am playing!):

I have to say I had great fun doing this and, even if it’s a quite hackish solution, I’m pretty happy with it because it’s been so much fun to play those games again, and also because it’s been working like a charm ever since I set it up, more than half a year ago.

And even better… turns out I got it working just in time for “Father’s Day”, which made me win the “best dad in the world” award, unanimously granted by my two sons, who also enjoy playing those good old games with me now (and beating me on some of them!).

Actually, that has been certainly the most rewarding thing of all this, no doubt about it.

Nintendo - SNES Emulators


NameDescription
BeS9xThis is an excellent port of SNES9X to BeOS by Caz. It has all the advanced features an emulator should have, with a simple GUI beginners can use. Pick this up now!
BeYameA multi system emulator, that currently can emulate the Nes, the Snes, the Turbo Grafix 16 and the Gameboy. Is has been recently ported to BeOS. It supports languages, so if you want you can translate it to your native language.
Snes9x Source PackA source package by Caz with fully commented code, containing everything you need to build your own SNES9x 1.39 emulator, as well as improve on it if you like. May require use of command line.


Nintendo - SNES Emulators on Other Platforms

Windows (36)
Linux (2)
Macintosh (4)
Amiga (3)
Consoles
-- Dreamcast (4)
-- Gamecube (3)
-- Playstation 2 (1)
-- Nintendo 64 (1)
-- Game Boy / Advance (2)
-- Nintendo DS (4)Snes9x 1.39
-- Game Park 32 (3)
-- Playstation Portable (3)
-- Nintendo Wii (2)
Snes9x 1.39 -- GP2X (1)
-- Nintendo 3DS (1)
Java (1)
Pocket PC (2)
Snes9x 1.39

Snes9x Version 1.39 Download

Windows Mobile (1)
iOS (iPhone/iPod Touch) (1)
Android (3)
JavaScript (1)
Emulators on:
Windows
Linux
Macintosh
Consoles
iOS (iPhone)
Android
Windows Mobile
Others
Other Releases
Music
Hacks
Savestates
Cheats
Movies
Translations
ROMs (Public Domain)
Frontends
Technical Documents
Extenders
Utilities:
General
Auditing
Cheating
Development
Game Modification
Music Playback / Manipulation
Plugins
Affiliates
Game Hacking.org