diff options
Diffstat (limited to 'src/devices/bus/oricext/oricext.cpp')
-rw-r--r-- | src/devices/bus/oricext/oricext.cpp | 24 |
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)); |