diff options
Diffstat (limited to 'src/mame/tvgames/elan_eu3a05vid.h')
| -rw-r--r-- | src/mame/tvgames/elan_eu3a05vid.h | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/src/mame/tvgames/elan_eu3a05vid.h b/src/mame/tvgames/elan_eu3a05vid.h index 41008832093..6f64c57a7ec 100644 --- a/src/mame/tvgames/elan_eu3a05vid.h +++ b/src/mame/tvgames/elan_eu3a05vid.h @@ -21,23 +21,26 @@ public: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void set_is_sudoku(); - void set_is_pvmilfin(); - void set_use_spritepages() { m_use_spritepages = true; } - void set_force_basic_scroll() { m_force_basic_scroll = true; } - protected: + elan_eu3a05vid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + // device-level overrides virtual void device_start() override ATTR_COLD; virtual void device_reset() override ATTR_COLD; virtual space_config_vector memory_space_config() const override; + virtual int get_bytes_per_tile_entry(); + + int m_vrambase; + int m_spritebase; + bool m_use_spritepages; + bool m_force_basic_scroll; + uint8_t m_vidctrl = 0; private: required_device<m6502_device> m_cpu; required_device<address_map_bank_device> m_bank; const address_space_config m_space_config; - uint8_t m_vidctrl = 0; uint8_t m_tile_gfxbase_lo_data = 0; uint8_t m_tile_gfxbase_hi_data = 0; @@ -87,14 +90,27 @@ private: uint8_t read_unmapped(offs_t offset); void write_unmapped(offs_t offset, uint8_t data); +}; - int m_bytes_per_tile_entry; - int m_vrambase; - int m_spritebase; - bool m_use_spritepages; - bool m_force_basic_scroll; +class elan_eu3a13vid_device : public elan_eu3a05vid_device +{ +public: + elan_eu3a13vid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + elan_eu3a13vid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual int get_bytes_per_tile_entry() override; +}; + +class elan_ep3a19avid_device : public elan_eu3a13vid_device +{ +public: + elan_ep3a19avid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; DECLARE_DEVICE_TYPE(ELAN_EU3A05_VID, elan_eu3a05vid_device) +DECLARE_DEVICE_TYPE(ELAN_EU3A13_VID, elan_eu3a13vid_device) +DECLARE_DEVICE_TYPE(ELAN_EP3A19A_VID, elan_ep3a19avid_device) #endif // MAME_TVGAMES_ELAN_EU3A05VID_H |
