summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Fabio Priuli <etabeta78@users.noreply.github.com>2009-11-18 12:56:36 +0000
committer Fabio Priuli <etabeta78@users.noreply.github.com>2009-11-18 12:56:36 +0000
commit514c637bbef11090d7b2f27979da8241a1315cfd (patch)
tree55ecc2839d29b7dad36e9b136674a62732e76abc /src
parent1a9e28c419da5d9e01487be6bb6658c822ce4a95 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/emu/machine/eepromdev.c3
-rw-r--r--src/emu/machine/eepromdev.h5
2 files changed, 8 insertions, 0 deletions
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 );