summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-08-30 07:34:38 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-08-30 07:34:38 +0000
commit34f2444d32be90c9d4bedc9892dcf9b727c8fa90 (patch)
tree6e9c30c810d8957125d41f2203ff111a48f6cbec /src
parent5367018ea15c35c82b5f19d0d67eda4553687f40 (diff)
Removed template usage for legacy devices, to make my future work easier (nw)
Diffstat (limited to 'src')
-rw-r--r--src/emu/devtempl.h312
-rw-r--r--src/emu/machine/74148.c20
-rw-r--r--src/emu/machine/74153.c20
-rw-r--r--src/emu/machine/adc083x.c53
-rw-r--r--src/emu/machine/adc1038.c21
-rw-r--r--src/emu/machine/adc1213x.c41
-rw-r--r--src/emu/machine/mb14241.c17
-rw-r--r--src/emu/machine/mb87078.c17
-rw-r--r--src/emu/machine/pd4990a.c17
-rw-r--r--src/emu/machine/rp5h01.c17
-rw-r--r--src/emu/machine/tms6100.c30
-rw-r--r--src/emu/machine/upd4701.c17
-rw-r--r--src/emu/machine/wd17xx.c347
-rw-r--r--src/emu/sound/k056800.c17
-rw-r--r--src/emu/sound/mos6560.c17
-rw-r--r--src/emu/sound/tms5110.c132
-rw-r--r--src/emu/sound/tms5220.c59
-rw-r--r--src/emu/video/hd63484.c17
-rw-r--r--src/emu/video/s2636.c15
-rw-r--r--src/emu/video/saa5050.c18
-rw-r--r--src/emu/video/tlc34076.c19
-rw-r--r--src/emu/video/voodoo.c20
-rw-r--r--src/mame/audio/hyprolyb.c17
-rw-r--r--src/mame/audio/irem.c17
-rw-r--r--src/mame/audio/namco52.c22
-rw-r--r--src/mame/audio/namco54.c25
-rw-r--r--src/mame/audio/snes_snd.c17
-rw-r--r--src/mame/audio/taitosnd.c17
-rw-r--r--src/mame/audio/timeplt.c16
-rw-r--r--src/mame/audio/trackfld.c17
-rw-r--r--src/mame/machine/buggychl.c18
-rw-r--r--src/mame/machine/cd32.c19
-rw-r--r--src/mame/machine/namco06.c23
-rw-r--r--src/mame/machine/namco50.c22
-rw-r--r--src/mame/machine/namco51.c25
-rw-r--r--src/mame/machine/namco53.c22
-rw-r--r--src/mame/machine/namco62.c22
-rw-r--r--src/mame/machine/namcoio.c17
-rw-r--r--src/mame/machine/nmk112.c17
-rw-r--r--src/mame/video/kan_pand.c17
-rw-r--r--src/mame/video/vrender0.c16
-rw-r--r--src/mess/audio/t6721.c18
-rw-r--r--src/mess/machine/micropolis.c22
-rw-r--r--src/mess/video/vdc8563.c18
-rw-r--r--src/mess/video/vic4567.c18
-rw-r--r--src/mess/video/vic6567.c18
46 files changed, 910 insertions, 793 deletions
diff --git a/src/emu/devtempl.h b/src/emu/devtempl.h
deleted file mode 100644
index 655c2311a5a..00000000000
--- a/src/emu/devtempl.h
+++ /dev/null
@@ -1,312 +0,0 @@
-/***************************************************************************
-
- devtempl.h
-
- Template include for defining devices.
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
-
-****************************************************************************
-
- Typical usage is as follows:
-
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-// for a primary device....
-#define DEVTEMPLATE_ID(p,s) p##devicenameprefix##s
-#define DEVTEMPLATE_FEATURES DT_HAS_xxx | DT_HAS_yyy | ...
-#define DEVTEMPLATE_NAME "Device Name String"
-#include "devtempl.h"
-
-// for a derived device....
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##derivednameprefix##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_xxx | DT_HAS_yyy | ...
-#define DEVTEMPLATE_NAME "Derived Name String"
-#include "devtempl.h"
-
-****************************************************************************
-
- Parameters are as follows:
-
- DEVTEMPLATE_ID(p,s) - required - macro to produce device function and
- type names with a prefix of 'p' and a suffix of 's'
-
- DEVTEMPLATE_FEATURES - required - bitmask consisting of one of the
- DT_HAS_* flags, indicating which standard-named callbacks or
- pointers are specified by this device (everything else is assumed
- to be NULL, which is the default)
-
- DEVTEMPLATE_NAME - required - a string describing the device
-
- DEVTEMPLATE_STATE - optional - the name of the device's state
- structure; by default, this is assumed to be
- DEVTEMPLATE_ID(,_state)
-
-***************************************************************************/
-
-
-#define DEVTEMPLATE_ID1(x) DEVTEMPLATE_ID(x,)
-#define DEVTEMPLATE_DERIVED_ID1(x) DEVTEMPLATE_DERIVED_ID(x,)
-
-/* flag bits for DEVTEMPLATE_FEATURES */
-#define DT_HAS_START 0x0001
-#define DT_HAS_RESET 0x0002
-#define DT_HAS_STOP 0x0004
-#define DT_HAS_EXECUTE 0x0008
-#define DT_HAS_CUSTOM_CONFIG 0x0040
-#define DT_HAS_ROM_REGION 0x0080
-#define DT_HAS_MACHINE_CONFIG 0x0100
-#define DT_HAS_INLINE_CONFIG 0x0200
-#define DT_HAS_PROGRAM_SPACE 0x1000
-#define DT_HAS_DATA_SPACE 0x2000
-#define DT_HAS_IO_SPACE 0x4000
-
-
-/* verify core stuff is specified */
-#ifndef DEVTEMPLATE_ID
-#error DEVTEMPLATE_ID must be specified!
-#endif
-
-#ifndef DEVTEMPLATE_FEATURES
-#error DEVTEMPLATE_FEATURES must be specified!
-#endif
-
-#if (((DEVTEMPLATE_FEATURES) & DT_HAS_START) == 0)
-#error Device start routine is required!
-#endif
-
-#ifndef DEVTEMPLATE_NAME
-#error DEVTEMPLATE_NAME must be specified!
-#endif
-
-#if (((DEVTEMPLATE_FEATURES) & (DT_HAS_PROGRAM_SPACE | DT_HAS_DATA_SPACE | DT_HAS_IO_SPACE)) != 0)
-#ifndef DEVTEMPLATE_ENDIANNESS
-#error DEVTEMPLATE_ENDIANNESS must be specified if an address space is present!
-#endif
-#endif
-
-#ifdef DEVTEMPLATE_DERIVED_FEATURES
-#ifndef DEVTEMPLATE_DERIVED_NAME
-#error DEVTEMPLATE_DERIVED_NAME must be specified!
-#endif
-#endif
-
-
-/* primary device case */
-#ifndef DEVTEMPLATE_DERIVED_FEATURES
-
-/* derive standard state name (unless explicitly provided) */
-#ifndef DEVTEMPLATE_STATE
-#define DEVTEMPLATE_STATE DEVTEMPLATE_ID(,_state)
-#endif
-
-/* default to version 1.0 */
-#ifndef DEVTEMPLATE_VERSION
-#define DEVTEMPLATE_VERSION "1.0"
-#endif
-
-/* default to the standard copyright attribution */
-#ifndef DEVTEMPLATE_CREDITS
-#define DEVTEMPLATE_CREDITS "Copyright Nicola Salmoria and the MAME Team"
-#endif
-
-/* declare callback functions */
-static DEVICE_START( DEVTEMPLATE_ID(,) );
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_RESET)
-static DEVICE_RESET( DEVTEMPLATE_ID(,) );
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_STOP)
-static DEVICE_STOP( DEVTEMPLATE_ID(,) );
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_EXECUTE)
-static DEVICE_EXECUTE( DEVTEMPLATE_ID(,) );
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_CUSTOM_CONFIG)
-static DEVICE_CUSTOM_CONFIG( DEVTEMPLATE_ID(,) );
-#endif
-
-/* the actual get_info function */
-DEVICE_GET_INFO( DEVTEMPLATE_ID(,) )
-{
- switch (state)
- {
- /* --- the following bits of info are returned as 64-bit signed integers --- */
- case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(DEVTEMPLATE_STATE); break;
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_INLINE_CONFIG)
- case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(DEVTEMPLATE_ID(,_config)); break;
-#endif
-#ifdef DEVTEMPLATE_ENDIANNESS
- case DEVINFO_INT_ENDIANNESS: info->i = DEVTEMPLATE_ENDIANNESS; break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_PROGRAM_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_0: info->i = DEVTEMPLATE_PGM_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_0: info->i = DEVTEMPLATE_PGM_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_PGM_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_0: info->i = DEVTEMPLATE_PGM_ADDRSHIFT; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_DATA_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_1: info->i = DEVTEMPLATE_DATA_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_1: info->i = DEVTEMPLATE_DATA_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_DATA_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_1: info->i = DEVTEMPLATE_DATA_ADDRSHIFT; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_IO_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_2: info->i = DEVTEMPLATE_IO_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_2: info->i = DEVTEMPLATE_IO_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_IO_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_2: info->i = DEVTEMPLATE_IO_ADDRSHIFT; break;
-#endif
-#endif
-
- /* --- the following bits of info are returned as pointers --- */
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_ROM_REGION)
- case DEVINFO_PTR_ROM_REGION: info->romregion = DEVTEMPLATE_ID1(ROM_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_MACHINE_CONFIG)
- case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = DEVTEMPLATE_ID1(MACHINE_CONFIG_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_PROGRAM_SPACE)
-#ifdef DEVTEMPLATE_PGM_INTMAP
- case DEVINFO_PTR_INTERNAL_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_PGM_INTMAP; break;
-#endif
-#ifdef DEVTEMPLATE_PGM_DEFMAP
- case DEVINFO_PTR_DEFAULT_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_PGM_DEFMAP; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_DATA_SPACE)
-#ifdef DEVTEMPLATE_DATA_INTMAP
- case DEVINFO_PTR_INTERNAL_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_DATA_INTMAP; break;
-#endif
-#ifdef DEVTEMPLATE_DATA_DEFMAP
- case DEVINFO_PTR_DEFAULT_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_DATA_DEFMAP; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_IO_SPACE)
-#ifdef DEVTEMPLATE_IO_INTMAP
- case DEVINFO_PTR_INTERNAL_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_IO_INTMAP; break;
-#endif
-#ifdef DEVTEMPLATE_IO_DEFMAP
- case DEVINFO_PTR_DEFAULT_MEMORY_MAP_0: info->p = (void *)DEVTEMPLATE_IO_DEFMAP; break;
-#endif
-#endif
-
-
- /* --- the following bits of info are returned as pointers to data or functions --- */
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_START)
- case DEVINFO_FCT_START: info->start = DEVTEMPLATE_ID1(DEVICE_START_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_RESET)
- case DEVINFO_FCT_RESET: info->reset = DEVTEMPLATE_ID1(DEVICE_RESET_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_STOP)
- case DEVINFO_FCT_STOP: info->stop = DEVTEMPLATE_ID1(DEVICE_STOP_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_FEATURES) & DT_HAS_EXECUTE)
- case DEVINFO_FCT_EXECUTE: info->execute = DEVTEMPLATE_ID1(DEVICE_EXECUTE_NAME()); break;
-#endif
- /* --- the following bits of info are returned as NULL-terminated strings --- */
- case DEVINFO_STR_NAME: strcpy(info->s, DEVTEMPLATE_NAME); break;
-#ifdef DEVTEMPLATE_SHORTNAME
- case DEVINFO_STR_SHORTNAME: strcpy(info->s, DEVTEMPLATE_SHORTNAME); break;
-#endif
- }
-}
-
-
-/* derived device case */
-#else
-
-/* declare callback functions */
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_START)
-static DEVICE_START( DEVTEMPLATE_DERIVED_ID(,) );
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_RESET)
-static DEVICE_RESET( DEVTEMPLATE_DERIVED_ID(,) );
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_STOP)
-static DEVICE_STOP( DEVTEMPLATE_DERIVED_ID(,) );
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_EXECUTE)
-static DEVICE_EXECUTE( DEVTEMPLATE_DERIVED_ID(,) );
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_CUSTOM_CONFIG)
-static DEVICE_CUSTOM_CONFIG( DEVTEMPLATE_DERIVED_ID(,) );
-#endif
-
-/* the actual get_info function */
-DEVICE_GET_INFO( DEVTEMPLATE_DERIVED_ID(,) )
-{
- switch (state)
- {
- /* --- the following bits of info are returned as 64-bit signed integers --- */
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_PROGRAM_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_0: info->i = DEVTEMPLATE_DERIVED_PGM_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_0: info->i = DEVTEMPLATE_DERIVED_PGM_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_PGM_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_0: info->i = DEVTEMPLATE_DERIVED_PGM_ADDRSHIFT; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_DATA_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_1: info->i = DEVTEMPLATE_DERIVED_DATA_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_1: info->i = DEVTEMPLATE_DERIVED_DATA_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_DATA_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_1: info->i = DEVTEMPLATE_DERIVED_DATA_ADDRSHIFT; break;
-#endif
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_IO_SPACE)
- case DEVINFO_INT_DATABUS_WIDTH_2: info->i = DEVTEMPLATE_DERIVED_IO_DATAWIDTH; break;
- case DEVINFO_INT_ADDRBUS_WIDTH_2: info->i = DEVTEMPLATE_DERIVED_IO_ADDRWIDTH; break;
-#ifdef DEVTEMPLATE_IO_ADDRSHIFT
- case DEVINFO_INT_ADDRBUS_SHIFT_2: info->i = DEVTEMPLATE_DERIVED_IO_ADDRSHIFT; break;
-#endif
-#endif
-
- /* --- the following bits of info are returned as pointers --- */
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_ROM_REGION)
- case DEVINFO_PTR_ROM_REGION: info->romregion = DEVTEMPLATE_DERIVED_ID1(ROM_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_MACHINE_CONFIG)
- case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = DEVTEMPLATE_DERIVED_ID1(MACHINE_CONFIG_NAME()); break;
-#endif
-
- /* --- the following bits of info are returned as pointers to data or functions --- */
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_START)
- case DEVINFO_FCT_START: info->start = DEVTEMPLATE_DERIVED_ID1(DEVICE_START_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_RESET)
- case DEVINFO_FCT_RESET: info->reset = DEVTEMPLATE_DERIVED_ID1(DEVICE_RESET_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_STOP)
- case DEVINFO_FCT_STOP: info->stop = DEVTEMPLATE_DERIVED_ID1(DEVICE_STORE_NAME()); break;
-#endif
-#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_EXECUTE)
- case DEVINFO_FCT_EXECUTE: info->execute = DEVTEMPLATE_DERIVED_ID1(DEVICE_EXECUTE_NAME()); break;
-#endif
-
- /* --- the following bits of info are returned as NULL-terminated strings --- */
- case DEVINFO_STR_NAME: strcpy(info->s, DEVTEMPLATE_DERIVED_NAME); break;
- default: DEVICE_GET_INFO_CALL(DEVTEMPLATE_ID(,)); break;
- }
-}
-
-#endif
-
-
-
-#undef DT_HAS_RESET
-#undef DT_HAS_STOP
-#undef DT_HAS_EXECUTE
-#undef DT_HAS_CUSTOM_CONFIG
-#undef DT_HAS_ROM_REGION
-#undef DT_HAS_MACHINE_CONFIG
-#undef DT_HAS_INLINE_CONFIG
-#undef DT_HAS_PROGRAM_SPACE
-#undef DT_HAS_DATA_SPACE
-#undef DT_HAS_IO_SPACE
-
-#undef DEVTEMPLATE_DERIVED_ID
-#undef DEVTEMPLATE_DERIVED_FEATURES
-#undef DEVTEMPLATE_DERIVED_NAME
diff --git a/src/emu/machine/74148.c b/src/emu/machine/74148.c
index accc2af5915..e425142a36d 100644
--- a/src/emu/machine/74148.c
+++ b/src/emu/machine/74148.c
@@ -215,12 +215,20 @@ static DEVICE_RESET( ttl74148 )
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(ttl74148)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(ttl74148_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(ttl74148_config); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(ttl74148); break;
-#define DEVTEMPLATE_ID(p,s) p##ttl74148##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME "74148"
-#define DEVTEMPLATE_FAMILY "TTL"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(ttl74148); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "74148"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(TTL74148, ttl74148);
diff --git a/src/emu/machine/74153.c b/src/emu/machine/74153.c
index cbb44d251ff..1a7f5d27954 100644
--- a/src/emu/machine/74153.c
+++ b/src/emu/machine/74153.c
@@ -176,13 +176,21 @@ static DEVICE_RESET( ttl74153 )
state->last_output[1] = -1;
}
+DEVICE_GET_INFO(ttl74153)
+{
+ switch (state)
+ {
+
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(ttl74153_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(ttl74153_config); break;
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(ttl74153); break;
-#define DEVTEMPLATE_ID(p,s) p##ttl74153##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME "74153"
-#define DEVTEMPLATE_FAMILY "TTL"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(ttl74153); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "74153"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(TTL74153, ttl74153);
diff --git a/src/emu/machine/adc083x.c b/src/emu/machine/adc083x.c
index aab3d868600..5a12f22bca0 100644
--- a/src/emu/machine/adc083x.c
+++ b/src/emu/machine/adc083x.c
@@ -509,29 +509,46 @@ static DEVICE_RESET( adc0831 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(adc0831)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(adc0831_state); break;
-#define DEVTEMPLATE_ID( p, s ) p##adc0831##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "A/D Converters 0831"
-#define DEVTEMPLATE_FAMILY "National Semiconductor A/D Converters 083x"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(adc0831); break;
-#define DEVTEMPLATE_DERIVED_ID( p, s ) p##adc0832##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0832"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(adc0831); break;
-#define DEVTEMPLATE_DERIVED_ID( p, s ) p##adc0834##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0834"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converters 0831"); break;
+ }
+}
-#define DEVTEMPLATE_DERIVED_ID( p, s ) p##adc0838##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0838"
-#include "devtempl.h"
+DEVICE_GET_INFO(adc0832)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converters 0832"); break;
+ default: DEVICE_GET_INFO_CALL(adc0831); break;
+ }
+}
+DEVICE_GET_INFO(adc0834)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converters 0834"); break;
+ default: DEVICE_GET_INFO_CALL(adc0831); break;
+ }
+}
+
+DEVICE_GET_INFO(adc0838)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converters 0838"); break;
+ default: DEVICE_GET_INFO_CALL(adc0831); break;
+ }
+}
DEFINE_LEGACY_DEVICE(ADC0831, adc0831);
DEFINE_LEGACY_DEVICE(ADC0832, adc0832);
diff --git a/src/emu/machine/adc1038.c b/src/emu/machine/adc1038.c
index acf2ee32274..286ca194b1a 100644
--- a/src/emu/machine/adc1038.c
+++ b/src/emu/machine/adc1038.c
@@ -165,13 +165,18 @@ static DEVICE_RESET( adc1038 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-#define DEVTEMPLATE_ID( p, s ) p##adc1038##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "A/D Converters 1038"
-#define DEVTEMPLATE_FAMILY "National Semiconductor A/D Converters 1038"
-#include "devtempl.h"
-
+DEVICE_GET_INFO(adc1038)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(adc1038_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(adc1038); break;
+
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(adc1038); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converters 1038"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(ADC1038, adc1038);
diff --git a/src/emu/machine/adc1213x.c b/src/emu/machine/adc1213x.c
index 4c3d5700127..49ffa1ca5f4 100644
--- a/src/emu/machine/adc1213x.c
+++ b/src/emu/machine/adc1213x.c
@@ -358,24 +358,37 @@ static DEVICE_RESET( adc12138 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(adc12138)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(adc12138_state); break;
-#define DEVTEMPLATE_ID(p,s) p##adc12138##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "A/D Converter 12138"
-#define DEVTEMPLATE_FAMILY "National Semiconductor A/D Converters 1213x"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(adc12138); break;
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##adc12130##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "A/D Converter 12130"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(adc12138); break;
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##adc12132##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "A/D Converter 12132"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converter 12138"); break;
+ }
+}
+DEVICE_GET_INFO(adc12130)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converter 12130"); break;
+ default: DEVICE_GET_INFO_CALL(adc12138); break;
+ }
+}
+
+DEVICE_GET_INFO(adc12132)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "A/D Converter 12132"); break;
+ default: DEVICE_GET_INFO_CALL(adc12138); break;
+ }
+}
DEFINE_LEGACY_DEVICE(ADC12130, adc12130);
DEFINE_LEGACY_DEVICE(ADC12132, adc12132);
diff --git a/src/emu/machine/mb14241.c b/src/emu/machine/mb14241.c
index 9b351ed4690..1cac968bbb4 100644
--- a/src/emu/machine/mb14241.c
+++ b/src/emu/machine/mb14241.c
@@ -68,13 +68,18 @@ static DEVICE_RESET( mb14241 )
mb14241->shift_count = 0;
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(mb14241)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(mb14241_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(mb14241); break;
-#define DEVTEMPLATE_ID( p, s ) p##mb14241##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "MB14241"
-#define DEVTEMPLATE_FAMILY "MB14241 Shifter IC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(mb14241); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "MB14241"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(MB14241, mb14241);
diff --git a/src/emu/machine/mb87078.c b/src/emu/machine/mb87078.c
index 26cd8680ac0..a3a4290c6de 100644
--- a/src/emu/machine/mb87078.c
+++ b/src/emu/machine/mb87078.c
@@ -266,13 +266,18 @@ static DEVICE_RESET( mb87078 )
mb87078_reset_comp_w(device, 1);
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(mb87078)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(mb87078_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(mb87078); break;
-#define DEVTEMPLATE_ID( p, s ) p##mb87078##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Fujitsu MB87078"
-#define DEVTEMPLATE_FAMILY "Fujitsu Volume Controller MB87078"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(mb87078); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Fujitsu MB87078"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(MB87078, mb87078);
diff --git a/src/emu/machine/pd4990a.c b/src/emu/machine/pd4990a.c
index 86c928cea15..726bda55b28 100644
--- a/src/emu/machine/pd4990a.c
+++ b/src/emu/machine/pd4990a.c
@@ -525,13 +525,18 @@ static DEVICE_RESET( upd4990a )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(upd4990a)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(upd4990a_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(upd4990a); break;
-#define DEVTEMPLATE_ID(p,s) p##upd4990a##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "NEC uPD4990A"
-#define DEVTEMPLATE_FAMILY "NEC uPD4990A Calendar & Clock"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(upd4990a); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "NEC uPD4990A"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(UPD4990A, upd4990a);
diff --git a/src/emu/machine/rp5h01.c b/src/emu/machine/rp5h01.c
index f2e7f5f45cb..bf0f21acb05 100644
--- a/src/emu/machine/rp5h01.c
+++ b/src/emu/machine/rp5h01.c
@@ -226,13 +226,18 @@ static DEVICE_RESET( rp5h01 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(rp5h01)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(rp5h01_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(rp5h01); break;
-#define DEVTEMPLATE_ID(p,s) p##rp5h01##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "RP5H01"
-#define DEVTEMPLATE_FAMILY "RP5H01"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(rp5h01); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "RP5H01"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(RP5H01, rp5h01);
diff --git a/src/emu/machine/tms6100.c b/src/emu/machine/tms6100.c
index 8bbb2e08202..75f8a8ee113 100644
--- a/src/emu/machine/tms6100.c
+++ b/src/emu/machine/tms6100.c
@@ -264,19 +264,29 @@ READ_LINE_DEVICE_HANDLER( tms6100_data_r )
TMS 6100 device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(tms6100)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tms6100_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms6100); break;
-#define DEVTEMPLATE_ID(p,s) p##tms6100##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "TMS6100"
-#define DEVTEMPLATE_FAMILY "TI Speech"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(tms6100); break;
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##m58819##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "M58819"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS6100"); break;
+ }
+}
+DEVICE_GET_INFO(m58819)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(m58819); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "M58819"); break;
+ default: DEVICE_GET_INFO_CALL(tms6100); break;
+ }
+}
DEFINE_LEGACY_DEVICE(TMS6100, tms6100);
DEFINE_LEGACY_DEVICE(M58819, m58819);
diff --git a/src/emu/machine/upd4701.c b/src/emu/machine/upd4701.c
index 10e47dc0a62..cef9a7d2e10 100644
--- a/src/emu/machine/upd4701.c
+++ b/src/emu/machine/upd4701.c
@@ -305,13 +305,18 @@ static DEVICE_RESET( upd4701 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(upd4701)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(upd4701_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(upd4701); break;
-#define DEVTEMPLATE_ID(p,s) p##upd4701##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "NEC uPD4701 Encoder"
-#define DEVTEMPLATE_FAMILY "NEC uPD4701 Encoder"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(upd4701); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "NEC uPD4701 Encoder"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(UPD4701, upd4701);
diff --git a/src/emu/machine/wd17xx.c b/src/emu/machine/wd17xx.c
index b0d19483609..7cdb08437a2 100644
--- a/src/emu/machine/wd17xx.c
+++ b/src/emu/machine/wd17xx.c
@@ -2104,130 +2104,229 @@ void wd17xx_reset(device_t *device)
DEVICE GETINFO
***************************************************************************/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-#define DEVTEMPLATE_ID(p,s) p##wd1770##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "WD1770"
-#define DEVTEMPLATE_FAMILY "WD17xx"
-#define DEVTEMPLATE_VERSION "1.0"
-#define DEVTEMPLATE_CREDITS "Copyright MESS Team"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1771##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1771"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1781##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1781"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1791##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1791"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1792##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1792"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1793##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1793"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1794##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1794"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1795##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1795"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1797##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1797"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1761##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1761"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1762##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1762"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1763##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1763"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1764##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1764"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1765##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1765"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##fd1767##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "FD1767"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd2791##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "WD2791"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd2793##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "WD2793"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd2795##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "WD2795"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd2797##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "WD2797"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd1772##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "WD1772"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##wd1773##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "WD1773"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##mb8866##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "MB8866"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##mb8876##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "MB8876"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##mb8877##s
-#define DEVTEMPLATE_DERIVED_FEATURES 0
-#define DEVTEMPLATE_DERIVED_NAME "MB8877"
-#include "devtempl.h"
+DEVICE_GET_INFO(wd1770)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(wd1770_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(wd1770); break;
+
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(wd1770); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD1770"); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1771)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1771"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1781)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1781"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1791)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1791"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1792)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1792"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1793)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1793"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1794)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1794"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1795)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1795"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1797)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1797"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1761)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1761"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1762)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1762"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1763)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1763"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1764)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1764"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1765)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1765"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(fd1767)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "FD1767"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd2791)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD2791"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd2793)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD2793"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd2795)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD2795"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd2797)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD2797"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd1772)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(wd1772); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD1772"); break;
+
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(wd1773)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "WD1773"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(mb8866)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "MB8866"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(mb8876)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "MB8876"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
+
+DEVICE_GET_INFO(mb8877)
+{
+ switch (state)
+ {
+ case DEVINFO_STR_NAME: strcpy(info->s, "MB8877"); break;
+ default: DEVICE_GET_INFO_CALL(wd1770); break;
+ }
+}
DEFINE_LEGACY_DEVICE(FD1771, fd1771);
DEFINE_LEGACY_DEVICE(FD1781, fd1781);
diff --git a/src/emu/sound/k056800.c b/src/emu/sound/k056800.c
index 6103f2f3208..3892cdd529f 100644
--- a/src/emu/sound/k056800.c
+++ b/src/emu/sound/k056800.c
@@ -165,13 +165,18 @@ static DEVICE_RESET( k056800 )
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(k056800)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(k056800_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(k056800); break;
-#define DEVTEMPLATE_ID( p, s ) p##k056800##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Konami 056800 MIRAC"
-#define DEVTEMPLATE_FAMILY "Konami custom"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(k056800); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Konami 056800 MIRAC"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(K056800, k056800);
diff --git a/src/emu/sound/mos6560.c b/src/emu/sound/mos6560.c
index cd47b58b8f3..073ef0e6e59 100644
--- a/src/emu/sound/mos6560.c
+++ b/src/emu/sound/mos6560.c
@@ -944,13 +944,18 @@ static DEVICE_RESET( mos6560 )
Device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(mos6560)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(mos6560_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(mos6560); break;
-#define DEVTEMPLATE_ID(p,s) p##mos6560##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "MOS 6560 / 6561 VIC"
-#define DEVTEMPLATE_FAMILY "MOS Video Interface Chip"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(mos6560); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "MOS 6560 / 6561 VIC"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(MOS656X, mos6560);
diff --git a/src/emu/sound/tms5110.c b/src/emu/sound/tms5110.c
index 68aec49747c..88e682c7895 100644
--- a/src/emu/sound/tms5110.c
+++ b/src/emu/sound/tms5110.c
@@ -1497,58 +1497,94 @@ WRITE_LINE_DEVICE_HANDLER( tmsprom_enable_w )
TMS 5110 device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-#define DEVTEMPLATE_ID(p,s) p##tms5110##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "TMS5110"
-#define DEVTEMPLATE_FAMILY "TI Speech"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tms5100##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMS5100"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tms5110a##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMS5110A"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##cd2801##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "CD2801"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tmc0281##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMC0281"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##cd2802##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "CD2802"
-#include "devtempl.h"
-
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##m58817##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "M58817"
-#include "devtempl.h"
-/*-------------------------------------------------
- TMS PROM interface definition
--------------------------------------------------*/
+DEVICE_GET_INFO(tms5110)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tms5110_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5110); break;
-#undef DEVTEMPLATE_ID
-#undef DEVTEMPLATE_NAME
-#undef DEVTEMPLATE_FEATURES
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(tms5110); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5110"); break;
+ }
+}
+
+DEVICE_GET_INFO(tms5100)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5100); break;
-#define DEVTEMPLATE_ID(p,s) p##tmsprom##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START
-#define DEVTEMPLATE_NAME "TMSPROM"
-#define DEVTEMPLATE_FAMILY "TI Speech"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5100"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(tms5110a)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5110a); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5110A"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(cd2801)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(cd2801); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "CD2801"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(tmc0281)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tmc0281); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMC0281"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(cd2802)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(cd2802); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "CD2802"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(m58817)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(m58817); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "M58817"); break;
+ default: DEVICE_GET_INFO_CALL(tms5110); break;
+ }
+}
+
+DEVICE_GET_INFO(tmsprom)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tmsprom_state); break;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tmsprom); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMSPROM"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(TMS5110, tms5110);
DEFINE_LEGACY_SOUND_DEVICE(TMS5100, tms5100);
diff --git a/src/emu/sound/tms5220.c b/src/emu/sound/tms5220.c
index fcbab8411d9..d5ce8f19b05 100644
--- a/src/emu/sound/tms5220.c
+++ b/src/emu/sound/tms5220.c
@@ -2010,29 +2010,52 @@ void tms5220_set_frequency(device_t *device, int frequency)
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(tms5220)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tms5220_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5220); break;
+
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(tms5220); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5220"); break;
+ }
+}
+
+DEVICE_GET_INFO(tms5220c)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5220c); break;
-#define DEVTEMPLATE_ID(p,s) p##tms5220##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "TMS5220"
-#define DEVTEMPLATE_FAMILY "TI Speech"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5220C"); break;
+ default: DEVICE_GET_INFO_CALL(tms5220); break;
+ }
+}
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tms5220c##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMS5220C"
-#include "devtempl.h"
+DEVICE_GET_INFO(tmc0285)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tmc0285); break;
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tmc0285##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMC0285"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMC0285"); break;
+ default: DEVICE_GET_INFO_CALL(tms5220); break;
+ }
+}
-#define DEVTEMPLATE_DERIVED_ID(p,s) p##tms5200##s
-#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START
-#define DEVTEMPLATE_DERIVED_NAME "TMS5200"
-#include "devtempl.h"
+DEVICE_GET_INFO(tms5200)
+{
+ switch (state)
+ {
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tms5200); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "TMS5200"); break;
+ default: DEVICE_GET_INFO_CALL(tms5220); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(TMS5220C, tms5220c);
DEFINE_LEGACY_SOUND_DEVICE(TMS5220, tms5220);
diff --git a/src/emu/video/hd63484.c b/src/emu/video/hd63484.c
index a27027a2ea7..82c5eefee24 100644
--- a/src/emu/video/hd63484.c
+++ b/src/emu/video/hd63484.c
@@ -1577,13 +1577,18 @@ static DEVICE_RESET( hd63484 )
hd63484->fifo_counter = 0;
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(hd63484)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(hd63484_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(hd63484); break;
-#define DEVTEMPLATE_ID( p, s ) p##hd63484##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "HD63484"
-#define DEVTEMPLATE_FAMILY "HD63484 Video Controller"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(hd63484); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "HD63484"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(HD63484, hd63484);
diff --git a/src/emu/video/s2636.c b/src/emu/video/s2636.c
index 8983ee59202..73706814ae8 100644
--- a/src/emu/video/s2636.c
+++ b/src/emu/video/s2636.c
@@ -365,13 +365,16 @@ static DEVICE_START( s2636 )
device->save_item(NAME(*s2636->collision_bitmap));
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(s2636)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(s2636_state); break;
-#define DEVTEMPLATE_ID( p, s ) p##s2636##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START
-#define DEVTEMPLATE_NAME "Signetics 2636"
-#define DEVTEMPLATE_FAMILY "Signetics Video Chips"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(s2636); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Signetics 2636"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(S2636, s2636);
diff --git a/src/emu/video/saa5050.c b/src/emu/video/saa5050.c
index 0a11f045718..09422ce2e1b 100644
--- a/src/emu/video/saa5050.c
+++ b/src/emu/video/saa5050.c
@@ -380,13 +380,19 @@ static DEVICE_RESET( saa5050 )
saa5050->frame_count = 0;
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-#define DEVTEMPLATE_ID( p, s ) p##saa5050##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "SAA5050"
-#define DEVTEMPLATE_FAMILY "SAA5050 Teletext Character Generator"
-#include "devtempl.h"
+DEVICE_GET_INFO(saa5050)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(saa5050_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(saa5050); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(saa5050); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "SAA5050"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(SAA5050, saa5050);
diff --git a/src/emu/video/tlc34076.c b/src/emu/video/tlc34076.c
index 8c1af669457..73edfdd9f50 100644
--- a/src/emu/video/tlc34076.c
+++ b/src/emu/video/tlc34076.c
@@ -276,13 +276,20 @@ static DEVICE_START( tlc34076 )
state_save_register_global(device->machine(), state->dacbits);
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(tlc34076)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tlc34076_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(tlc34076_config); break;
-#define DEVTEMPLATE_ID( p, s ) p##tlc34076##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME "TLC34076"
-#define DEVTEMPLATE_FAMILY "RAMDAC"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tlc34076); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(tlc34076); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "TLC34076"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(TLC34076, tlc34076);
diff --git a/src/emu/video/voodoo.c b/src/emu/video/voodoo.c
index 24ff10354a6..3a57efa2341 100644
--- a/src/emu/video/voodoo.c
+++ b/src/emu/video/voodoo.c
@@ -5034,15 +5034,23 @@ INLINE const char *get_voodoo_name(const device_t *device)
}
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(voodoo)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(voodoo_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(voodoo_config); break;
-#define DEVTEMPLATE_ID(p,s) p##voodoo##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_STOP | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME get_voodoo_name(device)
-#define DEVTEMPLATE_FAMILY "3dfx Voodoo Graphics"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(voodoo); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(voodoo); break;
+ case DEVINFO_FCT_STOP: info->stop = DEVICE_STOP_NAME(voodoo); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, get_voodoo_name(device)); break;
+ }
+}
/***************************************************************************
COMMAND HANDLERS
diff --git a/src/mame/audio/hyprolyb.c b/src/mame/audio/hyprolyb.c
index d66a260388c..1cd4b32933d 100644
--- a/src/mame/audio/hyprolyb.c
+++ b/src/mame/audio/hyprolyb.c
@@ -139,13 +139,18 @@ MACHINE_CONFIG_END
/*****************************************************************************
DEVICE DEFINITION
*****************************************************************************/
+DEVICE_GET_INFO(hyprolyb_adpcm)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(hyprolyb_adpcm_state); break;
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(hyprolyb_adpcm); break;
-#define DEVTEMPLATE_ID(p,s) p##hyprolyb_adpcm##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Hyper Olympics Audio"
-#define DEVTEMPLATE_FAMILY "Hyper Olympics Audio IC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(hyprolyb_adpcm); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "Hyper Olympics Audio"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(HYPROLYB_ADPCM, hyprolyb_adpcm);
diff --git a/src/mame/audio/irem.c b/src/mame/audio/irem.c
index cc05dbbbe12..2999de56006 100644
--- a/src/mame/audio/irem.c
+++ b/src/mame/audio/irem.c
@@ -489,15 +489,16 @@ MACHINE_CONFIG_END
/*****************************************************************************
DEVICE DEFINITION
*****************************************************************************/
+DEVICE_GET_INFO(irem_audio)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(irem_audio_state); break;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(irem_audio); break;
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-#define DEVTEMPLATE_ID(p,s) p##irem_audio##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START
-#define DEVTEMPLATE_NAME "Irem Audio"
-#define DEVTEMPLATE_FAMILY "Irem Audio IC"
-#include "devtempl.h"
-
+ case DEVINFO_STR_NAME: strcpy(info->s, "Irem Audio"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(IREM_AUDIO, irem_audio);
diff --git a/src/mame/audio/namco52.c b/src/mame/audio/namco52.c
index 667291bb2bb..0e80ffe2089 100644
--- a/src/mame/audio/namco52.c
+++ b/src/mame/audio/namco52.c
@@ -228,14 +228,22 @@ static DEVICE_START( namco_52xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_52xx)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_52xx_state); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_52xx); break;
+
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_52xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_52xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 52xx"
-#define DEVTEMPLATE_SHORTNAME "namco52"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_52xx); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 52xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco52"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_52XX, namco_52xx);
diff --git a/src/mame/audio/namco54.c b/src/mame/audio/namco54.c
index 696a74d083b..a02ec27d0c5 100644
--- a/src/mame/audio/namco54.c
+++ b/src/mame/audio/namco54.c
@@ -184,14 +184,25 @@ static DEVICE_START( namco_54xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_54xx)
+{
+ switch (state)
+ {
+
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_54xx_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(namco_54xx_config); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_54xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_54xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 54xx"
-#define DEVTEMPLATE_SHORTNAME "namco54"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_54xx); break;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_54xx); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 54xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco54"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_54XX, namco_54xx);
diff --git a/src/mame/audio/snes_snd.c b/src/mame/audio/snes_snd.c
index 9426c558325..a27b4bc9f09 100644
--- a/src/mame/audio/snes_snd.c
+++ b/src/mame/audio/snes_snd.c
@@ -1368,13 +1368,18 @@ static DEVICE_RESET( snes_sound )
Device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(snes_sound)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(snes_sound_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(snes_sound); break;
-#define DEVTEMPLATE_ID(p,s) p##snes_sound##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "SNES Custom DSP (SPC700)"
-#define DEVTEMPLATE_FAMILY "SNES Custom"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(snes_sound); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "SNES Custom DSP (SPC700)"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(SNES, snes_sound);
diff --git a/src/mame/audio/taitosnd.c b/src/mame/audio/taitosnd.c
index ca115e899c0..b25f1c8c021 100644
--- a/src/mame/audio/taitosnd.c
+++ b/src/mame/audio/taitosnd.c
@@ -313,13 +313,18 @@ static DEVICE_RESET( tc0140syt )
}
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(tc0140syt)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(tc0140syt_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(tc0140syt); break;
-#define DEVTEMPLATE_ID(p,s) p##tc0140syt##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Taito TC0140SYT"
-#define DEVTEMPLATE_FAMILY "Taito Audio Custom IC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(tc0140syt); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Taito TC0140SYT"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(TC0140SYT, tc0140syt);
diff --git a/src/mame/audio/timeplt.c b/src/mame/audio/timeplt.c
index d6bc60ec8ed..1d1fc1c36a0 100644
--- a/src/mame/audio/timeplt.c
+++ b/src/mame/audio/timeplt.c
@@ -261,14 +261,16 @@ MACHINE_CONFIG_END
DEVICE DEFINITION
*****************************************************************************/
+DEVICE_GET_INFO(timeplt_audio)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(timeplt_audio_state); break;
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(timeplt_audio); break;
-#define DEVTEMPLATE_ID(p,s) p##timeplt_audio##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START
-#define DEVTEMPLATE_NAME "Time Pilot Audio"
-#define DEVTEMPLATE_FAMILY "Time Pilot Audio IC"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "Time Pilot Audio"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(TIMEPLT_AUDIO, timeplt_audio);
-
diff --git a/src/mame/audio/trackfld.c b/src/mame/audio/trackfld.c
index 19eec35bc05..59d4f084707 100644
--- a/src/mame/audio/trackfld.c
+++ b/src/mame/audio/trackfld.c
@@ -161,13 +161,18 @@ WRITE8_HANDLER( konami_sh_irqtrigger_w )
DEVICE DEFINITION
*****************************************************************************/
+DEVICE_GET_INFO(trackfld_audio)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(trackfld_audio_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(trackfld_audio); break;
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(trackfld_audio); break;
-#define DEVTEMPLATE_ID(p,s) p##trackfld_audio##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Track And Field Audio"
-#define DEVTEMPLATE_FAMILY "Track And Field Audio IC"
-#include "devtempl.h"
+ case DEVINFO_STR_NAME: strcpy(info->s, "Track And Field Audio"); break;
+ }
+}
DEFINE_LEGACY_SOUND_DEVICE(TRACKFLD_AUDIO, trackfld_audio);
diff --git a/src/mame/machine/buggychl.c b/src/mame/machine/buggychl.c
index 6ee642be59d..df208f1d70e 100644
--- a/src/mame/machine/buggychl.c
+++ b/src/mame/machine/buggychl.c
@@ -239,13 +239,19 @@ static DEVICE_RESET( buggychl_mcu )
DEVICE DEFINITION
*****************************************************************************/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(buggychl_mcu)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(buggychl_mcu_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(buggychl_mcu); break;
-#define DEVTEMPLATE_ID(p,s) p##buggychl_mcu##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "BuggyChl MCU"
-#define DEVTEMPLATE_FAMILY "BuggyChl MCU IC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(buggychl_mcu); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "BuggyChl MCU"); break;
+
+ }
+}
DEFINE_LEGACY_DEVICE(BUGGYCHL_MCU, buggychl_mcu);
diff --git a/src/mame/machine/cd32.c b/src/mame/machine/cd32.c
index ba8b7274aaa..b3e052b365f 100644
--- a/src/mame/machine/cd32.c
+++ b/src/mame/machine/cd32.c
@@ -917,13 +917,20 @@ WRITE32_DEVICE_HANDLER( amiga_akiko32_w )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(akiko)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(akiko_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(akiko); break;
-#define DEVTEMPLATE_ID(p,s) p##akiko##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_STOP | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Akiko"
-#define DEVTEMPLATE_FAMILY "Amiga"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(akiko); break;
+ case DEVINFO_FCT_STOP: info->stop = DEVICE_STOP_NAME(akiko); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "Akiko"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(AKIKO, akiko);
diff --git a/src/mame/machine/namco06.c b/src/mame/machine/namco06.c
index 45c3965228a..2791d23b897 100644
--- a/src/mame/machine/namco06.c
+++ b/src/mame/machine/namco06.c
@@ -292,14 +292,23 @@ static DEVICE_RESET( namco_06xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_06xx)
+{
+ switch (state)
+ {
+
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_06xx_state); break;
+
+ case DEVINFO_INT_INLINE_CONFIG_BYTES: info->i = sizeof(namco_06xx_config); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_06xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_INLINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 06xx"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#define DEVTEMPLATE_SHORTNAME "namco06xx"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_06xx); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(namco_06xx); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 06xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco06xx"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_06XX, namco_06xx);
diff --git a/src/mame/machine/namco50.c b/src/mame/machine/namco50.c
index 86056e3e519..5b7c1d74a65 100644
--- a/src/mame/machine/namco50.c
+++ b/src/mame/machine/namco50.c
@@ -296,14 +296,22 @@ static DEVICE_START( namco_50xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_50xx)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_50xx_state); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_50xx); break;
+
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_50xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_50xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 50xx"
-#define DEVTEMPLATE_SHORTNAME "namco50"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_50xx); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 50xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco50"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_50XX, namco_50xx);
diff --git a/src/mame/machine/namco51.c b/src/mame/machine/namco51.c
index 799f8a24b34..6ee5c040c4b 100644
--- a/src/mame/machine/namco51.c
+++ b/src/mame/machine/namco51.c
@@ -444,14 +444,25 @@ static DEVICE_RESET( namco_51xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_51xx)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_51xx_state); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_51xx); break;
+
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_51xx); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_51xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_51xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 51xx"
-#define DEVTEMPLATE_SHORTNAME "namco51"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(namco_51xx); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 51xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco51"); break;
+
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_51XX, namco_51xx);
diff --git a/src/mame/machine/namco53.c b/src/mame/machine/namco53.c
index 10b6744c935..afd65bfb89b 100644
--- a/src/mame/machine/namco53.c
+++ b/src/mame/machine/namco53.c
@@ -196,14 +196,22 @@ static DEVICE_START( namco_53xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_53xx)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_53xx_state); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_53xx); break;
+
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_53xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_53xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 53xx"
-#define DEVTEMPLATE_SHORTNAME "namco53"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_53xx); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 53xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco53"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_53XX, namco_53xx);
diff --git a/src/mame/machine/namco62.c b/src/mame/machine/namco62.c
index 26832725906..79405f30875 100644
--- a/src/mame/machine/namco62.c
+++ b/src/mame/machine/namco62.c
@@ -89,14 +89,22 @@ static DEVICE_START( namco_62xx )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namco_62xx)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namco_62xx_state); break;
+
+ case DEVINFO_PTR_ROM_REGION: info->romregion = ROM_NAME(namco_62xx); break;
+
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = MACHINE_CONFIG_NAME(namco_62xx); break;
-#define DEVTEMPLATE_ID(p,s) p##namco_62xx##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_ROM_REGION | DT_HAS_MACHINE_CONFIG
-#define DEVTEMPLATE_NAME "Namco 62xx"
-#define DEVTEMPLATE_SHORTNAME "namco62"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namco_62xx); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 62xx"); break;
+
+ case DEVINFO_STR_SHORTNAME: strcpy(info->s, "namco62"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO_62XX, namco_62xx);
diff --git a/src/mame/machine/namcoio.c b/src/mame/machine/namcoio.c
index ff3c0cb3610..08c9bcc17c2 100644
--- a/src/mame/machine/namcoio.c
+++ b/src/mame/machine/namcoio.c
@@ -544,13 +544,18 @@ static DEVICE_RESET( namcoio )
namcoio_set_reset_line(device, PULSE_LINE);
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(namcoio)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(namcoio_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(namcoio); break;
-#define DEVTEMPLATE_ID(p,s) p##namcoio##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Namco 56xx, 58xx & 59xx"
-#define DEVTEMPLATE_FAMILY "Namco I/O"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(namcoio); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Namco 56xx, 58xx & 59xx"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NAMCO56XX, namcoio);
diff --git a/src/mame/machine/nmk112.c b/src/mame/machine/nmk112.c
index 2097bef12c5..dc2b34a644f 100644
--- a/src/mame/machine/nmk112.c
+++ b/src/mame/machine/nmk112.c
@@ -157,13 +157,18 @@ static DEVICE_RESET( nmk112 )
DEVICE DEFINITION
*****************************************************************************/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(nmk112)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(nmk112_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(nmk112); break;
-#define DEVTEMPLATE_ID(p,s) p##nmk112##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "NMK 112"
-#define DEVTEMPLATE_FAMILY "NMK 112 Bankswitch IC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(nmk112); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "NMK 112"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(NMK112, nmk112);
diff --git a/src/mame/video/kan_pand.c b/src/mame/video/kan_pand.c
index 9992433ee84..fad451769e1 100644
--- a/src/mame/video/kan_pand.c
+++ b/src/mame/video/kan_pand.c
@@ -325,13 +325,18 @@ static DEVICE_RESET( kaneko_pandora )
pandora->clear_bitmap = 1;
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(kaneko_pandora)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(kaneko_pandora_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(kaneko_pandora); break;
-#define DEVTEMPLATE_ID( p, s ) p##kaneko_pandora##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Kaneko Pandora - PX79C480FP-3"
-#define DEVTEMPLATE_FAMILY "Kaneko Video Chips"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(kaneko_pandora); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "Kaneko Pandora - PX79C480FP-3"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(KANEKO_PANDORA, kaneko_pandora);
diff --git a/src/mame/video/vrender0.c b/src/mame/video/vrender0.c
index 2858eb4fa79..3a05da0c01d 100644
--- a/src/mame/video/vrender0.c
+++ b/src/mame/video/vrender0.c
@@ -601,13 +601,17 @@ static DEVICE_RESET( vr0video )
vr0->LastPalUpdate = 0xffffffff;
}
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(vr0video)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(vr0video_state); break;
-#define DEVTEMPLATE_ID( p, s ) p##vr0video##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "VRender0"
-#define DEVTEMPLATE_FAMILY "???"
-#include "devtempl.h"
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(vr0video); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(vr0video); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "VRender0"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(VIDEO_VRENDER0, vr0video);
diff --git a/src/mess/audio/t6721.c b/src/mess/audio/t6721.c
index 9f5e1935c27..2d0f111c0e2 100644
--- a/src/mess/audio/t6721.c
+++ b/src/mess/audio/t6721.c
@@ -289,12 +289,18 @@ static DEVICE_RESET( t6721 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(t6721)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(t6721_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(t6721); break;
-#define DEVTEMPLATE_ID(p,s) p##t6721##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "Toshiba 6721A"
-#define DEVTEMPLATE_FAMILY "Toshiba 6721A"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(t6721); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "Toshiba 6721A"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(T6721, t6721);
diff --git a/src/mess/machine/micropolis.c b/src/mess/machine/micropolis.c
index f4b04512624..f529aa250a2 100644
--- a/src/mess/machine/micropolis.c
+++ b/src/mess/machine/micropolis.c
@@ -382,14 +382,18 @@ void micropolis_reset(device_t *device)
DEVICE GETINFO
***************************************************************************/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
-
-#define DEVTEMPLATE_ID(p,s) p##micropolis##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "MICROPOLIS"
-#define DEVTEMPLATE_FAMILY "MICROPOLIS"
-#define DEVTEMPLATE_VERSION "0.1"
-#define DEVTEMPLATE_CREDITS "Copyright MESS Team"
-#include "devtempl.h"
+DEVICE_GET_INFO(micropolis)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(micropolis_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(micropolis); break;
+
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(micropolis); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "MICROPOLIS"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(MICROPOLIS, micropolis);
diff --git a/src/mess/video/vdc8563.c b/src/mess/video/vdc8563.c
index 107f806253d..e9e6cce35c4 100644
--- a/src/mess/video/vdc8563.c
+++ b/src/mess/video/vdc8563.c
@@ -662,12 +662,18 @@ static DEVICE_RESET( vdc8563 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(vdc8563)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(vdc8563_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(vdc8563); break;
-#define DEVTEMPLATE_ID(p,s) p##vdc8563##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "8563 / 8568 VDC"
-#define DEVTEMPLATE_FAMILY "8563 / 8568 VDC"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(vdc8563); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "8563 / 8568 VDC"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(VDC8563, vdc8563);
diff --git a/src/mess/video/vic4567.c b/src/mess/video/vic4567.c
index 5284cf721c3..04175513e55 100644
--- a/src/mess/video/vic4567.c
+++ b/src/mess/video/vic4567.c
@@ -2154,12 +2154,18 @@ static DEVICE_RESET( vic3 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(vic3)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(vic3_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(vic3); break;
-#define DEVTEMPLATE_ID(p,s) p##vic3##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "4567 VIC III"
-#define DEVTEMPLATE_FAMILY "4567 VIC III"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(vic3); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "4567 VIC III"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(VIC3, vic3);
diff --git a/src/mess/video/vic6567.c b/src/mess/video/vic6567.c
index aeac999dea7..56a1c7c0cf7 100644
--- a/src/mess/video/vic6567.c
+++ b/src/mess/video/vic6567.c
@@ -2804,12 +2804,18 @@ static DEVICE_RESET( vic2 )
device definition
-------------------------------------------------*/
-static const char DEVTEMPLATE_SOURCE[] = __FILE__;
+DEVICE_GET_INFO(vic2)
+{
+ switch (state)
+ {
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(vic2_state); break;
+
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(vic2); break;
-#define DEVTEMPLATE_ID(p,s) p##vic2##s
-#define DEVTEMPLATE_FEATURES DT_HAS_START | DT_HAS_RESET
-#define DEVTEMPLATE_NAME "6567 / 6569 VIC II"
-#define DEVTEMPLATE_FAMILY "6567 / 6569 VIC II"
-#include "devtempl.h"
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME(vic2); break;
+
+ case DEVINFO_STR_NAME: strcpy(info->s, "6567 / 6569 VIC II"); break;
+ }
+}
DEFINE_LEGACY_DEVICE(VIC2, vic2);