summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-10-01 17:27:29 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-10-01 17:27:29 +0000
commitfe289e67f5e9d1967762588f29b3d9730256cdf5 (patch)
treebc62503bcc8e7836fa014af34975b3413ecc6e97 /src/emu
parent61eb81209630e89f8c9b90141c4a5e6ee95fda0a (diff)
> -----Original Message-----
> From: Atari Ace [mailto:atari_ace@verizon.net] > Sent: Sunday, September 27, 2009 7:58 AM > To: submit@mamedev.org > Cc: atariace@hotmail.com > Subject: [patch] More _NAME macros > > Hi mamedev, > > MAME's idiom for function/data macros is to first implement > <name>_NAME, then implement the other macros in terms of the _NAME > macro. Then in principle only a single line needs editing to change > the naming convention. > > This patchset implements this idiom more completely. The first patch > adds some missing _NAME macros and fixes cases in source files that > should be using the macros. The second patch then changes header > files where the macros should have been used, but weren't. This > required changing the idiom for removing a machine driver function > pointer from MDRV_<FUNCTION>(NULL) to MDRV_<FUNCTION>(0), to avoid > problems with NULL being macro expanded. This actually unifies the > handling of all such cases, as we already had ipt_0 and driver_init_0. > It also required reworking the devtempl.h implementation in a way that > triggered a warning on MSVC about using empty macros, so vconv.c > needed to be updated. The third patch then renames all the _NAME and > _0 macros to verify that all the cases have been covered, so it isn't > intended to be applied. > > ~aa
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/cpu/dsp56k/dsp56k.c2
-rw-r--r--src/emu/cpu/h83002/h8_16.c2
-rw-r--r--src/emu/cpu/h83002/h8_8.c2
-rw-r--r--src/emu/devtempl.h43
-rw-r--r--src/emu/drawgfx.h5
-rw-r--r--src/emu/driver.h103
-rw-r--r--src/emu/inptport.h12
-rw-r--r--src/emu/machine/laserdsc.h2
-rw-r--r--src/emu/mame.c2
-rw-r--r--src/emu/mconfig.h28
-rw-r--r--src/emu/ui.c2
11 files changed, 112 insertions, 91 deletions
diff --git a/src/emu/cpu/dsp56k/dsp56k.c b/src/emu/cpu/dsp56k/dsp56k.c
index 61dc138e7c1..8c64b52556a 100644
--- a/src/emu/cpu/dsp56k/dsp56k.c
+++ b/src/emu/cpu/dsp56k/dsp56k.c
@@ -141,7 +141,7 @@ static void set_irq_line(dsp56k_core* cpustate, int irqline, int state)
{
/* If it changes state from asserted to cleared. Call the reset function. */
if (cpustate->reset_state == TRUE)
- cpu_reset_dsp56k(cpustate->device);
+ CPU_RESET_NAME(dsp56k)(cpustate->device);
cpustate->reset_state = FALSE;
}
diff --git a/src/emu/cpu/h83002/h8_16.c b/src/emu/cpu/h83002/h8_16.c
index faf925c7f74..1ba7491aa1c 100644
--- a/src/emu/cpu/h83002/h8_16.c
+++ b/src/emu/cpu/h83002/h8_16.c
@@ -653,7 +653,7 @@ CPU_GET_INFO( h8_3007 )
{
switch (state)
{
- case CPUINFO_PTR_INTERNAL_MEMORY_MAP_PROGRAM: info->internal_map16 = address_map_h8_3007_internal_map; break;
+ case CPUINFO_PTR_INTERNAL_MEMORY_MAP_PROGRAM: info->internal_map16 = ADDRESS_MAP_NAME(h8_3007_internal_map); break;
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(h8_3007); break;
case DEVINFO_STR_NAME: strcpy(info->s, "H8/3007"); break;
default:
diff --git a/src/emu/cpu/h83002/h8_8.c b/src/emu/cpu/h83002/h8_8.c
index b127e0259e0..2aadd272528 100644
--- a/src/emu/cpu/h83002/h8_8.c
+++ b/src/emu/cpu/h83002/h8_8.c
@@ -747,7 +747,7 @@ CPU_GET_INFO( h8_3334 )
case CPUINFO_INT_ADDRBUS_SHIFT_IO: info->i = 0; break;
// Internal maps
- case CPUINFO_PTR_INTERNAL_MEMORY_MAP_PROGRAM: info->internal_map8 = address_map_h8_3334_internal_map; break;
+ case CPUINFO_PTR_INTERNAL_MEMORY_MAP_PROGRAM: info->internal_map8 = ADDRESS_MAP_NAME(h8_3334_internal_map); break;
case CPUINFO_PTR_INTERNAL_MEMORY_MAP_DATA: info->internal_map8 = NULL; break;
case CPUINFO_PTR_INTERNAL_MEMORY_MAP_IO: info->internal_map16 = NULL; break;
diff --git a/src/emu/devtempl.h b/src/emu/devtempl.h
index 04978aa1b0c..09cf2c4b6b6 100644
--- a/src/emu/devtempl.h
+++ b/src/emu/devtempl.h
@@ -64,6 +64,9 @@ static const char DEVTEMPLATE_SOURCE[] = __FILE__;
***************************************************************************/
+#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
@@ -164,36 +167,36 @@ DEVICE_GET_INFO( DEVTEMPLATE_ID(,) )
/* --- the following bits of info are returned as pointers --- */
#if ((DEVTEMPLATE_FEATURES) & DT_HAS_ROM_REGION)
- case DEVINFO_PTR_ROM_REGION: info->romregion = DEVTEMPLATE_ID(rom_,); break;
+ 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_ID(machine_config_,); break;
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = DEVTEMPLATE_ID1(MACHINE_DRIVER_NAME()); break;
#endif
#if ((DEVTEMPLATE_FEATURES) & DT_HAS_CONTRACT_LIST)
- case DEVINFO_PTR_CONTRACT_LIST: info->contract_list = DEVTEMPLATE_ID(device_contract_list_,); break;
+ case DEVINFO_PTR_CONTRACT_LIST: info->contract_list = DEVTEMPLATE_ID1(DEVICE_CONTRACT_LIST_NAME()); break;
#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_ID(device_start_,); break;
+ 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_ID(device_reset_,); break;
+ 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_ID(device_stop_,); break;
+ 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_ID(device_execute_,); break;
+ case DEVINFO_FCT_EXECUTE: info->execute = DEVTEMPLATE_ID1(DEVICE_EXECUTE_NAME()); break;
#endif
#if ((DEVTEMPLATE_FEATURES) & DT_HAS_NVRAM)
- case DEVINFO_FCT_NVRAM: info->nvram = DEVTEMPLATE_ID(device_nvram_,); break;
+ case DEVINFO_FCT_NVRAM: info->nvram = DEVTEMPLATE_ID1(DEVICE_NVRAM_NAME()); break;
#endif
#if ((DEVTEMPLATE_FEATURES) & DT_HAS_VALIDITY_CHECK)
- case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVTEMPLATE_ID(device_validity_check_,); break;
+ case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVTEMPLATE_ID1(DEVICE_VALIDITY_CHECK_NAME()); break;
#endif
#if ((DEVTEMPLATE_FEATURES) & DT_HAS_CUSTOM_CONFIG)
- case DEVINFO_FCT_CUSTOM_CONFIG: info->custom_config = DEVTEMPLATE_ID(device_custom_config_,); break;
+ case DEVINFO_FCT_CUSTOM_CONFIG: info->custom_config = DEVTEMPLATE_ID1(DEVICE_CUSTOM_CONFIG_NAME()); break;
#endif
/* --- the following bits of info are returned as NULL-terminated strings --- */
@@ -239,36 +242,36 @@ DEVICE_GET_INFO( DEVTEMPLATE_DERIVED_ID(,) )
{
/* --- 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_ID(rom_,); break;
+ 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_ID(machine_config_,); break;
+ case DEVINFO_PTR_MACHINE_CONFIG: info->machine_config = DEVTEMPLATE_DERIVED_ID1(MACHINE_DRIVER_NAME()); break;
#endif
#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_CONTRACT_LIST)
- case DEVINFO_PTR_CONTRACT_LIST: info->contract_list = DEVTEMPLATE_DERIVED_ID(contract_list_,); break;
+ case DEVINFO_PTR_CONTRACT_LIST: info->contract_list = DEVTEMPLATE_DERIVED_ID1(DEVICE_CONTRACT_LIST_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_ID(device_start_,); break;
+ 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_ID(device_reset_,); break;
+ 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_ID(device_stop_,); break;
+ 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_ID(device_execute_,); break;
+ case DEVINFO_FCT_EXECUTE: info->execute = DEVTEMPLATE_DERIVED_ID1(DEVICE_EXECUTE_NAME()); break;
#endif
#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_NVRAM)
- case DEVINFO_FCT_NVRAM: info->nvram = DEVTEMPLATE_DERIVED_ID(device_nvram_,); break;
+ case DEVINFO_FCT_NVRAM: info->nvram = DEVTEMPLATE_DERIVED_ID1(DEVICE_NVRAM_NAME()); break;
#endif
#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_VALIDITY_CHECK)
- case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVTEMPLATE_DERIVED_ID(device_validity_check_,); break;
+ case DEVINFO_FCT_VALIDITY_CHECK: info->validity_check = DEVTEMPLATE_DERIVED_ID1(DEVICE_VALIDITY_CHECK_NAME()); break;
#endif
#if ((DEVTEMPLATE_DERIVED_FEATURES) & DT_HAS_CUSTOM_CONFIG)
- case DEVINFO_FCT_CUSTOM_CONFIG: info->custom_config = DEVTEMPLATE_DERIVED_ID(device_custom_config_,); break;
+ case DEVINFO_FCT_CUSTOM_CONFIG: info->custom_config = DEVTEMPLATE_DERIVED_ID1(DEVICE_CUSTOM_CONFIG_NAME()); break;
#endif
/* --- the following bits of info are returned as NULL-terminated strings --- */
diff --git a/src/emu/drawgfx.h b/src/emu/drawgfx.h
index 2b1d9a09936..d2db85b297c 100644
--- a/src/emu/drawgfx.h
+++ b/src/emu/drawgfx.h
@@ -82,8 +82,9 @@ enum
/* these macros are used for declaring gfx_decode_entry_entry info arrays. */
-#define GFXDECODE_EXTERN( name ) extern const gfx_decode_entry gfxdecodeinfo_##name[]
-#define GFXDECODE_START( name ) const gfx_decode_entry gfxdecodeinfo_##name[] = {
+#define GFXDECODE_NAME( name ) gfxdecodeinfo_##name
+#define GFXDECODE_EXTERN( name ) extern const gfx_decode_entry GFXDECODE_NAME(name)[]
+#define GFXDECODE_START( name ) const gfx_decode_entry GFXDECODE_NAME(name)[] = {
#define GFXDECODE_ENTRY(region,offset,layout,start,colors) { region, offset, &layout, start, colors, 0, 0 },
#define GFXDECODE_SCALE(region,offset,layout,start,colors,xscale,yscale) { region, offset, &layout, start, colors, xscale, yscale },
#define GFXDECODE_END { 0 } };
diff --git a/src/emu/driver.h b/src/emu/driver.h
index c2ec12d67cb..f980bb8943c 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -21,55 +21,68 @@
#include "devintrf.h"
-#define DRIVER_INIT(name) void driver_init_##name(running_machine *machine)
-#define DRIVER_INIT_CALL(name) driver_init_##name(machine)
+#define DRIVER_INIT_NAME(name) driver_init_##name
+#define DRIVER_INIT(name) void DRIVER_INIT_NAME(name)(running_machine *machine)
+#define DRIVER_INIT_CALL(name) DRIVER_INIT_NAME(name)(machine)
-#define NVRAM_HANDLER(name) void nvram_handler_##name(running_machine *machine, mame_file *file, int read_or_write)
-#define NVRAM_HANDLER_CALL(name) nvram_handler_##name(machine, file, read_or_write)
+#define NVRAM_HANDLER_NAME(name) nvram_handler_##name
+#define NVRAM_HANDLER(name) void NVRAM_HANDLER_NAME(name)(running_machine *machine, mame_file *file, int read_or_write)
+#define NVRAM_HANDLER_CALL(name) NVRAM_HANDLER_NAME(name)(machine, file, read_or_write)
-#define MEMCARD_HANDLER(name) void memcard_handler_##name(running_machine *machine, mame_file *file, int action)
-#define MEMCARD_HANDLER_CALL(name) memcard_handler_##name(machine, file, action)
+#define MEMCARD_HANDLER_NAME(name) memcard_handler_##name
+#define MEMCARD_HANDLER(name) void MEMCARD_HANDLER_NAME(name)(running_machine *machine, mame_file *file, int action)
+#define MEMCARD_HANDLER_CALL(name) MEMCARD_HANDLER_NAME(name)(machine, file, action)
-#define MACHINE_START(name) void machine_start_##name(running_machine *machine)
-#define MACHINE_START_CALL(name) machine_start_##name(machine)
+#define MACHINE_START_NAME(name) machine_start_##name
+#define MACHINE_START(name) void MACHINE_START_NAME(name)(running_machine *machine)
+#define MACHINE_START_CALL(name) MACHINE_START_NAME(name)(machine)
-#define MACHINE_RESET(name) void machine_reset_##name(running_machine *machine)
-#define MACHINE_RESET_CALL(name) machine_reset_##name(machine)
+#define MACHINE_RESET_NAME(name) machine_reset_##name
+#define MACHINE_RESET(name) void MACHINE_RESET_NAME(name)(running_machine *machine)
+#define MACHINE_RESET_CALL(name) MACHINE_RESET_NAME(name)(machine)
-#define SOUND_START(name) void sound_start_##name(running_machine *machine)
-#define SOUND_START_CALL(name) sound_start_##name(machine)
+#define SOUND_START_NAME(name) sound_start_##name
+#define SOUND_START(name) void SOUND_START_NAME(name)(running_machine *machine)
+#define SOUND_START_CALL(name) SOUND_START_NAME(name)(machine)
-#define SOUND_RESET(name) void sound_reset_##name(running_machine *machine)
-#define SOUND_RESET_CALL(name) sound_reset_##name(machine)
+#define SOUND_RESET_NAME(name) sound_reset_##name
+#define SOUND_RESET(name) void SOUND_RESET_NAME(name)(running_machine *machine)
+#define SOUND_RESET_CALL(name) SOUND_RESET_NAME(name)(machine)
-#define VIDEO_START(name) void video_start_##name(running_machine *machine)
-#define VIDEO_START_CALL(name) video_start_##name(machine)
+#define VIDEO_START_NAME(name) video_start_##name
+#define VIDEO_START(name) void VIDEO_START_NAME(name)(running_machine *machine)
+#define VIDEO_START_CALL(name) VIDEO_START_NAME(name)(machine)
-#define VIDEO_RESET(name) void video_reset_##name(running_machine *machine)
-#define VIDEO_RESET_CALL(name) video_reset_##name(machine)
+#define VIDEO_RESET_NAME(name) video_reset_##name
+#define VIDEO_RESET(name) void VIDEO_RESET_NAME(name)(running_machine *machine)
+#define VIDEO_RESET_CALL(name) VIDEO_RESET_NAME(name)(machine)
-#define PALETTE_INIT(name) void palette_init_##name(running_machine *machine, const UINT8 *color_prom)
-#define PALETTE_INIT_CALL(name) palette_init_##name(machine, color_prom)
+#define PALETTE_INIT_NAME(name) palette_init_##name
+#define PALETTE_INIT(name) void PALETTE_INIT_NAME(name)(running_machine *machine, const UINT8 *color_prom)
+#define PALETTE_INIT_CALL(name) PALETTE_INIT_NAME(name)(machine, color_prom)
-#define VIDEO_EOF(name) void video_eof_##name(running_machine *machine)
-#define VIDEO_EOF_CALL(name) video_eof_##name(machine)
+#define VIDEO_EOF_NAME(name) video_eof_##name
+#define VIDEO_EOF(name) void VIDEO_EOF_NAME(name)(running_machine *machine)
+#define VIDEO_EOF_CALL(name) VIDEO_EOF_NAME(name)(machine)
-#define VIDEO_UPDATE(name) UINT32 video_update_##name(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect)
-#define VIDEO_UPDATE_CALL(name) video_update_##name(screen, bitmap, cliprect)
+#define VIDEO_UPDATE_NAME(name) video_update_##name
+#define VIDEO_UPDATE(name) UINT32 VIDEO_UPDATE_NAME(name)(const device_config *screen, bitmap_t *bitmap, const rectangle *cliprect)
+#define VIDEO_UPDATE_CALL(name) VIDEO_UPDATE_NAME(name)(screen, bitmap, cliprect)
/* NULL versions */
-#define nvram_handler_NULL NULL
-#define memcard_handler_NULL NULL
-#define machine_start_NULL NULL
-#define machine_reset_NULL NULL
-#define sound_start_NULL NULL
-#define sound_reset_NULL NULL
-#define video_start_NULL NULL
-#define video_reset_NULL NULL
-#define palette_init_NULL NULL
-#define video_eof_NULL NULL
-#define video_update_NULL NULL
+#define driver_init_0 NULL
+#define nvram_handler_0 NULL
+#define memcard_handler_0 NULL
+#define machine_start_0 NULL
+#define machine_reset_0 NULL
+#define sound_start_0 NULL
+#define sound_reset_0 NULL
+#define video_start_0 NULL
+#define video_reset_0 NULL
+#define palette_init_0 NULL
+#define video_eof_0 NULL
+#define video_update_0 NULL
typedef void (*driver_init_func)(running_machine *machine);
@@ -185,12 +198,14 @@ struct _game_driver
MACROS FOR BUILDING GAME DRIVERS
***************************************************************************/
+#define GAME_NAME(name) driver_##name
+#define GAME_EXTERN(name) extern const game_driver GAME_NAME(name)
+
#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \
GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,((const char *)0))
#define GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,LAYOUT) \
-extern const game_driver driver_##NAME; \
-const game_driver driver_##NAME = \
+const game_driver GAME_NAME(NAME) = \
{ \
__FILE__, \
#PARENT, \
@@ -198,18 +213,14 @@ const game_driver driver_##NAME = \
FULLNAME, \
#YEAR, \
COMPANY, \
- machine_config_##MACHINE, \
- ipt_##INPUT, \
- driver_init_##INIT, \
- rom_##NAME, \
+ MACHINE_DRIVER_NAME(MACHINE), \
+ INPUT_PORTS_NAME(INPUT), \
+ DRIVER_INIT_NAME(INIT), \
+ ROM_NAME(NAME), \
(MONITOR)|(FLAGS), \
&LAYOUT[0] \
};
-/* this allows to leave the INIT field empty in the GAME() macro call */
-#define driver_init_0 0
-#define ipt_0 0
-
/***************************************************************************
@@ -218,7 +229,7 @@ const game_driver driver_##NAME = \
extern const game_driver * const drivers[];
-extern const game_driver driver_empty;
+GAME_EXTERN(empty);
diff --git a/src/emu/inptport.h b/src/emu/inptport.h
index ede24036c0e..7bbb02ba09d 100644
--- a/src/emu/inptport.h
+++ b/src/emu/inptport.h
@@ -744,9 +744,15 @@ struct _inp_header
MACROS FOR BUILDING INPUT PORTS
***************************************************************************/
+/* so that "0" can be used for unneeded input ports */
+#define ipt_0 NULL
+
+/* name of table */
+#define INPUT_PORTS_NAME(_name) ipt_##_name
+
/* start of table */
#define INPUT_PORTS_START(_name) \
- const input_port_token ipt_##_name[] = {
+ const input_port_token INPUT_PORTS_NAME(_name)[] = {
/* end of table */
#define INPUT_PORTS_END \
@@ -754,12 +760,12 @@ struct _inp_header
/* aliasing */
#define INPUT_PORTS_EXTERN(_name) \
- extern const input_port_token ipt_##_name[]
+ extern const input_port_token INPUT_PORTS_NAME(_name)[]
/* including */
#define PORT_INCLUDE(_name) \
TOKEN_UINT32_PACK1(INPUT_TOKEN_INCLUDE, 8), \
- TOKEN_PTR(tokenptr, &ipt_##_name[0]),
+ TOKEN_PTR(tokenptr, &INPUT_PORTS_NAME(_name)[0]),
/* start of a new input port (with included tag) */
#define PORT_START(_tag) \
diff --git a/src/emu/machine/laserdsc.h b/src/emu/machine/laserdsc.h
index 356eba80225..3d74571a3df 100644
--- a/src/emu/machine/laserdsc.h
+++ b/src/emu/machine/laserdsc.h
@@ -103,7 +103,7 @@ struct _laserdisc_config
MDRV_DEVICE_CONFIG_DATAPTR(laserdisc_config, audio, _func)
#define MDRV_LASERDISC_OVERLAY(_update, _width, _height, _format) \
- MDRV_DEVICE_CONFIG_DATAPTR(laserdisc_config, overupdate, video_update_##_update) \
+ MDRV_DEVICE_CONFIG_DATAPTR(laserdisc_config, overupdate, VIDEO_UPDATE_NAME(_update)) \
MDRV_DEVICE_CONFIG_DATA32(laserdisc_config, overwidth, _width) \
MDRV_DEVICE_CONFIG_DATA32(laserdisc_config, overheight, _height) \
MDRV_DEVICE_CONFIG_DATA32(laserdisc_config, overformat, _format)
diff --git a/src/emu/mame.c b/src/emu/mame.c
index 35879d78369..8c0beaf537e 100644
--- a/src/emu/mame.c
+++ b/src/emu/mame.c
@@ -273,7 +273,7 @@ int mame_execute(core_options *options)
/* if no driver, use the internal empty driver */
if (driver == NULL)
{
- driver = &driver_empty;
+ driver = &GAME_NAME(empty);
if (firstgame)
started_empty = TRUE;
}
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index fef4387004e..34844aa80a3 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -191,13 +191,13 @@ union _machine_config_token
/* use this to declare external references to a machine driver */
#define MACHINE_DRIVER_EXTERN(_name) \
- extern const machine_config_token machine_config_##_name[]
+ extern const machine_config_token MACHINE_DRIVER_NAME(_name)[]
/* importing data from other machine drivers */
#define MDRV_IMPORT_FROM(_name) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_INCLUDE, 8), \
- TOKEN_PTR(tokenptr, machine_config_##_name),
+ TOKEN_PTR(tokenptr, MACHINE_DRIVER_NAME(_name)),
/* core parameters */
@@ -223,19 +223,19 @@ union _machine_config_token
/* core functions */
#define MDRV_MACHINE_START(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_MACHINE_START, 8), \
- TOKEN_PTR(machine_start, machine_start_##_func),
+ TOKEN_PTR(machine_start, MACHINE_START_NAME(_func)),
#define MDRV_MACHINE_RESET(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_MACHINE_RESET, 8), \
- TOKEN_PTR(machine_reset, machine_reset_##_func),
+ TOKEN_PTR(machine_reset, MACHINE_RESET_NAME(_func)),
#define MDRV_NVRAM_HANDLER(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_NVRAM_HANDLER, 8), \
- TOKEN_PTR(nvram_handler, nvram_handler_##_func),
+ TOKEN_PTR(nvram_handler, NVRAM_HANDLER_NAME(_func)),
#define MDRV_MEMCARD_HANDLER(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_MEMCARD_HANDLER, 8), \
- TOKEN_PTR(memcard_handler, memcard_handler_##_func),
+ TOKEN_PTR(memcard_handler, MEMCARD_HANDLER_NAME(_func)),
/* core video parameters */
@@ -244,7 +244,7 @@ union _machine_config_token
#define MDRV_GFXDECODE(_gfx) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_GFXDECODE, 8), \
- TOKEN_PTR(gfxdecode, gfxdecodeinfo_##_gfx),
+ TOKEN_PTR(gfxdecode, GFXDECODE_NAME(_gfx)),
#define MDRV_PALETTE_LENGTH(_length) \
TOKEN_UINT32_PACK2(MCONFIG_TOKEN_PALETTE_LENGTH, 8, _length, 24),
@@ -257,33 +257,33 @@ union _machine_config_token
/* core video functions */
#define MDRV_PALETTE_INIT(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_PALETTE_INIT, 8), \
- TOKEN_PTR(palette_init, palette_init_##_func),
+ TOKEN_PTR(palette_init, PALETTE_INIT_NAME(_func)),
#define MDRV_VIDEO_START(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_VIDEO_START, 8), \
- TOKEN_PTR(video_start, video_start_##_func),
+ TOKEN_PTR(video_start, VIDEO_START_NAME(_func)),
#define MDRV_VIDEO_RESET(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_VIDEO_RESET, 8), \
- TOKEN_PTR(video_reset, video_reset_##_func),
+ TOKEN_PTR(video_reset, VIDEO_RESET_NAME(_func)),
#define MDRV_VIDEO_EOF(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_VIDEO_EOF, 8), \
- TOKEN_PTR(video_eof, video_eof_##_func),
+ TOKEN_PTR(video_eof, VIDEO_EOF_NAME(_func)),
#define MDRV_VIDEO_UPDATE(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_VIDEO_UPDATE, 8), \
- TOKEN_PTR(video_update, video_update_##_func),
+ TOKEN_PTR(video_update, VIDEO_UPDATE_NAME(_func)),
/* core sound functions */
#define MDRV_SOUND_START(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_SOUND_START, 8), \
- TOKEN_PTR(sound_start, sound_start_##_func),
+ TOKEN_PTR(sound_start, SOUND_START_NAME(_func)),
#define MDRV_SOUND_RESET(_func) \
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_SOUND_RESET, 8), \
- TOKEN_PTR(sound_start, sound_reset_##_func),
+ TOKEN_PTR(sound_start, SOUND_RESET_NAME(_func)),
/* add/remove devices */
diff --git a/src/emu/ui.c b/src/emu/ui.c
index a1dcc70baa3..cb0dd5453ae 100644
--- a/src/emu/ui.c
+++ b/src/emu/ui.c
@@ -248,7 +248,7 @@ int ui_display_startup_screens(running_machine *machine, int first_time, int sho
/* disable everything if we are using -str for 300 or fewer seconds, or if we're the empty driver,
or if we are debugging */
- if (!first_time || (str > 0 && str < 60*5) || machine->gamedrv == &driver_empty || (machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if (!first_time || (str > 0 && str < 60*5) || machine->gamedrv == &GAME_NAME(empty) || (machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
show_gameinfo = show_warnings = show_disclaimer = FALSE;
/* initialize the on-screen display system */