summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ep64/exp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ep64/exp.h')
-rw-r--r--src/devices/bus/ep64/exp.h40
1 files changed, 6 insertions, 34 deletions
diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h
index cb29bab5049..88d3b4e61b9 100644
--- a/src/devices/bus/ep64/exp.h
+++ b/src/devices/bus/ep64/exp.h
@@ -47,40 +47,10 @@
#pragma once
-#include "sound/dave.h"
-
void ep64_expansion_bus_cards(device_slot_interface &device);
//**************************************************************************
-// MACROS / CONSTANTS
-//**************************************************************************
-
-#define EP64_EXPANSION_BUS_TAG "exp"
-
-//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_ADD(_tag, _def_slot) \
- MCFG_DEVICE_ADD(_tag, EP64_EXPANSION_BUS_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(ep64_expansion_bus_cards, _def_slot, false)
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_DAVE(_tag) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_dave_tag(_tag);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_IRQ_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_NMI_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
-
-#define MCFG_EP64_EXPANSION_BUS_SLOT_WAIT_CALLBACK(_write) \
- downcast<ep64_expansion_bus_slot_device &>(*device).set_wait_wr_callback(DEVCB_##_write);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -105,7 +75,8 @@ public:
}
ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <typename T> void set_dave_tag(T &&dave_tag) { m_dave.set_tag(std::forward<T>(dave_tag)); }
+ template <typename T> void set_program_space(T &&tag, int spacenum) { m_program_space.set_tag(std::forward<T>(tag), spacenum); }
+ template <typename T> void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward<T>(tag), spacenum); }
auto irq_wr() { return m_write_irq.bind(); }
auto nmi_wr() { return m_write_nmi.bind(); }
auto wait_wr() { return m_write_wait.bind(); }
@@ -114,8 +85,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
DECLARE_WRITE_LINE_MEMBER( wait_w ) { m_write_wait(state); }
- address_space& program() { return m_dave->space(AS_PROGRAM); }
- address_space& io() { return m_dave->space(AS_IO); }
+ address_space &program() { return *m_program_space; }
+ address_space &io() { return *m_io_space; }
protected:
// device-level overrides
@@ -128,7 +99,8 @@ private:
devcb_write_line m_write_nmi;
devcb_write_line m_write_wait;
- required_device<dave_device> m_dave;
+ required_address_space m_program_space;
+ required_address_space m_io_space;
device_ep64_expansion_bus_card_interface *m_card;
};