mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +03:00
Added DEVICE_SELF_OWNER support for device callbacks. [Curt Coder]
This commit is contained in:
parent
607b2c09e1
commit
d625c435a3
@ -75,6 +75,9 @@ void devcb_resolve_read_line(devcb_resolved_read_line *resolved, const devcb_rea
|
|||||||
resolved->target = device;
|
resolved->target = device;
|
||||||
else if (config->type == DEVCB_TYPE_DRIVER)
|
else if (config->type == DEVCB_TYPE_DRIVER)
|
||||||
resolved->target = device->machine->driver_data();
|
resolved->target = device->machine->driver_data();
|
||||||
|
else
|
||||||
|
if (strcmp(config->tag, DEVICE_SELF_OWNER) == 0)
|
||||||
|
resolved->target = device->owner();
|
||||||
else
|
else
|
||||||
resolved->target = device->siblingdevice(config->tag);
|
resolved->target = device->siblingdevice(config->tag);
|
||||||
|
|
||||||
@ -176,6 +179,9 @@ void devcb_resolve_write_line(devcb_resolved_write_line *resolved, const devcb_w
|
|||||||
resolved->target = device;
|
resolved->target = device;
|
||||||
else if (config->type == DEVCB_TYPE_DRIVER)
|
else if (config->type == DEVCB_TYPE_DRIVER)
|
||||||
resolved->target = device->machine->driver_data();
|
resolved->target = device->machine->driver_data();
|
||||||
|
else
|
||||||
|
if (strcmp(config->tag, DEVICE_SELF_OWNER) == 0)
|
||||||
|
resolved->target = device->owner();
|
||||||
else
|
else
|
||||||
resolved->target = device->siblingdevice(config->tag);
|
resolved->target = device->siblingdevice(config->tag);
|
||||||
|
|
||||||
@ -253,8 +259,12 @@ void devcb_resolve_read8(devcb_resolved_read8 *resolved, const devcb_read8 *conf
|
|||||||
resolved->target = device;
|
resolved->target = device;
|
||||||
else if (config->type == DEVCB_TYPE_DRIVER)
|
else if (config->type == DEVCB_TYPE_DRIVER)
|
||||||
resolved->target = device->machine->driver_data();
|
resolved->target = device->machine->driver_data();
|
||||||
|
else
|
||||||
|
if (strcmp(config->tag, DEVICE_SELF_OWNER) == 0)
|
||||||
|
resolved->target = device->owner();
|
||||||
else
|
else
|
||||||
resolved->target = device->siblingdevice(config->tag);
|
resolved->target = device->siblingdevice(config->tag);
|
||||||
|
|
||||||
if (resolved->target == NULL)
|
if (resolved->target == NULL)
|
||||||
fatalerror("devcb_resolve_read8: unable to find device '%s' (requested by %s '%s')", config->tag, device->name(), device->tag());
|
fatalerror("devcb_resolve_read8: unable to find device '%s' (requested by %s '%s')", config->tag, device->name(), device->tag());
|
||||||
|
|
||||||
@ -328,8 +338,12 @@ void devcb_resolve_write8(devcb_resolved_write8 *resolved, const devcb_write8 *c
|
|||||||
resolved->target = device;
|
resolved->target = device;
|
||||||
else if (config->type == DEVCB_TYPE_DRIVER)
|
else if (config->type == DEVCB_TYPE_DRIVER)
|
||||||
resolved->target = device->machine->driver_data();
|
resolved->target = device->machine->driver_data();
|
||||||
|
else
|
||||||
|
if (strcmp(config->tag, DEVICE_SELF_OWNER) == 0)
|
||||||
|
resolved->target = device->owner();
|
||||||
else
|
else
|
||||||
resolved->target = device->siblingdevice(config->tag);
|
resolved->target = device->siblingdevice(config->tag);
|
||||||
|
|
||||||
if (resolved->target == NULL)
|
if (resolved->target == NULL)
|
||||||
fatalerror("devcb_resolve_write8: unable to find device '%s' (requested by %s '%s')", config->tag, device->name(), device->tag());
|
fatalerror("devcb_resolve_write8: unable to find device '%s' (requested by %s '%s')", config->tag, device->name(), device->tag());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user