usbjoy fix
[fceu.git] / out_gp2x / readme.txt
CommitLineData
aa2dba92 1=================================================================================\r
2 GPFCE - NES emulator for the GP2X\r
3=================================================================================\r
aa2dba92 4\r
5\r
6This is a gp2x port of the **great** Open Source NES emulator FCE Ultra:\r
7http://fceultra.sourceforge.net. If you enjoyed using this emulator, please\r
8keep in mind that this would not have been possible without the hard work and\r
9dedication of the FCE Ultra developers.\r
10\r
11In case you don't know what the NES is about, see:\r
12http://en.wikipedia.org/wiki/Famicom.\r
13\r
d0f72c9a 14\r
15------------------------------------------------------------------\r
16 Usage\r
17------------------------------------------------------------------\r
18\r
191) Unzip the emulator onto some directory on your SD card.\r
202) Since version 0.4 ROMs no longer have to be put to fixed location,\r
21 so you can put them anywhere. Rom files can be zipped.\r
223) The emulator will create a subdirectory in it's working directory \r
23 called fceultra. Save states etc. go here.\r
24 If you want to load saves from < 0.4 version, you should copy files\r
25 from /mnt/sd/roms/nes/fceultra/fcs to\r
26 <where_you_put_gpfce>/fceultra/fcs directory.\r
274) Hit both volume keys to enter the menu.\r
285) For FDS support, put disksys.rom in <where_you_put_gpfce>/fceultra\r
296) For GameGenie support, put gg.rom in <where_you_put_gpfce>/fceultra\r
aa2dba92 30\r
31\r
32------------------------------------------------------------------\r
d0f72c9a 33 Controls\r
aa2dba92 34------------------------------------------------------------------\r
aa2dba92 35\r
d0f72c9a 36Since v0.4 controls are configurable. Default controls are:\r
aa2dba92 37\r
d0f72c9a 38B - NES A\r
39X - NES B\r
40Y - NES A (turbo)\r
41A - NES B (turbo)\r
42SELECT - NES SELECT\r
43START - NES START\r
44VOL +/- - Vol control. Pressing both enters the menu. \r
aa2dba92 45\r
d0f72c9a 46L & JOY - Save state\r
47R & JOY - Load State\r
aa2dba92 48\r
d0f72c9a 49Note: JOY means press in on the joystick (i.e. not up/down/left/right)\r
aa2dba92 50\r
aa2dba92 51\r
d0f72c9a 52gpfce can't emulate all input devices which FCE Ultra does, but it can handle\r
53gamepad emulation of course, plus it can emulate Zapper and the Arkanoid\r
54controller (the last two have hardcoded controls).\r
aa2dba92 55\r
d0f72c9a 56B is the emulated trigger button for the Zapper. X is also emulated as the\r
57trigger, but as long as you have it pressed down, no color detection will take\r
58place, which is effectively like pulling the trigger while the Zapper is\r
59pointed away from the television screen. Note that you must press X for a\r
60short time to have the desired effect.\r
aa2dba92 61\r
d0f72c9a 62For Zapper and the Arkanoid controller Y increases the movement speed,\r
63A decreases.\r
aa2dba92 64\r
65\r
66------------------------------------------------------------------\r
d0f72c9a 67 Palettes\r
68------------------------------------------------------------------\r
69\r
70gpfce has similar palette options as FCE Ultra, so here is modified excerpt\r
71from FCE Ultra manual:\r
72\r
73FCE Ultra has many palette features, including loading a custom palette to\r
74replace the default NES palette (see FCE Ultra option in options menu).\r
75The palette from an NTSC NES can also be generated on-the-fly.\r
76\r
77First, a note on on the format of external palettes; Palette files are expected\r
78to contain 64 8-bit RGB triplets(each in that order; red comes first in the\r
79triplet in the file, then green, then blue). Each 8-bit value represents\r
80brightness for that particular color. 0 is minimum, 255 is maximum.\r
81\r
82Palettes can be set on a per-game basis. To do this, put a palette file in the\r
83<where_you_put_gpfce>/fceultra/pal directory with the same base filename as the\r
84game you wish to associate with and add the extension "pal". Examples:\r
85\r
86 File name: Palette file name:\r
87 BigBad.nes BigBad.pal\r
88 BigBad.zip BigBad.pal\r
89 BigBad.Better.nes BigBad.Better.pal\r
90 \r
91\r
92With so many ways to choose a palette, figuring out which one will be active may\r
93be difficult. Here's a list of what palettes will be used, in order from highest\r
94priority to least priority(if a condition doesn't exist for a higher priority\r
95palette, the emulator will continue down its list of palettes).\r
96\r
97 * Palette loaded from the "fceultra/pal" directory.\r
98 * NTSC Color Emulation(only for NTSC NES games).\r
99 * VS Unisystem palette(if the game is a VS Unisystem game and a palette is available).\r
100 * Custom global palette (set in the menu).\r
101 * Default NES palette.\r
102\r
103\r
aa2dba92 104------------------------------------------------------------------\r
d0f72c9a 105 Famicom Disk System\r
106------------------------------------------------------------------\r
107\r
108You will need the FDS BIOS ROM image in <where_you_put_gpfce>/fceultra directory.\r
109It's size should be 8192 bytes and it must be named "disksys.rom".\r
110gpfce will not load FDS games without this file.\r
111\r
112You will also probably need configure keys for swapping the virtual FDS disks,\r
113they are configurable in Controls menu.\r
114\r
115Two types of FDS disk images are supported: disk images with the FWNES-style header,\r
116and disk images with no header. The number of sides on headerless disk images is\r
117calculated by the total file size, so don't put extraneous data at the end of the file.\r
118\r
119\r
120------------------------------------------------------------------\r
121 VS Unisystem\r
122------------------------------------------------------------------\r
123\r
124gpfce currently only supports VS Unisystem ROM images in the iNES format. See\r
125FCE Ultra manual for the list of supported games.\r
126\r
127You will need to configure a key to insert coins, see Controls option in the menu.\r
128\r
129\r
130------------------------------------------------------------------\r
131 Cheats\r
132------------------------------------------------------------------\r
133\r
134For cheating you can ether use the authentic game genie support, or the .cht files.\r
135\r
136To use authentic game genie, place appropriate gg.rom into\r
137<where_you_put_gpfce>/fceultra.\r
138Use the FCE Ultra option menu or -gg on commandline to activate the game genie rom.\r
139The ROM image may either be the 24592 byte iNES-format image, or the 4352\r
140byte raw ROM image.\r
141\r
142The .cht files fould be placed into <where_you_put_gpfce>/fceultra/cheats/ directory.\r
143They should have the same base filename as the game you wish to associate with\r
144with the extension "cht". Examples:\r
145\r
146 File name: Palette file name:\r
147 BigBad.nes BigBad.cht\r
148 BigBad.zip BigBad.cht\r
149 BigBad.Better.nes BigBad.Better.cht\r
150\r
151If you have done everything correctly, Cheat option will appear in the main menu\r
152after you load the ROM. You can activate/deactivate cheats by pressing B.\r
153For description of .cht file format, see http://fceultra.sourceforge.net/cheat.php\r
154\r
155\r
156------------------------------------------------------------------\r
157 FCM movies\r
158------------------------------------------------------------------\r
159\r
160Version 0.4 has partial FCM movie support. Most of the movies desync due to\r
161different timing, but some of them can be played. There is only playback support.\r
162Files should be placed in the ROMs directory along with the ROMs themselves.\r
163Naming is a bit different, the fcm files should have full ROM name in them,\r
164with additional .fcm extension added. Examples:\r
165\r
166 File name: Palette file name:\r
167 BigBad.nes BigBad.nes.fcm\r
168 BigBad.zip BigBad.zip.fcm\r
169 BigBad.Better.nes BigBad.Better.nes.fcm\r
170\r
aa2dba92 171\r
172--------------------------------------------------------------------\r
173 Version History\r
174--------------------------------------------------------------------\r
175\r
176\r
c0bf6f9f 177ver 0.4 (by notaz)\r
ca5c359d 178 rev 15x\r
0bb3fe12 179 - Fixed savestate subsections (were causing some mapper data not\r
180 to be saved).\r
181 - Fixed an issue of MapIRQHook getting lost after loading a savestate\r
182 (glitched Akumajou Densetsu and other games after savestate load).\r
ca5c359d 183 - A bug, which prevented configuring multiple USB pads fixed.\r
0bb3fe12 184 rev 153\r
d0f72c9a 185 - Lots of work on the asm core. Timing fixed for some instructions.\r
186 Some missing undocumented instruction handlers added. Lots of\r
187 tweaking to make it compatible with all that mapper code.\r
188 - Completely new PicoDrive style menu added with most standard\r
189 FCE Ultra and some additional options. Selector removed, ROM list\r
190 is now built-in and only limited by available memory.\r
191 - Merged in most of code from 0.98.1x versions. Only ppu/rendering\r
192 and sound emulation code left from 0.81 (which is less accurate\r
193 but much faster).\r
194 - Default palette changed to one from later versions.\r
195 - Fixed some alignment problems in MMC5 and some other mappers.\r
196 - Some generic optimizations and code cleanup/refactoring.\r
197 - The built-in NSF player fixed.\r
198 - Authentic GameGenie support fixed.\r
199 - FDS support fixed.\r
200 - VS Unisystem support fixed.\r
201 - Ingame saves fixed (not sure when they got broken).\r
202 - Increased maximum sound volume.\r
203 - Added Zapper emulation just for fun.\r
204 - Added partial FCM movie support.\r
205 - Fixed some memory leaks.\r
206 - Fixed a bug which caused USB connection from GP2X menu\r
207 to hang after using gpfce.\r
208 - Software scaler added.\r
209 - USB gamepad support added.\r
210 - TV out fixed.\r
211 - Documentation updated.\r
c0bf6f9f 212\r
213\r
4e1934c1 214ver 0.3 (by notaz)\r
215\r
216 - Major improvement: added ARM asm CPU core from LJGP32,\r
217 which itself was adapted from FCA by Yoyofr.\r
218 The core required substantial changes to make it work in\r
219 FCE ultra.\r
220 - The emulator renders directly to frame buffer now (previously\r
221 it was drawing to offscreen buffer, which was then copied to\r
222 framebuffer).\r
223 - Squidge's MMU hack added.\r
224 - Added sync() calls after savestate writes.\r
225 - Some additional tweaking here and there to get a few more FPS.\r
226 - Volume middle now can be used as shift to emulator functions\r
227 instead stick click (saving, stretching, etc.).\r
228 - Added frameskip selection with shift+A and shift+Y (shift is\r
229 stick click or volume middle).\r
230 - Probably some more changes I forgot about.\r
231\r
232\r
233\r
aa2dba92 234ver 0.2 5/29/2006 MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce\r
235\r
236 - Sound output issue with stereo fixed, now using\r
237 22050 khz 16-bit mono. I've tried interpolating to \r
238 44khz mono, but the results seemed similar.\r
239 - selector supports up to 2048 files, sorted, with\r
240 alpha scrolling via left/right in addition to \r
241 page up/down via L/R.\r
242 - additional startup scripts to select button and fps \r
243 configurations\r
244 - can load FDS files, but does not seem to work yet\r
245 - configurable buttons (use swapbuttons version )\r
246 - configurable fps (use showfps version)\r
247 - Configurable turbo fire control\r
248 - Selectable save slots from 0-9\r
249 - Volume bar\r
250 - compiled with GCC 4.1.0 -O3 with profiling\r
251\r
252\r
253ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce\r
aa2dba92 254\r
255 - Initial version\r
256 - Around 60 fps with sound\r
257 - Load/Save State\r
258 - Hardware Stretch\r
259 - Soft reset support\r
260 - No GUI, using selector with config\r
261 - Hard coded 22050 audio, 16-bit, stereo\r
262 - compiled with GCC 4.1.0 -O3 with profiling\r
263 - Hard coded config path. This is to prevent users\r
264 from filling up the gp2x space by accident\r
265\r
266\r
d0f72c9a 267 \r
aa2dba92 268------------------------------------------------------------------\r
d0f72c9a 269 Credits/thanks\r
aa2dba92 270------------------------------------------------------------------\r
271\r
d0f72c9a 272- Original base code of FCE Ultra by Xodnizel, Bero.\r
273- Porting/optimization/integration/frontend for 0.3 and 0.4 by notaz.\r
274- Versions 0.1 and 0.2 by zzhu8192 (http://www.unicorn-jockey.com).\r
275- asm CPU core from FCA and Little John GP32.\r
276- Minimal library by rlyeh.\r
277- Additional low-level GP2X libs by Hermes/PS2Reality, theoddbot,\r
278 god_at_hell, Puck2099.\r
aa2dba92 279\r
d0f72c9a 280additional thanks:\r
281- Cruel and DaveC from gp32x boards for beta testing.\r
282- All FCE Ultra contributors listed in\r
283 http://fceultra.sourceforge.net/docs.php\r
aa2dba92 284\r
d0f72c9a 285...and everyone whose name my mind has misplaced.\r
aa2dba92 286\r
d0f72c9a 287zzhu8192's thanks:\r
aa2dba92 288- To lots of talented developers on the http://www.gp32x.com/board/\r
289 Reesy, Squidge, etc. for responding to my technical questions.\r
290- Thanks to \r
291- Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D\r
292- Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)\r
293- Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page\r
294- Awesome gp2x site: http://www.gp32x.com/\r
295- ryleh's minimal lib - w/o which this wouldn't have worked\r
296- FCE Ultra developers (http://fceultra.sourceforge.net/) \r
297 for the wonderful and feature rich NES emulator.\r
298- kounch for Selector frontend - works great for lazy developers like me. :-D\r
299 I have sent my changes to kounch, so hopefully the changes will make it into\r
300 version 1.2 or later.\r
301- gp2x community - just plain rocks\r
302\r
303\r