16-bit hook-up for the Sharp LH28F016S flash memory

This commit is contained in:
Luca Elia 2016-09-10 17:16:47 +02:00
parent 3e0d522bce
commit 0e49a17f3d
2 changed files with 21 additions and 0 deletions

View File

@ -80,6 +80,7 @@ enum
// device type definition
const device_type INTEL_28F016S5 = &device_creator<intel_28f016s5_device>;
const device_type SHARP_LH28F016S = &device_creator<sharp_lh28f016s_device>;
const device_type SHARP_LH28F016S_16BIT = &device_creator<sharp_lh28f016s_16bit_device>;
const device_type ATMEL_29C010 = &device_creator<atmel_29c010_device>;
const device_type AMD_29F010 = &device_creator<amd_29f010_device>;
const device_type AMD_29F040 = &device_creator<amd_29f040_device>;
@ -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__) { }

View File

@ -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;