158d88ba |
1 | =================================================================================\r |
2 | GPFCE - NES emulator for Pandora\r |
3 | =================================================================================\r |
4 | \r |
5 | \r |
6 | This is Pandora port of optimized GP2X port of FCE Ultra NES emulator.\r |
7 | Homepages:\r |
8 | http://notaz.gp2x.de/gpfce.php\r |
9 | http://fceultra.sourceforge.net\r |
10 | \r |
11 | \r |
12 | ------------------------------------------------------------------\r |
13 | Usage\r |
14 | ------------------------------------------------------------------\r |
15 | \r |
16 | The emulator does not require any setup to play regular ROM images,\r |
17 | except for FDS support, for which disksys.rom is needed (see below).\r |
18 | ROM images gan be selected using built-in file browser, .zip files\r |
19 | are supported.\r |
20 | \r |
21 | On pandora, saves and other files go to appdata directory, which is\r |
22 | usually in <SD card>/pandora/appdata/gpfce/ .\r |
23 | From here on this file will refer to it as <root>.\r |
24 | \r |
25 | \r |
26 | ------------------------------------------------------------------\r |
27 | Famicom Disk System\r |
28 | ------------------------------------------------------------------\r |
29 | \r |
30 | You will need the FDS BIOS ROM image in <root>/fceultra directory.\r |
31 | It's size should be 8192 bytes and it must be named "disksys.rom".\r |
32 | gpfce will not load FDS games without this file.\r |
33 | \r |
34 | You will also probably need to configure keys for swapping the virtual FDS disks,\r |
35 | they are configurable in Controls menu.\r |
36 | \r |
37 | Two types of FDS disk images are supported: disk images with the FWNES-style header,\r |
38 | and disk images with no header. The number of sides on headerless disk images is\r |
39 | calculated by the total file size, so don't put extraneous data at the end of the file.\r |
40 | \r |
41 | \r |
42 | ------------------------------------------------------------------\r |
43 | VS Unisystem\r |
44 | ------------------------------------------------------------------\r |
45 | \r |
46 | gpfce currently only supports VS Unisystem ROM images in the iNES format. See\r |
47 | FCE Ultra manual for the list of supported games.\r |
48 | \r |
49 | You will need to configure a key to insert coins, see Controls option in the menu.\r |
50 | \r |
51 | \r |
52 | ------------------------------------------------------------------\r |
53 | Cheats\r |
54 | ------------------------------------------------------------------\r |
55 | \r |
56 | For cheating you can ether use the authentic game genie support, or the .cht files.\r |
57 | \r |
58 | To use authentic game genie, place appropriate gg.rom into\r |
59 | <root>/fceultra.\r |
60 | Use the FCE Ultra option menu or -gg on commandline to activate the game genie rom.\r |
61 | The ROM image may either be the 24592 byte iNES-format image, or the 4352\r |
62 | byte raw ROM image.\r |
63 | \r |
64 | The .cht files fould be placed into <root>/fceultra/cheats/ directory.\r |
65 | They should have the same base filename as the game you wish to associate with\r |
66 | with the extension "cht". Examples:\r |
67 | \r |
68 | File name: Cheat file name:\r |
69 | BigBad.nes BigBad.cht\r |
70 | BigBad.zip BigBad.cht\r |
71 | BigBad.Better.nes BigBad.Better.cht\r |
72 | \r |
73 | If you have done everything correctly, Cheat option will appear in the main menu\r |
74 | after you load the ROM. You can activate/deactivate cheats by pressing B.\r |
75 | For description of .cht file format, see http://fceultra.sourceforge.net/cheat.php\r |
76 | \r |
77 | \r |
78 | ------------------------------------------------------------------\r |
79 | IPS patch support\r |
80 | ------------------------------------------------------------------\r |
81 | \r |
82 | Place the IPS files in the same directory as the ROM to load, and name them\r |
83 | filename.ips or filename.something.ips. Examples:\r |
84 | \r |
85 | \r |
86 | File name: IPS file names:\r |
87 | BigBad.nes BigBad.nes.ips BigBad.nes.somehack.ips\r |
88 | BigBad.zip BigBad.zip.ips BigBad.zip.badhack.ips\r |
89 | BigBad.Better.nes BigBad.Better.nes.ips BigBad.Better.nes.evenbetterhack.ips\r |
90 | \r |
91 | Patching is supported for all supported formats (iNES, FDS, UNIF, and NSF), but\r |
92 | it will probably only be useful for the iNES and FDS formats. UNIF files can't be\r |
93 | patched well with the IPS format because they are chunk-based with no fixed offsets.\r |
94 | \r |
95 | \r |
96 | ------------------------------------------------------------------\r |
97 | FCM movies\r |
98 | ------------------------------------------------------------------\r |
99 | \r |
100 | Version 0.4 has partial FCM movie support. Most of the movies desync due to\r |
101 | different timing, but some of them can be played. Note that 'accurate renderer'\r |
102 | option solves some desync problems. There is only playback support.\r |
103 | Files should be placed in the ROMs directory along with the ROMs themselves.\r |
104 | Naming is the same as for IPS patches (see previous section), buf use .fcm\r |
105 | extension instead of .ips.\r |
106 | \r |
107 | \r |
108 | --------------------------------------------------------------------\r |
109 | Version History\r |
110 | --------------------------------------------------------------------\r |
111 | \r |
112 | \r |
113 | r1 (for pandora)\r |
114 | - Ported to pandora, unified the code.\r |
115 | - Added M-HT's filters and some pandora specific options/tweaks.\r |
116 | \r |
117 | ver 0.4 (by notaz)\r |
118 | ret 313\r |
119 | - Improved open bus emulation, fixes missing ground in some SMB3 levels.\r |
120 | - Improved auto frameskip behavior in cases when emu is not fast\r |
121 | enough to maintain 50/60 fps.\r |
122 | - Fixed a bug which prevented some key combo configurations from working.\r |
123 | - Some other minor changes.\r |
124 | rev 171\r |
125 | - Added optional "Accurate renderer", which is the original FCE Ultra\r |
126 | 0.98.x renderer + PPU emulation code. It's much slower, but it can\r |
127 | handle games which need more precise PPU timing emulation (like\r |
128 | Marble Madness).\r |
129 | - Fixed saving and loading of game specific configs.\r |
130 | - Some other minor changes.\r |
131 | rev 163\r |
132 | - Added A r k's fast-direction-change fix for usbjoy lib.\r |
133 | - Fixed an issue of usbjoys stopping to work when "Perfect vsync"\r |
134 | is enabled.\r |
135 | rev 162\r |
136 | - Fixed savestate subsections (were causing some mapper data not\r |
137 | to be saved).\r |
138 | - Fixed an issue of MapIRQHook getting lost after loading a savestate\r |
139 | (glitched Akumajou Densetsu and other games after savestate load).\r |
140 | - A bug, which prevented configuring multiple USB pads fixed.\r |
141 | - Fixed sound breaking bug after switching it on/off multiple times.\r |
142 | - Added "Perfect VSYNC" option, which changes GP2X refresh rate and\r |
143 | syncs emu timing to LCD vsync.\r |
144 | - Fixed IPS patch support.\r |
145 | rev 153\r |
146 | - Lots of work on the asm core. Timing fixed for some instructions.\r |
147 | Some missing undocumented instruction handlers added. Lots of\r |
148 | tweaking to make it compatible with all that mapper code.\r |
149 | - Completely new PicoDrive style menu added with most standard\r |
150 | FCE Ultra and some additional options. Selector removed, ROM list\r |
151 | is now built-in and only limited by available memory.\r |
152 | - Merged in most of code from 0.98.1x versions. Only ppu/rendering\r |
153 | and sound emulation code left from 0.81 (which is less accurate\r |
154 | but much faster).\r |
155 | - Default palette changed to one from later versions.\r |
156 | - Fixed some alignment problems in MMC5 and some other mappers.\r |
157 | - Some generic optimizations and code cleanup/refactoring.\r |
158 | - The built-in NSF player fixed.\r |
159 | - Authentic GameGenie support fixed.\r |
160 | - FDS support fixed.\r |
161 | - VS Unisystem support fixed.\r |
162 | - Ingame saves fixed (not sure when they got broken).\r |
163 | - Increased maximum sound volume.\r |
164 | - Added Zapper emulation just for fun.\r |
165 | - Added partial FCM movie support.\r |
166 | - Fixed some memory leaks.\r |
167 | - Fixed a bug which caused USB connection from GP2X menu\r |
168 | to hang after using gpfce.\r |
169 | - Software scaler added.\r |
170 | - USB gamepad support added.\r |
171 | - TV out fixed.\r |
172 | - Documentation updated.\r |
173 | \r |
174 | \r |
175 | ver 0.3 (by notaz)\r |
176 | \r |
177 | - Major improvement: added ARM asm CPU core from LJGP32,\r |
178 | which itself was adapted from FCA by Yoyofr.\r |
179 | The core required substantial changes to make it work in\r |
180 | FCE ultra.\r |
181 | - The emulator renders directly to frame buffer now (previously\r |
182 | it was drawing to offscreen buffer, which was then copied to\r |
183 | framebuffer).\r |
184 | - Squidge's MMU hack added.\r |
185 | - Added sync() calls after savestate writes.\r |
186 | - Some additional tweaking here and there to get a few more FPS.\r |
187 | - Volume middle now can be used as shift to emulator functions\r |
188 | instead stick click (saving, stretching, etc.).\r |
189 | - Added frameskip selection with shift+A and shift+Y (shift is\r |
190 | stick click or volume middle).\r |
191 | - Probably some more changes I forgot about.\r |
192 | \r |
193 | \r |
194 | \r |
195 | ver 0.2 5/29/2006 MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce\r |
196 | \r |
197 | - Sound output issue with stereo fixed, now using\r |
198 | 22050 khz 16-bit mono. I've tried interpolating to \r |
199 | 44khz mono, but the results seemed similar.\r |
200 | - selector supports up to 2048 files, sorted, with\r |
201 | alpha scrolling via left/right in addition to \r |
202 | page up/down via L/R.\r |
203 | - additional startup scripts to select button and fps \r |
204 | configurations\r |
205 | - can load FDS files, but does not seem to work yet\r |
206 | - configurable buttons (use swapbuttons version )\r |
207 | - configurable fps (use showfps version)\r |
208 | - Configurable turbo fire control\r |
209 | - Selectable save slots from 0-9\r |
210 | - Volume bar\r |
211 | - compiled with GCC 4.1.0 -O3 with profiling\r |
212 | \r |
213 | \r |
214 | ver 0.1 5/23/2006 MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce\r |
215 | \r |
216 | - Initial version\r |
217 | - Around 60 fps with sound\r |
218 | - Load/Save State\r |
219 | - Hardware Stretch\r |
220 | - Soft reset support\r |
221 | - No GUI, using selector with config\r |
222 | - Hard coded 22050 audio, 16-bit, stereo\r |
223 | - compiled with GCC 4.1.0 -O3 with profiling\r |
224 | - Hard coded config path. This is to prevent users\r |
225 | from filling up the gp2x space by accident\r |
226 | \r |
227 | \r |
228 | \r |
229 | ------------------------------------------------------------------\r |
230 | Credits/thanks\r |
231 | ------------------------------------------------------------------\r |
232 | \r |
233 | - Original base code of FCE Ultra by Xodnizel, Bero.\r |
234 | - Porting/optimization/integration/frontend for 0.3 and 0.4 by notaz.\r |
235 | - Versions 0.1 and 0.2 by zzhu8192 (http://www.unicorn-jockey.com).\r |
236 | - asm CPU core from FCA and Little John GP32.\r |
237 | - Minimal library by rlyeh.\r |
238 | - Additional low-level GP2X libs by Hermes/PS2Reality, theoddbot,\r |
239 | god_at_hell, Puck2099.\r |
240 | \r |
241 | additional thanks:\r |
242 | - Cruel and DaveC from gp32x boards for beta testing.\r |
243 | - All FCE Ultra contributors listed in\r |
244 | http://fceultra.sourceforge.net/docs.php\r |
245 | \r |
246 | ...and everyone whose name my mind has misplaced.\r |
247 | \r |
248 | zzhu8192's thanks:\r |
249 | - To lots of talented developers on the http://www.gp32x.com/board/\r |
250 | Reesy, Squidge, etc. for responding to my technical questions.\r |
251 | - Thanks to \r |
252 | - Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D\r |
253 | - Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)\r |
254 | - Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page\r |
255 | - Awesome gp2x site: http://www.gp32x.com/\r |
256 | - ryleh's minimal lib - w/o which this wouldn't have worked\r |
257 | - FCE Ultra developers (http://fceultra.sourceforge.net/) \r |
258 | for the wonderful and feature rich NES emulator.\r |
259 | - kounch for Selector frontend - works great for lazy developers like me. :-D\r |
260 | I have sent my changes to kounch, so hopefully the changes will make it into\r |
261 | version 1.2 or later.\r |
262 | - gp2x community - just plain rocks\r |
263 | \r |
264 | \r |