summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/tmc600/euro.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/tmc600/euro.h')
-rw-r--r--src/devices/bus/tmc600/euro.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/src/devices/bus/tmc600/euro.h b/src/devices/bus/tmc600/euro.h
new file mode 100644
index 00000000000..78cafa63147
--- /dev/null
+++ b/src/devices/bus/tmc600/euro.h
@@ -0,0 +1,120 @@
+// license:BSD-3-Clause
+// copyright-holders:Curt Coder
+/**********************************************************************
+
+ Telercas Telmac TMC-600 euro bus emulation
+
+**********************************************************************
+
+ C A
+ GND * 1 * GND
+ D1 * 2 * D0
+ D3 * 3 * D2
+ D5 * 4 * D4
+ D7 * 5 * D6
+ GND * 6 * GND
+ A1 * 7 * A0
+ A3 * 8 * A2
+ A5 * 9 * A4
+ A7 * 10 * A6
+ A9 * 11 * A8
+ A11 * 12 * A10
+ A13 * 13 * A12
+ A15 * 14 * A14
+ GND * 15 * GND
+ TPB * 16 * CLOCK
+ _MWR * 17 * _CLEAR
+ _MRD * 18 * _WAIT
+ TPA * 19 * _DMAO
+ SC0 * 20 * _DMAI
+ SC1 * 21 * _INT
+ N0 * 22 * _EF1
+ N1 * 23 * _EF2
+ N2 * 24 * _EF3
+ Q * 25 * _EF4
+ _MI * 26 * _EMS
+ SP1 * 27 * SP2
+ GND * 28 * GND
+ -5V * 29 * -5V
+ +12v * 30 * +12V
+ +5V * 31 * +5V
+ +5V * 32 * +5V
+
+**********************************************************************/
+
+#ifndef MAME_DEVICES_TMC600_EURO_H
+#define MAME_DEVICES_TMC600_EURO_H
+
+#pragma once
+
+
+
+//**************************************************************************
+// CONSTANTS
+//**************************************************************************
+
+#define TMC600_EURO_BUS_TAG "bus"
+
+
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_TMC600_EURO_BUS_SLOT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, TMC600_EURO_BUS_SLOT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> device_tmc600_euro_bus_card_interface
+
+class tmc600_euro_bus_slot_t;
+
+class device_tmc600_euro_bus_card_interface : public device_slot_card_interface
+{
+public:
+
+protected:
+ // construction/destruction
+ device_tmc600_euro_bus_card_interface(const machine_config &mconfig, device_t &device);
+
+ tmc600_euro_bus_slot_t *m_slot;
+
+ friend class tmc600_euro_bus_slot_t;
+};
+
+
+// ======================> tmc600_euro_bus_slot_t
+
+class tmc600_euro_bus_slot_t : public device_t,
+ public device_slot_interface
+{
+public:
+ // construction/destruction
+ tmc600_euro_bus_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override { if (m_card) get_card_device()->reset(); }
+
+ device_tmc600_euro_bus_card_interface *m_card;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(TMC600_EURO_BUS_SLOT, tmc600_euro_bus_slot_t)
+
+
+SLOT_INTERFACE_EXTERN( tmc600_euro_bus_cards );
+
+
+typedef device_type_iterator<tmc600_euro_bus_slot_t> tmc600_euro_bus_slot_t_iterator;
+
+
+#endif // MAME_DEVICES_TMC600_EURO_H