X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=out_gp2x%2Freadme.txt;h=a6cf045b593c021a7c0dd4c0f2b4df8712598d73;hp=6218b92400b37bb8dccdb9f542c33ab2ebcc48a4;hb=892b1f6c68346fa00dc3029ab8bd31178e730509;hpb=4e1934c1ee3a43796e68edc66b3c3f8e079caf7c diff --git a/out_gp2x/readme.txt b/out_gp2x/readme.txt index 6218b92..a6cf045 100644 --- a/out_gp2x/readme.txt +++ b/out_gp2x/readme.txt @@ -1,13 +1,6 @@ ================================================================================= GPFCE - NES emulator for the GP2X ================================================================================= - Ported by: zzhu8192 - Optimized by: notaz - Current version: 0.3 - Email: zzhu8192@yahoo.com - Web Site: www.unicorn-jockey.com - Web Site Admin: Lil-kun -================================================================================= This is a gp2x port of the **great** Open Source NES emulator FCE Ultra: @@ -18,69 +11,223 @@ dedication of the FCE Ultra developers. In case you don't know what the NES is about, see: http://en.wikipedia.org/wiki/Famicom. -My main reasons for working on this port is to get some game programming -experience on smaller devices. Although coding/porting an emu is -generally not the same thing, it's still pretty cool. -I'm an Enterprise Java software developer by trade, so this is a nice side project -for me, and a welcome change of pace. I'm also planning to write some -original games in Java for the GP2x. This should be interesting.... + +------------------------------------------------------------------ + Usage +------------------------------------------------------------------ + +1) Unzip the emulator onto some directory on your SD card. +2) Since version 0.4 ROMs no longer have to be put to fixed location, + so you can put them anywhere. Rom files can be zipped. +3) The emulator will create a subdirectory in it's working directory + called fceultra. Save states etc. go here. + If you want to load saves from < 0.4 version, you should copy files + from /mnt/sd/roms/nes/fceultra/fcs to + /fceultra/fcs directory. +4) Hit both volume keys to enter the menu. +5) For FDS support, put disksys.rom in /fceultra +6) For GameGenie support, put gg.rom in /fceultra + + +------------------------------------------------------------------ + Controls +------------------------------------------------------------------ + +Since v0.4 controls are configurable. Default controls are: + +B - NES A +X - NES B +Y - NES A (turbo) +A - NES B (turbo) +SELECT - NES SELECT +START - NES START +VOL +/- - Vol control. Pressing both enters the menu. + +L & JOY - Save state +R & JOY - Load State + +Note: JOY means press in on the joystick (i.e. not up/down/left/right) + + +gpfce can't emulate all input devices which FCE Ultra does, but it can handle +gamepad emulation of course, plus it can emulate Zapper and the Arkanoid +controller (the last two have hardcoded controls). + +B is the emulated trigger button for the Zapper. X is also emulated as the +trigger, but as long as you have it pressed down, no color detection will take +place, which is effectively like pulling the trigger while the Zapper is +pointed away from the television screen. Note that you must press X for a +short time to have the desired effect. + +For Zapper and the Arkanoid controller Y increases the movement speed, +A decreases. + + +------------------------------------------------------------------ + Palettes +------------------------------------------------------------------ + +gpfce has similar palette options as FCE Ultra, so here is modified excerpt +from FCE Ultra manual: + +FCE Ultra has many palette features, including loading a custom palette to +replace the default NES palette (see FCE Ultra option in options menu). +The palette from an NTSC NES can also be generated on-the-fly. + +First, a note on on the format of external palettes; Palette files are expected +to contain 64 8-bit RGB triplets(each in that order; red comes first in the +triplet in the file, then green, then blue). Each 8-bit value represents +brightness for that particular color. 0 is minimum, 255 is maximum. + +Palettes can be set on a per-game basis. To do this, put a palette file in the +/fceultra/pal directory with the same base filename as the +game you wish to associate with and add the extension "pal". Examples: + + File name: Palette file name: + BigBad.nes BigBad.pal + BigBad.zip BigBad.pal + BigBad.Better.nes BigBad.Better.pal + + +With so many ways to choose a palette, figuring out which one will be active may +be difficult. Here's a list of what palettes will be used, in order from highest +priority to least priority(if a condition doesn't exist for a higher priority +palette, the emulator will continue down its list of palettes). + + * Palette loaded from the "fceultra/pal" directory. + * NTSC Color Emulation(only for NTSC NES games). + * VS Unisystem palette(if the game is a VS Unisystem game and a palette is available). + * Custom global palette (set in the menu). + * Default NES palette. + + +------------------------------------------------------------------ + Famicom Disk System +------------------------------------------------------------------ + +You will need the FDS BIOS ROM image in /fceultra directory. +It's size should be 8192 bytes and it must be named "disksys.rom". +gpfce will not load FDS games without this file. + +You will also probably need configure keys for swapping the virtual FDS disks, +they are configurable in Controls menu. + +Two types of FDS disk images are supported: disk images with the FWNES-style header, +and disk images with no header. The number of sides on headerless disk images is +calculated by the total file size, so don't put extraneous data at the end of the file. + + +------------------------------------------------------------------ + VS Unisystem +------------------------------------------------------------------ + +gpfce currently only supports VS Unisystem ROM images in the iNES format. See +FCE Ultra manual for the list of supported games. + +You will need to configure a key to insert coins, see Controls option in the menu. ------------------------------------------------------------------ -What's new + Cheats ------------------------------------------------------------------ -Many usability features were added, thanks to some great input -from developers and users on the gp32x.com board. Some of the -changes went into the selector frontend. +For cheating you can ether use the authentic game genie support, or the .cht files. + +To use authentic game genie, place appropriate gg.rom into +/fceultra. +Use the FCE Ultra option menu or -gg on commandline to activate the game genie rom. +The ROM image may either be the 24592 byte iNES-format image, or the 4352 +byte raw ROM image. -(I have sent my selector customization changes to kounch, - so hopefully the changes will make it into - version 1.2 or later for other projects to use) +The .cht files fould be placed into /fceultra/cheats/ directory. +They should have the same base filename as the game you wish to associate with +with the extension "cht". Examples: -There are now 4 executable scripts. -gpfce -gpfce_showfps -gpfce_swapbuttons -gpfce_showfps_swapbuttons + File name: Palette file name: + BigBad.nes BigBad.cht + BigBad.zip BigBad.cht + BigBad.Better.nes BigBad.Better.cht -showfps: this means FPS is displayed on the upper left of the screen - (in non-stretch mode only). +If you have done everything correctly, Cheat option will appear in the main menu +after you load the ROM. You can activate/deactivate cheats by pressing B. +For description of .cht file format, see http://fceultra.sourceforge.net/cheat.php + + +------------------------------------------------------------------ + IPS patch support +------------------------------------------------------------------ -swapbuttons: this means instead of Y/A as NES_B and B/X as NES_A - use A/X as NES_B, and Y/B as NES_A. (think NES MAX) - -Volume meter is now shown on the OSD when adjusted. +Place the IPS files in the same directory as the ROM to load, and name them +filename.ips or filename.something.ips. Examples: -See version history below for more details. + File name: IPS file names: + BigBad.nes BigBad.nes.ips BigBad.nes.somehack.ips + BigBad.zip BigBad.zip.ips BigBad.zip.badhack.ips + BigBad.Better.nes BigBad.Better.nes.ips BigBad.Better.nes.evenbetterhack.ips -Depending on feedback, speed and even more compability will -probably be the major focus going forward. +Patching is supported for all supported formats (iNES, FDS, UNIF, and NSF), but +it will probably only be useful for the iNES and FDS formats. UNIF files can't be +patched well with the IPS format because they are chunk-based with no fixed offsets. ------------------------------------------------------------------ -Current Features + FCM movies ------------------------------------------------------------------ -- .zip file support -- 22050 Hz Mono Sound support with volume control support -- OSD Volume bar -- Load/Save state (up to 10 slots, pick by holding down R) -- Hardware stretch (See controls) -- Soft Reset -- Savegame support -- 60 FPS without frame skipping on many games -- Configurable Turbo Fire (hold L to toggle) -- Game genie/Cheat code (functionality already exists in FCEU 0.81) -- Sorted display of 2048 roms per subdirectory (recommended 512-1024)? -- Semi-Configurable button layout (startup only) -- configurable FPS display on upper left hand side + +Version 0.4 has partial FCM movie support. Most of the movies desync due to +different timing, but some of them can be played. There is only playback support. +Files should be placed in the ROMs directory along with the ROMs themselves. +Naming is the same as for IPS patches (see previous section), buf use .fcm +extension instead of .ips. + -------------------------------------------------------------------- Version History -------------------------------------------------------------------- +ver 0.4 (by notaz) + rev 162 + - Fixed savestate subsections (were causing some mapper data not + to be saved). + - Fixed an issue of MapIRQHook getting lost after loading a savestate + (glitched Akumajou Densetsu and other games after savestate load). + - A bug, which prevented configuring multiple USB pads fixed. + - Fixed sound breaking bug after switching it on/off multiple times. + - Added "Perfect VSYNC" option, which changes GP2X refresh rate and + syncs emu timing to LCD vsync. + - Fixed IPS patch support. + rev 153 + - Lots of work on the asm core. Timing fixed for some instructions. + Some missing undocumented instruction handlers added. Lots of + tweaking to make it compatible with all that mapper code. + - Completely new PicoDrive style menu added with most standard + FCE Ultra and some additional options. Selector removed, ROM list + is now built-in and only limited by available memory. + - Merged in most of code from 0.98.1x versions. Only ppu/rendering + and sound emulation code left from 0.81 (which is less accurate + but much faster). + - Default palette changed to one from later versions. + - Fixed some alignment problems in MMC5 and some other mappers. + - Some generic optimizations and code cleanup/refactoring. + - The built-in NSF player fixed. + - Authentic GameGenie support fixed. + - FDS support fixed. + - VS Unisystem support fixed. + - Ingame saves fixed (not sure when they got broken). + - Increased maximum sound volume. + - Added Zapper emulation just for fun. + - Added partial FCM movie support. + - Fixed some memory leaks. + - Fixed a bug which caused USB connection from GP2X menu + to hang after using gpfce. + - Software scaler added. + - USB gamepad support added. + - TV out fixed. + - Documentation updated. + + ver 0.3 (by notaz) - Major improvement: added ARM asm CPU core from LJGP32, @@ -121,7 +268,6 @@ ver 0.2 5/29/2006 MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce - - Initial version - Around 60 fps with sound @@ -135,118 +281,27 @@ ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce from filling up the gp2x space by accident + ------------------------------------------------------------------ -Usage ------------------------------------------------------------------- -1) Untar the emulator tarball onto some directory on your SD card. -2) You must have a directory called /roms/nes on your SD card. - Put the roms in there, i.e. /mnt/sd/roms/nes is the gp2x path. - Rom files can be zipped. -3) The emulator will create a subdirectory under roms - /roms/nes/fceultra. Save states etc. go here. -4) To start a different rom while running one, hit L+R+JOY. - To exit the file selection menu, press start. -5) For FDS support, put disksys.rom in /mnt/sd/roms/nes/fceultra - Note: FDS roms must not be zipped. -6) For GameGenie support, put gg.rom in /mnt/sd/roms/nes/fceultra - ------------------------------------------------------------------- -Cheats ------------------------------------------------------------------- - -gpfce uses the cheat mechanisms already provided by -http://mednafen.com/documentation/cheat.html Note this feature -is untested on gpfce as of version 0.2 - -To use game genie, place appropraite gg.rom into /mnt/sd/roms/nes/fceultra. -Use -gg on commandline to activate the game genie rom. - - ------------------------------------------------------------------- -Controls + Credits/thanks ------------------------------------------------------------------ -Note: JOY means press in on the joystick (i.e. not up/down/left/right) +- Original base code of FCE Ultra by Xodnizel, Bero. +- Porting/optimization/integration/frontend for 0.3 and 0.4 by notaz. +- Versions 0.1 and 0.2 by zzhu8192 (http://www.unicorn-jockey.com). +- asm CPU core from FCA and Little John GP32. +- Minimal library by rlyeh. +- Additional low-level GP2X libs by Hermes/PS2Reality, theoddbot, + god_at_hell, Puck2099. +additional thanks: +- Cruel and DaveC from gp32x boards for beta testing. +- All FCE Ultra contributors listed in + http://fceultra.sourceforge.net/docs.php -In file selector mode -(This is based on selector version 1.1) ----------------------------------------------- -Start - EXIT file selector, back to main menu. -B,A,X,Y, JOY - start rom -L - page up -R - page down -UP - scroll up one, wraps if at top -DOWN - scroll down one, wraps if at bottom -LEFT - jump up list by first letter of rom name -RIGHT - jump down list by first letter of rom name - +...and everyone whose name my mind has misplaced. - - -In game ------------------------- -Y - NES B -A - NES B -B - NES A -X - NES A -SELECT - NES SELECT -START - NES START -VOL +/- - Vol control. - -hold L - toggles between - No Turbo Fire, - Upper row of buttons turbo fire - Lower row of buttons turbo fire - -hold R - cycles through save state slots - -L & JOY - Save state -R & JOY - Load State -SEL & JOY - Stretch screen toggle -L & R - Reset NES - -L + R + JOY - Exit back to menu - - -FDS only -------------------------------- -L - insert disk -R - eject disk -JOY - select disk - - - ------------------------------------------------------------------- -Known issues ------------------------------------------------------------------- -1) Stretch mode could use a better aspect ratio. Looks a bit odd. - Might look into some fancy non-2x filtering algorthms, if there are such things. -2) Not thoroughly QA'd -3) S-Video not working -4) FDS does not seem to be working -5) Some compatibility issues -6) Can't sustain 60fps on some games -7) Some clipping issues in some games -8) Game genie behaves a bit odd, although code works... - ------------------------------------------------------------------- - Might have time to do list ------------------------------------------------------------------- -1) Fix more known issues -2) Better looking stretch? -3) File based Game genie support -4) Cleaner build -5) Full speed on all games. (This may require some work) -6) Better compability -7) Multiplayer support via cable - this one is obviously pretty - tricky. Will need cables and a usb hub first. - It's definitely possible, but is not a priority at this point. - - ------------------------------------------------------------------- - Many thanks ------------------------------------------------------------------- +zzhu8192's thanks: - To lots of talented developers on the http://www.gp32x.com/board/ Reesy, Squidge, etc. for responding to my technical questions. - Thanks to