summaryrefslogtreecommitdiffstatshomepage
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
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
-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
-rw-r--r--src/mame/drivers/galaxold.c4
-rw-r--r--src/mame/drivers/galpanic.c8
-rw-r--r--src/mame/drivers/gottlieb.c2
-rw-r--r--src/mame/drivers/jangou.c4
-rw-r--r--src/mame/drivers/ksys573.c12
-rw-r--r--src/mame/drivers/megadriv.c10
-rw-r--r--src/mame/drivers/othello.c2
-rw-r--r--src/mame/drivers/seicross.c2
-rw-r--r--src/mame/drivers/sfbonus.c16
-rw-r--r--src/mame/drivers/snowbros.c2
-rw-r--r--src/mame/drivers/timeplt.c2
-rw-r--r--src/mame/drivers/twinkle.c2
-rw-r--r--src/mame/drivers/zaccaria.c4
-rw-r--r--src/mame/mamedriv.c4
-rw-r--r--src/mame/tiny.c4
-rw-r--r--src/osd/windows/vconv.c2
27 files changed, 154 insertions, 129 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 */
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 03b15911173..82e7ca78bfa 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -2252,7 +2252,7 @@ static MACHINE_DRIVER_START( ozon1 )
MDRV_CPU_IO_MAP(ozon1_io_map)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MDRV_MACHINE_RESET(NULL)
+ MDRV_MACHINE_RESET(0)
MDRV_PALETTE_INIT(rockclim)
MDRV_PALETTE_LENGTH(32)
@@ -2344,7 +2344,7 @@ static MACHINE_DRIVER_START( harem )
MDRV_CPU_PROGRAM_MAP(harem_cpu2)
MDRV_CPU_IO_MAP(harem_cpu2_io)
- MDRV_MACHINE_RESET(NULL)
+ MDRV_MACHINE_RESET(0)
MDRV_PALETTE_INIT(rockclim)
MDRV_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 1a55b6a1733..bfdfa97406f 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -919,7 +919,7 @@ static MACHINE_DRIVER_START( comad )
/* video hardware */
MDRV_VIDEO_UPDATE(comad)
- MDRV_VIDEO_EOF(NULL)
+ MDRV_VIDEO_EOF(0)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( supmodel )
@@ -932,7 +932,7 @@ static MACHINE_DRIVER_START( supmodel )
/* video hardware */
MDRV_VIDEO_UPDATE(comad)
- MDRV_VIDEO_EOF(NULL)
+ MDRV_VIDEO_EOF(0)
/* sound hardware */
MDRV_SOUND_REPLACE("oki", OKIM6295, 1584000)
@@ -950,7 +950,7 @@ static MACHINE_DRIVER_START( fantsia2 )
/* video hardware */
MDRV_VIDEO_UPDATE(comad)
- MDRV_VIDEO_EOF(NULL)
+ MDRV_VIDEO_EOF(0)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( galhustl )
@@ -963,7 +963,7 @@ static MACHINE_DRIVER_START( galhustl )
/* video hardware */
MDRV_VIDEO_UPDATE(comad)
- MDRV_VIDEO_EOF(NULL)
+ MDRV_VIDEO_EOF(0)
/* sound hardware */
MDRV_SOUND_REPLACE("oki", OKIM6295, 1056000)
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index 03cb03c9c85..d4b458f7733 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -1987,7 +1987,7 @@ static MACHINE_DRIVER_START( reactor )
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(reactor_map)
- MDRV_NVRAM_HANDLER(NULL)
+ MDRV_NVRAM_HANDLER(0)
/* sound hardware */
MDRV_SOUND_ADD("samples", SAMPLES, 0)
diff --git a/src/mame/drivers/jangou.c b/src/mame/drivers/jangou.c
index 07d2930e7cd..452e04a5d5e 100644
--- a/src/mame/drivers/jangou.c
+++ b/src/mame/drivers/jangou.c
@@ -811,7 +811,7 @@ static MACHINE_DRIVER_START( jngolady )
MDRV_CPU_PROGRAM_MAP(nsc_map)
/* sound hardware */
- MDRV_SOUND_START(NULL)
+ MDRV_SOUND_START(0)
MDRV_DEVICE_REMOVE("cvsd")
MDRV_SOUND_ADD("msm", MSM5205, XTAL_400kHz)
@@ -830,7 +830,7 @@ static MACHINE_DRIVER_START( cntrygrl )
MDRV_DEVICE_REMOVE("cpu1")
/* sound hardware */
- MDRV_SOUND_START(NULL)
+ MDRV_SOUND_START(0)
MDRV_DEVICE_REMOVE("cvsd")
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c
index c76bcf75b54..77d6b523d2d 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -1523,10 +1523,10 @@ static void security_cart_init( running_machine *machine, int cart, const char *
switch( cart )
{
case 0:
- nvram_handler_security_cart_0 = nvram_handler_x76f041_0;
+ nvram_handler_security_cart_0 = NVRAM_HANDLER_NAME(x76f041_0);
break;
case 1:
- nvram_handler_security_cart_1 = nvram_handler_x76f041_1;
+ nvram_handler_security_cart_1 = NVRAM_HANDLER_NAME(x76f041_1);
break;
}
@@ -1539,10 +1539,10 @@ static void security_cart_init( running_machine *machine, int cart, const char *
switch( cart )
{
case 0:
- nvram_handler_security_cart_0 = nvram_handler_x76f100_0;
+ nvram_handler_security_cart_0 = NVRAM_HANDLER_NAME(x76f100_0);
break;
case 1:
- nvram_handler_security_cart_1 = nvram_handler_x76f100_1;
+ nvram_handler_security_cart_1 = NVRAM_HANDLER_NAME(x76f100_1);
break;
}
@@ -1555,10 +1555,10 @@ static void security_cart_init( running_machine *machine, int cart, const char *
switch( cart )
{
case 0:
- nvram_handler_security_cart_0 = nvram_handler_zs01_0;
+ nvram_handler_security_cart_0 = NVRAM_HANDLER_NAME(zs01_0);
break;
case 1:
- nvram_handler_security_cart_1 = nvram_handler_zs01_1;
+ nvram_handler_security_cart_1 = NVRAM_HANDLER_NAME(zs01_1);
break;
}
diff --git a/src/mame/drivers/megadriv.c b/src/mame/drivers/megadriv.c
index 9d3635eaaeb..a896a248401 100644
--- a/src/mame/drivers/megadriv.c
+++ b/src/mame/drivers/megadriv.c
@@ -1654,6 +1654,8 @@ static UINT8 megadrive_io_tx_regs[3];
static void megadrive_init_io(running_machine *machine)
{
+ const input_port_token *ipt = machine->gamedrv->ipt;
+
megadrive_io_data_regs[0] = 0x7f;
megadrive_io_data_regs[1] = 0x7f;
megadrive_io_data_regs[2] = 0x7f;
@@ -1664,10 +1666,10 @@ static void megadrive_init_io(running_machine *machine)
megadrive_io_tx_regs[1] = 0xff;
megadrive_io_tx_regs[2] = 0xff;
- if (machine->gamedrv->ipt == ipt_megadri6)
+ if (ipt == INPUT_PORTS_NAME(megadri6))
init_megadri6_io(machine);
- if (machine->gamedrv->ipt == ipt_ssf2ghw)
+ if (ipt == INPUT_PORTS_NAME(ssf2ghw))
init_megadri6_io(machine);
}
@@ -6212,6 +6214,8 @@ static int megadriv_tas_callback(const device_config *device)
static void megadriv_init_common(running_machine *machine)
{
+ const input_port_token *ipt = machine->gamedrv->ipt;
+
/* Look to see if this system has the standard Sound Z80 */
_genesis_snd_z80_cpu = cputag_get_cpu(machine, "genesis_snd_z80");
if (_genesis_snd_z80_cpu != NULL)
@@ -6266,7 +6270,7 @@ static void megadriv_init_common(running_machine *machine)
m68k_set_tas_callback(cputag_get_cpu(machine, "maincpu"), megadriv_tas_callback);
- if ((machine->gamedrv->ipt==ipt_megadri6) || (machine->gamedrv->ipt==ipt_ssf2ghw))
+ if ((ipt == INPUT_PORTS_NAME(megadri6)) || (ipt == INPUT_PORTS_NAME(ssf2ghw)))
{
megadrive_io_read_data_port_ptr = megadrive_io_read_data_port_6button;
megadrive_io_write_data_port_ptr = megadrive_io_write_data_port_6button;
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index f0070f521da..4b13852f185 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -48,7 +48,7 @@ static int ay_select=0;
static int ack_data=0;
static UINT8 n7751_command;
-static UINT32 n7751_rom_address;
+//static UINT32 n7751_rom_address;
static int tile_bank=0;
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 2fc178bfc24..dd559a8dc46 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -447,7 +447,7 @@ static MACHINE_DRIVER_START( no_nvram )
MDRV_CPU_MODIFY("mcu")
MDRV_CPU_PROGRAM_MAP(mcu_no_nvram_map)
- MDRV_NVRAM_HANDLER(NULL)
+ MDRV_NVRAM_HANDLER(0)
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index 7ee91177f47..83b46f97df5 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -691,6 +691,7 @@ static VIDEO_UPDATE(sfbonus)
int globalyscroll = (sfbonus_vregs[2] | sfbonus_vregs[3]<<8);
int globalxscroll = (sfbonus_vregs[0] | sfbonus_vregs[1]<<8);
UINT8* front_rowscroll = &sfbonus_videoram[0x200];
+ const input_port_token *ipt;
int i;
// align to 0
@@ -744,7 +745,7 @@ static VIDEO_UPDATE(sfbonus)
}
}
}
- /*
+#if 0
popmessage("%02x %02x %02x %02x %02x %02x %02x %02x -- %02x -- %02x %02x -- %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
sfbonus_3800_regs[0],
sfbonus_3800_regs[1],
@@ -782,9 +783,7 @@ static VIDEO_UPDATE(sfbonus)
sfbonus_vregs[30],
sfbonus_vregs[31]
);
- */
- /*
popmessage("-- %02x %02x %02x %02x %02x %02x %02x %02x",
sfbonus_1800_regs[0],
sfbonus_1800_regs[1],
@@ -794,10 +793,11 @@ static VIDEO_UPDATE(sfbonus)
sfbonus_1800_regs[5],
sfbonus_1800_regs[6],
sfbonus_1800_regs[7]);
- */
+#endif
- if ((screen->machine->gamedrv->ipt == ipt_amcoe2_reels3) || (screen->machine->gamedrv->ipt == ipt_amcoe2_reels4)
- || (screen->machine->gamedrv->ipt == ipt_amcoe2_poker))
+ ipt = screen->machine->gamedrv->ipt;
+ if ((ipt == INPUT_PORTS_NAME(amcoe2_reels3)) || (ipt == INPUT_PORTS_NAME(amcoe2_reels4))
+ || (ipt == INPUT_PORTS_NAME(amcoe2_poker)))
{
// based on pirpok2
output_set_lamp_value(0, (sfbonus_1800_regs[6] & 0x1) >> 0);
@@ -807,8 +807,8 @@ static VIDEO_UPDATE(sfbonus)
output_set_lamp_value(4, (sfbonus_1800_regs[4] & 0x4) >> 2);
output_set_lamp_value(5, (sfbonus_1800_regs[4] & 0x1) >> 0);
}
- else if ((screen->machine->gamedrv->ipt == ipt_amcoe1_reels3) || (screen->machine->gamedrv->ipt == ipt_amcoe1_reels4)
- || (screen->machine->gamedrv->ipt == ipt_amcoe1_poker))
+ else if ((ipt == INPUT_PORTS_NAME(amcoe1_reels3)) || (ipt == INPUT_PORTS_NAME(amcoe1_reels4))
+ || (ipt == INPUT_PORTS_NAME(amcoe1_poker)))
{
output_set_lamp_value(0, (sfbonus_1800_regs[0] & 0x2) >> 1);
output_set_lamp_value(1, (sfbonus_1800_regs[4] & 0x2) >> 1);
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index c70ff3c573a..d366d3156c8 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -1558,7 +1558,7 @@ static MACHINE_DRIVER_START( wintbob )
/* video hardware */
MDRV_GFXDECODE(wb)
MDRV_VIDEO_UPDATE(wintbob)
- MDRV_VIDEO_EOF(NULL)
+ MDRV_VIDEO_EOF(0)
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index f924b313a97..0ce90369122 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -345,7 +345,7 @@ static MACHINE_DRIVER_START( psurge )
MDRV_CPU_PROGRAM_MAP(psurge_main_map)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MDRV_MACHINE_START(NULL)
+ MDRV_MACHINE_START(0)
MACHINE_DRIVER_END
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index 5acf41ae81d..195243bbcd7 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -257,7 +257,7 @@ static NVRAM_HANDLER(twinkle)
}
}
- nvram_handler_i2cmem_0( machine, file, read_or_write );
+ NVRAM_HANDLER_CALL(i2cmem_0);
}
static UINT32 twinkle_unknown;
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index da27ae1b5c1..afa3704e367 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -256,7 +256,7 @@ static WRITE8_DEVICE_HANDLER( mc1408_data_w )
}
-extern const game_driver driver_monymony;
+GAME_EXTERN(monymony);
static READ8_HANDLER( zaccaria_prot1_r )
{
@@ -269,7 +269,7 @@ static READ8_HANDLER( zaccaria_prot1_r )
return 0x40; /* Jack Rabbit */
case 6:
- if (space->machine->gamedrv == &driver_monymony)
+ if (space->machine->gamedrv == &GAME_NAME(monymony))
return 0x70; /* Money Money */
return 0xa0; /* Jack Rabbit */
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index b86995edb12..bd49e1f776d 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -22,12 +22,12 @@
#define DRIVER_RECURSIVE
/* step 1: declare all external references */
-#define DRIVER(NAME) extern game_driver driver_##NAME;
+#define DRIVER(NAME) GAME_EXTERN(NAME);
#include "mamedriv.c"
/* step 2: define the drivers[] array */
#undef DRIVER
-#define DRIVER(NAME) &driver_##NAME,
+#define DRIVER(NAME) &GAME_NAME(NAME),
const game_driver * const drivers[] =
{
#include "mamedriv.c"
diff --git a/src/mame/tiny.c b/src/mame/tiny.c
index 3f0301d1082..f116db9e548 100644
--- a/src/mame/tiny.c
+++ b/src/mame/tiny.c
@@ -24,12 +24,12 @@
#define DRIVER_RECURSIVE
/* step 1: declare all external references */
-#define DRIVER(NAME) extern game_driver driver_##NAME;
+#define DRIVER(NAME) GAME_EXTERN(NAME);
#include "tiny.c"
/* step 2: define the drivers[] array */
#undef DRIVER
-#define DRIVER(NAME) &driver_##NAME,
+#define DRIVER(NAME) &GAME_NAME(NAME),
const game_driver * const drivers[] =
{
#include "tiny.c"
diff --git a/src/osd/windows/vconv.c b/src/osd/windows/vconv.c
index 266457fac43..4b380b4039e 100644
--- a/src/osd/windows/vconv.c
+++ b/src/osd/windows/vconv.c
@@ -68,7 +68,7 @@ static const translation_info gcc_translate[] =
{ 0, "-fno-strict-aliasing", "/Oa" },
{ 0, "-fno-omit-frame-pointer", "" },
{ 0, "-Werror", "/WX" },
- { VS7, "-Wall", "/Wall /W3 /wd4018 /wd4146 /wd4242 /wd4244 /wd4619 /wd4702 /wd4706 /wd4710 /wd4711 /wd4738 /wd4826" },
+ { VS7, "-Wall", "/Wall /W3 /wd4003 /wd4018 /wd4146 /wd4242 /wd4244 /wd4619 /wd4702 /wd4706 /wd4710 /wd4711 /wd4738 /wd4826" },
{ 0, "-Wall", "/W0" },
{ VS7, "-Wno-unused", "/wd4100 /wd4101 /wd4102" },
{ 0, "-W*", "" },