MY NES GTK:
==========
Is a nes emuator written in .net C#. It can run an Windows(R) and Linux platforms.
It uses GTK# for menus, SDL.NET for emulator window.
This project is a part of "My Nes" emulator:
http://sourceforge.net/projects/mynes/

INSTALLATION:
============
Windows(R) users:
1 Install .Net Framework 4 from Microsoft.
2 Install GTK #: http://www.mono-project.com/GtkSharp
3 Install C# SDL Runtime: http://cs-sdl.sourceforge.net/
4 Double-click on MyNesGTK.exe that comes in MyNesGTK-windows package (after extraction of course) 

Linux users:
1 Install mono including GTK# and all dependencies: http://www.mono-project.com/
2 Install C# SDL: http://cs-sdl.sourceforge.net/ 
3 Launch terminal then type: exec mono <MyNesGTK.exe path>
 <MyNesGTK.exe path>= complete path of MyNesGTK.exe file that comes in MyNesGTK linux package (after extraction of course) 
4 If the emulator window show up with black screen and the emulator hang, 
  this is a sound issu, visit http://cs-sdl.sourceforge.net/ for more information
  or simply disable the sound.

MAIN MENU:
==========
File>Open: to open rom in local disk.
File>Quit: to exit My Nes GTK

Emulation>Auto: set the tv emulation to Auto select so that the emulator auto
                select the tv format depending on the rom region.
Emulation>Pal: (appeared when you disable Auto) set the emulation to pal,
               if disabled the ntsc tv format selected always.

Video>Fullscreen: to run in fullscreen
Video>Resizable: to make the sdl window resizable, the fullscreen option will disable this selection.
Video>x1,x2 ...: make the window size like this (256 * x) * (240 * x) while x =1,2,...

Options>Folders: to edit state saves and snapshots folder.
Options>Controls: to edit controls mapping.
Options>Other: to edit other options.
Options>Enable sound: to enable sound emulation.
Options>No limiter: if enabled, the emulator will run full speed depending on you pc cpu without limit, 
                    otherwise it will limit speed to 60/50 fps depending on TV emulation.
Help>Help: to show this document.
Help>About: show the about window.

COMMANDLINES
============
The first commandline must be the full
path of the rom, then the switches
e.g: rom.nes /fullscreen ...

//window switches
* /fullscreen: run in fullscreen
* /resizable: make the window resizable (will disabled if /fullscreen command is present)
* /h: window height, work with widowed and fullscreen modes. 
* /w: window width, work with widowed and fullscreen modes.

//folders
* /statefolder <path>: set state folder to <path>
* /snapfolder <path>: set snapshots folder to <path>

//tv system emulation
* /tv_auto: enable auto switch tv format
* /tv_pal: use pal tv system emulation
* /tv_ntsc: use ntsc tv system emulation, emulator always select ntsc even the rom is pal
note: '/tv_auto' will cancel the tv system selection via '/tv_pal' or '/tv_ntsc' command

//sound
* /sound_off: disable sound

//others
* /nolimiter: enable no limiter

//keys
* /p1_a=x: set player 1 A button to x key
* /p1_b=x: set player 1 B button to x key
* /p1_st=x: set player 1 Start button to x key
* /p1_se=x: set player 1 Select button to x key
* /p1_up=x: set player 1 Up button to x key
* /p1_do=x: set player 1 Down button to x key
* /p1_lf=x: set player 1 Left button to x key
* /p1_rt=x: set player 1 Right button to x key

* /p2_a=x: set player 2 A button to x key
* /p2_b=x: set player 2 B button to x key
* /p2_st=x: set player 2 Start button to x key
* /p2_se=x: set player 2 Select button to x key
* /p2_up=x: set player 2 Up button to x key
* /p2_do=x: set player 2 Down button to x key
* /p2_lf=x: set player 2 Left button to x key
* /p2_rt=x: set player 2 Right button to x key

* /p3_a=x: set player 3 A button to x key
* /p3_b=x: set player 3 B button to x key
* /p3_st=x: set player 3 Start button to x key
* /p3_se=x: set player 3 Select button to x key
* /p3_up=x: set player 3 Up button to x key
* /p3_do=x: set player 3 Down button to x key
* /p3_lf=x: set player 3 Left button to x key
* /p3_rt=x: set player 3 Right button to x key

* /p4_a=x: set player 4 A button to x key
* /p4_b=x: set player 4 B button to x key
* /p4_st=x: set player 4 Start button to x key
* /p4_se=x: set player 4 Select button to x key
* /p4_up=x: set player 4 Up button to x key
* /p4_do=x: set player 4 Down button to x key
* /p4_lf=x: set player 4 Left button to x key
* /p4_rt=x: set player 4 Right button to x key

* /key_pause=x: set Toggle Pause key to x
* /key_softreset=x: set Soft Reset key to x
* /key_takesnap=x: set Take Snapshot key to x
* /key_statesave=x: set Save State key to x
* /key_stateload=x: set Load State key to x
* /key_nolimiter=x: set No Limiter key to x
* /key_fullscreen=x: set Toggle Fullscreen key to x

CONTROLS:
=========
P1= player 1, P2= player 2.
Controls work only in SDL window.

Default controls:
//NES
p1_A = X; 
p1_B = Z; 
p1_Start = V;
p1_Select = C;
p1_Up = UpArrow;
p1_Down = DownArrow;
p1_Left = LeftArrow;
p1_Right = RightArrow;
		
p2_A = K; 
p2_B = J; 
p2_Start = I;
p2_Select = U;
p2_Up = W;
p2_Down = S;
p2_Left = A;
p2_Right = D;

(Player 3 and 4 are not set, you can map these controls via controls option dialog.)

VSUnisystem CreditServiceButton =End;
VSUnisystem DIPSwitch1  = CTRL+1
VSUnisystem DIPSwitch2  = CTRL+2
VSUnisystem DIPSwitch3  = CTRL+3
VSUnisystem DIPSwitch4  = CTRL+4
VSUnisystem DIPSwitch5  = CTRL+5
VSUnisystem DIPSwitch6  = CTRL+6
VSUnisystem DIPSwitch7  = CTRL+7
VSUnisystem DIPSwitch8  = CTRL+8
VSUnisystem CreditLeftCoinSlot  =Insert;
VSUnisystem CreditRightCoinSlot =Home;

//MY NES SDL
Exit: Escape
Toggle pause: F2
Soft reset: F3
State slot: 1-9
Take snapshot: F5
Save state: F6
Toggle nolimter: F7
Load state: F9
Toggle fullscreen: F12

NOTES:
======
* In linux, if the emulator window show up with black screen and the emulator hang, 
  this is a sound issu, visit http://cs-sdl.sourceforge.net/ for more information
  or simply disable the sound.
* In controls window, make sure you enter the right key char, if you entered
  wrong values the emulation will not work.
* In linux, you'll need to use the "Other" options window to specify the char
  that should replace the white spaces in rom path. 

CREDITS:
========
* Nes emulation and GTK port by Ala Hadid, ahdsoftwares@hotmail.com

* beannaich, beannaich@gmail.com
  Fixed apu, added sound mixer, added SS5B sound channels

SUPPORT:
========
Project main website: 
http://sourceforge.net/projects/mynes/
 