Develop and Download Open Source Software

Browse CVS Repository

Contents of /mame32jp/mame32jp/src/legacy.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download) (as text)
Wed Apr 24 03:53:20 2002 UTC (21 years, 11 months ago) by zero
Branch: MAIN
CVS Tags: ver_0_60_1, ver0_59_13, ver0_59_14, ver0_60_2, ver0_60_3, ver0_60_4, ver0_60_5, HEAD
Changes since 1.4: +0 -0 lines
File MIME type: text/x-chdr
*** empty log message ***

1 #ifndef LEGACY_H
2 #define LEGACY_H
3
4 /* Functions and Tables used for converting old file to the new format */
5 /* Define NOLEGACY for excluding the inclusion */
6
7 enum
8 {
9 ver_567_KEYCODE_START = 0xff00,
10 ver_567_KEYCODE_A, ver_567_KEYCODE_B, ver_567_KEYCODE_C, ver_567_KEYCODE_D, ver_567_KEYCODE_E, ver_567_KEYCODE_F,
11 ver_567_KEYCODE_G, ver_567_KEYCODE_H, ver_567_KEYCODE_I, ver_567_KEYCODE_J, ver_567_KEYCODE_K, ver_567_KEYCODE_L,
12 ver_567_KEYCODE_M, ver_567_KEYCODE_N, ver_567_KEYCODE_O, ver_567_KEYCODE_P, ver_567_KEYCODE_Q, ver_567_KEYCODE_R,
13 ver_567_KEYCODE_S, ver_567_KEYCODE_T, ver_567_KEYCODE_U, ver_567_KEYCODE_V, ver_567_KEYCODE_W, ver_567_KEYCODE_X,
14 ver_567_KEYCODE_Y, ver_567_KEYCODE_Z, ver_567_KEYCODE_0, ver_567_KEYCODE_1, ver_567_KEYCODE_2, ver_567_KEYCODE_3,
15 ver_567_KEYCODE_4, ver_567_KEYCODE_5, ver_567_KEYCODE_6, ver_567_KEYCODE_7, ver_567_KEYCODE_8, ver_567_KEYCODE_9,
16 ver_567_KEYCODE_0_PAD, ver_567_KEYCODE_1_PAD, ver_567_KEYCODE_2_PAD, ver_567_KEYCODE_3_PAD, ver_567_KEYCODE_4_PAD,
17 ver_567_KEYCODE_5_PAD, ver_567_KEYCODE_6_PAD, ver_567_KEYCODE_7_PAD, ver_567_KEYCODE_8_PAD, ver_567_KEYCODE_9_PAD,
18 ver_567_KEYCODE_F1, ver_567_KEYCODE_F2, ver_567_KEYCODE_F3, ver_567_KEYCODE_F4, ver_567_KEYCODE_F5,
19 ver_567_KEYCODE_F6, ver_567_KEYCODE_F7, ver_567_KEYCODE_F8, ver_567_KEYCODE_F9, ver_567_KEYCODE_F10,
20 ver_567_KEYCODE_F11, ver_567_KEYCODE_F12,
21 ver_567_KEYCODE_ESC, ver_567_KEYCODE_TILDE, ver_567_KEYCODE_MINUS, ver_567_KEYCODE_EQUALS, ver_567_KEYCODE_BACKSPACE,
22 ver_567_KEYCODE_TAB, ver_567_KEYCODE_OPENBRACE, ver_567_KEYCODE_CLOSEBRACE, ver_567_KEYCODE_ENTER, ver_567_KEYCODE_COLON,
23 ver_567_KEYCODE_QUOTE, ver_567_KEYCODE_BACKSLASH, ver_567_KEYCODE_BACKSLASH2, ver_567_KEYCODE_COMMA, ver_567_KEYCODE_STOP,
24 ver_567_KEYCODE_SLASH, ver_567_KEYCODE_SPACE, ver_567_KEYCODE_INSERT, ver_567_KEYCODE_DEL,
25 ver_567_KEYCODE_HOME, ver_567_KEYCODE_END, ver_567_KEYCODE_PGUP, ver_567_KEYCODE_PGDN, ver_567_KEYCODE_LEFT,
26 ver_567_KEYCODE_RIGHT, ver_567_KEYCODE_UP, ver_567_KEYCODE_DOWN,
27 ver_567_KEYCODE_SLASH_PAD, ver_567_KEYCODE_ASTERISK, ver_567_KEYCODE_MINUS_PAD, ver_567_KEYCODE_PLUS_PAD,
28 ver_567_KEYCODE_DEL_PAD, ver_567_KEYCODE_ENTER_PAD, ver_567_KEYCODE_PRTSCR, ver_567_KEYCODE_PAUSE,
29 ver_567_KEYCODE_LSHIFT, ver_567_KEYCODE_RSHIFT, ver_567_KEYCODE_LCONTROL, ver_567_KEYCODE_RCONTROL,
30 ver_567_KEYCODE_LALT, ver_567_KEYCODE_RALT, ver_567_KEYCODE_SCRLOCK, ver_567_KEYCODE_NUMLOCK, ver_567_KEYCODE_CAPSLOCK,
31 ver_567_KEYCODE_OTHER,
32 ver_567_KEYCODE_NONE
33 };
34
35 enum
36 {
37 ver_567_JOYCODE_START = 0xff00,
38 ver_567_JOYCODE_1_LEFT,ver_567_JOYCODE_1_RIGHT,ver_567_JOYCODE_1_UP,ver_567_JOYCODE_1_DOWN,
39 ver_567_JOYCODE_1_BUTTON1,ver_567_JOYCODE_1_BUTTON2,ver_567_JOYCODE_1_BUTTON3,
40 ver_567_JOYCODE_1_BUTTON4,ver_567_JOYCODE_1_BUTTON5,ver_567_JOYCODE_1_BUTTON6,
41 ver_567_JOYCODE_2_LEFT,ver_567_JOYCODE_2_RIGHT,ver_567_JOYCODE_2_UP,ver_567_JOYCODE_2_DOWN,
42 ver_567_JOYCODE_2_BUTTON1,ver_567_JOYCODE_2_BUTTON2,ver_567_JOYCODE_2_BUTTON3,
43 ver_567_JOYCODE_2_BUTTON4,ver_567_JOYCODE_2_BUTTON5,ver_567_JOYCODE_2_BUTTON6,
44 ver_567_JOYCODE_3_LEFT,ver_567_JOYCODE_3_RIGHT,ver_567_JOYCODE_3_UP,ver_567_JOYCODE_3_DOWN,
45 ver_567_JOYCODE_3_BUTTON1,ver_567_JOYCODE_3_BUTTON2,ver_567_JOYCODE_3_BUTTON3,
46 ver_567_JOYCODE_3_BUTTON4,ver_567_JOYCODE_3_BUTTON5,ver_567_JOYCODE_3_BUTTON6,
47 ver_567_JOYCODE_4_LEFT,ver_567_JOYCODE_4_RIGHT,ver_567_JOYCODE_4_UP,ver_567_JOYCODE_4_DOWN,
48 ver_567_JOYCODE_4_BUTTON1,ver_567_JOYCODE_4_BUTTON2,ver_567_JOYCODE_4_BUTTON3,
49 ver_567_JOYCODE_4_BUTTON4,ver_567_JOYCODE_4_BUTTON5,ver_567_JOYCODE_4_BUTTON6,
50 ver_567_JOYCODE_OTHER,
51 ver_567_JOYCODE_NONE
52 };
53
54 #define ver_567_IP_KEY_DEFAULT 0xffff
55 #define ver_567_IP_KEY_NONE 0xfffe
56 #define ver_567_IP_KEY_PREVIOUS 0xfffd
57 #define ver_567_IP_JOY_DEFAULT 0xffff
58 #define ver_567_IP_JOY_NONE 0xfffe
59 #define ver_567_IP_JOY_PREVIOUS 0xfffd
60 #define ver_567_IP_CODE_NOT 0xfffc
61 #define ver_567_IP_CODE_OR 0xfffb
62
63 struct ver_table {
64 int pre;
65 int post;
66 };
67
68 static struct ver_table ver_567_table_keyboard[] = {
69 { 0, CODE_NONE },
70 { ver_567_KEYCODE_A, KEYCODE_A },
71 { ver_567_KEYCODE_B, KEYCODE_B },
72 { ver_567_KEYCODE_C, KEYCODE_C },
73 { ver_567_KEYCODE_D, KEYCODE_D },
74 { ver_567_KEYCODE_E, KEYCODE_E },
75 { ver_567_KEYCODE_F, KEYCODE_F },
76 { ver_567_KEYCODE_G, KEYCODE_G },
77 { ver_567_KEYCODE_H, KEYCODE_H },
78 { ver_567_KEYCODE_I, KEYCODE_I },
79 { ver_567_KEYCODE_J, KEYCODE_J },
80 { ver_567_KEYCODE_K, KEYCODE_K },
81 { ver_567_KEYCODE_L, KEYCODE_L },
82 { ver_567_KEYCODE_M, KEYCODE_M },
83 { ver_567_KEYCODE_N, KEYCODE_N },
84 { ver_567_KEYCODE_O, KEYCODE_O },
85 { ver_567_KEYCODE_P, KEYCODE_P },
86 { ver_567_KEYCODE_Q, KEYCODE_Q },
87 { ver_567_KEYCODE_R, KEYCODE_R },
88 { ver_567_KEYCODE_S, KEYCODE_S },
89 { ver_567_KEYCODE_T, KEYCODE_T },
90 { ver_567_KEYCODE_U, KEYCODE_U },
91 { ver_567_KEYCODE_V, KEYCODE_V },
92 { ver_567_KEYCODE_W, KEYCODE_W },
93 { ver_567_KEYCODE_X, KEYCODE_X },
94 { ver_567_KEYCODE_Y, KEYCODE_Y },
95 { ver_567_KEYCODE_Z, KEYCODE_Z },
96 { ver_567_KEYCODE_0, KEYCODE_0 },
97 { ver_567_KEYCODE_1, KEYCODE_1 },
98 { ver_567_KEYCODE_2, KEYCODE_2 },
99 { ver_567_KEYCODE_3, KEYCODE_3 },
100 { ver_567_KEYCODE_4, KEYCODE_4 },
101 { ver_567_KEYCODE_5, KEYCODE_5 },
102 { ver_567_KEYCODE_6, KEYCODE_6 },
103 { ver_567_KEYCODE_7, KEYCODE_7 },
104 { ver_567_KEYCODE_8, KEYCODE_8 },
105 { ver_567_KEYCODE_9, KEYCODE_9 },
106 { ver_567_KEYCODE_0_PAD, KEYCODE_0_PAD },
107 { ver_567_KEYCODE_1_PAD, KEYCODE_1_PAD },
108 { ver_567_KEYCODE_2_PAD, KEYCODE_2_PAD },
109 { ver_567_KEYCODE_3_PAD, KEYCODE_3_PAD },
110 { ver_567_KEYCODE_4_PAD, KEYCODE_4_PAD },
111 { ver_567_KEYCODE_5_PAD, KEYCODE_5_PAD },
112 { ver_567_KEYCODE_6_PAD, KEYCODE_6_PAD },
113 { ver_567_KEYCODE_7_PAD, KEYCODE_7_PAD },
114 { ver_567_KEYCODE_8_PAD, KEYCODE_8_PAD },
115 { ver_567_KEYCODE_9_PAD, KEYCODE_9_PAD },
116 { ver_567_KEYCODE_F1, KEYCODE_F1 },
117 { ver_567_KEYCODE_F2, KEYCODE_F2 },
118 { ver_567_KEYCODE_F3, KEYCODE_F3 },
119 { ver_567_KEYCODE_F4, KEYCODE_F4 },
120 { ver_567_KEYCODE_F5, KEYCODE_F5 },
121 { ver_567_KEYCODE_F6, KEYCODE_F6 },
122 { ver_567_KEYCODE_F7, KEYCODE_F7 },
123 { ver_567_KEYCODE_F8, KEYCODE_F8 },
124 { ver_567_KEYCODE_F9, KEYCODE_F9 },
125 { ver_567_KEYCODE_F10, KEYCODE_F10 },
126 { ver_567_KEYCODE_F11, KEYCODE_F11 },
127 { ver_567_KEYCODE_F12, KEYCODE_F12 },
128 { ver_567_KEYCODE_ESC, KEYCODE_ESC },
129 { ver_567_KEYCODE_TILDE, KEYCODE_TILDE },
130 { ver_567_KEYCODE_MINUS, KEYCODE_MINUS },
131 { ver_567_KEYCODE_EQUALS, KEYCODE_EQUALS },
132 { ver_567_KEYCODE_BACKSPACE, KEYCODE_BACKSPACE },
133 { ver_567_KEYCODE_TAB, KEYCODE_TAB },
134 { ver_567_KEYCODE_OPENBRACE, KEYCODE_OPENBRACE },
135 { ver_567_KEYCODE_CLOSEBRACE, KEYCODE_CLOSEBRACE },
136 { ver_567_KEYCODE_ENTER, KEYCODE_ENTER },
137 { ver_567_KEYCODE_COLON, KEYCODE_COLON },
138 { ver_567_KEYCODE_QUOTE, KEYCODE_QUOTE },
139 { ver_567_KEYCODE_BACKSLASH, KEYCODE_BACKSLASH },
140 { ver_567_KEYCODE_BACKSLASH2, KEYCODE_BACKSLASH2 },
141 { ver_567_KEYCODE_COMMA, KEYCODE_COMMA },
142 { ver_567_KEYCODE_STOP, KEYCODE_STOP },
143 { ver_567_KEYCODE_SLASH, KEYCODE_SLASH },
144 { ver_567_KEYCODE_SPACE, KEYCODE_SPACE },
145 { ver_567_KEYCODE_INSERT, KEYCODE_INSERT },
146 { ver_567_KEYCODE_DEL, KEYCODE_DEL },
147 { ver_567_KEYCODE_HOME, KEYCODE_HOME },
148 { ver_567_KEYCODE_END, KEYCODE_END },
149 { ver_567_KEYCODE_PGUP, KEYCODE_PGUP },
150 { ver_567_KEYCODE_PGDN, KEYCODE_PGDN },
151 { ver_567_KEYCODE_LEFT, KEYCODE_LEFT },
152 { ver_567_KEYCODE_RIGHT, KEYCODE_RIGHT },
153 { ver_567_KEYCODE_UP, KEYCODE_UP },
154 { ver_567_KEYCODE_DOWN, KEYCODE_DOWN },
155 { ver_567_KEYCODE_SLASH_PAD, KEYCODE_SLASH_PAD },
156 { ver_567_KEYCODE_ASTERISK, KEYCODE_ASTERISK },
157 { ver_567_KEYCODE_MINUS_PAD, KEYCODE_MINUS_PAD },
158 { ver_567_KEYCODE_PLUS_PAD, KEYCODE_PLUS_PAD },
159 { ver_567_KEYCODE_DEL_PAD, KEYCODE_DEL_PAD },
160 { ver_567_KEYCODE_ENTER_PAD, KEYCODE_ENTER_PAD },
161 { ver_567_KEYCODE_PRTSCR, KEYCODE_PRTSCR },
162 { ver_567_KEYCODE_PAUSE, KEYCODE_PAUSE },
163 { ver_567_KEYCODE_LSHIFT, KEYCODE_LSHIFT },
164 { ver_567_KEYCODE_RSHIFT, KEYCODE_RSHIFT },
165 { ver_567_KEYCODE_LCONTROL, KEYCODE_LCONTROL },
166 { ver_567_KEYCODE_RCONTROL, KEYCODE_RCONTROL },
167 { ver_567_KEYCODE_LALT, KEYCODE_LALT },
168 { ver_567_KEYCODE_RALT, KEYCODE_RALT },
169 { ver_567_KEYCODE_SCRLOCK, KEYCODE_SCRLOCK },
170 { ver_567_KEYCODE_NUMLOCK, KEYCODE_NUMLOCK },
171 { ver_567_KEYCODE_CAPSLOCK, KEYCODE_CAPSLOCK },
172 { ver_567_KEYCODE_OTHER, CODE_OTHER },
173 { ver_567_KEYCODE_NONE, CODE_NONE },
174 { ver_567_IP_KEY_DEFAULT, CODE_DEFAULT },
175 { ver_567_IP_KEY_NONE, CODE_NONE },
176 { ver_567_IP_KEY_PREVIOUS, CODE_PREVIOUS },
177 { ver_567_IP_CODE_NOT, CODE_NOT },
178 { ver_567_IP_CODE_OR, CODE_OR },
179 { -1, -1 }
180 };
181
182 static struct ver_table ver_567_table_joystick[] = {
183 { 0, CODE_NONE },
184 { ver_567_JOYCODE_1_LEFT, JOYCODE_1_LEFT },
185 { ver_567_JOYCODE_1_RIGHT, JOYCODE_1_RIGHT },
186 { ver_567_JOYCODE_1_UP, JOYCODE_1_UP },
187 { ver_567_JOYCODE_1_DOWN, JOYCODE_1_DOWN },
188 { ver_567_JOYCODE_1_BUTTON1, JOYCODE_1_BUTTON1 },
189 { ver_567_JOYCODE_1_BUTTON2, JOYCODE_1_BUTTON2 },
190 { ver_567_JOYCODE_1_BUTTON3, JOYCODE_1_BUTTON3 },
191 { ver_567_JOYCODE_1_BUTTON4, JOYCODE_1_BUTTON4 },
192 { ver_567_JOYCODE_1_BUTTON5, JOYCODE_1_BUTTON5 },
193 { ver_567_JOYCODE_1_BUTTON6, JOYCODE_1_BUTTON6 },
194 { ver_567_JOYCODE_2_LEFT, JOYCODE_2_LEFT },
195 { ver_567_JOYCODE_2_RIGHT, JOYCODE_2_RIGHT },
196 { ver_567_JOYCODE_2_UP, JOYCODE_2_UP },
197 { ver_567_JOYCODE_2_DOWN, JOYCODE_2_DOWN },
198 { ver_567_JOYCODE_2_BUTTON1, JOYCODE_2_BUTTON1 },
199 { ver_567_JOYCODE_2_BUTTON2, JOYCODE_2_BUTTON2 },
200 { ver_567_JOYCODE_2_BUTTON3, JOYCODE_2_BUTTON3 },
201 { ver_567_JOYCODE_2_BUTTON4, JOYCODE_2_BUTTON4 },
202 { ver_567_JOYCODE_2_BUTTON5, JOYCODE_2_BUTTON5 },
203 { ver_567_JOYCODE_2_BUTTON6, JOYCODE_2_BUTTON6 },
204 { ver_567_JOYCODE_3_LEFT, JOYCODE_3_LEFT },
205 { ver_567_JOYCODE_3_RIGHT, JOYCODE_3_RIGHT },
206 { ver_567_JOYCODE_3_UP, JOYCODE_3_UP },
207 { ver_567_JOYCODE_3_DOWN, JOYCODE_3_DOWN },
208 { ver_567_JOYCODE_3_BUTTON1, JOYCODE_3_BUTTON1 },
209 { ver_567_JOYCODE_3_BUTTON2, JOYCODE_3_BUTTON2 },
210 { ver_567_JOYCODE_3_BUTTON3, JOYCODE_3_BUTTON3 },
211 { ver_567_JOYCODE_3_BUTTON4, JOYCODE_3_BUTTON4 },
212 { ver_567_JOYCODE_3_BUTTON5, JOYCODE_3_BUTTON5 },
213 { ver_567_JOYCODE_3_BUTTON6, JOYCODE_3_BUTTON6 },
214 { ver_567_JOYCODE_4_LEFT, JOYCODE_4_LEFT },
215 { ver_567_JOYCODE_4_RIGHT, JOYCODE_4_RIGHT },
216 { ver_567_JOYCODE_4_UP, JOYCODE_4_UP },
217 { ver_567_JOYCODE_4_DOWN, JOYCODE_4_DOWN },
218 { ver_567_JOYCODE_4_BUTTON1, JOYCODE_4_BUTTON1 },
219 { ver_567_JOYCODE_4_BUTTON2, JOYCODE_4_BUTTON2 },
220 { ver_567_JOYCODE_4_BUTTON3, JOYCODE_4_BUTTON3 },
221 { ver_567_JOYCODE_4_BUTTON4, JOYCODE_4_BUTTON4 },
222 { ver_567_JOYCODE_4_BUTTON5, JOYCODE_4_BUTTON5 },
223 { ver_567_JOYCODE_4_BUTTON6, JOYCODE_4_BUTTON6 },
224 { ver_567_JOYCODE_OTHER, CODE_OTHER },
225 { ver_567_JOYCODE_NONE, CODE_NONE },
226 { ver_567_IP_JOY_DEFAULT, CODE_DEFAULT },
227 { ver_567_IP_JOY_NONE, CODE_NONE },
228 { ver_567_IP_JOY_PREVIOUS, CODE_PREVIOUS },
229 { ver_567_IP_CODE_NOT, CODE_NOT },
230 { ver_567_IP_CODE_OR, CODE_OR },
231 { -1, -1 }
232 };
233
234 static int code_table_ver_567_keyboard(int v) {
235 struct ver_table* i = ver_567_table_keyboard;
236
237 while (i->pre!=-1 || i->post!=-1) {
238 if (i->pre == v)
239 return i->post;
240 ++i;
241 }
242
243 v = keyoscode_to_code(v);
244 if (v != CODE_NONE)
245 return v;
246
247 return -1;
248 }
249
250 static int code_table_ver_567_joystick(int v) {
251 struct ver_table* i = ver_567_table_joystick;
252
253 while (i->pre!=-1 || i->post!=-1) {
254 if (i->pre == v)
255 return i->post;
256 ++i;
257 }
258
259 v = joyoscode_to_code(v);
260 if (v != CODE_NONE)
261 return v;
262
263 return -1;
264 }
265
266 static int seq_partial_is_special_code(InputCode code) {
267 if (code < __code_max)
268 return 0;
269 if (code == CODE_NOT)
270 return 0;
271 return 1;
272 }
273
274 static int seq_partial_read(void* f, InputSeq* seq, unsigned* pos, unsigned len, int (*code_table)(int))
275 {
276 UINT16 w;
277 unsigned j = 0;
278 int code;
279
280 if (readword(f,&w) != 0)
281 return -1;
282 ++j;
283 code = code_table(w);
284 if (code==-1)
285 return -1;
286
287 /* if default + standard code, use the standard code */
288 if (*pos == 1 && (*seq)[0] == CODE_DEFAULT && !seq_partial_is_special_code(code))
289 *pos = 0;
290
291 if (
292 /* if a special code is present don't insert another code */
293 (*pos == 0 || !seq_partial_is_special_code((*seq)[0])) &&
294 /* don't insert NONE code */
295 (code != CODE_NONE) &&
296 /* don't insert a special code after another code */
297 (*pos == 0 || !seq_partial_is_special_code(code) ))
298 {
299 if (*pos)
300 {
301 (*seq)[*pos] = CODE_OR;
302 ++*pos;
303 }
304
305 (*seq)[*pos] = code;
306 ++*pos;
307
308 while (j<len)
309 {
310 if (readword(f,&w) != 0)
311 return -1;
312 ++j;
313
314 code = code_table(w);
315 if (code==-1)
316 return -1;
317 if (code == CODE_NONE)
318 break;
319
320 (*seq)[*pos] = code;
321 ++*pos;
322 }
323 }
324
325 while (j<len)
326 {
327 if (readword(f,&w) != 0)
328 return -1;
329 ++j;
330 }
331
332 return 0;
333 }
334
335 static int seq_read_ver_5(void* f, InputSeq* seq)
336 {
337 unsigned pos = 0;
338 seq_set_0(seq);
339
340 if (seq_partial_read(f,seq,&pos,1,code_table_ver_567_keyboard) != 0)
341 return -1;
342 if (seq_partial_read(f,seq,&pos,1,code_table_ver_567_joystick) != 0)
343 return -1;
344 return 0;
345 }
346
347 static int seq_read_ver_6(void* f, InputSeq* seq)
348 {
349 unsigned pos = 0;
350 seq_set_0(seq);
351
352 if (seq_partial_read(f,seq,&pos,2,code_table_ver_567_keyboard) != 0)
353 return -1;
354 if (seq_partial_read(f,seq,&pos,2,code_table_ver_567_joystick) != 0)
355 return -1;
356 return 0;
357 }
358
359 static int seq_read_ver_7(void* f, InputSeq* seq)
360 {
361 unsigned pos = 0;
362 seq_set_0(seq);
363
364 if (seq_partial_read(f,seq,&pos,8,code_table_ver_567_keyboard) != 0)
365 return -1;
366 if (seq_partial_read(f,seq,&pos,8,code_table_ver_567_joystick) != 0)
367 return -1;
368 return 0;
369 }
370
371 static int input_port_read_ver_5(void *f, struct InputPort *in)
372 {
373 UINT32 i;
374 UINT16 w;
375 if (readint(f,&i) != 0)
376 return -1;
377 in->type = i;
378
379 if (readword(f,&w) != 0)
380 return -1;
381 in->mask = w;
382
383 if (readword(f,&w) != 0)
384 return -1;
385 in->default_value = w;
386
387 if (seq_read_ver_5(f,&in->seq) != 0)
388 return -1;
389 return 0;
390 }
391
392 static int input_port_read_ver_6(void *f, struct InputPort *in)
393 {
394 UINT32 i;
395 UINT16 w;
396 if (readint(f,&i) != 0)
397 return -1;
398 in->type = i;
399
400 if (readword(f,&w) != 0)
401 return -1;
402 in->mask = w;
403
404 if (readword(f,&w) != 0)
405 return -1;
406 in->default_value = w;
407
408 if (seq_read_ver_6(f,&in->seq) != 0)
409 return -1;
410 return 0;
411 }
412
413 static int input_port_read_ver_7(void *f, struct InputPort *in)
414 {
415 UINT32 i;
416 UINT16 w;
417 if (readint(f,&i) != 0)
418 return -1;
419 in->type = i;
420
421 if (readword(f,&w) != 0)
422 return -1;
423 in->mask = w;
424
425 if (readword(f,&w) != 0)
426 return -1;
427 in->default_value = w;
428
429 if (seq_read_ver_7(f,&in->seq) != 0)
430 return -1;
431 return 0;
432 }
433
434 #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26