UIQ3 update, some makefile unification, rm old configs, stuff
[picodrive.git] / platform / uiq3 / rsc / picodrive.rss
diff --git a/platform/uiq3/rsc/picodrive.rss b/platform/uiq3/rsc/picodrive.rss
new file mode 100644 (file)
index 0000000..eb5f5a6
--- /dev/null
@@ -0,0 +1,637 @@
+NAME PCDR\r
+\r
+#include <eikon.rh>\r
+#include <eikon.rsg>\r
+#include <qikon.rh>\r
+#include <qikcommand.rh>\r
+#include "picodrive.hrh"\r
+\r
+\r
+RESOURCE RSS_SIGNATURE { }\r
+\r
+// Defines the name of the default file the application framework creates.\r
+// This resource must always be the second resource in the resource file.\r
+RESOURCE TBUF { buf = "PicoDrive"; }\r
+\r
+RESOURCE EIK_APP_INFO { }\r
+\r
+\r
+// A view shall use the QIK_VIEW_CONFIGURATIONS resource struct to define which \r
+// UI configurations it supports. Can also use QIK_VIEW_CONFIGURATIONS to setup \r
+// the view to switch layout and command list automatically when changes of UI \r
+// configuration occur. This is done with the view and command_list members of \r
+// the QIK_VIEW_CONFIGURATIONS.\r
+// The application supports the reference UI Configurations that are supported\r
+// in the UIQ 3 SDK. Use the UiqEnv tool, to change the UI Configuration in the\r
+// emulator in order to develop and test the application with varying phone styles.\r
+RESOURCE QIK_VIEW_CONFIGURATIONS r_app_ui_configurations\r
+{\r
+       configurations = \r
+       {\r
+               QIK_VIEW_CONFIGURATION\r
+               {\r
+                       ui_config_mode = KQikPenStyleTouchPortrait;\r
+                       command_list = r_app_commands;\r
+                       view = r_app_layout;\r
+               },\r
+               QIK_VIEW_CONFIGURATION\r
+               {\r
+                       ui_config_mode = KQikPenStyleTouchLandscape;\r
+                       command_list = r_app_commands;\r
+                       view = r_app_layout;\r
+               },\r
+               QIK_VIEW_CONFIGURATION\r
+               {\r
+                       ui_config_mode = KQikSoftkeyStyleTouchPortrait;\r
+                       command_list = r_app_commands;\r
+                       view = r_app_layout;\r
+               },\r
+               QIK_VIEW_CONFIGURATION\r
+               {\r
+                       ui_config_mode = KQikSoftkeyStylePortrait;\r
+                       command_list = r_app_commands;\r
+                       view = r_app_layout;\r
+               },\r
+               QIK_VIEW_CONFIGURATION\r
+               {\r
+                       ui_config_mode = KQikSoftkeyStyleSmallPortrait;\r
+                       command_list = r_app_commands;\r
+                       view = r_app_layout;\r
+               }\r
+       };\r
+}\r
+\r
+// Commands are defined with the QIK_COMMAND_LIST struct, \r
+// commands can also be created in code by instantiating CQikCommand.\r
+// The control command id for debug command is a reserved id from uikon.hrh.\r
+// The id for each command is defined in the .hrh file.\r
+RESOURCE QIK_COMMAND_LIST r_app_commands\r
+{\r
+       items = \r
+       {\r
+//             QIK_COMMAND { id=EEikCmdPicoMain;          text="Main";           type=EQikCommandTypeDone; namedGroupLinkId=EEikCmdPicoMain; },\r
+//             QIK_COMMAND { id=EEikCmdPicoDebugInfo;     text="Debug info";     type=EQikCommandTypeScreen; stateFlags=EQikCmdFlagDebugOnly; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip;     text="Frameskip";      type=EQikCommandTypeScreen; namedGroupLinkId=EEikCmdPicoFrameskip; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskipAuto; text="Auto";           type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip;  stateFlags=EQikCmdFlagRadioStart; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip0;    text="0";              type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip1;    text="1";              type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip2;    text="2";              type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip4;    text="4";              type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
+               QIK_COMMAND { id=EEikCmdPicoFrameskip8;    text="8";              type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
+                       groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioEnd; },\r
+               QIK_COMMAND { id=EEikCmdPicoConfig;        text="Configure";      type=EQikCommandTypeScreen; namedGroupLinkId=EEikCmdPicoConfig; },\r
+               QIK_COMMAND { id=EEikCmdPicoKeys;          text="Keys";           type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
+               QIK_COMMAND { id=EEikCmdPicoSettings;      text="Settings";       type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
+               QIK_COMMAND { id=EEikCmdHelpAbout;         text="About";          type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
+\r
+               QIK_COMMAND { id=EEikCmdPicoLoadROM;       text="Load new ROM/ISO";type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
+               QIK_COMMAND { id=EEikCmdPicoReset;         text="Reset game";     type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
+               QIK_COMMAND { id=EEikCmdPicoLoadState;     text="Load state";     type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
+               QIK_COMMAND { id=EEikCmdPicoSaveState;     text="Save state";     type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
+               QIK_COMMAND { id=EEikCmdPicoResume;        text="Resume game";    type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; cpfFlags=EQikCpfFlagIsDefault; },\r
+\r
+               QIK_COMMAND { id=EEikCmdExit;              text="Exit";           type=EQikCommandTypeScreen; groupId=EEikCmdExit; }\r
+       };\r
+}\r
+\r
+\r
+// Defines the view by linking to the pages.\r
+RESOURCE QIK_VIEW r_app_layout\r
+{\r
+       pages = {};\r
+}\r
+\r
+\r
+/**************************************\r
+ *\r
+ * config dialog\r
+ *\r
+ **************************************/\r
+\r
+RESOURCE DIALOG r_pico_config\r
+{\r
+   title   = "Settings";\r
+   buttons = R_EIK_BUTTONS_CANCEL_OK;\r
+   flags   = EEikDialogFlagWait;\r
+   pages   = r_pico_config_pages;\r
+}\r
+\r
+RESOURCE ARRAY r_pico_config_pages\r
+{\r
+   items = {\r
+      PAGE\r
+      {\r
+         id    = ECtlOptPageMain;\r
+         text  = "Main";\r
+         lines = r_pico_config_page_main;\r
+      },\r
+      PAGE\r
+      {\r
+         id    = ECtlOptPageSound;\r
+         text  = "Sound";\r
+         lines = r_pico_config_page_sound;\r
+      },\r
+      PAGE\r
+      {\r
+         id    = ECtlOptPageMCD;\r
+         text  = "MegaCD";\r
+         lines = r_pico_config_page_mcd;\r
+      },\r
+      PAGE\r
+      {\r
+         id    = ECtlOptPageMisc;\r
+         text  = "Misc";\r
+         lines = r_pico_config_page_misc;\r
+      }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_page_main\r
+{\r
+   items = {\r
+      DLG_LINE\r
+      {\r
+          id      = ECtlOptRotationLabel;\r
+          type    = EEikCtLabel;\r
+          prompt  = "Screen Rotation";\r
+          control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptRotation;\r
+         type    = EEikCtHorOptionButList;\r
+         control = HOROPBUT\r
+         {\r
+            array_id = r_pico_config_rotation_buttons;\r
+         };\r
+      },\r
+      DLG_LINE\r
+      {\r
+          id      = ECtlOptScreenModeLabel;\r
+          type    = EEikCtLabel;\r
+          prompt  = "Screen Mode";\r
+          control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptScreenMode;\r
+         type    = EEikCtHorOptionButList;\r
+         control = HOROPBUT\r
+         {\r
+            array_id = r_pico_config_screenmode_buttons;\r
+         };\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptUseAltRend;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Fast renderer (inaccurate)";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptShowFPS;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Show FPS";\r
+      }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_page_sound\r
+{\r
+   items = {\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptEnableSound;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Enable sound";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptChipSelLabel;\r
+         type    = EEikCtLabel;\r
+         prompt  = "Emulate these sound chips:";\r
+         control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptEmulateZ80;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Z80";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptEmulateYM2612;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "YM2612";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptEmulateSN76496;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "SN76496 (PSG)";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptSndQLabel;\r
+         type    = EEikCtLabel;\r
+         prompt  = "Quality (lowest is fastest)";\r
+         control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptSndQuality;\r
+         type    = EEikCtChoiceList;\r
+         prompt  = "";\r
+         control = CHOICELIST { array_id = r_pico_config_snd_quality; };\r
+         itemflags = EEikDlgItemNonFocusing;\r
+      }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_page_mcd\r
+{\r
+   items = {\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptCDcdda;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "CDDA audio";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptCDpcm;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "PCM audio";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptCDramcart;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "SaveRAM cart";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptCDscalerot;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Scale/Rot. fx (slow)";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptCDbettersync;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Better sync (slow)";\r
+      }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_page_misc\r
+{\r
+   items = {\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOpt6ButtonPad;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "6 button pad";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptGzipStates;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "gzip save states";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id     = ECtlOptUseSRAM;\r
+         type   = EEikCtCheckBox;\r
+         prompt = "Use SRAM saves (.srm)";\r
+      },\r
+      DLG_LINE\r
+      {\r
+         id      = ECtlOptRegion;\r
+         type    = EEikCtChoiceList;\r
+         prompt  = "Region:";\r
+         control = CHOICELIST { array_id = r_pico_config_region; };\r
+         itemflags = EEikDlgItemNonFocusing;\r
+      }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_rotation_buttons\r
+{\r
+   items = {\r
+     OPBUT { id = ECtlOptRotation0;    text = "0º";   },\r
+     OPBUT { id = ECtlOptRotation90;   text = "90º";  },\r
+     OPBUT { id = ECtlOptRotation180;  text = "180º";  },\r
+     OPBUT { id = ECtlOptRotation270;  text = "270º";  }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_screenmode_buttons\r
+{\r
+   items = {\r
+     OPBUT { id = ECtlOptScreenModeCenter;  text = "Center"; },\r
+     OPBUT { id = ECtlOptScreenModeFit;     text = "Fit";    },\r
+     OPBUT { id = ECtlOptScreenModeFit2;    text = "Fit2";   }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_snd_quality\r
+{\r
+   items = {\r
+     LBUF { txt = "8000Hz mono";          },\r
+     LBUF { txt = "11025Hz mono";         },\r
+     LBUF { txt = "16000Hz mono";         },\r
+     LBUF { txt = "22050Hz mono";         },\r
+     LBUF { txt = "44100Hz mono";         },\r
+     LBUF { txt = "8000Hz stereo";        },\r
+     LBUF { txt = "11025Hz stereo";       },\r
+     LBUF { txt = "16000Hz stereo";       },\r
+     LBUF { txt = "22050Hz stereo";       },\r
+     LBUF { txt = "44100Hz stereo";       }\r
+   };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_config_region\r
+{\r
+   items = {\r
+     LBUF { txt = "Auto";        },\r
+     LBUF { txt = "Europe";      },\r
+     LBUF { txt = "USA";         },\r
+     LBUF { txt = "Japan PAL";   },\r
+     LBUF { txt = "Japan NTSC";  }\r
+   };\r
+}\r
+\r
+\r
+/**************************************\r
+ *\r
+ * about dialog\r
+ *\r
+ **************************************/\r
+\r
+// A simple dialog shall use the QIK_DIALOG resource struct to \r
+// define which UI configurations it supports.\r
+RESOURCE QIK_DIALOG r_pico_about\r
+{\r
+       title = "About";\r
+       configurations = \r
+       {\r
+               QIK_DIALOG_CONFIGURATION\r
+               {\r
+                       ui_config_mode = 0;\r
+                       container = r_pico_about_container;\r
+                       command_list = r_pico_about_commands;\r
+               }\r
+       };\r
+       controls = r_pico_about_controls;\r
+}\r
+\r
+RESOURCE QIK_COMMAND_LIST r_pico_about_commands\r
+{\r
+       items=\r
+       {\r
+               QIK_COMMAND\r
+               {\r
+                       id = EEikCmdPicoAboutDoneCmd;\r
+                       type = EQikCommandTypeDone;\r
+                       text = "Done";\r
+               },\r
+               QIK_COMMAND\r
+               {\r
+                       id = EEikCmdPicoAboutCreditsCmd;\r
+                       type = EQikCommandTypeItem;\r
+                       text = "Credits";\r
+               }\r
+       };\r
+}\r
\r
+// A collection of controls that can be used throughout the various \r
+// view/container/building block structs by using the unique handle in \r
+// QIK_CONTROL. So you can specify how the control should be created here and \r
+// just reference to it from other places.\r
+RESOURCE QIK_CONTROL_COLLECTION r_pico_about_controls\r
+{\r
+       items = \r
+       {\r
+               QIK_CONTROL\r
+               {\r
+                       unique_handle = ECtlPicoAboutText;\r
+                       type = EEikCtRichTextEditor;\r
+                       control = r_pico_about_rtxted;\r
+                       itemflags = EQikCtrlFlagIsEditInPlace;\r
+               }\r
+       };\r
+}\r
+\r
+// the controls themselves\r
+RESOURCE RTXTED r_pico_about_rtxted\r
+{\r
+    flags = EEikEdwinDisplayOnly|EEikEdwinReadOnly|EEikEdwinNoHorizScrolling;\r
+    numlines = 13;\r
+       displayMode = 1; // EDisplayModeView;\r
+}\r
+\r
+// Defines the content of the simple dialog and how they are laid out. \r
+// Default layout manager is used for laying out the controls, which is a row \r
+// layout.\r
+RESOURCE QIK_CONTAINER_SETTINGS r_pico_about_container\r
+{\r
+       controls = \r
+       {\r
+               QIK_CONTAINER_ITEM_CI_LI\r
+               {\r
+                       type = EQikCtOnelineBuildingBlock;\r
+                       control = r_pico_about_bb1;\r
+               }\r
+       };\r
+}\r
+    \r
+// Building block that contains the label.\r
+RESOURCE QIK_SYSTEM_BUILDING_BLOCK r_pico_about_bb1\r
+{\r
+       content =\r
+       {\r
+               QIK_SLOT_CONTENT\r
+               {\r
+                       slot_id = EQikItemSlot1;\r
+                       unique_handle = ECtlPicoAboutText;\r
+               }\r
+       };\r
+}\r
+\r
+RESOURCE TBUF r_pico_text_about\r
+{\r
+       buf= \r
+               "<f=Polo><s=26><a=center><fg=RgbDarkBlue>PicoDrive"\\r
+               "<p><f=Polo><s=10><a=center>for UIQ3"\\r
+               "<p><s=6> <p><f=Corinna><s=12>Version %S, by notaz."\\r
+               "<p><s=5> <p><s=10>Port based on UIQ2 version, which is based on PicoDrive 0.030 for Pocket PC by Dave"\\r
+               "<p><s=5> <p><f=Corinna><s=11><u>Email</u>: notasas@gmail.com"\\r
+               "<p><f=Corinna><s=10><u>Web</u>: http://notaz.gp2x.de"\\r
+               "<p><f=Corinna><s=10><u>Dave's Web</u>: http://www.finalburn.com";\r
+}\r
+\r
+/**************************************\r
+ *\r
+ * credits dialog\r
+ *\r
+ **************************************/\r
+\r
+// A simple dialog shall use the QIK_DIALOG resource struct to \r
+// define which UI configurations it supports.\r
+RESOURCE QIK_DIALOG r_pico_credits\r
+{\r
+       title = "Credits and thanks";\r
+       configurations = \r
+       {\r
+               QIK_DIALOG_CONFIGURATION\r
+               {\r
+                       ui_config_mode = 0;\r
+                       container = r_pico_credits_container;\r
+                       command_list = r_pico_credits_commands;\r
+               }\r
+       };\r
+       controls = r_pico_credits_controls;\r
+}\r
+\r
+RESOURCE QIK_COMMAND_LIST r_pico_credits_commands\r
+{\r
+       items=\r
+       {\r
+               QIK_COMMAND\r
+               {\r
+                       id = EEikCmdPicoAboutDoneCmd;\r
+                       type = EQikCommandTypeDone;\r
+                       text = "Done";\r
+               }\r
+       };\r
+}\r
+\r
+// A collection of controls that can be used throughout the various \r
+// view/container/building block structs by using the unique handle in \r
+// QIK_CONTROL. So you can specify how the control should be created here and \r
+// just reference to it from other places.\r
+RESOURCE QIK_CONTROL_COLLECTION r_pico_credits_controls\r
+{\r
+       items = \r
+       {\r
+               QIK_CONTROL\r
+               {\r
+                       unique_handle = ECtlPicoCreditsText;\r
+                       type = EEikCtEdwin;\r
+                       control = r_pico_credits_edwin;\r
+                       itemflags = EQikCtrlFlagIsEditInPlace;\r
+               }\r
+       };\r
+}\r
+\r
+// the controls themselves\r
+RESOURCE EDWIN r_pico_credits_edwin\r
+{\r
+       flags = EEikEdwinDisplayOnly|EEikEdwinReadOnly|EEikEdwinNoHorizScrolling|EEikEdwinDisableAutoCurEnd;\r
+       lines = 11;\r
+}\r
+\r
+// Defines the content of the simple dialog and how they are laid out. \r
+// Default layout manager is used for laying out the controls, which is a row \r
+// layout.\r
+RESOURCE QIK_CONTAINER_SETTINGS r_pico_credits_container\r
+{\r
+       controls = \r
+       {\r
+               QIK_CONTAINER_ITEM_CI_LI\r
+               {\r
+                       type = EQikCtOnelineBuildingBlock;\r
+                       control = r_pico_credits_bb1;\r
+               }\r
+       };\r
+}\r
+    \r
+// Building block that contains the label.\r
+RESOURCE QIK_SYSTEM_BUILDING_BLOCK r_pico_credits_bb1\r
+{\r
+       content =\r
+       {\r
+               QIK_SLOT_CONTENT\r
+               {\r
+                       slot_id = EQikItemSlot1;\r
+                       unique_handle = ECtlPicoCreditsText;\r
+               }\r
+       };\r
+}\r
+\r
+\r
+RESOURCE ARRAY r_pico_tbuf_credits\r
+{\r
+  items=\r
+  {\r
+       LBUF{txt="This emulator uses code from these people / projects:";},\r
+       LBUF{txt="";},\r
+       LBUF{txt="Dave";},\r
+       LBUF{txt="- Cyclone 68000 core, Pico emulation library";},\r
+       LBUF{txt="Homepage: http://www.finalburn.com/";},\r
+       LBUF{txt="";},\r
+       LBUF{txt="Reesy & FluBBa";},\r
+       LBUF{txt="- DrZ80, the Z80 emulator written in ARM assembly.";},\r
+       LBUF{txt="Homepage: http://reesy.gp32x.de/";},\r
+       LBUF{txt="";},\r
+       LBUF{txt="MultiArcadeMachineEmulator (MAME) development";},\r
+       LBUF{txt="- software implementation of Yamaha FM sound generator and";},\r
+       LBUF{txt="Texas Instruments SN76489 / SN76496 programmable tone / noise generator";},\r
+       LBUF{txt="Homepage: http://www.mame.net/";},\r
+       LBUF{txt="";},\r
+       LBUF{txt="Helix community";},\r
+       LBUF{txt="Helix mp3 decoder";},\r
+       LBUF{txt="";},\r
+       LBUF{txt="Additional thanks:";},\r
+       LBUF{txt="- Charles MacDonald (http://cgfm2.emuviews.com/) for old but still very useful info about genesis hardware.";},\r
+       LBUF{txt="- Stéphane Dallongeville for creating Gens and making it open-source.";},\r
+       LBUF{txt="- Steve Snake for all that he has done for Genesis emulation scene.";},\r
+       LBUF{txt="- Tasco Deluxe for his reverse engineering work on SVP and some mappers.";},\r
+       LBUF{txt="- Bart Trzynadlowski for his SSFII and 68000 docs.";},\r
+       LBUF{txt="- Haze for his research (http://haze.mameworld.info).";},\r
+       LBUF{txt="- Lordus, Exophase and Rokas for various ideas.";},\r
+       LBUF{txt="- Mark and Jean-loup for zlib library.";},\r
+       LBUF{txt="- Peter van Sebille for his various open-source Symbian projects to learn from.";},\r
+       LBUF{txt="- Steve Fischer for his open-source Motorola projects.";},\r
+       LBUF{txt="- AnotherGuest for all his Symbian stuff and support.";},\r
+       LBUF{txt="- Inder for the icons.";},\r
+       LBUF{txt="- Anyone else I forgot. You know who you are.";}\r
+  };\r
+}\r
+\r
+\r
+/**************************************\r
+ *\r
+ * debug dialog\r
+ *\r
+ **************************************/\r
+\r
+RESOURCE QIK_DIALOG r_pico_debug\r
+{\r
+       title = "debug";\r
+       configurations = \r
+       {\r
+               QIK_DIALOG_CONFIGURATION\r
+               {\r
+                       ui_config_mode = 0;\r
+                       container = r_pico_credits_container; // stuff from credits should fit\r
+                       command_list = r_pico_credits_commands;\r
+               }\r
+       };\r
+       controls = r_pico_credits_controls;\r
+}\r
+\r