mirror of
https://github.com/holub/mame
synced 2025-05-10 16:21:42 +03:00
Added a set of macros to minimize the amount of copy/pasting necessary to convert a device to the new style. [Harmony]
This commit is contained in:
parent
a862b86555
commit
e2f6e9c473
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -708,6 +708,7 @@ src/emu/machine/cdp1852.c svneol=native#text/plain
|
||||
src/emu/machine/cdp1852.h svneol=native#text/plain
|
||||
src/emu/machine/cr589.c svneol=native#text/plain
|
||||
src/emu/machine/cr589.h svneol=native#text/plain
|
||||
src/emu/machine/devhelpr.h svneol=native#text/plain
|
||||
src/emu/machine/ds1302.c svneol=native#text/plain
|
||||
src/emu/machine/ds1302.h svneol=native#text/plain
|
||||
src/emu/machine/ds2401.c svneol=native#text/plain
|
||||
|
43
src/emu/machine/devhelpr.h
Normal file
43
src/emu/machine/devhelpr.h
Normal file
@ -0,0 +1,43 @@
|
||||
/**********************************************************************
|
||||
|
||||
Generic modern device trampolines and other helpers, to minimize
|
||||
the amount of redundant copy/pasting between modernized devices.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __DEVHELPR_H__
|
||||
#define __DEVHELPR_H__
|
||||
|
||||
#define READ8_DEVICE_HANDLER_TRAMPOLINE(devname, funcname) \
|
||||
READ8_DEVICE_HANDLER( funcname ) \
|
||||
{ return downcast<devname##_device*>(device)->funcname(offset); } \
|
||||
UINT8 devname##_device::funcname(UINT32 offset)
|
||||
|
||||
#define WRITE8_DEVICE_HANDLER_TRAMPOLINE(devname, funcname) \
|
||||
WRITE8_DEVICE_HANDLER( funcname ) \
|
||||
{ downcast<devname##_device*>(device)->funcname(offset, data); } \
|
||||
void devname##_device::funcname(UINT32 offset, UINT8 data)
|
||||
|
||||
#define READ_LINE_DEVICE_HANDLER_TRAMPOLINE(devname, funcname) \
|
||||
READ_LINE_DEVICE_HANDLER( funcname ) \
|
||||
{ return downcast<devname##_device *>(device)->funcname(); } \
|
||||
void devname##_device::funcname()
|
||||
|
||||
#define WRITE_LINE_DEVICE_HANDLER_TRAMPOLINE(devname, funcname) \
|
||||
WRITE_LINE_DEVICE_HANDLER( funcname ) \
|
||||
{ return downcast<devname##_device *>(device)->funcname(state); } \
|
||||
void devname##_device::funcname(UINT8 state)
|
||||
|
||||
#define GENERIC_DEVICE_CONFIG_SETUP(devname, devtag) \
|
||||
devname##_device_config::devname##_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock) \
|
||||
: device_config(mconfig, static_alloc_device_config, devtag, tag, owner, clock) \
|
||||
{ } \
|
||||
\
|
||||
device_config *devname##_device_config::static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock) \
|
||||
{ return global_alloc(devname##_device_config(mconfig, tag, owner, clock)); } \
|
||||
\
|
||||
device_t *devname##_device_config::alloc_device(running_machine &machine) const \
|
||||
{ return auto_alloc(&machine, devname##_device(machine, *this)); }
|
||||
|
||||
|
||||
#endif // __DEVHELPR_H__
|
Loading…
Reference in New Issue
Block a user