C++ C Assembly Other
Switch branches/tags
Nothing to show
Clone or download
joolswills Merge pull request #7 from psyke83/master
Use -Wno-narrowing to fix gcc 6 build
Latest commit a5b427f Oct 26, 2017
Permalink
Failed to load latest commit information.
preview added Sep 28, 2015
roms added Apr 24, 2013
skins added Apr 24, 2013
unix remove restriction of 28 axes on a joystick Feb 15, 2017
unzip added Apr 24, 2013
2xsai.cpp added Apr 24, 2013
65c816.h added Apr 24, 2013
Makefile Use -Wno-narrowing to fix gcc 6 build Oct 25, 2017
Makefile.debug Use -Wno-narrowing to fix gcc 6 build Oct 25, 2017
Makefile.orig added Apr 24, 2013
apu.cpp added Apr 24, 2013
apu.h added Apr 24, 2013
apudebug.cpp added Apr 24, 2013
apumem.h added Apr 24, 2013
c4.cpp added Apr 24, 2013
c4emu.cpp added Apr 24, 2013
c_fx added Apr 24, 2013
changes.txt added Apr 24, 2013
cheats.cpp added Apr 24, 2013
cheats.h added Apr 24, 2013
cheats2.cpp added Apr 24, 2013
clip.cpp added Apr 24, 2013
copyright.h added Apr 24, 2013
cpu.cpp added Apr 24, 2013
cpuaddr.h added Apr 24, 2013
cpuexec.cpp added Apr 24, 2013
cpuexec.h added Apr 24, 2013
cpumacro.h added Apr 24, 2013
cpuops.cpp added Apr 24, 2013
cpuops.h added Apr 24, 2013
data.cpp added Apr 24, 2013
debug.cpp added Apr 24, 2013
debug.h added Apr 24, 2013
display.h Fullscreen fix for NTSC and handle PAL sizes. Apr 26, 2013
dma.cpp added Apr 24, 2013
dma.h added Apr 24, 2013
dsp1.cpp added Apr 24, 2013
dsp1.h added Apr 24, 2013
dsp1emu.c added Apr 24, 2013
font.h added Apr 24, 2013
fxdbg.cpp added Apr 24, 2013
fxemu.cpp added Apr 24, 2013
fxemu.h added Apr 24, 2013
fxinst.cpp added Apr 24, 2013
fxinst.h added Apr 24, 2013
getset.h added Apr 24, 2013
gfx.cpp added Apr 24, 2013
gfx.h added Apr 24, 2013
globals.cpp added Apr 24, 2013
hardware.txt added Apr 24, 2013
install.sh added Apr 24, 2013
loadzip.cpp added Apr 24, 2013
memmap.cpp added Apr 24, 2013
memmap.h added Apr 24, 2013
messages.h added Apr 24, 2013
missing.h added Apr 24, 2013
netplay.cpp added Apr 24, 2013
netplay.h added Apr 24, 2013
no_glide added Apr 24, 2013
no_opengl added Apr 24, 2013
offsets added Apr 24, 2013
offsets.cpp added Apr 24, 2013
pixform.h added Apr 24, 2013
port.h added Apr 24, 2013
ppu.cpp Two joystick support May 2, 2013
ppu.h added Apr 24, 2013
problems.txt added Apr 24, 2013
readme.txt updated Sep 29, 2015
readme_snes9x.txt added Apr 24, 2013
sa1.cpp added Apr 24, 2013
sa1.h added Apr 24, 2013
sa1cpu.cpp added Apr 24, 2013
sdd1.cpp added Apr 24, 2013
sdd1.h added Apr 24, 2013
server.cpp added Apr 24, 2013
snaporig.cpp added Apr 24, 2013
snaporig.h added Apr 24, 2013
snapshot.cpp added Apr 24, 2013
snapshot.h added Apr 24, 2013
snes9x.cfg.template update Sep 29, 2015
snes9x.cpp added Apr 24, 2013
snes9x.h Added DisplaySmoothStretch, DisplayEffect May 23, 2013
sound.cpp added Apr 24, 2013
soundux.cpp added Apr 24, 2013
soundux.h added Apr 24, 2013
spc.cpp added Apr 24, 2013
spc700.cpp added Apr 24, 2013
spc700.h added Apr 24, 2013
spc700a.s added Apr 24, 2013
spc7110.cpp added Apr 24, 2013
spc7110.h added Apr 24, 2013
spccycles.cpp added Apr 24, 2013
spctool.cpp added Apr 24, 2013
srtc.cpp added Apr 24, 2013
srtc.h added Apr 24, 2013
tile.cpp added Apr 24, 2013
tile.h added Apr 24, 2013
unzipP.h added Apr 24, 2013
zipit updated Sep 28, 2015

readme.txt

PiSNES for Raspberry Pi by Squid
================================

INTRODUCTION
------------

This is a SNES Emulator port based on SNES9X 1.39. This is an old version of SNES9X but was chosen as it runs mostly at full speed on the Raspberry Pi unlike the more recent versions of SNES9X. Game support is therefore not as good as the newer SNES9X versions and graphics & sound is not as accurate.

Games that will not work, for example, are Yoshi's Island, Street Fighter Alpha 2, Star Fox.

