mapper fixes for ncpu, debug is broken atm
[fceu.git] / out_gp2x / readme.txt
1 =================================================================================\r
2                      GPFCE - NES emulator for the GP2X\r
3 =================================================================================\r
4                          Ported by:        zzhu8192\r
5                          Optimized by:     notaz\r
6                          Current version:  0.3\r
7                          Email:            zzhu8192@yahoo.com\r
8                          Web Site:         www.unicorn-jockey.com\r
9                          Web Site Admin:   Lil-kun\r
10 =================================================================================\r
11 \r
12 \r
13 This is a gp2x port of the **great** Open Source NES emulator FCE Ultra:\r
14 http://fceultra.sourceforge.net.   If you enjoyed using this emulator, please\r
15 keep in mind that this would not have been possible without the hard work and\r
16 dedication of the FCE Ultra developers.\r
17 \r
18 In case you don't know what the NES is about, see:\r
19 http://en.wikipedia.org/wiki/Famicom.\r
20 \r
21 My main reasons for working on this port is to get some game programming \r
22 experience on smaller devices.  Although coding/porting an emu is \r
23 generally not the same thing, it's still pretty cool.\r
24 I'm an Enterprise Java software developer by trade, so this is a nice side project\r
25 for me, and a welcome change of pace.  I'm also planning to write some \r
26 original games in Java for the GP2x.  This should be interesting....  \r
27 \r
28 \r
29 ------------------------------------------------------------------\r
30 What's new\r
31 ------------------------------------------------------------------\r
32 \r
33 Many usability features were added, thanks to some great input \r
34 from developers and users on the gp32x.com board.  Some of the\r
35 changes went into the selector frontend.\r
36 \r
37 (I have sent my selector customization changes to kounch, \r
38  so hopefully the changes will make it into\r
39  version 1.2 or later for other projects to use)\r
40 \r
41 There are now 4 executable scripts.\r
42 gpfce\r
43 gpfce_showfps\r
44 gpfce_swapbuttons\r
45 gpfce_showfps_swapbuttons\r
46 \r
47 showfps:  this means FPS is displayed on the upper left of the screen\r
48           (in non-stretch mode only).   \r
49 \r
50 swapbuttons:  this means instead of Y/A as NES_B  and B/X as NES_A\r
51               use  A/X as NES_B, and Y/B as NES_A.  (think NES MAX)\r
52               \r
53 Volume meter is now shown on the OSD when adjusted.\r
54 \r
55 \r
56 See version history below for more details.\r
57 \r
58 Depending on feedback, speed and even more compability will \r
59 probably be the major focus going forward.\r
60 \r
61 \r
62 ------------------------------------------------------------------\r
63 Current Features\r
64 ------------------------------------------------------------------\r
65 - .zip file support\r
66 - 22050 Hz Mono Sound support with volume control support\r
67 - OSD Volume bar\r
68 - Load/Save state (up to 10 slots, pick by holding down R)\r
69 - Hardware stretch (See controls)\r
70 - Soft Reset\r
71 - Savegame support\r
72 - 60 FPS without frame skipping on many games\r
73 - Configurable Turbo Fire (hold L to toggle)\r
74 - Game genie/Cheat code (functionality already exists in FCEU 0.81)\r
75 - Sorted display of 2048 roms per subdirectory (recommended 512-1024)?\r
76 - Semi-Configurable button layout (startup only)\r
77 - configurable FPS display on upper left hand side\r
78 \r
79 --------------------------------------------------------------------\r
80  Version History\r
81 --------------------------------------------------------------------\r
82 \r
83 \r
84 ver 0.4 (by notaz)\r
85 \r
86           - Compatibility fixes for the asm core.\r
87           - Fixed an anligment problem in MMC5 mapper.\r
88 \r
89 \r
90 ver 0.3 (by notaz)\r
91 \r
92           - Major improvement: added ARM asm CPU core from LJGP32,\r
93             which itself was adapted from FCA by Yoyofr.\r
94             The core required substantial changes to make it work in\r
95             FCE ultra.\r
96           - The emulator renders directly to frame buffer now (previously\r
97             it was drawing to offscreen buffer, which was then copied to\r
98             framebuffer).\r
99           - Squidge's MMU hack added.\r
100           - Added sync() calls after savestate writes.\r
101           - Some additional tweaking here and there to get a few more FPS.\r
102           - Volume middle now can be used as shift to emulator functions\r
103             instead stick click (saving, stretching, etc.).\r
104           - Added frameskip selection with shift+A and shift+Y (shift is\r
105             stick click or volume middle).\r
106           - Probably some more changes I forgot about.\r
107 \r
108 \r
109 \r
110 ver 0.2   5/29/2006  MD5SUM: dd75fa3f090f9298f9f4afff01ab96f2 *gpfce\r
111 \r
112           - Sound output issue with stereo fixed, now using\r
113             22050 khz 16-bit mono.  I've tried interpolating to \r
114             44khz mono, but the results seemed similar.\r
115           - selector supports up to 2048 files, sorted, with\r
116             alpha scrolling via left/right in addition to \r
117             page up/down via L/R.\r
118           - additional startup scripts to select button and fps  \r
119             configurations\r
120           - can load FDS files, but does not seem to work yet\r
121           - configurable buttons  (use swapbuttons version )\r
122           - configurable fps (use showfps version)\r
123           - Configurable turbo fire control\r
124           - Selectable save slots from 0-9\r
125           - Volume bar\r
126           - compiled with GCC 4.1.0 -O3 with profiling\r
127 \r
128 \r
129 ver 0.1   5/23/2006  MD5SUM: 13681f25713ad04c535c23f8c61f1e0b *gpfce\r
130       \r
131 \r
132           - Initial version\r
133           - Around 60 fps with sound\r
134           - Load/Save State\r
135           - Hardware Stretch\r
136           - Soft reset support\r
137           - No GUI, using selector with config\r
138           - Hard coded 22050 audio, 16-bit, stereo\r
139           - compiled with GCC 4.1.0 -O3 with profiling\r
140           - Hard coded config path.  This is to prevent users\r
141             from filling up the gp2x space by accident\r
142 \r
143 \r
144 ------------------------------------------------------------------\r
145 Usage\r
146 ------------------------------------------------------------------\r
147 1)  Untar the emulator tarball onto some directory on your SD card.\r
148 2)  You must have a directory called /roms/nes on your SD card.\r
149     Put the roms in there, i.e. /mnt/sd/roms/nes is the gp2x path.\r
150     Rom files can be zipped.\r
151 3)  The emulator will create a subdirectory under roms  \r
152     /roms/nes/fceultra.  Save states etc. go here.\r
153 4)  To start a different rom while running one, hit L+R+JOY.\r
154     To exit the file selection menu, press start.\r
155 5)  For FDS support, put disksys.rom in /mnt/sd/roms/nes/fceultra\r
156     Note: FDS roms must not be zipped.\r
157 6)  For GameGenie support, put gg.rom in /mnt/sd/roms/nes/fceultra\r
158 \r
159 ------------------------------------------------------------------\r
160 Cheats\r
161 ------------------------------------------------------------------\r
162 \r
163 gpfce uses the cheat mechanisms already provided by\r
164 http://mednafen.com/documentation/cheat.html  Note this feature\r
165 is untested on gpfce as of version 0.2\r
166 \r
167 To use game genie, place appropraite gg.rom into /mnt/sd/roms/nes/fceultra.\r
168 Use -gg on commandline to activate the game genie rom.\r
169 \r
170 \r
171 ------------------------------------------------------------------\r
172 Controls\r
173 ------------------------------------------------------------------\r
174 \r
175 Note: JOY means press in on the joystick (i.e. not up/down/left/right)\r
176 \r
177 \r
178 In file selector mode\r
179 (This is based on selector version 1.1)\r
180 ----------------------------------------------\r
181 Start        - EXIT file selector, back to main menu.\r
182 B,A,X,Y, JOY - start rom\r
183 L            - page up\r
184 R            - page down\r
185 UP           - scroll up one, wraps if at top\r
186 DOWN         - scroll down one, wraps if at bottom\r
187 LEFT         - jump up list by first letter of rom name\r
188 RIGHT        - jump down list by first letter of rom name\r
189                \r
190 \r
191 \r
192 \r
193 In game\r
194 ------------------------\r
195 Y         - NES B\r
196 A         - NES B\r
197 B         - NES A\r
198 X         - NES A\r
199 SELECT    - NES SELECT\r
200 START     - NES START\r
201 VOL +/-   - Vol control.  \r
202 \r
203 hold L    - toggles between  \r
204             No Turbo Fire, \r
205             Upper row of buttons turbo fire\r
206             Lower row of buttons turbo fire  \r
207              \r
208 hold R    - cycles through save state slots\r
209 \r
210 L & JOY   - Save state\r
211 R & JOY   - Load State\r
212 SEL & JOY - Stretch screen toggle\r
213 L & R     - Reset NES\r
214 \r
215 L + R + JOY - Exit back to menu\r
216 \r
217 \r
218 FDS only\r
219 -------------------------------\r
220 L         - insert disk\r
221 R         - eject disk\r
222 JOY       - select disk\r
223 \r
224 \r
225 \r
226 ------------------------------------------------------------------\r
227 Known issues\r
228 ------------------------------------------------------------------\r
229 1)  Stretch mode could use a better aspect ratio.  Looks a bit odd.\r
230     Might look into some fancy non-2x filtering algorthms, if there are such things.\r
231 2)  Not thoroughly QA'd\r
232 3)  S-Video not working\r
233 4)  FDS does not seem to be working\r
234 5)  Some compatibility issues\r
235 6)  Can't sustain 60fps on some games\r
236 7)  Some clipping issues in some games\r
237 8)  Game genie behaves a bit odd, although code works...\r
238 \r
239 ------------------------------------------------------------------\r
240  Might have time to do list\r
241 ------------------------------------------------------------------\r
242 1) Fix more known issues\r
243 2) Better looking stretch?\r
244 3) File based Game genie support\r
245 4) Cleaner build\r
246 5) Full speed on all games.  (This may require some work)\r
247 6) Better compability\r
248 7) Multiplayer support via cable - this one is obviously pretty\r
249    tricky.  Will need cables and a usb hub first.\r
250    It's definitely possible, but is not a priority at this point.    \r
251 \r
252        \r
253 ------------------------------------------------------------------\r
254  Many thanks\r
255 ------------------------------------------------------------------\r
256 - To lots of talented developers on the http://www.gp32x.com/board/\r
257   Reesy, Squidge, etc.  for responding to my technical questions.\r
258 - Thanks to \r
259 - Lil-kun - for the neat GPFCE logo and the Web Site (under construction) :D\r
260 - Referenced source code from MameGP2X (Franxis) and FCEU-0.3 gp2x (Noname)\r
261 - Awesome wiki: http://wiki.gp2x.org/wiki/Main_Page\r
262 - Awesome gp2x site: http://www.gp32x.com/\r
263 - ryleh's minimal lib - w/o which this wouldn't have worked\r
264 - FCE Ultra developers (http://fceultra.sourceforge.net/) \r
265   for the wonderful and feature rich NES emulator.\r
266 - kounch for Selector frontend - works great for lazy developers like me.  :-D\r
267   I have sent my changes to kounch, so hopefully the changes will make it into\r
268   version 1.2 or later.\r
269 - gp2x community - just plain rocks\r
270 \r
271 \r