From 514c637bbef11090d7b2f27979da8241a1315cfd Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Wed, 18 Nov 2009 12:56:36 +0000 Subject: [PATCH] Added a MDRV_EEPROM_NODEFAULT_ADD macro for drivers which do not need default data size / data I don't like too much this solution, but now the code is self contained: hence, better fixes (e.g. no MDRV_DEVICE_CONFIG_DATAPTR(eeprom_config, default_data, &_data) at all for the NODEFAULT eeprom?) could be added without further modifying the behavior across the drivers. --- src/emu/machine/eepromdev.c | 3 +++ src/emu/machine/eepromdev.h | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/emu/machine/eepromdev.c b/src/emu/machine/eepromdev.c index f46f05129ad..a98a0fade10 100644 --- a/src/emu/machine/eepromdev.c +++ b/src/emu/machine/eepromdev.c @@ -12,6 +12,9 @@ #define SERIAL_BUFFER_LENGTH 40 #define MEMORY_SIZE 1024 +/* FIXME: many drivers do not need default_data / default_data_size and put them to 0 in the drivers seems a waste of code */ +UINT8 *eeprom_empty_default_data = NULL; + typedef struct _eeprom_state eeprom_state; struct _eeprom_state { diff --git a/src/emu/machine/eepromdev.h b/src/emu/machine/eepromdev.h index b1734d3c5f6..beb383d565c 100644 --- a/src/emu/machine/eepromdev.h +++ b/src/emu/machine/eepromdev.h @@ -53,6 +53,11 @@ DEVICE_GET_INFO(eeprom); MDRV_DEVICE_CONFIG_DATAPTR(eeprom_config, default_data, &_data) \ MDRV_DEVICE_CONFIG_DATA32(eeprom_config, default_data_size, _size) +/* FIXME: many drivers do not need default_data / default_data_size and put them to 0 in the drivers seems a waste of code */ +extern UINT8 *eeprom_empty_default_data; + +#define MDRV_EEPROM_NODEFAULT_ADD(_tag, _interface) \ + MDRV_EEPROM_ADD(_tag, _interface, 0, eeprom_empty_default_data) void eepromdev_write_bit( const device_config *device, int bit ); int eepromdev_read_bit( const device_config *device );