diff options
Diffstat (limited to 'src/devices/bus/vtech/memexp/memory.h')
-rw-r--r-- | src/devices/bus/vtech/memexp/memory.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/devices/bus/vtech/memexp/memory.h b/src/devices/bus/vtech/memexp/memory.h index f8a0fe78e7d..2f467c73fdd 100644 --- a/src/devices/bus/vtech/memexp/memory.h +++ b/src/devices/bus/vtech/memexp/memory.h @@ -20,68 +20,65 @@ // ======================> vtech_laser110_16k_device -class vtech_laser110_16k_device : public device_t, public device_vtech_memexp_interface +class vtech_laser110_16k_device : public vtech_memexp_device { public: // construction/destruction vtech_laser110_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; -private: - std::vector<uint8_t> m_ram; + virtual void mem_map(address_map &map) override ATTR_COLD; }; // ======================> vtech_laser210_16k_device -class vtech_laser210_16k_device : public device_t, public device_vtech_memexp_interface +class vtech_laser210_16k_device : public vtech_memexp_device { public: // construction/destruction vtech_laser210_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; -private: - std::vector<uint8_t> m_ram; + virtual void mem_map(address_map &map) override ATTR_COLD; }; // ======================> vtech_laser310_16k_device -class vtech_laser310_16k_device : public device_t, public device_vtech_memexp_interface +class vtech_laser310_16k_device : public vtech_memexp_device { public: // construction/destruction vtech_laser310_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; -private: - std::vector<uint8_t> m_ram; + virtual void mem_map(address_map &map) override ATTR_COLD; }; // ======================> vtech_laser_64k_device -class vtech_laser_64k_device : public device_t, public device_vtech_memexp_interface +class vtech_laser_64k_device : public vtech_memexp_device { public: // construction/destruction vtech_laser_64k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE8_MEMBER( bankswitch_w ); - protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; + + virtual void mem_map(address_map &map) override ATTR_COLD; + virtual void io_map(address_map &map) override ATTR_COLD; private: - std::vector<uint8_t> m_ram; + required_memory_bank m_fixed_bank; + required_memory_bank m_bank; + + std::unique_ptr<uint8_t[]> m_ram; }; // device type definition |