mirror of
https://github.com/holub/mame
synced 2025-06-04 11:56:28 +03:00
bus/ep64: Use required_address_space instead of specific device finder (nw)
This commit is contained in:
parent
e5b288a158
commit
d48297261d
@ -49,7 +49,8 @@ ep64_expansion_bus_slot_device::ep64_expansion_bus_slot_device(const machine_con
|
|||||||
, m_write_irq(*this)
|
, m_write_irq(*this)
|
||||||
, m_write_nmi(*this)
|
, m_write_nmi(*this)
|
||||||
, m_write_wait(*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)
|
, m_card(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -47,18 +47,9 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "sound/dave.h"
|
|
||||||
|
|
||||||
|
|
||||||
void ep64_expansion_bus_cards(device_slot_interface &device);
|
void ep64_expansion_bus_cards(device_slot_interface &device);
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define EP64_EXPANSION_BUS_TAG "exp"
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// 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);
|
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 irq_wr() { return m_write_irq.bind(); }
|
||||||
auto nmi_wr() { return m_write_nmi.bind(); }
|
auto nmi_wr() { return m_write_nmi.bind(); }
|
||||||
auto wait_wr() { return m_write_wait.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( nmi_w ) { m_write_nmi(state); }
|
||||||
DECLARE_WRITE_LINE_MEMBER( wait_w ) { m_write_wait(state); }
|
DECLARE_WRITE_LINE_MEMBER( wait_w ) { m_write_wait(state); }
|
||||||
|
|
||||||
address_space& program() { return m_dave->space(AS_PROGRAM); }
|
address_space &program() { return *m_program_space; }
|
||||||
address_space& io() { return m_dave->space(AS_IO); }
|
address_space &io() { return *m_io_space; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -107,7 +99,8 @@ private:
|
|||||||
devcb_write_line m_write_nmi;
|
devcb_write_line m_write_nmi;
|
||||||
devcb_write_line m_write_wait;
|
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;
|
device_ep64_expansion_bus_card_interface *m_card;
|
||||||
};
|
};
|
||||||
|
@ -174,6 +174,7 @@ Notes: (All IC's shown)
|
|||||||
#define CASSETTE1_TAG "cassette1"
|
#define CASSETTE1_TAG "cassette1"
|
||||||
#define CASSETTE2_TAG "cassette2"
|
#define CASSETTE2_TAG "cassette2"
|
||||||
#define SCREEN_TAG "screen"
|
#define SCREEN_TAG "screen"
|
||||||
|
#define EP64_EXPANSION_BUS_TAG "exp"
|
||||||
|
|
||||||
class ep64_state : public driver_device
|
class ep64_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -602,7 +603,8 @@ void ep64_state::ep64(machine_config &config)
|
|||||||
|
|
||||||
// devices
|
// devices
|
||||||
EP64_EXPANSION_BUS_SLOT(config, m_exp, nullptr);
|
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->irq_wr().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||||
m_exp->nmi_wr().set_inputline(m_maincpu, INPUT_LINE_NMI);
|
m_exp->nmi_wr().set_inputline(m_maincpu, INPUT_LINE_NMI);
|
||||||
m_exp->wait_wr().set_inputline(m_maincpu, Z80_INPUT_LINE_BOGUSWAIT);
|
m_exp->wait_wr().set_inputline(m_maincpu, Z80_INPUT_LINE_BOGUSWAIT);
|
||||||
|
Loading…
Reference in New Issue
Block a user