ROM loader error handling improved
[picodrive.git] / platform / uiq3 / rsc / PicoDrive.rss
CommitLineData
cc68a136 1NAME PCDR\r
2\r
3#include <eikon.rh>\r
4#include <eikon.rsg>\r
5#include <qikon.rh>\r
6#include <QikCommand.rh>\r
7#include "picodrive.hrh"\r
8\r
9\r
10RESOURCE RSS_SIGNATURE { }\r
11\r
12// Defines the name of the default file the application framework creates.\r
13// This resource must always be the second resource in the resource file.\r
14RESOURCE TBUF { buf = "PicoDrive"; }\r
15\r
16RESOURCE EIK_APP_INFO { }\r
17\r
18\r
19// A view shall use the QIK_VIEW_CONFIGURATIONS resource struct to define which \r
20// UI configurations it supports. Can also use QIK_VIEW_CONFIGURATIONS to setup \r
21// the view to switch layout and command list automatically when changes of UI \r
22// configuration occur. This is done with the view and command_list members of \r
23// the QIK_VIEW_CONFIGURATIONS.\r
24// The application supports the reference UI Configurations that are supported\r
25// in the UIQ 3 SDK. Use the UiqEnv tool, to change the UI Configuration in the\r
26// emulator in order to develop and test the application with varying phone styles.\r
27RESOURCE QIK_VIEW_CONFIGURATIONS r_app_ui_configurations\r
28{\r
29 configurations = \r
30 {\r
31 QIK_VIEW_CONFIGURATION\r
32 {\r
33 ui_config_mode = KQikPenStyleTouchPortrait;\r
34 command_list = r_app_commands;\r
35 view = r_app_layout;\r
36 },\r
37 QIK_VIEW_CONFIGURATION\r
38 {\r
39 ui_config_mode = KQikPenStyleTouchLandscape;\r
40 command_list = r_app_commands;\r
41 view = r_app_layout;\r
42 },\r
43 QIK_VIEW_CONFIGURATION\r
44 {\r
45 ui_config_mode = KQikSoftkeyStyleTouchPortrait;\r
46 command_list = r_app_commands;\r
47 view = r_app_layout;\r
48 },\r
49 QIK_VIEW_CONFIGURATION\r
50 {\r
51 ui_config_mode = KQikSoftkeyStylePortrait;\r
52 command_list = r_app_commands;\r
53 view = r_app_layout;\r
54 },\r
55 QIK_VIEW_CONFIGURATION\r
56 {\r
57 ui_config_mode = KQikSoftkeyStyleSmallPortrait;\r
58 command_list = r_app_commands;\r
59 view = r_app_layout;\r
60 }\r
61 };\r
62}\r
63\r
64// Commands are defined with the QIK_COMMAND_LIST struct, \r
65// commands can also be created in code by instantiating CQikCommand.\r
66// The control command id for debug command is a reserved id from uikon.hrh.\r
67// The id for each command is defined in the .hrh file.\r
68RESOURCE QIK_COMMAND_LIST r_app_commands\r
69{\r
70 items = \r
71 {\r
72// QIK_COMMAND { id=EEikCmdPicoMain; text="Main"; type=EQikCommandTypeDone; namedGroupLinkId=EEikCmdPicoMain; },\r
73// QIK_COMMAND { id=EEikCmdPicoDebugInfo; text="Debug info"; type=EQikCommandTypeScreen; stateFlags=EQikCmdFlagDebugOnly; },\r
74 QIK_COMMAND { id=EEikCmdPicoFrameskip; text="Frameskip"; type=EQikCommandTypeScreen; namedGroupLinkId=EEikCmdPicoFrameskip; },\r
75 QIK_COMMAND { id=EEikCmdPicoFrameskipAuto; text="Auto"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
76 groupId=EEikCmdPicoFrameskip; stateFlags=EQikCmdFlagRadioStart; },\r
77 QIK_COMMAND { id=EEikCmdPicoFrameskip0; text="0"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
78 groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
79 QIK_COMMAND { id=EEikCmdPicoFrameskip1; text="1"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
80 groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
81 QIK_COMMAND { id=EEikCmdPicoFrameskip2; text="2"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
82 groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
83 QIK_COMMAND { id=EEikCmdPicoFrameskip4; text="4"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
84 groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioMiddle; },\r
85 QIK_COMMAND { id=EEikCmdPicoFrameskip8; text="8"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoFrameskip;\r
86 groupId=EEikCmdPicoFrameskip0; stateFlags=EQikCmdFlagRadioEnd; },\r
87 QIK_COMMAND { id=EEikCmdPicoConfig; text="Configure"; type=EQikCommandTypeScreen; namedGroupLinkId=EEikCmdPicoConfig; },\r
88 QIK_COMMAND { id=EEikCmdPicoKeys; text="Keys"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
89 QIK_COMMAND { id=EEikCmdPicoSettings; text="Settings"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
90 QIK_COMMAND { id=EEikCmdHelpAbout; text="About"; type=EQikCommandTypeScreen; namedGroupId=EEikCmdPicoConfig; },\r
91\r
92 QIK_COMMAND { id=EEikCmdPicoLoadROM; text="Load new ROM"; type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
93 QIK_COMMAND { id=EEikCmdPicoReset; text="Reset game"; type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
94 QIK_COMMAND { id=EEikCmdPicoLoadState; text="Load state"; type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
95 QIK_COMMAND { id=EEikCmdPicoSaveState; text="Save state"; type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; },\r
96 QIK_COMMAND { id=EEikCmdPicoResume; text="Resume game"; type=EQikCommandTypeScreen; groupId=EEikCmdPicoResume; cpfFlags=EQikCpfFlagIsDefault; },\r
97\r
98 QIK_COMMAND { id=EEikCmdExit; text="Exit"; type=EQikCommandTypeScreen; groupId=EEikCmdExit; }\r
99 };\r
100}\r
101\r
102\r
103// Defines the view by linking to the pages.\r
104RESOURCE QIK_VIEW r_app_layout\r
105{\r
106 pages = {};\r
107}\r
108\r
109\r
110/**************************************\r
111 *\r
112 * config dialog\r
113 *\r
114 **************************************/\r
115\r
116RESOURCE DIALOG r_pico_config\r
117{\r
118 title = "Settings";\r
119 buttons = R_EIK_BUTTONS_CANCEL_OK;\r
120 flags = EEikDialogFlagWait;\r
121 pages = r_pico_config_pages;\r
122}\r
123\r
124RESOURCE ARRAY r_pico_config_pages\r
125{\r
126 items = {\r
127 PAGE\r
128 {\r
129 id = ECtlOptPageMain;\r
130 text = "Main";\r
131 lines = r_pico_config_page_main;\r
132 },\r
133 PAGE\r
134 {\r
135 id = ECtlOptPageSound;\r
136 text = "Sound";\r
137 lines = r_pico_config_page_sound;\r
138 },\r
139 PAGE\r
140 {\r
141 id = ECtlOptPageMisc;\r
142 text = "Misc";\r
143 lines = r_pico_config_page_misc;\r
144 }\r
145 };\r
146}\r
147\r
148\r
149RESOURCE ARRAY r_pico_config_page_main\r
150{\r
151 items = {\r
152 DLG_LINE\r
153 {\r
154 id = ECtlOptRotationLabel;\r
155 type = EEikCtLabel;\r
156 prompt = "Screen Rotation";\r
157 control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
158 },\r
159 DLG_LINE\r
160 {\r
161 id = ECtlOptRotation;\r
162 type = EEikCtHorOptionButList;\r
163 control = HOROPBUT\r
164 {\r
165 array_id = r_pico_config_rotation_buttons;\r
166 };\r
167 },\r
168 DLG_LINE\r
169 {\r
170 id = ECtlOptScreenModeLabel;\r
171 type = EEikCtLabel;\r
172 prompt = "Screen Mode";\r
173 control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
174 },\r
175 DLG_LINE\r
176 {\r
177 id = ECtlOptScreenMode;\r
178 type = EEikCtHorOptionButList;\r
179 control = HOROPBUT\r
180 {\r
181 array_id = r_pico_config_screenmode_buttons;\r
182 };\r
183 },\r
184 DLG_LINE\r
185 {\r
186 id = ECtlOptUseAltRend;\r
187 type = EEikCtCheckBox;\r
188 prompt = "Fast renderer (inaccurate)";\r
189 },\r
190 DLG_LINE\r
191 {\r
192 id = ECtlOptUseAccTiming;\r
193 type = EEikCtCheckBox;\r
194 prompt = "Accurate timing (slower)";\r
195 },\r
196 DLG_LINE\r
197 {\r
198 id = ECtlOptUseAccSprites;\r
199 type = EEikCtCheckBox;\r
200 prompt = "Accurate sprites (slower)";\r
201 },\r
202 DLG_LINE\r
203 {\r
204 id = ECtlOptShowFPS;\r
205 type = EEikCtCheckBox;\r
206 prompt = "Show FPS";\r
207 }\r
208 };\r
209}\r
210\r
211\r
212RESOURCE ARRAY r_pico_config_page_sound\r
213{\r
214 items = {\r
215 DLG_LINE\r
216 {\r
217 id = ECtlOptEnableSound;\r
218 type = EEikCtCheckBox;\r
219 prompt = "Enable sound";\r
220 },\r
221 DLG_LINE\r
222 {\r
223 id = ECtlOptChipSelLabel;\r
224 type = EEikCtLabel;\r
225 prompt = "Emulate these sound chips:";\r
226 control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
227 },\r
228 DLG_LINE\r
229 {\r
230 id = ECtlOptEmulateZ80;\r
231 type = EEikCtCheckBox;\r
232 prompt = "Z80";\r
233 },\r
234 DLG_LINE\r
235 {\r
236 id = ECtlOptEmulateYM2612;\r
237 type = EEikCtCheckBox;\r
238 prompt = "YM2612";\r
239 },\r
240 DLG_LINE\r
241 {\r
242 id = ECtlOptEmulateSN76496;\r
243 type = EEikCtCheckBox;\r
244 prompt = "SN76496 (PSG)";\r
245 },\r
246 DLG_LINE\r
247 {\r
248 id = ECtlOptSndQLabel;\r
249 type = EEikCtLabel;\r
250 prompt = "Quality (lowest is fastest)";\r
251 control = LABEL { horiz_align = EEikLabelAlignHLeft; };\r
252 },\r
253 DLG_LINE\r
254 {\r
255 id = ECtlOptSndQuality;\r
256 type = EEikCtChoiceList;\r
257 prompt = "";\r
258 control = CHOICELIST { array_id = r_pico_config_snd_quality; };\r
259 itemflags = EEikDlgItemNonFocusing;\r
260 }\r
261 };\r
262}\r
263\r
264\r
265RESOURCE ARRAY r_pico_config_page_misc\r
266{\r
267 items = {\r
268 DLG_LINE\r
269 {\r
270 id = ECtlOpt6ButtonPad;\r
271 type = EEikCtCheckBox;\r
272 prompt = "6 button pad";\r
273 },\r
274 DLG_LINE\r
275 {\r
276 id = ECtlOptGzipStates;\r
277 type = EEikCtCheckBox;\r
278 prompt = "gzip save states";\r
279 },\r
280 DLG_LINE\r
281 {\r
282 id = ECtlOptUseSRAM;\r
283 type = EEikCtCheckBox;\r
284 prompt = "Use SRAM saves (.srm)";\r
285 },\r
286 DLG_LINE\r
287 {\r
288 id = ECtlOptRegion;\r
289 type = EEikCtChoiceList;\r
290 prompt = "Region:";\r
291 control = CHOICELIST { array_id = r_pico_config_region; };\r
292 itemflags = EEikDlgItemNonFocusing;\r
293 }\r
294 };\r
295}\r
296\r
297\r
298RESOURCE ARRAY r_pico_config_rotation_buttons\r
299{\r
300 items = {\r
301