diff options
Diffstat (limited to 'src/devices/bus/ep64/exp.h')
-rw-r--r-- | src/devices/bus/ep64/exp.h | 40 |
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; }; |