summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/dc-ctrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/dc-ctrl.h')
-rw-r--r--src/mame/machine/dc-ctrl.h82
1 files changed, 42 insertions, 40 deletions
diff --git a/src/mame/machine/dc-ctrl.h b/src/mame/machine/dc-ctrl.h
index 6d994289b70..3db218e3afc 100644
--- a/src/mame/machine/dc-ctrl.h
+++ b/src/mame/machine/dc-ctrl.h
@@ -9,29 +9,29 @@
#define MCFG_DC_CONTROLLER_ADD(_tag, _host_tag, _host_port, d0, d1, a0, a1, a2, a3, a4, a5) \
MCFG_MAPLE_DEVICE_ADD(_tag, DC_CONTROLLER, 0, _host_tag, _host_port) \
- downcast<dc_controller_device &>(*device).set_port_tag(0, d0); \
- downcast<dc_controller_device &>(*device).set_port_tag(1, d1); \
- downcast<dc_controller_device &>(*device).set_port_tag(2, a0); \
- downcast<dc_controller_device &>(*device).set_port_tag(3, a1); \
- downcast<dc_controller_device &>(*device).set_port_tag(4, a2); \
- downcast<dc_controller_device &>(*device).set_port_tag(5, a3); \
- downcast<dc_controller_device &>(*device).set_port_tag(6, a4); \
- downcast<dc_controller_device &>(*device).set_port_tag(7, a5);
+ downcast<dc_common_device &>(*device).set_port_tag(0, d0); \
+ downcast<dc_common_device &>(*device).set_port_tag(1, d1); \
+ downcast<dc_common_device &>(*device).set_port_tag(2, a0); \
+ downcast<dc_common_device &>(*device).set_port_tag(3, a1); \
+ downcast<dc_common_device &>(*device).set_port_tag(4, a2); \
+ downcast<dc_common_device &>(*device).set_port_tag(5, a3); \
+ downcast<dc_common_device &>(*device).set_port_tag(6, a4); \
+ downcast<dc_common_device &>(*device).set_port_tag(7, a5);
#define MCFG_DC_CONTROLLER_SET_ID(id) \
- downcast<dc_controller_device &>(*device).set_id(id);
+ downcast<dc_common_device &>(*device).set_id(id);
#define MCFG_DC_CONTROLLER_SET_LICENSE(license) \
- downcast<dc_controller_device &>(*device).set_license(license);
+ downcast<dc_common_device &>(*device).set_license(license);
#define MCFG_DC_CONTROLLER_SET_VERSIONS(versions) \
- ddowncast<dc_controller_device &>(*device).set_versions(versions);
+ ddowncast<dc_common_device &>(*device).set_versions(versions);
-class dc_controller_device : public maple_device
+class dc_common_device : public maple_device
{
public:
// construction/destruction
- dc_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ dc_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
void set_port_tag(int port, const char *tag) { port_tag[port] = tag; }
void set_id(const char *new_id) { id = new_id; }
@@ -44,50 +44,52 @@ protected:
// device-level overrides
virtual void device_start() override;
-private:
- void fixed_status(uint32_t *dest);
- void free_status(uint32_t *dest);
- void read(uint32_t *dest);
-
const char *port_tag[8];
const char *id, *license, *versions;
ioport_port *port[8];
+
+ virtual void fixed_status(uint32_t *dest) = 0;
+ virtual void free_status(uint32_t *dest) = 0;
+ virtual void read(uint32_t *dest) = 0;
+};
+
+class dc_controller_device : public dc_common_device
+{
+public:
+ // construction/destruction
+ dc_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+private:
+ void fixed_status(uint32_t *dest) override;
+ void free_status(uint32_t *dest) override;
+ void read(uint32_t *dest) override;
};
#define MCFG_DC_KEYBOARD_ADD(_tag, _host_tag, _host_port, d0, d1, a0, a1, a2, a3, a4, a5) \
MCFG_MAPLE_DEVICE_ADD(_tag, DC_KEYBOARD, 0, _host_tag, _host_port) \
- downcast<dc_controller_device &>(*device).set_port_tag(0, d0); \
- downcast<dc_controller_device &>(*device).set_port_tag(1, d1); \
- downcast<dc_controller_device &>(*device).set_port_tag(2, a0); \
- downcast<dc_controller_device &>(*device).set_port_tag(3, a1); \
- downcast<dc_controller_device &>(*device).set_port_tag(4, a2); \
- downcast<dc_controller_device &>(*device).set_port_tag(5, a3); \
- downcast<dc_controller_device &>(*device).set_port_tag(6, a4); \
- downcast<dc_controller_device &>(*device).set_port_tag(7, a5);
+ downcast<dc_common_device &>(*device).set_port_tag(0, d0); \
+ downcast<dc_common_device &>(*device).set_port_tag(1, d1); \
+ downcast<dc_common_device &>(*device).set_port_tag(2, a0); \
+ downcast<dc_common_device &>(*device).set_port_tag(3, a1); \
+ downcast<dc_common_device &>(*device).set_port_tag(4, a2); \
+ downcast<dc_common_device &>(*device).set_port_tag(5, a3); \
+ downcast<dc_common_device &>(*device).set_port_tag(6, a4); \
+ downcast<dc_common_device &>(*device).set_port_tag(7, a5);
-class dc_keyboard_device : public maple_device
+class dc_keyboard_device : public dc_common_device
{
public:
// construction/destruction
dc_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
- void maple_w(const uint32_t *data, uint32_t in_size) override;
-protected:
- // device-level overrides
- virtual void device_start() override;
+//protected:
private:
- void fixed_status(uint32_t *dest);
- void free_status(uint32_t *dest);
- void read(uint32_t *dest);
-
- const char *port_tag[8];
- const char *id, *license, *versions;
-
- ioport_port *port[8];
+ void fixed_status(uint32_t *dest) override;
+ void free_status(uint32_t *dest) override;
+ void read(uint32_t *dest) override;
};
DECLARE_DEVICE_TYPE(DC_CONTROLLER, dc_controller_device)