OSDN Git Service

[VM] Add EMU::set_vm_screen_lines() to some VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / vm.h
1 /*
2         Skelton for retropc emulator
3
4         Author : Takeda.Toshiya
5         Date   : 2006.08.18 -
6
7         [ common header ]
8 */
9
10 #ifndef _VM_H_
11 #define _VM_H_
12
13 // GIJUTSU-HYORON-SHA Babbase-2nd
14 #ifdef _BABBAGE2ND
15 #include "babbage2nd/babbage2nd.h"
16 #endif
17
18 // HITACHI BASIC Master Jr
19 #ifdef _BMJR
20 #include "bmjr/bmjr.h"
21 #endif
22
23 // COLECO ColecoVision
24 #ifdef _COLECOVISION
25 #include "colecovision/colecovision.h"
26 #endif
27
28 // TOSHIBA EX-80
29 #ifdef _EX80
30 #include "ex80/ex80.h"
31 #endif
32
33 // Nintendo Family BASIC
34 #ifdef _FAMILYBASIC
35 #include "familybasic/familybasic.h"
36 #endif
37
38 // FUJITSU FM-8
39 #ifdef _FM8
40 #include "fm7/fm7.h"
41 #endif
42
43 // FUJITSU FM-7
44 #ifdef _FM7
45 #include "fm7/fm7.h"
46 #endif
47
48 // FUJITSU FM-NEW7
49 #ifdef _FMNEW7
50 #include "fm7/fm7.h"
51 #endif
52
53 // FUJITSU FM-77
54 #ifdef _FM77
55 #include "fm7/fm7.h"
56 #endif
57
58 // FUJITSU FM-77L2
59 #ifdef _FM77L2
60 #include "fm7/fm7.h"
61 #endif
62
63 // FUJITSU FM-77L4
64 #ifdef _FM77L4
65 #include "fm7/fm7.h"
66 #endif
67
68 // FUJITSU FM77AV
69 #ifdef _FM77AV
70 #include "fm7/fm7.h"
71 #endif
72
73 // FUJITSU FM77AV20
74 #ifdef _FM77AV20
75 #include "fm7/fm7.h"
76 #endif
77
78 // FUJITSU FM77AV40
79 #ifdef _FM77AV40
80 #include "fm7/fm7.h"
81 #endif
82
83 // FUJITSU FM77AV20EX
84 #ifdef _FM77AV20EX
85 #include "fm7/fm7.h"
86 #endif
87
88 // FUJITSU FM77AV40EX
89 #ifdef _FM77AV40EX
90 #include "fm7/fm7.h"
91 #endif
92
93 // FUJITSU FM77AV40SX
94 #ifdef _FM77AV40SX
95 #include "fm7/fm7.h"
96 #endif
97
98 // FUJITSU FM16pi
99 #ifdef _FM16PI
100 #include "fm16pi/fm16pi.h"
101 #endif
102
103 // FUJITSU FMR-30
104 #ifdef _FMR30
105 #include "fmr30/fmr30.h"
106 #endif
107
108 // FUJITSU FMR-50
109 #ifdef _FMR50
110 #include "fmr50/fmr50.h"
111 #endif
112
113 // FUJITSU FMR-60
114 #ifdef _FMR60
115 #include "fmr50/fmr50.h"
116 #endif
117
118 // CASIO FP-200
119 #ifdef _FP200
120 #include "fp200/fp200.h"
121 #endif
122
123 // CASIO FP-1100
124 #ifdef _FP1100
125 #include "fp1100/fp1100.h"
126 #endif
127
128 // Panasonic FS-A1
129 #ifdef _FSA1
130 #include "msx/msx_ex.h"
131 #endif
132
133 // SEGA GAME GEAR
134 #ifdef _GAMEGEAR
135 #include "gamegear/gamegear.h"
136 #endif
137
138 // EPSON HC-20
139 #ifdef _HC20
140 #include "hc20/hc20.h"
141 #endif
142
143 // EPSON HC-40
144 #ifdef _HC40
145 #include "hc40/hc40.h"
146 #endif
147
148 // EPSON HC-80
149 #ifdef _HC80
150 #include "hc80/hc80.h"
151 #endif
152
153 // TOSHIBA HX-20 + FDD
154 #ifdef _HX20
155 #include "msx/msx_ex.h"
156 #endif
157
158 // TOSHIBA J-3100GT
159 #ifdef _J3100GT
160 #include "j3100/j3100.h"
161 #endif
162
163 // TOSHIBA J-3100SL
164 #ifdef _J3100SL
165 #include "j3100/j3100.h"
166 #endif
167
168 // National JR-100
169 #ifdef _JR100
170 #include "jr100/jr100.h"
171 #endif
172
173 // National JR-200
174 #ifdef _JR200
175 #include "jr200/jr200.h"
176 #endif
177
178 // National JR-800
179 #ifdef _JR800
180 #include "jr800/jr800.h"
181 #endif
182
183 // IBM Japan Ltd PC/JX
184 #ifdef _JX
185 #include "jx/jx.h"
186 #endif
187
188 // SORD m5
189 #ifdef _M5
190 #include "m5/m5.h"
191 #endif
192
193 // SEIKO MAP-1010
194 #ifdef _MAP1010
195 #include "phc25/phc25.h"
196 #endif
197
198 // SEGA MASTER SYSTEM
199 #ifdef _MASTERSYSTEM
200 #include "gamegear/mastersystem.h"
201 #endif
202
203 // ASCII MSX
204 #ifdef _MSX1
205 //#include "msx/msx.h"
206 #include "msx/msx_ex.h"
207 #endif
208
209 // ASCII MSX2
210 #ifdef _MSX2
211 //#include "msx/msx.h"
212 #include "msx/msx_ex.h"
213 #endif
214
215 // ASCII MSX2+
216 #ifdef _MSX2P
217 #include "msx/msx_ex.h"
218 #endif
219
220 // MITSUBISHI Elec. MULTI8
221 #ifdef _MULTI8
222 #include "multi8/multi8.h"
223 #endif
224
225 // Japan Electronics College MYCOMZ-80A
226 #ifdef _MYCOMZ80A
227 #include "mycomz80a/mycomz80a.h"
228 #endif
229
230 // SHARP MZ-80A
231 #ifdef _MZ80A
232 #include "mz80k/mz80k.h"
233 #endif
234
235 // SHARP MZ-80B
236 #ifdef _MZ80B
237 #include "mz2500/mz80b.h"
238 #endif
239
240 // SHARP MZ-80K
241 #ifdef _MZ80K
242 #include "mz80k/mz80k.h"
243 #endif
244
245 // SHARP MZ-700
246 #ifdef _MZ700
247 #include "mz700/mz700.h"
248 #endif
249
250 // SHARP MZ-800
251 #ifdef _MZ800
252 #include "mz700/mz700.h"
253 #endif
254
255 // SHARP MZ-1200
256 #ifdef _MZ1200
257 #include "mz80k/mz80k.h"
258 #endif
259
260 // SHARP MZ-1500
261 #ifdef _MZ1500
262 #include "mz700/mz700.h"
263 #endif
264
265 // SHARP MZ-2200
266 #ifdef _MZ2200
267 #include "mz2500/mz80b.h"
268 #endif
269
270 // SHARP MZ-2500
271 #ifdef _MZ2500
272 #include "mz2500/mz2500.h"
273 #endif
274
275 // SHARP MZ-2800
276 #ifdef _MZ2800
277 #include "mz2800/mz2800.h"
278 #endif
279
280 // SHARP MZ-3500
281 #ifdef _MZ3500
282 #include "mz3500/mz3500.h"
283 #endif
284
285 // SHARP MZ-5500
286 #ifdef _MZ5500
287 #include "mz5500/mz5500.h"
288 #endif
289
290 // SHARP MZ-6500
291 #ifdef _MZ6500
292 #include "mz5500/mz5500.h"
293 #endif
294
295 // SHARP MZ-6550
296 #ifdef _MZ6550
297 #include "mz5500/mz5500.h"
298 #endif
299
300 // NEC N5200
301 #ifdef _N5200
302 #include "n5200/n5200.h"
303 #endif
304
305 // TOSHIBA PASOPIA
306 #ifdef _PASOPIA
307 #include "pasopia/pasopia.h"
308 #endif
309
310 // TOSHIBA PASOPIA 7
311 #ifdef _PASOPIA7
312 #include "pasopia7/pasopia7.h"
313 #endif
314
315 // NEC PC-2001
316 #ifdef _PC2001
317 #include "pc2001/pc2001.h"
318 #endif
319
320 // NEC PC-6001
321 #ifdef _PC6001
322 #include "pc6001/pc6001.h"
323 #endif
324
325 // NEC PC-6001mkII
326 #ifdef _PC6001MK2
327 #include "pc6001/pc6001.h"
328 #endif
329
330 // NEC PC-6001mkIISR
331 #ifdef _PC6001MK2SR
332 #include "pc6001/pc6001.h"
333 #endif
334
335 // NEC PC-6601
336 #ifdef _PC6601
337 #include "pc6001/pc6001.h"
338 #endif
339
340 // NEC PC-6601SR
341 #ifdef _PC6601SR
342 #include "pc6001/pc6001.h"
343 #endif
344
345 // NEC PC-8001mkIISR
346 #ifdef _PC8001SR
347 #include "pc8801/pc8801.h"
348 #endif
349
350 // NEC PC-8201
351 #ifdef _PC8201
352 #include "pc8201/pc8201.h"
353 #endif
354
355 // NEC PC-8201A
356 #ifdef _PC8201A
357 #include "pc8201/pc8201.h"
358 #endif
359
360 // NEC PC-8801MA
361 #ifdef _PC8801MA
362 #include "pc8801/pc8801.h"
363 #endif
364
365 // NEC PC-9801
366 #ifdef _PC9801
367 #include "pc9801/pc9801.h"
368 #endif
369
370 // NEC PC-9801E/F/M
371 #ifdef _PC9801E
372 #include "pc9801/pc9801.h"
373 #endif
374
375 // NEC PC-9801U
376 #ifdef _PC9801U
377 #include "pc9801/pc9801.h"
378 #endif
379
380 // NEC PC-9801VF
381 #ifdef _PC9801VF
382 #include "pc9801/pc9801.h"
383 #endif
384
385 // NEC PC-9801VM
386 #ifdef _PC9801VM
387 #include "pc9801/pc9801.h"
388 #endif
389
390 // NEC PC-9801VX
391 #ifdef _PC9801VX
392 #include "pc9801/pc9801.h"
393 #endif
394
395 // NEC PC-9801RA
396 #ifdef _PC9801RA
397 #include "pc9801/pc9801.h"
398 #endif
399
400 // NEC PC-98DO
401 #ifdef _PC98DO
402 #include "pc9801/pc9801.h"
403 #endif
404
405 // NEC PC-98HA
406 #ifdef _PC98HA
407 #include "pc98ha/pc98ha.h"
408 #endif
409
410 // NEC PC-98LT
411 #ifdef _PC98LT
412 #include "pc98ha/pc98ha.h"
413 #endif
414
415 // NEC PC-100
416 #ifdef _PC100
417 #include "pc100/pc100.h"
418 #endif
419
420 // NEC-HE PC Engine
421 #ifdef _PCENGINE
422 #include "pcengine/pcengine.h"
423 #endif
424
425 // SANYO PHC-20
426 #ifdef _PHC20
427 #include "phc20/phc20.h"
428 #endif
429
430 // SANYO PHC-25
431 #ifdef _PHC25
432 #include "phc25/phc25.h"
433 #endif
434
435 // CASIO PV-1000
436 #ifdef _PV1000
437 #include "pv1000/pv1000.h"
438 #endif
439
440 // CASIO PV-2000
441 #ifdef _PV2000
442 #include "pv2000/pv2000.h"
443 #endif
444
445 // PIONEER PX-7
446 #ifdef _PX7
447 //#include "msx/msx.h"
448 #include "msx/msx_ex.h"
449 #endif
450
451 // TOMY PYUTA
452 #ifdef _PYUTA
453 #include "pyuta/pyuta.h"
454 #endif
455
456 // EPSON QC-10
457 #ifdef _QC10
458 #include "qc10/qc10.h"
459 #endif
460
461 // BANDAI RX-78
462 #ifdef _RX78
463 #include "rx78/rx78.h"
464 #endif
465
466 // SEGA SC-3000
467 #ifdef _SC3000
468 #include "sc3000/sc3000.h"
469 #endif
470
471 // EPOCH Super Cassette Vision
472 #ifdef _SCV
473 #include "scv/scv.h"
474 #endif
475
476 // SHARP SM-B-80TE
477 #ifdef _SMB80TE
478 #include "smb80te/smb80te.h"
479 #endif
480
481 // SONY SMC-70
482 #ifdef _SMC70
483 #include "smc777/smc777.h"
484 #endif
485
486 // SONY SMC-777
487 #ifdef _SMC777
488 #include "smc777/smc777.h"
489 #endif
490
491 // NEC TK-80BS (COMPO BS/80)
492 #ifdef _TK80BS
493 #include "tk80bs/tk80bs.h"
494 #endif
495
496 // NEC TK-80
497 #ifdef _TK80
498 #include "tk80bs/tk80bs.h"
499 #endif
500
501 // NEC TK-85
502 #ifdef _TK85
503 #include "tk80bs/tk80bs.h"
504 #endif
505
506 // CANON X-07
507 #ifdef _X07
508 #include "x07/x07.h"
509 #endif
510
511 // SHARP X1
512 #ifdef _X1
513 #include "x1/x1.h"
514 #endif
515
516 // SHARP X1twin
517 #ifdef _X1TWIN
518 #include "x1/x1.h"
519 #endif
520
521 // SHARP X1turbo
522 #ifdef _X1TURBO
523 #include "x1/x1.h"
524 #endif
525
526 // SHARP X1turboZ
527 #ifdef _X1TURBOZ
528 #include "x1/x1.h"
529 #endif
530
531 // Yuasa Kyouiku System YALKY
532 #ifdef _YALKY
533 #include "yalky/yalky.h"
534 #endif
535
536 // YAMAHA YIS
537 #ifdef _YIS
538 #include "yis/yis.h"
539 #endif
540
541 // SHINKO SANGYO YS-6464A
542 #ifdef _YS6464A
543 #include "ys6464a/ys6464a.h"
544 #endif
545
546 // Homebrew Z80 TV GAME SYSTEM
547 #ifdef _Z80TVGAME
548 #include "z80tvgame/z80tvgame.h"
549 #endif
550
551 #ifndef WINDOW_MODE_BASE
552         #define WINDOW_MODE_BASE 1
553 #endif
554 #ifndef WINDOW_WIDTH
555         #ifdef SCREEN_FAKE_WIDTH
556                 #define WINDOW_WIDTH SCREEN_FAKE_WIDTH
557         #else
558                 #define WINDOW_WIDTH SCREEN_WIDTH
559         #endif
560 #endif
561 #ifndef WINDOW_HEIGHT
562         #ifdef SCREEN_FAKE_HEIGHT
563                 #define WINDOW_HEIGHT SCREEN_FAKE_HEIGHT
564         #else
565                 #define WINDOW_HEIGHT SCREEN_HEIGHT
566         #endif
567 #endif
568 #ifndef WINDOW_WIDTH_ASPECT
569         #define WINDOW_WIDTH_ASPECT WINDOW_WIDTH
570 #endif
571 #ifndef WINDOW_HEIGHT_ASPECT
572         #define WINDOW_HEIGHT_ASPECT WINDOW_HEIGHT
573 #endif
574
575 #ifndef MAX_CART
576         #if defined(USE_CART2)
577                 #define MAX_CART        2
578         #elif defined(USE_CART1)
579                 #define MAX_CART        1
580         #endif
581 #endif
582 #ifndef CART_BASE_NUMBER
583         #define CART_BASE_NUMBER        1
584 #endif
585
586 #ifndef MAX_FD
587         #if defined(USE_FD8)
588                 #define MAX_FD          8
589         #elif defined(USE_FD7)
590                 #define MAX_FD          7
591         #elif defined(USE_FD6)
592                 #define MAX_FD          6
593         #elif defined(USE_FD5)
594                 #define MAX_FD          5
595         #elif defined(USE_FD4)
596                 #define MAX_FD          4
597         #elif defined(USE_FD3)
598                 #define MAX_FD          3
599         #elif defined(USE_FD2)
600                 #define MAX_FD          2
601         #elif defined(USE_FD1)
602                 #define MAX_FD          1
603         #endif
604 #endif
605 #ifndef FD_BASE_NUMBER
606         #define FD_BASE_NUMBER          1
607 #endif
608
609 #ifndef MAX_QD
610         #if defined(USE_QD2)
611                 #define MAX_QD          2
612         #elif defined(USE_QD1)
613                 #define MAX_QD          1
614         #endif
615 #endif
616 #ifndef QD_BASE_NUMBER
617         #define QD_BASE_NUMBER          1
618 #endif
619
620 #ifndef MAX_TAPE
621         #if defined(USE_TAPE2)
622                 #define MAX_TAPE        2
623         #elif defined(USE_TAPE1)
624                 #define MAX_TAPE        1
625         #endif
626 #endif
627 #ifndef TAPE_BASE_NUMBER
628         #define TAPE_BASE_NUMBER        1
629 #endif
630
631 #ifndef MAX_BINARY
632         #if defined(USE_BINARY_FILE2)
633                 #define MAX_BINARY      2
634         #elif defined(USE_BINARY_FILE1)
635                 #define MAX_BINARY      1
636         #endif
637 #endif
638 #ifndef BINARY_BASE_NUMBER
639         #define BINARY_BASE_NUMBER      1
640 #endif
641
642 #ifndef MAX_BUBBLE
643         #if defined(USE_BUBBLE2)
644                 #define MAX_BUBBLE      2
645         #elif defined(USE_BUBBLE1)
646                 #define MAX_BUBBLE      1
647         #endif
648 #endif
649 #ifndef BUBBLE_BASE_NUMBER
650         #define BUBBLE_BASE_NUMBER      1
651 #endif
652
653 #ifndef KEY_KEEP_FRAMES
654         #define KEY_KEEP_FRAMES 3
655 #endif
656
657 #endif