		Snes97: Linux 0.25 Released 31st March 1997
		-------------------------------------------

Welcome to the first public release of Snes97 for Linux i386 and Sun Solaris
Sparc. Snes97: Linux is a port of the Super Nintendo Entertainment System
(SNES) emulator for Windows 95 written by Jerremy Koot (jkoot@euronet.nl).
Snes97 is coded entirely in C++ - no machine code speed ups as of yet.

It terms of what SNES hardware is actually emulated, most graphics registers
are emulated to some extent. There is no sound emulation at all and the lack
of this causes problems for some ROMs as they try and talk to the sound CPU.
The mosaic effect, background clip windows and background colour addition and
subtraction are also not implemented.

Snes97 currently has fewer features, is slower and runs less ROMs images than
Snes96: Linux, so it recommended you use that version for the moment.
However, given time, Snes97 will catch up.

What you will need
------------------

You will need a fast PC running Linux, I am using kernel 2.0.27 but any
recent stable version should be OK, or a fast Sun Sparc workstation running
Solaris 5.x depending on which version you down-loaded. Both versions are
dynamically linked and will require access to various shared libraries. Use
ldd snes97 to make sure you have all the required libraries on your system.
 
You will also need an X server running set to 256 colour mode. Access to SNES
ROM images in *.smc or *.sfc format will also help otherwise you will have
nothing to run! Several public domain images are available from
http://www.futureone.com/~damaged/Consoles/SNES/demos.html

Some commercial ROM images are available via the Internet, try
http://www.nfinity.com/~swhalen/node99/snes.html

Please note it is illegal in most countries to have commercial ROM images
without also owning the actual SNES ROM cartridge.

PLEASE DO NOT ASK JERREMY OR MYSELF FOR ROM IMAGES OR FOR INFORMATION ON WHERE
TO GET MORE, WE DO NOT KNOW AND WILL IGNORE ALL SUCH E-MAILS OR, IF WE ARE
HAVING A PARTICULARLY BAD DAY, FORWARD THE E-MAIL TO THE EMULATOR ABUSE
DATABASE.

Starting the emulator
---------------------

From a shell just type:
snes97 <ROM filename>

Some command line flags are available:

-f <frame skip count> (2)
-H Turn off the H-DMA emulation (on)
-ss <method 0-3> SPC-700 skip wait method (0).

Linux port only:
-4 Joystick connected to computer has 4 buttons.
-6 Joystick connected to computer has 6 buttons.

A small window will appear that installs its own colormap, so the rest of
the screen will go "technicolor" when the window has colormap focus.

When the window has keyboard focus:
'Escape' 	quit the emulator

Joypad 1:
'up' or 'u'		Up direction
'down', 'j' or 'n'	Down direction
'left' or 'h'		Left direction
'right' or 'k'		Right direction
'a' 			TL button
'z' 			TR button
's' 			X button
'x' 			Y button
'd' 			A button
'c' 			B button
'Left Control' or 'Left Meta'	start button
'Left Shift'		select button

Joypad 2:
'Keypad 8'		Up direction
'Keypad 2'		Down direction
'Keypad 6'		Left direction
'Keypad 4'		Right direction
'Insert'		TL button
'Delete'		TR button
'Home'			X button
'End'			Y button
'Page Up'		A button
'Page Down'		B button
'Right Control' or 'Right Meta'	start button
'Right Shift'		select button

'0'			Toggle H-DMA emulation on/off.
'1'			Toggle background 1 on/off (useful for debugging and
'2'			Toggle background 2 on/off  speeding up the emulation)
'3'			Toggle background 3 on/off
'4'			Toggle background 4 on/off
'5'			Toggle sprites (OBJs) on/off

'F4'			Toggle joystick support off and on.

Joystick Support
----------------

The Linux port of Snes97 supports one or two 2-button joysticks, or one
4-button or 6-button joystick - this limitation is imposed by PC hardware. The
kernel needs the joystick driver compiled in or loaded as a module to enable
Snes97 to access the joystick(s). The driver source code is available from
http://sunsite.unc.edu/pub/Linux/kernel/patches/console/joystick-0.8.0.tar.gz
Don't forget to also make the two devices in /dev - /dev/js0 and /dev/js1 and
make them readable by everyone; documentation supplied with the driver gives
details of this.

S-VGA Full-Screen Mode
----------------------

The Linux port of Snes97 is supplied as two binaries: snes97 for the
X Window System version and ssnes97 for the S-VGA 256x256 full-screen version.

The S-VGA version needs root permissions so it can write to the PC video
registers to change screen modes (the X server has the same problem). You can
either run as root (not recommended) or set the binary to run set-uid root as
follows:

Log on as root or su to root.
Change to the directory where the ssnes97 binary is stored.
Type:
chown root ssnes97
chmod 4555 ssnes97

Now the binary can be run by an ordinary user in much the same way the
X server can.

Credits
-------

Many thanks must go to Jerremy Koot (jkoot@euronet.nl) because without all his
hard work on the original Snes97 Windows 95 version the Linux and Solaris
ports would not exist.
 
SNES is a trademark of Nintendo.
Sun, Solaris and Sparc are trademarks of Sun Microsystems, Inc.

------------------------------------------------------------------------------

Gary Henderson (gary@daniver.demon.co.uk)
