From 46adb9df434d86e030963bda9a80ea9e60a60f4f Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Mon, 5 Aug 2013 05:54:32 +0000 Subject: [PATCH] Workaround for finding screens owned by device_video_interface devices. The typical usage pattern is the video device controls a screen that is owned by its owner, not by the device itself. The nubus video cards break this model, so they need to compute the full path to the screen device in order for it to be found. --- src/mess/video/nubus_48gc.c | 5 +++-- src/mess/video/nubus_48gc.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mess/video/nubus_48gc.c b/src/mess/video/nubus_48gc.c index f0e195f51a4..441663cb4a6 100644 --- a/src/mess/video/nubus_48gc.c +++ b/src/mess/video/nubus_48gc.c @@ -77,9 +77,10 @@ const rom_entry *nubus_824gc_device::device_rom_region() const jmfb_device::jmfb_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : device_t(mconfig, type, name, tag, owner, clock, shortname, source), device_video_interface(mconfig, *this), - device_nubus_card_interface(mconfig, *this) + device_nubus_card_interface(mconfig, *this), + m_assembled_tag(tag, ":", GC48_SCREEN_NAME) { - m_screen_tag = GC48_SCREEN_NAME; + m_screen_tag = m_assembled_tag; } nubus_48gc_device::nubus_48gc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : diff --git a/src/mess/video/nubus_48gc.h b/src/mess/video/nubus_48gc.h index 625669bdebb..f95d374e78d 100644 --- a/src/mess/video/nubus_48gc.h +++ b/src/mess/video/nubus_48gc.h @@ -45,6 +45,7 @@ public: UINT32 m_registers[0x100]; int m_xres, m_yres; bool m_is824; + astring m_assembled_tag; }; class nubus_48gc_device : public jmfb_device