Request for Documentation


thingie1234

Still Fresh
Joined
Jan 6, 2010
Messages
32
Having become frustrated with the native gpfce's tearing, I was pointed to the GINGE wrapped one: http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,71,224


And now what? There's no documentation in the thing (It neither has a Y button in minimenu nor documentation in the full gui). What buttons returns me to the emulator menu? At the moment, all I can do is play a game, and then hit q, and reload the whole thing to play a different game, or fiddle with settings. I can't find any information about how it was wrapped, and I've searched as far as I'm capable.


A: Can anyone point me towards GPFCE-GP2X's documentation, or tell me what's mapped where? Or are there standard mappings for ginge that I (also having searched) couldn't find (I know q is standard for quit - are there standards for pushing in, or volume)?


B: I know it's a pain in the butt, but when you release something, the thirty seconds it takes to make a very minor help file is greatly appreciated. Please include something.
 
A: Can anyone point me towards GPFCE-GP2X's documentation, or tell me what's mapped where? Or are there standard mappings for ginge that I (also having searched) couldn't find (I know q is standard for quit - are there standards for pushing in, or volume)?
The standard mapping for GINGE is as follows;


1 key - GP2X stick-click


, key - Volume -


. key - Volume +


Q key - Quit GINGE (This also works to quit apps run from within GINGE, as well.)


Worthy of note is the fact that for Wiz titles, the mapping of Start and Select are reversed - just something to bear in mind.


And here's an important one for the GINGE-wrapped GPFCE;


. and , keys together - GPFCE menu


The GP2X version of GPFCE's "readme.txt" file (from the zip file it came from) is below;

=================================================================================


GPFCE - NES emulator for the GP2X


=================================================================================


This is a gp2x port of the **great** Open Source NES emulator FCE Ultra:


http://fceultra.sourceforge.net. If you enjoyed using this emulator, please


keep in mind that this would not have been possible without the hard work and


dedication of the FCE Ultra developers.


In case you don't know what the NES is about, see:


http://en.wikipedia.org/wiki/Famicom.


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


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


<where_you_put_gpfce>/fceultra/fcs directory.


4) Hit both volume keys to enter the menu.


5) For FDS support, put disksys.rom in <where_you_put_gpfce>/fceultra


6) For GameGenie support, put gg.rom in <where_you_put_gpfce>/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


<where_you_put_gpfce>/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 <where_you_put_gpfce>/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 to 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.


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


Cheats


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


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


<where_you_put_gpfce>/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.


The .cht files fould be placed into <where_you_put_gpfce>/fceultra/cheats/ directory.


They should have the same base filename as the game you wish to associate with


with the extension "cht". Examples:


File name: Palette file name:


BigBad.nes BigBad.cht


BigBad.zip BigBad.cht


BigBad.Better.nes BigBad.Better.cht


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'>http://fceultra.sourceforge.net/cheat.php


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


IPS patch support


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


Place the IPS files in the same directory as the ROM to load, and name them


filename.ips or filename.something.ips. Examples:


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


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.


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


FCM movies


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


Version 0.4 has partial FCM movie support. Most of the movies desync due to


different timing, but some of them can be played. Note that 'accurate renderer'


option solves some desync problems. 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)


ret 313


- Improved open bus emulation, fixes missing ground in some SMB3 levels.


- Improved auto frameskip behavior in cases when emu is not fast


enough to maintain 50/60 fps.


- Fixed a bug which prevented some key combo configurations from working.


- Some other minor changes.


rev 171


- Added optional "Accurate renderer", which is the original FCE Ultra


0.98.x renderer + PPU emulation code. It's much slower, but it can


handle games which need more precise PPU timing emulation (like


Marble Madness).


- Fixed saving and loading of game specific configs.


- Some other minor changes.


rev 163


- Added A r k's fast-direction-change fix for usbjoy lib.


- Fixed an issue of usbjoys stopping to work when "Perfect vsync"


is enabled.


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,


which itself was adapted from FCA by Yoyofr.


The core required substantial changes to make it work in


FCE ultra.


- The emulator renders directly to frame buffer now (previously


it was drawing to offscreen buffer, which was then copied to


framebuffer).


- Squidge's MMU hack added.


- Added sync() calls after savestate writes.


- Some additional tweaking here and there to get a few more FPS.


- Volume middle now can be used as shift to emulator functions


instead stick click (saving, stretching, etc.).


- Added frameskip selection with shift+A and shift+Y (shift is


stick click or volume middle).


- Probably some more changes I forgot about.


ver 0.2 5/29/2006 MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce


- Sound output issue with stereo fixed, now using


22050 khz 16-bit mono. I've tried interpolating to


44khz mono, but the results seemed similar.


- selector supports up to 2048 files, sorted, with


alpha scrolling via left/right in addition to


page up/down via L/R.


- additional startup scripts to select button and fps


configurations


- can load FDS files, but does not seem to work yet


- configurable buttons (use swapbuttons version )


- configurable fps (use showfps version)


- Configurable turbo fire control


