32x: drc: more wip, some games work, debug stats
[picodrive.git] / platform / uiq2 / launcher / PicodriveN.rss
1 NAME PDN\r
2 \r
3 #include <eikon.rh>\r
4 #include <eikon.rsg>\r
5 #include "picodriven.hrh"\r
6 \r
7 \r
8 RESOURCE RSS_SIGNATURE { }\r
9 \r
10 RESOURCE TBUF { buf=""; }\r
11 \r
12 RESOURCE EIK_APP_INFO\r
13         {\r
14         menubar=r_app_menubar;\r
15         hotkeys=r_app_hotkeys;\r
16         }\r
17 \r
18 RESOURCE HOTKEYS r_app_hotkeys\r
19     {\r
20     control=\r
21         {\r
22         HOTKEY { command=EEikCmdExit; key='e'; }\r
23         };\r
24     }\r
25 \r
26 RESOURCE MENU_BAR r_app_menubar\r
27     {\r
28     titles=\r
29         {\r
30         MENU_TITLE { menu_pane=r_app_emu_menu; txt="Emu"; },\r
31         MENU_TITLE { menu_pane=r_app_frameskip_menu; txt="Frameskip"; }\r
32 #ifdef __DEBUG_PRINT\r
33         ,MENU_TITLE { menu_pane=r_app_debug_menu; txt="Debug"; }\r
34 #endif\r
35                 };\r
36     }\r
37 \r
38 RESOURCE MENU_PANE r_app_emu_menu\r
39         {\r
40         items=\r
41                 {\r
42                 MENU_ITEM { command=EEikCmdPicoLoadState; txt="Load state";  flags=EEikMenuItemDimmed; },\r
43                 MENU_ITEM { command=EEikCmdPicoSaveState; txt="Save state";  flags=EEikMenuItemDimmed; },\r
44                 MENU_ITEM { command=EEikCmdPicoLoadROM;   txt="Load new ROM"; },\r
45                 MENU_ITEM { command=EEikCmdPicoResume;    txt="Resume game"; flags=EEikMenuItemDimmed; },\r
46                 MENU_ITEM { command=EEikCmdPicoReset;     txt="Reset game";  flags=EEikMenuItemDimmed; },\r
47                 MENU_ITEM { command=EEikCmdPicoKeys;      txt="Configure keys"; },\r
48                 MENU_ITEM { command=EEikCmdPicoSettings;  txt="Settings"; },\r
49                 MENU_ITEM { command=EEikCmdHelpAbout;     txt="About";       flags=EEikMenuItemSeparatorAfter; },\r
50                 MENU_ITEM { command=EEikCmdExit;          txt="Exit"; }\r
51         };\r
52     }\r
53 \r
54 RESOURCE MENU_PANE r_app_frameskip_menu\r
55         {\r
56         items=\r
57                 {\r
58                 MENU_ITEM { command=EEikCmdPicoFrameskipAuto; txt="Auto"; flags=EEikMenuItemRadioStart | EEikMenuItemSeparatorAfter; },\r
59                 MENU_ITEM { command=EEikCmdPicoFrameskip0;    txt="0";    flags=EEikMenuItemRadioMiddle; },\r
60                 MENU_ITEM { command=EEikCmdPicoFrameskip1;    txt="1";    flags=EEikMenuItemRadioMiddle; },\r
61                 MENU_ITEM { command=EEikCmdPicoFrameskip2;    txt="2";    flags=EEikMenuItemRadioMiddle; },\r
62                 MENU_ITEM { command=EEikCmdPicoFrameskip4;    txt="4";    flags=EEikMenuItemRadioMiddle; },\r
63                 MENU_ITEM { command=EEikCmdPicoFrameskip8;    txt="8";    flags=EEikMenuItemRadioEnd; }\r
64         };\r
65     }\r
66 \r
67 RESOURCE MENU_PANE r_app_debug_menu\r
68         {\r
69         items=\r
70                 {\r
71                 MENU_ITEM { command=EEikCmdPicoDebugKillEmu; txt="Kill emu proc"; },\r
72                 MENU_ITEM { command=EEikCmdPicoDebugInfo;    txt="info"; }\r
73         };\r
74     }\r
75 \r
76 \r
77 \r
78 /**************************************\r
79  *\r
80  * about dialog\r
81  *\r
82  **************************************/\r
83 \r
84 RESOURCE DIALOG r_dialog_about\r
85 {\r
86         title = "About";\r
87         buttons = r_buttons_continue_credits;\r
88         flags = EEikDialogFlagWait;\r
89         items =\r
90         {\r
91                 DLG_LINE\r
92                 {\r
93                         itemflags = EQikDlgItemUseFullWidth | EQikDlgItemDenselyPacked;\r
94                         type = EEikCtRichTextEditor;\r
95                         id = ECtlAboutVersion;\r
96                         control = RTXTED\r
97                         {\r
98                                 flags = EEikEdwinResizable | EEikEdwinNoAutoSelection | EEikEdwinReadOnly | EEikEdwinWidthInPixels;\r
99                                 numlines = 4;\r
100                         };\r
101                 },\r
102                 DLG_LINE\r
103                 {\r
104                         itemflags = EQikDlgItemUseFullWidth | EQikDlgItemDenselyPacked;\r
105                         type = EEikCtRichTextEditor;\r
106                         id = ECtlAboutLinks;\r
107                         control = RTXTED\r
108                         {\r
109                                 flags = EEikEdwinResizable | EEikEdwinNoAutoSelection | EEikEdwinReadOnly | EEikEdwinWidthInPixels | 0x00200000;\r
110                                 numlines = 4;\r
111                         };\r
112                 }\r
113         };\r
114 }\r
115 \r
116 RESOURCE DLG_BUTTONS r_buttons_continue_credits\r
117 {\r
118         buttons =\r
119         {\r
120                 DLG_BUTTON { id = EEikBidYes; button = CMBUT { txt = "Credits"; }; },\r
121                 DLG_BUTTON { id = EEikBidCancel; button = CMBUT { txt = "Continue"; }; flags=EEikLabeledButtonIsDefault; }\r
122         };\r
123 }\r
124 \r
125 \r
126 RESOURCE TBUF r_simple_text_about_links\r
127 {\r
128         buf= \r
129                 "<f=Corinna><s=11><u>Email</u>: notasas@gmail.com"\\r
130                 "<p><f=Corinna><s=11><u>Web</u>:<p>http://notaz.atspace.com"\\r
131                 "<p><f=Corinna><s=11><u>Dave's Web</u>:<p>http://www.finalburn.com";\r
132 }\r
133 \r
134 \r
135 RESOURCE TBUF r_simple_text_about\r
136 {\r
137         buf= \r
138                 "<f=Polo><s=26><a=center><fg=RgbDarkBlue>PicodriveN"\\r
139                 "<p><f=Polo><s=10><a=center>for UIQ2"\\r
140                 "<p> <p><f=Corinna><s=12>Version %S, by notaz."\\r
141                 "<p><s=6> <p><s=10>Port based on PicoDrive 0.030 for Pocket PC by Dave";\r
142 }\r
143 \r
144 \r
145 RESOURCE DIALOG r_dialog_credits\r
146 {\r
147         title = "Credits and thanks";\r
148         buttons = R_EIK_BUTTONS_DONE;\r
149         flags = EEikDialogFlagWait;\r
150         items = \r
151         {\r
152                 DLG_LINE\r
153                 {\r
154                         type = EEikCtGlobalTextEditor;\r
155                         id = ECtlCredits;\r
156                         control = GTXTED\r
157                         { \r
158                                 width = 150; height = 200; numlines = 26; flags = EEikEdwinReadOnly | EEikEdwinNoAutoSelection | EEikEdwinDisplayOnly;\r
159                         };\r
160                 }\r
161         };\r
162 }\r
163 \r
164 \r
165 RESOURCE ARRAY r_tbuf_credits\r
166 {\r
167   items=\r
168   {\r
169         LBUF{txt="This emulator uses code from these people / projects:";},\r
170         LBUF{txt="";},\r
171         LBUF{txt="Dave";},\r
172         LBUF{txt="- Cyclone 68000 core, Pico emulation library";},\r
173         LBUF{txt="Homepage: http://www.finalburn.com/";},\r
174         LBUF{txt="E-mail: david(atsymbol)finalburn.com";},\r
175         LBUF{txt="";},\r
176         LBUF{txt="Reesy & FluBBa";},\r
177         LBUF{txt="- DrZ80, the Z80 emulator written in ARM assembly.";},\r
178         LBUF{txt="Homepage: http://reesy.gp32x.de/";},\r
179         LBUF{txt="E-mail: drsms_reesy(atsymbol)yahoo.co.uk";},\r
180         LBUF{txt="";},\r
181         LBUF{txt="Tatsuyuki Satoh, Jarek Burczynski, MultiArcadeMachineEmulator (MAME) development";},\r
182         LBUF{txt="- software implementation of Yamaha FM sound generator and";},\r
183         LBUF{txt="Texas Instruments SN76489 / SN76496 programmable tone / noise generator";},\r
184         LBUF{txt="Homepage: http://www.mame.net/";},\r
185         LBUF{txt="";},\r
186         LBUF{txt="Additional thanks:";},\r
187         LBUF{txt="- Peter van Sebille for ECompXL and his various open-source Symbian projects to learn from.";},\r
188         LBUF{txt="- Steve Fischer for his open-source Motorola projects.";},\r
189         LBUF{txt="- Charles MacDonald (http://cgfm2.emuviews.com/) for old but still very useful info about genesis hardware.";},\r
190         LBUF{txt="- Stéphane Dallongeville for creating Gens and making it open-source.";},\r
191         LBUF{txt="- Steve Snake for all that he has done for Genesis emulation scene.";},\r
192         LBUF{txt="- Bart Trzynadlowski for his SSFII and 68000 docs.";},\r
193         LBUF{txt="- Haze for his research (http://haze.mameworld.info).";},\r
194         LBUF{txt="- The development team behind \"Symbian GCC Improvement Project \" (http://www.inf.u-szeged.hu/symbian-gcc/) for their updated compile tools.";},\r
195         LBUF{txt="- Mark and Jean-loup for zlib library.";},\r
196         LBUF{txt="- Reesy for also finding some Cyclone bugs.";},\r
197         LBUF{txt="- Inder for the icons.";}\r
198   };\r
199 }\r
200 \r
201 \r
202 /**************************************\r
203  *\r
204  * debug dialog\r
205  *\r
206  **************************************/\r
207 \r
208 RESOURCE DIALOG r_dialog_debug\r
209 {\r
210         title = "debug";\r
211         buttons = R_EIK_BUTTONS_DONE;\r
212         flags = EEikDialogFlagWait;\r
213         items = \r
214         {\r
215                 DLG_LINE\r
216                 {\r
217                         type = EEikCtGlobalTextEditor;\r
218                         id = ECtlDebugEdit;\r
219                         control = GTXTED\r
220                         { \r
221                                 width = 150; height = 200; numlines = 26; flags = EEikEdwinReadOnly | EEikEdwinNoAutoSelection | EEikEdwinDisplayOnly;\r
222                         };\r
223                 }\r
224         };\r
225 }\r
226 \r
227 \r
228 /**************************************\r
229  *\r
230  * config dialog\r
231  *\r
232  **************************************/\r
233 \r
234 RESOURCE DIALOG r_pico_config\r
235 {\r
236    title   = "Settings";\r
237    buttons = R_EIK_BUTTONS_CANCEL_OK;\r
238    flags   = EEikDialogFlagWait;\r
239    pages   = r_pico_config_pages;\r
240 }\r
241 \r
242 RESOURCE ARRAY r_pico_config_pages\r
243 {\r
244    items = {\r
245       PAGE\r
246       {\r
247          id    = ECtlOptPageMain;\r
248          text  = "Main";\r
249          lines = r_pico_config_page_main;\r
250       },\r
251       PAGE\r
252       {\r
253          id    = ECtlOptPageSound;\r
254          text  = "Sound";\r
255          lines = r_pico_config_page_sound;\r
256       },\r
257       PAGE\r
258       {\r
259          id    = ECtlOptPageMisc;\r
260          text  = "Misc";\r
261          lines = r_pico_config_page_misc;\r
262       }\r
263    };\r
264 }\r
265 \r
266 \r
267 RESOURCE ARRAY r_pico_config_page_main\r
268 {\r
269    items = {\r
270       DLG_LINE\r
271       {\r
272               id      = ECtlOptRotationLabel;\r
273           type    = EEikCtLabel;\r
274           prompt  = "Screen Rotation";\r
275           control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
276       },\r
277       DLG_LINE\r
278       {\r
279          id      = ECtlOptRotation;\r
280          type    = EEikCtHorOptionButList;\r
281          control = HOROPBUT\r
282          {\r
283             array_id = r_pico_config_rotation_buttons;\r
284          };\r
285       },\r
286       DLG_LINE\r
287       {\r
288               id      = ECtlOptScreenModeLabel;\r
289           type    = EEikCtLabel;\r
290           prompt  = "Screen Mode";\r
291           control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
292       },\r
293       DLG_LINE\r
294       {\r
295          id      = ECtlOptScreenMode;\r
296          type    = EEikCtHorOptionButList;\r
297          control = HOROPBUT\r
298          {\r
299             array_id = r_pico_config_screenmode_buttons;\r
300          };\r
301       },\r
302       DLG_LINE\r
303       {\r
304          id     = ECtlOptUseAltRend;\r
305          type   = EEikCtCheckBox;\r
306          prompt = "Fast renderer (inaccurate)";\r
307       },\r
308       DLG_LINE\r
309       {\r
310          id     = ECtlOptUseAccTiming;\r
311          type   = EEikCtCheckBox;\r
312          prompt = "Accurate timing (slower)";\r
313       },\r
314       DLG_LINE\r
315       {\r
316          id     = ECtlOptUseAccSprites;\r
317          type   = EEikCtCheckBox;\r
318          prompt = "Accurate sprites (slower)";\r
319       },\r
320       DLG_LINE\r
321       {\r
322          id     = ECtlOptShowFPS;\r
323          type   = EEikCtCheckBox;\r
324          prompt = "Show FPS";\r
325       }\r
326    };\r
327 }\r
328 \r
329 \r
330 RESOURCE ARRAY r_pico_config_page_sound\r
331 {\r
332    items = {\r
333       DLG_LINE\r
334       {\r
335          id     = ECtlOptEnableSound;\r
336          type   = EEikCtCheckBox;\r
337          prompt = "Enable sound";\r
338       },\r
339       DLG_LINE\r
340       {\r
341              id      = ECtlOptChipSelLabel;\r
342          type    = EEikCtLabel;\r
343          prompt  = "Emulate these sound chips:";\r
344          control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
345       },\r
346       DLG_LINE\r
347       {\r
348          id     = ECtlOptEmulateZ80;\r
349          type   = EEikCtCheckBox;\r
350          prompt = "Z80";\r
351       },\r
352       DLG_LINE\r
353       {\r
354          id     = ECtlOptEmulateYM2612;\r
355          type   = EEikCtCheckBox;\r
356          prompt = "YM2612";\r
357       },\r
358       DLG_LINE\r
359       {\r
360          id     = ECtlOptEmulateSN76496;\r
361          type   = EEikCtCheckBox;\r
362          prompt = "SN76496 (PSG)";\r
363       },\r
364       DLG_LINE\r
365       {\r
366              id      = ECtlOptSndQLabel;\r
367          type    = EEikCtLabel;\r
368          prompt  = "Quality (lowest is fastest)";\r
369          control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
370       },\r
371       DLG_LINE\r
372       {\r
373          id      = ECtlOptSndQuality;\r
374          type    = EEikCtChoiceList;\r
375          prompt  = "";\r
376          control = CHOICELIST { array_id = r_pico_config_snd_quality; };\r
377          itemflags = EEikDlgItemNonFocusing;\r
378       }\r
379    };\r
380 }\r
381 \r
382 \r
383 RESOURCE ARRAY r_pico_config_page_misc\r
384 {\r
385    items = {\r
386       DLG_LINE\r
387       {\r
388          id     = ECtlOpt6ButtonPad;\r
389          type   = EEikCtCheckBox;\r
390          prompt = "6 button pad";\r
391       },\r
392       DLG_LINE\r
393       {\r
394          id     = ECtlOptGzipStates;\r
395          type   = EEikCtCheckBox;\r
396          prompt = "gzip save states";\r
397       },\r
398       DLG_LINE\r
399       {\r
400          id     = ECtlOptUseSRAM;\r
401          type   = EEikCtCheckBox;\r
402          prompt = "Use SRAM saves (.srm)";\r
403       },\r
404       DLG_LINE\r
405       {\r
406          id     = ECtlOptMotDontUseVol;\r
407          type   = EEikCtCheckBox;\r
408          prompt = "Motorola: don't use volume keys for game controls";\r
409       },\r
410       DLG_LINE\r
411       {\r
412              id      = ECtlOptRegionLabel;\r
413          type    = EEikCtLabel;\r
414          prompt  = "Region:                  ";\r
415          control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
416       },\r
417       DLG_LINE\r
418       {\r
419          id      = ECtlOptRegion;\r
420          type    = EEikCtChoiceList;\r
421          prompt  = "";\r
422          control = CHOICELIST { array_id = r_pico_config_region; };\r
423          itemflags = EEikDlgItemNonFocusing;\r
424       }\r
425    };\r
426 }\r
427 \r
428 \r
429 RESOURCE ARRAY r_pico_config_rotation_buttons\r
430 {\r
431    items = {\r
432      OPBUT { id = ECtlOptRotation0;    text = "0º";   },\r
433      OPBUT { id = ECtlOptRotation90;   text = "90º";  },\r
434      OPBUT { id = ECtlOptRotation180;  text = "180º";  },\r
435      OPBUT { id = ECtlOptRotation270;  text = "270º";  }\r
436    };\r
437 }\r
438 \r
439 \r
440 RESOURCE ARRAY r_pico_config_screenmode_buttons\r
441 {\r
442    items = {\r
443      OPBUT { id = ECtlOptScreenModeCenter;  text = "Center"; },\r
444      OPBUT { id = ECtlOptScreenModeFit;     text = "Fit";    },\r
445      OPBUT { id = ECtlOptScreenModeFit2;    text = "Fit2";   }\r
446    };\r
447 }\r
448 \r
449 \r
450 RESOURCE ARRAY r_pico_config_snd_quality\r
451 {\r
452    items = {\r
453      LBUF { txt = "8000Hz mono";          },\r
454      LBUF { txt = "11025Hz mono";         },\r
455      LBUF { txt = "16000Hz mono";         },\r
456      LBUF { txt = "22050Hz mono";         },\r
457      LBUF { txt = "8000Hz stereo";        },\r
458      LBUF { txt = "11025Hz stereo";       },\r
459      LBUF { txt = "16000Hz stereo";       },\r
460      LBUF { txt = "22050Hz stereo";       }\r
461    };\r
462 }\r
463 \r
464 \r
465 RESOURCE ARRAY r_pico_config_region\r
466 {\r
467    items = {\r
468      LBUF { txt = "Auto";        },\r
469      LBUF { txt = "Europe";      },\r
470      LBUF { txt = "USA";         },\r
471      LBUF { txt = "Japan PAL";   },\r
472      LBUF { txt = "Japan NTSC";  }\r
473    };\r
474 }\r