diff --git a/src/devices/machine/intelfsh.cpp b/src/devices/machine/intelfsh.cpp index a5563e7aa4c..19a871a018e 100644 --- a/src/devices/machine/intelfsh.cpp +++ b/src/devices/machine/intelfsh.cpp @@ -80,6 +80,7 @@ enum // device type definition const device_type INTEL_28F016S5 = &device_creator; const device_type SHARP_LH28F016S = &device_creator; +const device_type SHARP_LH28F016S_16BIT = &device_creator; const device_type ATMEL_29C010 = &device_creator; const device_type AMD_29F010 = &device_creator; const device_type AMD_29F040 = &device_creator; @@ -148,6 +149,12 @@ intelfsh_device::intelfsh_device(const machine_config &mconfig, device_type type m_maker_id = MFG_INTEL; m_device_id = 0xaa; break; + case FLASH_SHARP_LH28F016S_16BIT: + m_bits = 16; + m_size = 0x200000; + m_maker_id = MFG_INTEL; + m_device_id = 0xaa; + break; case FLASH_ATMEL_29C010: m_bits = 8; m_size = 0x20000; @@ -347,6 +354,9 @@ fujitsu_29dl16x_device::fujitsu_29dl16x_device(const machine_config &mconfig, co sharp_lh28f016s_device::sharp_lh28f016s_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : intelfsh8_device(mconfig, SHARP_LH28F016S, "Sharp LH28F016S Flash", tag, owner, clock, FLASH_SHARP_LH28F016S, "sharp_lh28f016s", __FILE__) { } +sharp_lh28f016s_16bit_device::sharp_lh28f016s_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : intelfsh16_device(mconfig, SHARP_LH28F016S_16BIT, "Sharp LH28F016S Flash (16-bit)", tag, owner, clock, FLASH_SHARP_LH28F016S_16BIT, "sharp_lh28f016s_16bit", __FILE__) { } + atmel_29c010_device::atmel_29c010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : intelfsh8_device(mconfig, ATMEL_29C010, "Atmel 29C010 Flash", tag, owner, clock, FLASH_ATMEL_29C010, "atmel_29c010", __FILE__) { } diff --git a/src/devices/machine/intelfsh.h b/src/devices/machine/intelfsh.h index 68604a453ab..44e54e8f32b 100644 --- a/src/devices/machine/intelfsh.h +++ b/src/devices/machine/intelfsh.h @@ -18,6 +18,9 @@ #define MCFG_SHARP_LH28F016S_ADD(_tag) \ MCFG_DEVICE_ADD(_tag, SHARP_LH28F016S, 0) +#define MCFG_SHARP_LH28F016S_16BIT_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, SHARP_LH28F016S_16BIT, 0) + #define MCFG_ATMEL_29C010_ADD(_tag) \ MCFG_DEVICE_ADD(_tag, ATMEL_29C010, 0) @@ -124,6 +127,7 @@ public: FLASH_AMD_29F800T, FLASH_AMD_29LV200T, FLASH_SHARP_LH28F016S, + FLASH_SHARP_LH28F016S_16BIT, FLASH_INTEL_E28F008SA, FLASH_MACRONIX_29L001MC, FLASH_MACRONIX_29LV160TMC, @@ -305,6 +309,12 @@ public: sharp_lh28f016s_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); }; +class sharp_lh28f016s_16bit_device : public intelfsh16_device +{ +public: + sharp_lh28f016s_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); +}; + class intel_e28f008sa_device : public intelfsh8_device { public: @@ -406,6 +416,7 @@ public: // device type definition extern const device_type INTEL_28F016S5; extern const device_type SHARP_LH28F016S; +extern const device_type SHARP_LH28F016S_16BIT; extern const device_type ATMEL_29C010; extern const device_type AMD_29F010; extern const device_type AMD_29F040;