--- /dev/null
+=================================================================================\r
+ GPFCE - NES emulator for the GP2X\r
+=================================================================================\r
+ Ported by: zzhu8192\r
+ Current version: 0.2\r
+ Email: zzhu8192@yahoo.com\r
+ Web Site: www.unicorn-jockey.com\r
+ Web Site Admin: Lil-kun\r
+=================================================================================\r
+\r
+\r
+This is a gp2x port of the **great** Open Source NES emulator FCE Ultra:\r
+http://fceultra.sourceforge.net. If you enjoyed using this emulator, please\r
+keep in mind that this would not have been possible without the hard work and\r
+dedication of the FCE Ultra developers.\r
+\r
+In case you don't know what the NES is about, see:\r
+http://en.wikipedia.org/wiki/Famicom.\r
+\r
+My main reasons for working on this port is to get some game programming \r
+experience on smaller devices. Although coding/porting an emu is \r
+generally not the same thing, it's still pretty cool.\r
+I'm an Enterprise Java software developer by trade, so this is a nice side project\r
+for me, and a welcome change of pace. I'm also planning to write some \r
+original games in Java for the GP2x. This should be interesting.... \r
+\r
+\r
+------------------------------------------------------------------\r
+What's new\r
+------------------------------------------------------------------\r
+Current version number is now: 0.2\r
+\r
+Many usability features were added, thanks to some great input \r
+from developers and users on the gp32x.com board. Some of the\r
+changes went into the selector frontend.\r
+\r
+(I have sent my selector customization changes to kounch, \r
+ so hopefully the changes will make it into\r
+ version 1.2 or later for other projects to use)\r
+\r
+There are now 4 executable scripts.\r
+gpfce\r
+gpfce_showfps\r
+gpfce_swapbuttons\r
+gpfce_showfps_swapbuttons\r
+\r
+showfps: this means FPS is displayed on the upper left of the screen\r
+ (in non-stretch mode only). \r
+\r
+swapbuttons: this means instead of Y/A as NES_B and B/X as NES_A\r
+ use A/X as NES_B, and Y/B as NES_A. (think NES MAX)\r
+ \r
+Volume meter is now shown on the OSD when adjusted.\r
+\r
+\r
+See version history below for more details.\r
+\r
+Depending on feedback, speed and even more compability will \r
+probably be the major focus going forward.\r
+\r
+\r
+------------------------------------------------------------------\r
+Current Features\r
+------------------------------------------------------------------\r
+- .zip file support\r
+- 22050 Hz Mono Sound support with volume control support\r
+- OSD Volume bar\r
+- Load/Save state (up to 10 slots, pick by holding down R)\r
+- Hardware stretch (See controls)\r
+- Soft Reset\r
+- Savegame support\r
+- 60 FPS without frame skipping on many games\r
+- Configurable Turbo Fire (hold L to toggle)\r
+- Game genie/Cheat code (functionality already exists in FCEU 0.81)\r
+- Sorted display of 2048 roms per subdirectory (recommended 512-1024)?\r
+- Semi-Configurable button layout (startup only)\r
+- configurable FPS display on upper left hand side\r
+\r
+--------------------------------------------------------------------\r
+ Version History\r
+--------------------------------------------------------------------\r
+\r
+\r
+ver 0.2 5/29/2006 MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce\r
+\r
+ - Sound output issue with stereo fixed, now using\r
+ 22050 khz 16-bit mono. I've tried interpolating to \r
+ 44khz mono, but the results seemed similar.\r
+ - selector supports up to 2048 files, sorted, with\r
+ alpha scrolling via left/right in addition to \r
+ page up/down via L/R.\r
+ - additional startup scripts to select button and fps \r
+ configurations\r
+ - can load FDS files, but does not seem to work yet\r
+ - configurable buttons (use swapbuttons version )\r
+ - configurable fps (use showfps version)\r
+ - Configurable turbo fire control\r
+ - Selectable save slots from 0-9\r
+ - Volume bar\r
+ - compiled with GCC 4.1.0 -O3 with profiling\r
+\r
+\r
+ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce\r
+ \r
+\r
+ - Initial version\r
+ - Around 60 fps with sound\r
+ - Load/Save State\r
+ - Hardware Stretch\r
+ - Soft reset support\r
+ - No GUI, using selector with config\r
+ - Hard coded 22050 audio, 16-bit, stereo\r
+ - compiled with GCC 4.1.0 -O3 with profiling\r
+ - Hard coded config path. This is to prevent users\r
+ from filling up the gp2x space by accident\r
+\r
+\r
+------------------------------------------------------------------\r
+Usage\r
+------------------------------------------------------------------\r
+1) Untar the emulator tarball onto some directory on your SD card.\r
+2) You must have a directory called /roms/nes on your SD card.\r
+ Put the roms in there, i.e. /mnt/sd/roms/nes is the gp2x path.\r
+ Rom files can be zipped.\r
+3) The emulator will create a subdirectory under roms \r
+ /roms/nes/fceultra. Save states etc. go here.\r
+4) To start a different rom while running one, hit L+R+JOY.\r
+ To exit the file selection menu, press start.\r
+5) For FDS support, put disksys.rom in /mnt/sd/roms/nes/fceultra\r
+ Note: FDS roms must not be zipped.\r
+6) For GameGenie support, put gg.rom in /mnt/sd/roms/nes/fceultra\r
+\r
+------------------------------------------------------------------\r
+Cheats\r
+------------------------------------------------------------------\r
+\r
+gpfce uses the cheat mechanisms already provided by\r
+http://mednafen.com/documentation/cheat.html Note this feature\r
+is untested on gpfce as of version 0.2\r
+\r
+To use game genie, place appropraite gg.rom into /mnt/sd/roms/nes/fceultra.\r
+Use -gg on commandline to activate the game genie rom.\r
+\r
+\r
+------------------------------------------------------------------\r
+Controls\r
+------------------------------------------------------------------\r
+\r
+Note: JOY means press in on the joystick (i.e. not up/down/left/right)\r
+\r
+\r
+In file selector mode\r
+(This is based on selector version 1.1)\r
+----------------------------------------------\r
+Start - EXIT file selector, back to main menu.\r
+B,A,X,Y, JOY - start rom\r
+L - page up\r
+R - page down\r
+UP - scroll up one, wraps if at top\r
+DOWN - scroll down one, wraps if at bottom\r
+LEFT - jump up list by first letter of rom name\r
+RIGHT - jump down list by first letter of rom name\r
+ \r
+\r
+\r
+\r
+In game\r
+------------------------\r
+Y - NES B\r
+A - NES B\r
+B - NES A\r
+X - NES A\r
+SELECT - NES SELECT\r
+START - NES START\r
+VOL +/- - Vol control. \r
+\r
+hold L - toggles between \r
+ No Turbo Fire, \r
+ Upper row of buttons turbo fire\r
+ Lower row of buttons turbo fire \r
+ \r
+hold R - cycles through save state slots\r
+\r
+L & JOY - Save state\r
+R & JOY - Load State\r
+SEL & JOY - Stretch screen toggle\r
+L & R - Reset NES\r
+\r
+L + R + JOY - Exit back to menu\r
+\r
+\r
+FDS only\r
+-------------------------------\r
+L - insert disk\r
+R - eject disk\r
+JOY - select disk\r
+\r
+\r
+\r
+------------------------------------------------------------------\r
+Known issues\r
+------------------------------------------------------------------\r
+1) Stretch mode could use a better aspect ratio. Looks a bit odd.\r
+ Might look into some fancy non-2x filtering algorthms, if there are such things.\r
+2) Not thoroughly QA'd\r
+3) S-Video not working\r
+4) FDS does not seem to be working\r
+5) Some compatibility issues\r
+6) Can't sustain 60fps on some games\r
+7) Some clipping issues in some games\r
+8) Game genie behaves a bit odd, although code works...\r
+\r
+------------------------------------------------------------------\r
+ Might have time to do list\r
+------------------------------------------------------------------\r
+1) Fix more known issues\r
+2) Better looking stretch?\r
+3) File based Game genie support\r
+4) Cleaner build\r
+5) Full speed on all games. (This may require some work)\r
+6) Better compability\r
+7) Multiplayer support via cable - this one is obviously pretty\r
+ tricky. Will need cables and a usb hub first.\r
+ It's definitely possible, but is not a priority at this point. \r
+\r
+ \r
+------------------------------------------------------------------\r
+ Many thanks\r
+------------------------------------------------------------------\r
+- To lots of talented developers on the http://www.gp32x.com/board/\r
+ Reesy, Squidge, etc. for responding to my technical questions.\r
+- Thanks to \r
+- Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D\r
+- Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)\r
+- Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page\r
+- Awesome gp2x site: http://www.gp32x.com/\r
+- ryleh's minimal lib - w/o which this wouldn't have worked\r
+- FCE Ultra developers (http://fceultra.sourceforge.net/) \r
+ for the wonderful and feature rich NES emulator.\r
+- kounch for Selector frontend - works great for lazy developers like me. :-D\r
+ I have sent my changes to kounch, so hopefully the changes will make it into\r
+ version 1.2 or later.\r
+- gp2x community - just plain rocks\r
+\r
+\r