This port supports keyboard and USB joystick input and are configurable. It uses GLES2/dispmanx for graphics so can run equally well in the Console or under X-Windows. The audio uses the ALSA API and SDL is used for input.

Web page for downloads, news, source, additional information:
https://sourceforge.net/projects/pisnes

(No asking for ROMS)

CONTROLS
--------
                     KEYBOARD     XBOX360 CONTROLS
    Up direction     up arrow     
    Down direction   down arrow
    Left direction   left arrow
    Right direction  right arrow
    X button         s            Y
    Y button         x            X
    A button         d            B
    B button         c            A
    TL button        a            TL
    TR button        f            TR
    Start button     return       START
    Select button    tab          BACK
    Turbo            backspace
    Quit             escape       BACK+START
    Quickload 1-4    F1-F4        RIGHT THUMB
    Quicksave 1-4    Shift F1-F4  LEFT THUMB

The joystick layout defaults to XBOX 360 controller button layout.

Additionally to quit with the joystick you can press SELECT+START.

All controls are configurable by editing the "snes9x.cfg" file.

Quickload and Quicksave, load and save snapshots of the game. Game saves are automatically loaded and saved when PiSNES starts and quits.

INSTALLATION
------------

    snes9x      -> Game binary
    snes9x.gui  -> Frontend binary
    snes9x.cfg  -> MAME configuration file, limited support to only the options in the supplied file (not the full MAME settings).
    preview/    -> Box art in jpg format, must be 640x480 or smaller, matching name of ROM file.
    roms/       -> ROMs directory (Put your game ROMs in here)
    skins/      -> Frontend skins directory
    $HOME/.snes96_snapshots/ -> SRM and snapshot saves are stored here

To run PiSNES simple run the "snes9x.gui" executable. At the command line "./snes9x.gui".
This runs the GUI frontend. To simply run PiSNES without the GUI enter "./snes9x roms/{gamerom}" where "{gamerom}" is the game rom filename to run.

It will work in X-Windows or in the Console.

Pi CONFIGURATION
----------------

I highly recommend overclocking your Raspberry Pi to gain maximum performance
as PiSNES is very CPU intensive and overclocking will make most games run at full speed.
The Pi 2 does not need overclocking.

My overclocking settings which work well, (/boot/config.txt)

    arm_freq=900
    sdram_freq=500

NOTE: Make sure overclocking is actually working by checking "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" should be "ondemand". Later kernels appear to set it to "powersave" by default.

If your sound is too quiet then do the following to fix that:

* First get the playback device, type "amixer controls"
* This will show the numid for the playback device, probably 3.
* Now set the volume, type "amixer cset numid=3 90%".
* Then reboot to make it permanent.

If you're having problems with HDMI audio then it is likely PulseAudio
is causing the issues as it has problems with the ALSA drivers. To fix
this simply remove PulseAudio:

* sudo apt-get --purge remove pulseaudio
* sudo apt-get autoremove

If you're getting a black screen when running in Console mode with
Composite output, try removing/commenting out the "overscan_" parameters from "/boot/config.txt" as follows (using disable_overscan doesn't appear to fix it):

    #overscan_left=16
    #overscan_right=16
    #overscan_top=16
    #overscan_bottom=16

GRAPHICS AND SOUND EFFECTS
--------------------------

Postprocessing can be enabled by setting "DisplayEffect" in snes9x.cfg. In addition you can disable anti-aliasing smoothing ("DisplaySmoothStretch" in snes9x.cfg). The postprocessing "phospher" effect does not run at full speed - i.e. it taxes the Pi GPU a little too much.

To improve the sound on the RPi 2 you can set "InterpolatedSound=1". This setting on the RPi 1 slows it down too much.

ORIGINAL CREDITS
----------------

  * The SNES9X team for their wonderful emulator (http://www.snes9x.com/)

PORT CREDITS
------------

  * Ported to Raspberry Pi by Squid.
  * Based on the Dingoo SDL version of SNES9X v1.39

CHANGE LOG
----------

September 2015:

  * Added boxart preview window.
  * DPAD configurable as buttons (resolves new xpad driver causing HAT issues)
   
February 21, 2015:

  * Added 2 player support.

February 12, 2015:

  * Joystick controls default to XBOX 360 controller.
  * More joystick axis support.
  * Initial HAT/DPAD support (seems to have issues on the XBOX 360 controller).

August 15, 2013:

  * Joystick axis are now configurable.

May 25, 2013:

  * Graphics backend rewritten to use GLES2 instead of Dispmanx, to enable GPU postprocessing.
  * Graphics smoothing (anti-aliasing) can be disabled.
  * Added postprocessing graphics effects, i.e. scanlines, phospher.
  * Vsync support is better meaning less stuttering.

May 11, 2013:

  * Added joystick button presses SELECT+TL quickload, SELECT+TR quicksave.
  * Fixed potential corruption to quicksaves using joystick.

May 08, 2013:

  * Added more configuration to the snes9x.cfg for graphics and sound.
  * Added options for aspect ratio, stretching and video border.
  * Pass command line options from frontend to runtime snes9x.
  * Fix config file not being read when calling snes9x binary outside of CWD.

May 02, 2013:

  * Added two joystick support.
  * The joystick buttons SELECT+START now quit.
  * Reduced sensitivity of the analog joystick.

April 24, 2013:

  * Initial release.