You can find the original source code right here: https://github.com/domaemon/snes9x-sdl
Anyway, I might take some time in the future to work on this, but in the meantime, you might be interested by some tweaks that I have done in snes9x-sdl.
- I have made a minor optimization in the 2x upscale filter, and written a 3x upscale filter (file filter/blit.cpp). This enables quasi-fullscreen on a 720p display. The calls to this filter have been hard-coded, along with other optimizations, in sdl/sdlvideo.cpp
- I have hard-coded my key setup in sdl/sdlinput.cpp. I've done that 2 years ago, so I don't remember exactly why this was needed, but it must have been convenient :-)
- I have changed an audio rate setting in sdl/sdlmain.cpp. This one has been a pain to fix. I did not have sound at first, and through debugging, I noticed that this value was the culprit. Changing it made everything fine afterward.
My own version of the emulator is on my github page: https://github.com/alban-rochel/pixbox-snes9x-sdl. The pixbox.patch file at the root lists all the changes I have made.
To compile, make sure the following environment variables are set, and gcc/g++ are the 4.9.1 versions (not sure this is very important in practice):
CC = gcc CXX = g++ AS = as CFLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=vfpv3-d16 LD_LIBRARY_PATH=/media/BBB/lib
/media/BBB/lib is the path where the SDL libraries have been installed. And then, just compile, in the classical Linux way:
./configure --prefix=/media/BBB/bin --enable-mtune=cortex-a8 --disable-gamepad make
You can now run the emulator as follows (adapt to your own path):
/media/BBB/sources/snes9x-sdl-master-optim/sdl/snes9x-sdl -nomp5 -nojustifier -nomouse -nosuperscope -port1 pad1 -port2 pad2 -playbackrate 40960 /media/BBB/roms/snes/your_rom