}
}
if((val & 0x40) != 0) {
- for(drive = 0; drive < MAX_FD; drive++) fdc->set_drive_type(drive, DRIVE_TYPE_2D);
+ for(drive = 0; drive < MAX_DRIVE; drive++) fdc->set_drive_type(drive, DRIVE_TYPE_2D);
//this->out_debug_log(_T("2D\n"));
} else {
- for(drive = 0; drive < MAX_FD; drive++) fdc->set_drive_type(drive, DRIVE_TYPE_2DD);
+ for(drive = 0; drive < MAX_DRIVE; drive++) fdc->set_drive_type(drive, DRIVE_TYPE_2DD);
//this->out_debug_log(_T("2DD\n"));
}
#endif
#define USE_BUBBLE1
#define USE_BUBBLE2
#define MAX_BUBBLE 2
-
+#define MAX_DRIVE 4
#elif defined(_FM7)
#define DEVICE_NAME "FUJITSU FM-7"
#define CONFIG_NAME "fm7"
#define CAPABLE_Z80
#define DIPSWITCH_DEFAULT 0x000000000
+#define MAX_DRIVE 4
#elif defined(_FMNEW7)
#define DEVICE_NAME "FUJITSU FM-NEW7"
#define CONFIG_NAME "fmnew7"
#define CAPABLE_Z80
#define DIPSWITCH_DEFAULT 0x000000000
+#define MAX_DRIVE 4
#elif defined(_FM77) || defined(_FM77L2)
# if defined(_FM77)
#define DEVICE_NAME "FUJITSU FM-77"
#define CONFIG_NAME "fm77"
#define DIPSWITCH_DEFAULT 0x00000001
-
# else
#define DEVICE_NAME "FUJITSU FM-77L2"
#define CONFIG_NAME "fm77l2"
# ifndef FM77_EXRAM_BANKS
# define FM77_EXRAM_BANKS 3
# endif
+#define MAX_DRIVE 4
#elif defined(_FM77L4)
#define DEVICE_NAME "FUJITSU FM-77L4"
# define FM77_EXRAM_BANKS 3
# endif
#define DIPSWITCH_DEFAULT 0x00000003
+#define MAX_DRIVE 4
#elif defined(_FM77AV)
#define DEVICE_NAME "FUJITSU FM77AV"
#define CONFIG_NAME "fm77av"
#define _FM77AV_VARIANTS
#define DIPSWITCH_DEFAULT 0x80000001
+#define MAX_DRIVE 2
#elif defined(_FM77AV20)
#define DEVICE_NAME "FUJITSU FM77AV20"
//#define USE_DRIVE_TYPE 2
#define CAPABLE_KANJI_CLASS2
#define DIPSWITCH_DEFAULT 0x80000001
+#define MAX_DRIVE 2
#elif defined(_FM77AV20EX)
#define DEVICE_NAME "FUJITSU FM77AV20EX"
#define CAPABLE_DICTROM
#define CAPABLE_KANJI_CLASS2
#define DIPSWITCH_DEFAULT 0x80000001
+#define MAX_DRIVE 4
#elif defined(_FM77AV40)
#define DEVICE_NAME "FUJITSU FM77AV40"
#define FM77_EXRAM_BANKS 12
#endif
#define DIPSWITCH_DEFAULT 0x8000000d
+#define MAX_DRIVE 4
#elif defined(_FM77AV40EX)
#define DEVICE_NAME "FUJITSU FM77AV40EX"
#define FM77_EXRAM_BANKS 12
#endif
#define DIPSWITCH_DEFAULT 0x8000000d
+#define MAX_DRIVE 4
#elif defined(_FM77AV40SX)
#define DEVICE_NAME "FUJITSU FM77AV40SX"
# define FM77_EXRAM_BANKS 12
# endif
#define DIPSWITCH_DEFAULT 0x8000000d
+#define MAX_DRIVE 4
#endif
{
DEVICE::initialize();
// initialize d88 handler
- _max_drive = osd->get_feature_int_value(_T("MAX_DRIVE"));
+ if(osd->check_feature(_T("MAX_DRIVE"))) {
+ _max_drive = osd->get_feature_int_value(_T("MAX_DRIVE"));
+ } else if(osd->check_feature(_T("MAX_FD"))) {
+ _max_drive = osd->get_feature_int_value(_T("MAX_FD"));
+ } else {
+ _max_drive = 1;
+ }
_drive_mask = _max_drive - 1;
for(int i = 0; i < _max_drive; i++) {
disk[i] = new DISK(emu);