merge PCM code from FCEUX
[fceu.git] / drivers / pandora / readme.txt
CommitLineData
158d88ba 1=================================================================================\r
2 GPFCE - NES emulator for Pandora\r
3=================================================================================\r
4\r
5\r
6This is Pandora port of optimized GP2X port of FCE Ultra NES emulator.\r
7Homepages:\r
8http://notaz.gp2x.de/gpfce.php\r
9http://fceultra.sourceforge.net\r
10\r
11\r
12------------------------------------------------------------------\r
13 Usage\r
14------------------------------------------------------------------\r
15\r
16The emulator does not require any setup to play regular ROM images,\r
17except for FDS support, for which disksys.rom is needed (see below).\r
18ROM images gan be selected using built-in file browser, .zip files\r
19are supported.\r
20\r
21On pandora, saves and other files go to appdata directory, which is\r
22usually in <SD card>/pandora/appdata/gpfce/ .\r
23From 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
30You will need the FDS BIOS ROM image in <root>/fceultra directory.\r
31It's size should be 8192 bytes and it must be named "disksys.rom".\r
32gpfce will not load FDS games without this file.\r
33\r
34You will also probably need to configure keys for swapping the virtual FDS disks,\r
35they are configurable in Controls menu.\r
36\r
37Two types of FDS disk images are supported: disk images with the FWNES-style header,\r
38and disk images with no header. The number of sides on headerless disk images is\r
39calculated 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
46gpfce currently only supports VS Unisystem ROM images in the iNES format. See\r
47FCE Ultra manual for the list of supported games.\r
48\r
49You 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
56For cheating you can ether use the authentic game genie support, or the .cht files.\r
57\r
58To use authentic game genie, place appropriate gg.rom into\r
59<root>/fceultra.\r
60Use the FCE Ultra option menu or -gg on commandline to activate the game genie rom.\r
61The ROM image may either be the 24592 byte iNES-format image, or the 4352\r
62byte raw ROM image.\r
63\r
64The .cht files fould be placed into <root>/fceultra/cheats/ directory.\r
65They should have the same base filename as the game you wish to associate with\r
66with 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
73If you have done everything correctly, Cheat option will appear in the main menu\r
74after you load the ROM. You can activate/deactivate cheats by pressing B.\r
75For 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
82Place the IPS files in the same directory as the ROM to load, and name them\r
83filename.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
91Patching is supported for all supported formats (iNES, FDS, UNIF, and NSF), but\r
92it will probably only be useful for the iNES and FDS formats. UNIF files can't be\r
93patched 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
100Version 0.4 has partial FCM movie support. Most of the movies desync due to\r
101different timing, but some of them can be played. Note that 'accurate renderer'\r
102option solves some desync problems. There is only playback support.\r
103Files should be placed in the ROMs directory along with the ROMs themselves.\r
104Naming is the same as for IPS patches (see previous section), buf use .fcm\r
105extension instead of .ips.\r
106\r
107\r
108--------------------------------------------------------------------\r
109 Version History\r
110--------------------------------------------------------------------\r
111\r
112\r
113r1 (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
117ver 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
175ver 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
195ver 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
214ver 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
241additional 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
248zzhu8192'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