summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/oricext/oricext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/oricext/oricext.cpp')
-rw-r--r--src/devices/bus/oricext/oricext.cpp24
1 files changed, 3 insertions, 21 deletions
diff --git a/src/devices/bus/oricext/oricext.cpp b/src/devices/bus/oricext/oricext.cpp
index 48dbb7c6a28..c678edc0ef6 100644
--- a/src/devices/bus/oricext/oricext.cpp
+++ b/src/devices/bus/oricext/oricext.cpp
@@ -11,7 +11,7 @@ oricext_connector::oricext_connector(const machine_config &mconfig, const char *
device_t(mconfig, ORICEXT_CONNECTOR, tag, owner, clock),
device_single_card_slot_interface<device_oricext_interface>(mconfig, *this),
irq_handler(*this),
- cputag(nullptr)
+ cpu(*this, finder_base::DUMMY_TAG)
{
}
@@ -19,11 +19,6 @@ oricext_connector::~oricext_connector()
{
}
-void oricext_connector::set_cputag(const char *tag)
-{
- cputag = tag;
-}
-
void oricext_connector::device_start()
{
irq_handler.resolve_safe();
@@ -34,16 +29,8 @@ void oricext_connector::irq_w(int state)
irq_handler(state);
}
-void oricext_connector::device_config_complete()
-{
- device_oricext_interface *dev = get_card_device();
- if(dev)
- dev->set_cputag(cputag);
-}
-
device_oricext_interface::device_oricext_interface(const machine_config &mconfig, device_t &device) :
device_interface(device, "oricext"),
- cputag(nullptr),
cpu(nullptr),
connector(nullptr),
bank_c000_r(nullptr),
@@ -57,22 +44,17 @@ device_oricext_interface::device_oricext_interface(const machine_config &mconfig
{
}
-void device_oricext_interface::set_cputag(const char *tag)
-{
- cputag = tag;
-}
-
void device_oricext_interface::interface_pre_start()
{
- cpu = device().machine().device<m6502_device>(cputag);
connector = downcast<oricext_connector *>(device().owner());
+ cpu = connector->cpu.target();
bank_c000_r = device().membank(":bank_c000_r");
bank_e000_r = device().membank(":bank_e000_r");
bank_f800_r = device().membank(":bank_f800_r");
bank_c000_w = device().membank(":bank_c000_w");
bank_e000_w = device().membank(":bank_e000_w");
bank_f800_w = device().membank(":bank_f800_w");
- rom = (uint8_t *)device().machine().root_device().memregion(cputag)->base();
+ rom = (uint8_t *)cpu->memregion(DEVICE_SELF)->base();
ram = (uint8_t *)device().memshare(":ram")->ptr();
memset(junk_read, 0xff, sizeof(junk_read));