diff --git a/src/devices/bus/coco/coco_fdc.cpp b/src/devices/bus/coco/coco_fdc.cpp index 037c155fb63..9c63dafe5ef 100644 --- a/src/devices/bus/coco/coco_fdc.cpp +++ b/src/devices/bus/coco/coco_fdc.cpp @@ -493,6 +493,40 @@ namespace DEFINE_DEVICE_TYPE(COCO3_HDB1, coco3_hdb1_device, "coco3_hdb1", "CoCo3 HDB-DOS") +//************************************************************************** +// COCO-2 HDB-DOS +//************************************************************************** + +ROM_START(coco2_hdb1) + ROM_REGION(0x8000, "eprom", ROMREGION_ERASE00) + ROM_LOAD("hdbdw3bck.rom", 0x0000, 0x2000, CRC(867a3f42) SHA1(8fd64f1c246489e0bf2b3743ae76332ff324716a)) + ROM_RELOAD(0x2000, 0x2000) + ROM_RELOAD(0x4000, 0x2000) + ROM_RELOAD(0x6000, 0x2000) +ROM_END + +namespace +{ + class coco2_hdb1_device : public coco_fdc_device_base + { + public: + // construction/destruction + coco2_hdb1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : coco_fdc_device_base(mconfig, COCO2_HDB1, tag, owner, clock) + { + } + + protected: + // optional information overrides + virtual const tiny_rom_entry *device_rom_region() const override + { + return ROM_NAME(coco2_hdb1); + } + }; +} + +DEFINE_DEVICE_TYPE(COCO2_HDB1, coco2_hdb1_device, "coco2_hdb1", "CoCo2 HDB-DOS") + //************************************************************************** // Prológica CP-450 BASIC Disco V. 1.0 (1984) // diff --git a/src/devices/bus/coco/coco_fdc.h b/src/devices/bus/coco/coco_fdc.h index 7ca2ca9e6fe..a926de64c91 100644 --- a/src/devices/bus/coco/coco_fdc.h +++ b/src/devices/bus/coco/coco_fdc.h @@ -64,6 +64,7 @@ private: extern const device_type COCO_FDC; extern const device_type COCO_FDC_V11; extern const device_type COCO3_HDB1; +extern const device_type COCO2_HDB1; extern const device_type CP450_FDC; extern const device_type CD6809_FDC; diff --git a/src/devices/bus/coco/coco_multi.cpp b/src/devices/bus/coco/coco_multi.cpp index e46d094aa8d..2333c2e4118 100644 --- a/src/devices/bus/coco/coco_multi.cpp +++ b/src/devices/bus/coco/coco_multi.cpp @@ -166,6 +166,7 @@ static SLOT_INTERFACE_START(coco_cart_slot1_3) SLOT_INTERFACE("pak", COCO_PAK) SLOT_INTERFACE_END static SLOT_INTERFACE_START(coco_cart_slot4) + SLOT_INTERFACE("cc2hdb1", COCO2_HDB1) SLOT_INTERFACE("cc3hdb1", COCO3_HDB1) SLOT_INTERFACE("fdcv11", COCO_FDC_V11) SLOT_INTERFACE("rs232", COCO_RS232) diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp index ae287d84915..78574399992 100644 --- a/src/mame/drivers/coco12.cpp +++ b/src/mame/drivers/coco12.cpp @@ -352,6 +352,7 @@ INPUT_PORTS_END SLOT_INTERFACE_START( coco_cart ) SLOT_INTERFACE("fdc", COCO_FDC) SLOT_INTERFACE("fdcv11", COCO_FDC_V11) + SLOT_INTERFACE("cc2hdb1", COCO2_HDB1) SLOT_INTERFACE("cc3hdb1", COCO3_HDB1) SLOT_INTERFACE("cp450_fdc", CP450_FDC) SLOT_INTERFACE("cd6809_fdc", CD6809_FDC)