2 Skelton for retropc emulator
4 Author : Takeda.Toshiya
13 // GIJUTSU-HYORON-SHA Babbase-2nd
15 #include "babbage2nd/babbage2nd.h"
18 // HITACHI BASIC Master Jr
20 #include "bmjr/bmjr.h"
23 // Systems Formulate BUBCOM80
25 #include "bubcom80/bubcom80.h"
33 // Hino Electronics CEFUCOM-21
35 #include "cefucom21/cefucom21.h"
38 // COLECO ColecoVision
40 #include "colecovision/colecovision.h"
43 // Computer Research CRC-80
45 #include "crc80/crc80.h"
50 #include "ex80bs/ex80bs.h"
53 // Nintendo Family BASIC
55 #include "familybasic/familybasic.h"
103 // FUJITSU FM77AV20EX
108 // FUJITSU FM77AV40EX
113 // FUJITSU FM77AV40SX
120 #include "fm16beta/fm16beta.h"
125 #include "fm16pi/fm16pi.h"
130 #include "fmr30/fmr30.h"
135 #include "fmr50/fmr50.h"
140 #include "fmr50/fmr50.h"
143 #if defined(_FMTOWNS_1) || defined(_FMTOWNS_2)
144 #include "fmtowns/fmtowns.h"
147 #if defined(_FMTOWNS_1F) || defined(_FMTOWNS_2F) || defined(_FMTOWNS_1H) || defined(_FMTOWNS_2H)
148 #include "fmtowns/fmtowns.h"
151 #if defined(_FMTOWNS_10F) || defined(_FMTOWNS_20F) || defined(_FMTOWNS_40H) || defined(_FMTOWNS_80H)
152 #include "fmtowns/fmtowns.h"
155 #if defined(_FMTOWNS2_UX10) || defined(_FMTOWNS2_UX20) || defined(_FMTOWNS2_UX40)
156 #include "fmtowns/fmtowns.h"
159 #if defined(_FMTOWNS2_CX10) || defined(_FMTOWNS2_CX20) || defined(_FMTOWNS2_CX40) || defined(_FMTOWNS2_CX100)
160 #include "fmtowns/fmtowns.h"
163 #if defined(_FMTOWNS2_HG20) || defined(_FMTOWNS2_HG40) || defined(_FMTOWNS2_HG100)
164 #include "fmtowns/fmtowns.h"
167 #if defined(_FMTOWNS2_HR20) || defined(_FMTOWNS2_HR100) || defined(_FMTOWNS2_HR200)
168 #include "fmtowns/fmtowns.h"
173 #include "fp200/fp200.h"
178 #include "fp1100/fp1100.h"
183 #include "msx/msx_ex.h"
188 #include "fx9000p/fx9000p.h"
193 #include "gamegear/gamegear.h"
198 #include "hc20/hc20.h"
203 #include "hc40/hc40.h"
208 #include "hc80/hc80.h"
211 // TOSHIBA HX-20 + FDD
213 #include "msx/msx_ex.h"
218 #include "j3100/j3100.h"
223 #include "j3100/j3100.h"
228 #include "jr100/jr100.h"
233 #include "jr200/jr200.h"
238 #include "jr800/jr800.h"
241 // IBM Japan Ltd PC/JX
263 #include "phc25/phc25.h"
266 // SEGA MASTER SYSTEM
268 #include "gamegear/mastersystem.h"
271 // Nippon Mail Service MICOM MAHJONG
272 #ifdef _MICOM_MAHJONG
273 #include "micom_mahjong/micom_mahjong.h"
278 #include "mp85/mp85.h"
283 //#include "msx/msx.h"
284 #include "msx/msx_ex.h"
289 //#include "msx/msx.h"
290 #include "msx/msx_ex.h"
295 #include "msx/msx_ex.h"
298 // MITSUBISHI Elec. MULTI8
300 #include "multi8/multi8.h"
303 // Japan Electronics College MYCOMZ-80A
305 #include "mycomz80a/mycomz80a.h"
310 #include "mz80k/mz80k.h"
315 #include "mz2500/mz80b.h"
320 #include "mz80k/mz80k.h"
325 #include "mz700/mz700.h"
330 #include "mz700/mz700.h"
335 #include "mz80k/mz80k.h"
340 #include "mz700/mz700.h"
345 #include "mz2500/mz80b.h"
350 #include "mz2500/mz2500.h"
355 #include "mz2800/mz2800.h"
360 #include "mz3500/mz3500.h"
365 #include "mz5500/mz5500.h"
370 #include "mz5500/mz5500.h"
375 #include "mz5500/mz5500.h"
380 #include "n5200/n5200.h"
385 #include "pasopia/pasopia.h"
390 #include "pasopia7/pasopia7.h"
395 #include "pc2001/pc2001.h"
400 #include "pc6001/pc6001.h"
405 #include "pc6001/pc6001.h"
410 #include "pc6001/pc6001.h"
415 #include "pc6001/pc6001.h"
420 #include "pc6001/pc6001.h"
425 #include "pc8801/pc8801.h"
430 #include "pc8801/pc8801.h"
435 #include "pc8801/pc8801.h"
440 #include "pc8201/pc8201.h"
445 #include "pc8201/pc8201.h"
450 #include "pc8801/pc8801.h"
455 #include "pc8801/pc8801.h"
460 #include "pc8801/pc8801.h"
465 #include "pc9801/pc9801.h"
470 #include "pc9801/pc9801.h"
475 #include "pc9801/pc9801.h"
480 #include "pc9801/pc9801.h"
485 #include "pc9801/pc9801.h"
490 #include "pc9801/pc9801.h"
495 #include "pc9801/pc9801.h"
500 #include "pc9801/pc9801.h"
505 #include "pc98ha/pc98ha.h"
510 #include "pc98ha/pc98ha.h"
515 #include "pc9801/pc9801.h"
520 #include "pc9801/pc9801.h"
525 #include "pc9801/pc9801.h"
530 #include "pc100/pc100.h"
535 #include "pcengine/pcengine.h"
540 #include "phc20/phc20.h"
545 #include "phc25/phc25.h"
550 #include "pv1000/pv1000.h"
555 #include "pv2000/pv2000.h"
560 //#include "msx/msx.h"
561 #include "msx/msx_ex.h"
566 #include "pyuta/pyuta.h"
571 #include "qc10/qc10.h"
576 #include "rx78/rx78.h"
581 #include "sc3000/sc3000.h"
584 // EPOCH Super Cassette Vision
591 #include "smb80te/smb80te.h"
596 #include "smc777/smc777.h"
601 #include "smc777/smc777.h"
604 // SPECTRAVIDEO SVI-3x8
606 #include "svi3x8/msx_ex.h"
609 // NEC TK-80BS (COMPO BS/80)
611 #include "tk80bs/tk80bs.h"
616 #include "tk80bs/tk80bs.h"
621 #include "tk80bs/tk80bs.h"
626 #include "trnjr/trnjr.h"
631 #include "tvboy/tvboy.h"
659 // Yuasa Kyouiku System YALKY
661 #include "yalky/yalky.h"
669 // SHINKO SANGYO YS-6464A
671 #include "ys6464a/ys6464a.h"
674 // Homebrew Z80 TV GAME SYSTEM
676 #include "z80tvgame/z80tvgame.h"
679 #ifndef WINDOW_MODE_BASE
680 #define WINDOW_MODE_BASE 1
683 #ifdef SCREEN_FAKE_WIDTH
684 #define WINDOW_WIDTH SCREEN_FAKE_WIDTH
686 #define WINDOW_WIDTH SCREEN_WIDTH
689 #ifndef WINDOW_HEIGHT
690 #ifdef SCREEN_FAKE_HEIGHT
691 #define WINDOW_HEIGHT SCREEN_FAKE_HEIGHT
693 #define WINDOW_HEIGHT SCREEN_HEIGHT
696 #ifndef WINDOW_WIDTH_ASPECT
697 #define WINDOW_WIDTH_ASPECT WINDOW_WIDTH
699 #ifndef WINDOW_HEIGHT_ASPECT
700 #define WINDOW_HEIGHT_ASPECT WINDOW_HEIGHT
703 #if defined(USE_CART) && !defined(BASE_CART_NUM)
704 #define BASE_CART_NUM 1
706 #if defined(USE_FLOPPY_DISK) && !defined(BASE_FLOPPY_DISK_NUM)
707 #define BASE_FLOPPY_DISK_NUM 1
709 #if defined(USE_QUICK_DISK) && !defined(BASE_QUICK_DISK_NUM)
710 #define BASE_QUICK_DISK_NUM 1
712 #if defined(USE_HARD_DISK) && !defined(BASE_HARD_DISK_NUM)
713 #define BASE_HARD_DISK_NUM 1
715 #if defined(USE_TAPE) && !defined(BASE_TAPE_NUM)
716 #define BASE_TAPE_NUM 1
718 #if defined(USE_COMPACT_DISC) && !defined(BASE_COMPACT_DISC_NUM)
719 #define BASE_COMPACT_DISC_NUM 1
721 #if defined(USE_LASER_DISC) && !defined(BASE_LASER_DISC_NUM)
722 #define BASE_LASER_DISC_NUM 1
724 #if defined(USE_BINARY_FILE) && !defined(BASE_BINARY_FILE_NUM)
725 #define BASE_BINARY_FILE_NUM 1
727 #if defined(USE_BUBBLE) && !defined(BASE_BUBBLE_NUM)
728 #define BASE_BUBBLE_NUM 1
731 #ifndef KEY_KEEP_FRAMES
732 #define KEY_KEEP_FRAMES 3