diff --git a/src/emu/cpu/i386/i386priv.h b/src/emu/cpu/i386/i386priv.h index 70a25279b7c..4cbed222d23 100644 --- a/src/emu/cpu/i386/i386priv.h +++ b/src/emu/cpu/i386/i386priv.h @@ -375,7 +375,12 @@ INLINE i386_state *get_safe_token(device_t *device) assert(device->type() == I386 || device->type() == I486 || device->type() == PENTIUM || - device->type() == MEDIAGX); + device->type() == MEDIAGX || + device->type() == PENTIUM_PRO || + device->type() == PENTIUM_MMX || + device->type() == PENTIUM2 || + device->type() == PENTIUM3 || + device->type() == PENTIUM4); return (i386_state *)downcast(device)->token(); } diff --git a/src/emu/machine/intelfsh.c b/src/emu/machine/intelfsh.c index 4705ef703fd..5e138e20137 100644 --- a/src/emu/machine/intelfsh.c +++ b/src/emu/machine/intelfsh.c @@ -79,6 +79,7 @@ enum const device_type INTEL_28F016S5 = &device_creator; const device_type SHARP_LH28F016S = &device_creator; const device_type ATMEL_29C010 = &device_creator; +const device_type AMD_29F010 = &device_creator; const device_type AMD_29F040 = &device_creator; const device_type AMD_29F080 = &device_creator; const device_type FUJITSU_29F016A = &device_creator; @@ -178,6 +179,13 @@ intelfsh_device::intelfsh_device(const machine_config &mconfig, device_type type m_device_id = 0xd5; map = ADDRESS_MAP_NAME( memory_map8_1Mb ); break; + case FLASH_AMD_29F010: + m_bits = 8; + m_size = 0x20000; + m_maker_id = MFG_AMD; + m_device_id = 0x20; + map = ADDRESS_MAP_NAME( memory_map8_1Mb ); + break; case FLASH_AMD_29F040: m_bits = 8; m_size = 0x80000; @@ -298,6 +306,9 @@ sharp_lh28f016s_device::sharp_lh28f016s_device(const machine_config &mconfig, co 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) { } +amd_29f010_device::amd_29f010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : intelfsh8_device(mconfig, AMD_29F010, "AMD 29F010 Flash", tag, owner, clock, FLASH_AMD_29F010) { } + amd_29f040_device::amd_29f040_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : intelfsh8_device(mconfig, AMD_29F040, "AMD 29F040 Flash", tag, owner, clock, FLASH_AMD_29F040) { } diff --git a/src/emu/machine/intelfsh.h b/src/emu/machine/intelfsh.h index 4fbc9517dac..8f67ed0da12 100644 --- a/src/emu/machine/intelfsh.h +++ b/src/emu/machine/intelfsh.h @@ -19,6 +19,9 @@ #define MCFG_ATMEL_29C010_ADD(_tag) \ MCFG_DEVICE_ADD(_tag, ATMEL_29C010, 0) +#define MCFG_AMD_29F010_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, AMD_29F010, 0) + #define MCFG_AMD_29F040_ADD(_tag) \ MCFG_DEVICE_ADD(_tag, AMD_29F040, 0) @@ -79,6 +82,7 @@ public: FLASH_FUJITSU_29F016A, FLASH_FUJITSU_29DL16X, FLASH_ATMEL_29C010, + FLASH_AMD_29F010, FLASH_AMD_29F040, FLASH_AMD_29F080, FLASH_SHARP_LH28F016S, @@ -200,6 +204,12 @@ public: atmel_29c010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); }; +class amd_29f010_device : public intelfsh8_device +{ +public: + amd_29f010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); +}; + class amd_29f040_device : public intelfsh8_device { public: @@ -279,6 +289,7 @@ public: extern const device_type INTEL_28F016S5; extern const device_type SHARP_LH28F016S; extern const device_type ATMEL_29C010; +extern const device_type AMD_29F010; extern const device_type AMD_29F040; extern const device_type AMD_29F080; extern const device_type FUJITSU_29F016A;