From d48297261dd29646243caad3045504f992e5f644 Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 26 Feb 2019 00:06:10 -0500 Subject: [PATCH] bus/ep64: Use required_address_space instead of specific device finder (nw) --- src/devices/bus/ep64/exp.cpp | 3 ++- src/devices/bus/ep64/exp.h | 19 ++++++------------- src/mame/drivers/ep64.cpp | 4 +++- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/devices/bus/ep64/exp.cpp b/src/devices/bus/ep64/exp.cpp index 32ef220519d..c241fb68c08 100644 --- a/src/devices/bus/ep64/exp.cpp +++ b/src/devices/bus/ep64/exp.cpp @@ -49,7 +49,8 @@ ep64_expansion_bus_slot_device::ep64_expansion_bus_slot_device(const machine_con , m_write_irq(*this) , m_write_nmi(*this) , m_write_wait(*this) - , m_dave(*this, finder_base::DUMMY_TAG) + , m_program_space(*this, finder_base::DUMMY_TAG, -1) + , m_io_space(*this, finder_base::DUMMY_TAG, -1) , m_card(nullptr) { } diff --git a/src/devices/bus/ep64/exp.h b/src/devices/bus/ep64/exp.h index 43e666c1ae1..88d3b4e61b9 100644 --- a/src/devices/bus/ep64/exp.h +++ b/src/devices/bus/ep64/exp.h @@ -47,18 +47,9 @@ #pragma once -#include "sound/dave.h" - void ep64_expansion_bus_cards(device_slot_interface &device); -//************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - -#define EP64_EXPANSION_BUS_TAG "exp" - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -84,7 +75,8 @@ public: } ep64_expansion_bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template void set_dave_tag(T &&dave_tag) { m_dave.set_tag(std::forward(dave_tag)); } + template void set_program_space(T &&tag, int spacenum) { m_program_space.set_tag(std::forward(tag), spacenum); } + template void set_io_space(T &&tag, int spacenum) { m_io_space.set_tag(std::forward(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(); } @@ -93,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 @@ -107,7 +99,8 @@ private: devcb_write_line m_write_nmi; devcb_write_line m_write_wait; - required_device m_dave; + required_address_space m_program_space; + required_address_space m_io_space; device_ep64_expansion_bus_card_interface *m_card; }; diff --git a/src/mame/drivers/ep64.cpp b/src/mame/drivers/ep64.cpp index 8edc0be106b..9f1ecf7ec48 100644 --- a/src/mame/drivers/ep64.cpp +++ b/src/mame/drivers/ep64.cpp @@ -174,6 +174,7 @@ Notes: (All IC's shown) #define CASSETTE1_TAG "cassette1" #define CASSETTE2_TAG "cassette2" #define SCREEN_TAG "screen" +#define EP64_EXPANSION_BUS_TAG "exp" class ep64_state : public driver_device { @@ -602,7 +603,8 @@ void ep64_state::ep64(machine_config &config) // devices EP64_EXPANSION_BUS_SLOT(config, m_exp, nullptr); - m_exp->set_dave_tag(m_dave); + m_exp->set_program_space(m_dave, AS_PROGRAM); + m_exp->set_io_space(m_dave, AS_IO); m_exp->irq_wr().set_inputline(m_maincpu, INPUT_LINE_IRQ0); m_exp->nmi_wr().set_inputline(m_maincpu, INPUT_LINE_NMI); m_exp->wait_wr().set_inputline(m_maincpu, Z80_INPUT_LINE_BOGUSWAIT);