diff --git a/README.md b/README.md new file mode 100644 index 0000000000..55677708eb --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# SSNES + +SSNES is a simple frontend for the libsnes library. + +# libsnes + +libsnes is the emulator core of bSNES, the most accurate SNES emulator to date, in library form. +This enables the possibility of custom front-ends for the emulator. + +# Philosophy + +SSNES attempts to be very small and lean, while still having all the useful core features expected from an emulator. +It is close in spirit to suckless' DWM, in that configuring the emulator requires a recompile. +The configuration is done through editing a C header file. +C programming skills are not necessary to configure it (no programming involved), but some basic programming experience might be needed. + +# Dependencies + +SSNES requires these libraries to build: + + - GLFW + - libsamplerate + +SSNES can utilize these libraries if enabled: + + - nvidia-cg-toolkit + +SSNES needs one of these audio driver libraries: + + - ALSA + - OSS + - RoarAudio + - RSound + - OpenAL + +# Configuring + +SSNES configuring is done through editing config.h and config.mk. +The default configs can be found in config.h.def and config.mk.def respectively. +Do note that you might have to edit config.mk if you edit driver and filter options! +By default, ALSA audio driver is assumed. + +Most options in config.h should be self-explanatory. +To configure joypads, start up jstest /dev/input/js0 to determine which joypad buttons (and axis) to use. + +# Compiling and installing + +The good old make && sudo make install should do the trick :) + + +# Filters and Cg shader support + +This is not strictly not necessary for an emulator, but it can be enabled if desired. +For best performance, Cg shaders are recommended as they do not eat up valuable CPU time. +Cg shaders are compiled at run-time, and shaders could be dropped in. +All shaders share a common interface to pass some essential arguments such as texture size and viewport size. (Common for pixel art scalers) +Some Cg shaders are included in hqflt/cg/ and could be used as an example. +