diff options
Diffstat (limited to 'src/mess/drivers/dragon.c')
-rw-r--r-- | src/mess/drivers/dragon.c | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/src/mess/drivers/dragon.c b/src/mess/drivers/dragon.c index 3a95025fd49..61375867d28 100644 --- a/src/mess/drivers/dragon.c +++ b/src/mess/drivers/dragon.c @@ -18,7 +18,8 @@ #include "bus/coco/coco_pak.h" #include "bus/coco/coco_fdc.h" #include "bus/coco/coco_multi.h" -#include "formats/coco_dsk.h" +#include "formats/vdk_dsk.h" +#include "formats/dmk_dsk.h" #include "imagedev/flopdrv.h" @@ -125,12 +126,19 @@ static SLOT_INTERFACE_START(dragon_cart) SLOT_INTERFACE("pak", COCO_PAK) SLOT_INTERFACE_END -static const floppy_interface coco_floppy_interface = -{ - FLOPPY_STANDARD_5_25_DSHD, - LEGACY_FLOPPY_OPTIONS_NAME(coco), - NULL -}; +FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats ) + FLOPPY_VDK_FORMAT, + FLOPPY_DMK_FORMAT +FLOPPY_FORMATS_END + +static SLOT_INTERFACE_START( dragon_floppies ) + SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) + SLOT_INTERFACE("sd", FLOPPY_525_SD) + SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) + SLOT_INTERFACE("dd", FLOPPY_525_DD) + SLOT_INTERFACE("ssqd", FLOPPY_525_SSQD) + SLOT_INTERFACE("qd", FLOPPY_525_QD) +SLOT_INTERFACE_END static MACHINE_CONFIG_START( dragon_base, dragon_state ) // basic machine hardware @@ -237,12 +245,14 @@ static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state ) MCFG_MOS6551_XTAL(XTAL_1_8432MHz) // floppy - MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(coco_floppy_interface) - - MCFG_DEVICE_ADD(WD2797_TAG, WD2797, 0) - MCFG_WD17XX_DEFAULT_DRIVE4_TAGS - MCFG_WD17XX_INTRQ_CALLBACK(WRITELINE(dragon_alpha_state, fdc_intrq_w)) - MCFG_WD17XX_DRQ_CALLBACK(WRITELINE(dragon_alpha_state, fdc_drq_w)) + MCFG_WD2797_ADD(WD2797_TAG, XTAL_1MHz) + MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(dragon_alpha_state, fdc_intrq_w)) + MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(dragon_alpha_state, fdc_drq_w)) + + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":0", dragon_floppies, "qd", dragon_alpha_state::dragon_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":1", dragon_floppies, "qd", dragon_alpha_state::dragon_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":2", dragon_floppies, "qd", dragon_alpha_state::dragon_formats) + MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG ":3", dragon_floppies, "qd", dragon_alpha_state::dragon_formats) // sound hardware MCFG_SOUND_ADD(AY8912_TAG, AY8912, 1000000) |