- Selectable save slots from 0-9


- Volume bar


- compiled with GCC 4.1.0 -O3 with profiling


ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce


- Initial version


- Around 60 fps with sound


- Load/Save State


- Hardware Stretch


- Soft reset support


- No GUI, using selector with config


- Hard coded 22050 audio, 16-bit, stereo


- compiled with GCC 4.1.0 -O3 with profiling


- Hard coded config path. This is to prevent users


from filling up the gp2x space by accident


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


Credits/thanks


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


- 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'>http://fceultra.sourceforge.net/docs.php


...and everyone whose name my mind has misplaced.


zzhu8192's thanks:


- To lots of talented developers on the http://www.gp32x.de/board/'>http://www.gp32x.de/board/


Reesy, Squidge, etc. for responding to my technical questions.


- Thanks to


- Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D


- Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)


- Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page


- Awesome gp2x site: http://www.gp32x.de/


- ryleh's minimal lib - w/o which this wouldn't have worked


- FCE Ultra developers (http://fceultra.sourceforge.net/)


for the wonderful and feature rich NES emulator.


- kounch for Selector frontend - works great for lazy developers like me. :-D


I have sent my changes to kounch, so hopefully the changes will make it into


version 1.2 or later.


- gp2x community - just plain rocks


And this is the contents of its "gpfce.man.txt" file;

[About]


This is a gp2x port of the **great** Open Source NES emulator FCE Ultra:


http://fceultra.sourceforge.net. If you enjoyed using this emulator, please


keep in mind that this would not have been possible without the hard work and


dedication of the FCE Ultra developers.


In case you don't know what the NES is about, see:


http://en.wikipedia.org/wiki/Famicom.


[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 <where_you_put_gpfce>/fceultra/fcs directory.


4) Hit both volume keys to enter the menu.


5) For FDS support, put disksys.rom in <where_you_put_gpfce>/fceultra


6) For GameGenie support, put gg.rom in <where_you_put_gpfce>/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 <where_you_put_gpfce>/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 <where_you_put_gpfce>/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.


[Cheats]


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 <where_you_put_gpfce>/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.


The .cht files fould be placed into <where_you_put_gpfce>/fceultra/cheats/ directory. They should have the same base filename as the game you wish to associate with with the extension "cht". Examples:


File name: Palette file name:


BigBad.nes BigBad.cht


BigBad.zip BigBad.cht


BigBad.Better.nes BigBad.Better.cht


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'>http://fceultra.sourceforge.net/cheat.php


[iPS patch support]


Place the IPS files in the same directory as the ROMs to load, and name them filename.ips or filename.something.ips. Examples:


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


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.


[FCM movies]


Version 0.4 has partial FCM movie support. Most of the movies desync due to different timing, but some of them can be played. Note that 'accurate renderer' option solves some desync problems. 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.


[Credits/thanks]


- 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'>http://fceultra.sourceforge.net/docs.php


...and everyone whose name my mind has misplaced.


zzhu8192's thanks:


- To lots of talented developers on the http://www.gp32x.de/board/'>http://www.gp32x.de/board/


Reesy, Squidge, etc. for responding to my technical questions.


- Thanks to


- Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D


- Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)


- Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page


- Awesome gp2x site: http://www.gp32x.de/


- ryleh's minimal lib - w/o which this wouldn't have worked


- FCE Ultra developers (http://fceultra.sourceforge.net/)


for the wonderful and feature rich NES emulator.


- kounch for Selector frontend - works great for lazy developers like me. :-D


I have sent my changes to kounch, so hopefully the changes will make it into


version 1.2 or later.


- gp2x community - just plain rocks


I hope this is of some help to you. :)
 
Last edited by a moderator:
A: Can anyone point me towards GPFCE-GP2X's documentation, or tell me what's mapped where? Or are there standard mappings for ginge that I (also having searched) couldn't find (I know q is standard for quit - are there standards for pushing in, or volume)?
The standard mapping for GINGE is as follows;


1 key - GP2X stick-click


, key - Volume -


. key - Volume +


Q key - Quit GINGE (This also works to quit apps run from within GINGE, as well.)


Worthy of note is the fact that for Wiz titles, the mapping of Start and Select are reversed - just something to bear in mind.


And here's an important one for the GINGE-wrapped GPFCE;


. and , keys together - GPFCE menu


I hope this is of some help to you. :)

That is exactly what I needed, thank you very much.


Strangely enough, I did know that volume + and - brought up the menu, because there was a little information box when I started the native port of gpfce that said that "you have to push both buttons to get into the menu, and they've been mapped to 1 and 2."


but in ginge, the 1 button is something else, and I had NO clue what the volume keys had been mapped to.


There isn't even a Ginge page on the wiki, and I (fairly obviously) do NOT have the knowledge to build one. Is there someone up for that?


Thank you for the help.
 
Last edited by a moderator:
I'm afraid I haven't the time to maintain any wiki pages, so I can't volunteer for that one.


Anyway, glad to be of assistance. :) Have fun!
 
Last edited by a moderator:
Back
Top