diff options
Diffstat (limited to 'src/devices/bus/megadrive/eeprom.h')
-rw-r--r-- | src/devices/bus/megadrive/eeprom.h | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/src/devices/bus/megadrive/eeprom.h b/src/devices/bus/megadrive/eeprom.h index a99766a8681..aaa4f196fe2 100644 --- a/src/devices/bus/megadrive/eeprom.h +++ b/src/devices/bus/megadrive/eeprom.h @@ -1,7 +1,9 @@ // license:BSD-3-Clause // copyright-holders:Fabio Priuli -#ifndef __MD_EEPROM_H -#define __MD_EEPROM_H +#ifndef MAME_BUS_MEGADRIVE_EEPROM_H +#define MAME_BUS_MEGADRIVE_EEPROM_H + +#pragma once #include "md_slot.h" #include "machine/i2cmem.h" @@ -18,7 +20,6 @@ class md_std_eeprom_device : public device_t, { public: // construction/destruction - md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source); md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // device-level overrides @@ -30,6 +31,9 @@ public: virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_WRITE16_MEMBER(write) override; +protected: + md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + required_device<i2cmem_device> m_i2cmem; uint8_t m_i2c_mem, m_i2c_clk; }; @@ -132,13 +136,13 @@ public: // device type definition -extern const device_type MD_STD_EEPROM; -extern const device_type MD_EEPROM_NBAJAM; -extern const device_type MD_EEPROM_NBAJAMTE; -extern const device_type MD_EEPROM_CSLAM; -extern const device_type MD_EEPROM_NFLQB; -extern const device_type MD_EEPROM_NHLPA; -extern const device_type MD_EEPROM_BLARA; +DECLARE_DEVICE_TYPE(MD_STD_EEPROM, md_std_eeprom_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAM, md_eeprom_nbajam_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAMTE, md_eeprom_nbajamte_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_CSLAM, md_eeprom_cslam_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_NFLQB, md_eeprom_nflqb_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_NHLPA, md_eeprom_nhlpa_device) +DECLARE_DEVICE_TYPE(MD_EEPROM_BLARA, md_eeprom_blara_device) @@ -155,30 +159,30 @@ enum STATE_I2C_READ_DATA }; -// ======================> md_eeprom_nbajam_device_alt +// ======================> md_eeprom_nbajam_alt_device -class md_eeprom_nbajam_device_alt : public md_std_eeprom_device +class md_eeprom_nbajam_alt_device : public md_std_eeprom_device { public: // construction/destruction - md_eeprom_nbajam_device_alt(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - // device-level overrides -// virtual machine_config_constructor device_mconfig_additions() const override; - virtual void device_start() override; + md_eeprom_nbajam_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // reading and writing virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_WRITE16_MEMBER(write) override; - std::vector<uint8_t> m_sram; +protected: + // device-level overrides + virtual void device_start() override; +private: void eeprom_i2c_init(); void idle_devsel_check(); void eeprom_i2c_update(); uint8_t eeprom_i2c_out(); -private: + std::vector<uint8_t> m_sram; + // EEPROM runtime vars uint8_t m_eeprom_sda; // current SDA uint8_t m_eeprom_prev_sda; // previous SDA @@ -197,8 +201,7 @@ private: }; -extern const device_type MD_EEPROM_NBAJAM_ALT; - +DECLARE_DEVICE_TYPE(MD_EEPROM_NBAJAM_ALT, md_eeprom_nbajam_alt_device) -#endif +#endif // MAME_BUS_MEGADRIVE_EEPROM_H |