summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ekara/rom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ekara/rom.h')
-rw-r--r--src/devices/bus/ekara/rom.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/devices/bus/ekara/rom.h b/src/devices/bus/ekara/rom.h
index a765f28d6d3..76c5ed45e46 100644
--- a/src/devices/bus/ekara/rom.h
+++ b/src/devices/bus/ekara/rom.h
@@ -54,8 +54,32 @@ protected:
virtual DECLARE_READ8_MEMBER(read_extra) override;
virtual DECLARE_WRITE8_MEMBER(write_extra) override;
+
+ virtual DECLARE_WRITE8_MEMBER(write_bus_control) override;
+
+ virtual bool is_read_access_not_rom(void) override;
+ virtual bool is_write_access_not_rom(void) override;
+
+ uint8_t m_buscontrol[3];
};
+
+// ======================> ekara_rom_i2c_24c08_epitch_device
+
+class ekara_rom_i2c_24c08_epitch_device : public ekara_rom_i2c_base_device
+{
+public:
+ // construction/destruction
+ ekara_rom_i2c_24c08_epitch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual bool is_read_access_not_rom(void) override;
+ virtual bool is_write_access_not_rom(void) override;
+
+ virtual void device_add_mconfig(machine_config &config) override;
+};
+
+
// ======================> ekara_rom_i2c_24lc04_device
class ekara_rom_i2c_24lc04_device : public ekara_rom_i2c_base_device
@@ -81,10 +105,32 @@ protected:
};
+// ======================> ekara_rom_i2c_24lc02_gc0010_device
+
+class ekara_rom_i2c_24lc02_gc0010_device : public ekara_rom_i2c_base_device
+{
+public:
+ // construction/destruction
+ ekara_rom_i2c_24lc02_gc0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ bool is_read_access_not_rom(void) override;
+ bool is_write_access_not_rom(void) override;
+ DECLARE_READ8_MEMBER(read_extra) override;
+ DECLARE_WRITE8_MEMBER(write_extra) override;
+ DECLARE_WRITE_LINE_MEMBER(write_sda) override;
+ DECLARE_WRITE_LINE_MEMBER(write_scl) override;
+ DECLARE_READ_LINE_MEMBER(read_sda ) override;
+};
+
// device type definition
DECLARE_DEVICE_TYPE(EKARA_ROM_PLAIN, ekara_rom_plain_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_BASE, ekara_rom_i2c_base_device)
+DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24C08_EPITCH, ekara_rom_i2c_24c08_epitch_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC04, ekara_rom_i2c_24lc04_device)
DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02, ekara_rom_i2c_24lc02_device)
+DECLARE_DEVICE_TYPE(EKARA_ROM_I2C_24LC02_GC0010, ekara_rom_i2c_24lc02_gc0010_device)
#endif // MAME_BUS_EKARA_ROM_H