diff options
Diffstat (limited to 'src/devices/video/ym7101.h')
| -rw-r--r-- | src/devices/video/ym7101.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/devices/video/ym7101.h b/src/devices/video/ym7101.h index c2a1d4a9b31..773b98e5631 100644 --- a/src/devices/video/ym7101.h +++ b/src/devices/video/ym7101.h @@ -25,6 +25,10 @@ public: void if16_map(address_map &map) ATTR_COLD; void if8_map(address_map &map) ATTR_COLD; + // unscaled setter clock, needed for H32 and H40 to coexist + void set_mclk(u32 freq) { m_ref_mclk = freq; } + void set_mclk(const XTAL &freq) { m_ref_mclk = freq.value(); } + auto vint_cb() { return m_vint_callback.bind(); } auto hint_cb() { return m_hint_callback.bind(); } auto sint_cb() { return m_sint_callback.bind(); } @@ -56,7 +60,7 @@ protected: virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; virtual space_config_vector memory_space_config() const override; -// virtual u32 palette_entries() const noexcept override { return 0x40 + 0x40 * 2; } + virtual void device_validity_check(validity_checker &valid) const override; private: void vram_map(address_map &map) ATTR_COLD; void cram_map(address_map &map) ATTR_COLD; @@ -95,6 +99,8 @@ private: emu_timer *m_hint_on_timer; emu_timer *m_dma_timer; + u32 m_ref_mclk; + enum command_write_state_t : u8 { FIRST_WORD, SECOND_WORD @@ -161,6 +167,8 @@ private: bool m_down; u8 m_wvp; + // internals + u8 m_hres_mode; int m_vint_pending, m_hint_pending; int m_vcounter; // irq4 counter @@ -170,6 +178,8 @@ private: void prepare_tile_line(int scanline); DECLARE_GFXDECODE_MEMBER(gfxinfo); + + void flush_screen_mode(); }; DECLARE_DEVICE_TYPE(YM7101, ym7101_device) |
