diff options
Diffstat (limited to 'src/devices/video')
247 files changed, 723 insertions, 728 deletions
diff --git a/src/devices/video/315_5124.cpp b/src/devices/video/315_5124.cpp index 7bb4fd18407..2604b18c352 100644 --- a/src/devices/video/315_5124.cpp +++ b/src/devices/video/315_5124.cpp @@ -248,13 +248,13 @@ void sega315_5124_device::sega315_5124(address_map &map) } -sega315_5124_device::sega315_5124_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +sega315_5124_device::sega315_5124_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sega315_5124_device(mconfig, SEGA315_5124, tag, owner, clock, SEGA315_5124_CRAM_SIZE, 0x00, 0x0f, 4, 8, line_315_5124) { } -sega315_5124_device::sega315_5124_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) +sega315_5124_device::sega315_5124_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) : device_t(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_video_interface(mconfig, *this) @@ -278,26 +278,26 @@ sega315_5124_device::sega315_5124_device(const machine_config &mconfig, device_t } -sega315_5246_device::sega315_5246_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +sega315_5246_device::sega315_5246_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sega315_5124_device(mconfig, SEGA315_5246, tag, owner, clock, SEGA315_5124_CRAM_SIZE, 0x00, 0x0f, 8, 8, line_315_5124) { } -sega315_5246_device::sega315_5246_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) +sega315_5246_device::sega315_5246_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) : sega315_5124_device(mconfig, type, tag, owner, clock, cram_size, palette_offset, reg_num_mask, max_sprite_zoom_hcount, max_sprite_zoom_vcount, line_timing) { } // Embedded mode 4 support of the 315-5313 VDP (see 315_5313.cpp), used by Sega Genesis/Mega Drive -sega315_5313_mode4_device::sega315_5313_mode4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) +sega315_5313_mode4_device::sega315_5313_mode4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing) : sega315_5246_device(mconfig, type, tag, owner, clock, cram_size, palette_offset, reg_num_mask, max_sprite_zoom_hcount, max_sprite_zoom_vcount, line_timing) { } -sega315_5377_device::sega315_5377_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +sega315_5377_device::sega315_5377_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sega315_5246_device(mconfig, SEGA315_5377, tag, owner, clock, SEGA315_5377_CRAM_SIZE, 0x10, 0x0f, 8, 8, line_315_5377) { } diff --git a/src/devices/video/315_5124.h b/src/devices/video/315_5124.h index 913fdb71e18..8ffd614da7c 100644 --- a/src/devices/video/315_5124.h +++ b/src/devices/video/315_5124.h @@ -53,7 +53,7 @@ public: // construction/destruction - sega315_5124_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sega315_5124_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_hcounter_divide(unsigned divide) { m_hcounter_divide = divide; } void set_is_pal(bool is_pal) { m_is_pal = is_pal; } @@ -88,7 +88,7 @@ protected: static constexpr unsigned SEGA315_5377_CRAM_SIZE = 0x40; /* 32 colors x 2 bytes per color = 64 bytes */ static constexpr unsigned SEGA315_5124_CRAM_SIZE = 0x20; /* 32 colors x 1 bytes per color = 32 bytes */ - sega315_5124_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); + sega315_5124_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); // device-level overrides virtual void device_post_load() override; @@ -211,10 +211,10 @@ protected: class sega315_5246_device : public sega315_5124_device { public: - sega315_5246_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sega315_5246_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - sega315_5246_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); + sega315_5246_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); virtual void device_add_mconfig(machine_config &config) override; @@ -233,12 +233,12 @@ private: class sega315_5377_device : public sega315_5246_device { public: - sega315_5377_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sega315_5377_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void set_sega315_5124_compatibility_mode(bool sega315_5124_compatibility_mode) override; protected: - sega315_5377_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); + sega315_5377_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); virtual void device_reset() override; virtual void device_add_mconfig(machine_config &config) override; @@ -260,7 +260,7 @@ public: void stop_timers(); protected: - sega315_5313_mode4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); + sega315_5313_mode4_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cram_size, u8 palette_offset, u8 reg_num_mask, int max_sprite_zoom_hcount, int max_sprite_zoom_vcount, const u8 *line_timing); virtual void device_add_mconfig(machine_config &config) override; diff --git a/src/devices/video/315_5313.cpp b/src/devices/video/315_5313.cpp index 9d79b2dc396..38428915220 100644 --- a/src/devices/video/315_5313.cpp +++ b/src/devices/video/315_5313.cpp @@ -174,7 +174,7 @@ int sega315_5313_device::screen_hpos() { return screen().hpos() / (m_lcm_scaling DEFINE_DEVICE_TYPE(SEGA315_5313, sega315_5313_device, "sega315_5313", "Sega 315-5313 Megadrive VDP") -sega315_5313_device::sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +sega315_5313_device::sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) // mode 4 support, for SMS compatibility, is implemented in 315_5124.cpp : sega315_5313_mode4_device(mconfig, SEGA315_5313, tag, owner, clock, SEGA315_5124_CRAM_SIZE, 0x00, 0x1f, 0, 0, line_315_5313_mode4) , device_gfx_interface(mconfig, *this, nullptr, "gfx_palette") diff --git a/src/devices/video/315_5313.h b/src/devices/video/315_5313.h index 23bd51f3f33..acb8a51caf2 100644 --- a/src/devices/video/315_5313.h +++ b/src/devices/video/315_5313.h @@ -16,13 +16,13 @@ public: static constexpr unsigned PALETTE_PER_FRAME = 64 * 313 * 2; // 313 total scanlines for PAL systems, *2 for interlaced template <typename T> - sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag) + sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&cpu_tag) : sega315_5313_device(mconfig, tag, owner, clock) { m_cpu68k.set_tag(std::forward<T>(cpu_tag)); } - sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sega315_5313_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); typedef device_delegate<void (int x, u32 priority, u32 &lineptr)> md_32x_scanline_delegate; typedef device_delegate<void (int scanline, int irq6)> md_32x_interrupt_delegate; diff --git a/src/devices/video/am8052.cpp b/src/devices/video/am8052.cpp index e97e2488b9f..3bdd8adbee5 100644 --- a/src/devices/video/am8052.cpp +++ b/src/devices/video/am8052.cpp @@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(AM8052, am8052_device, "am8052", "Am8052 CRTC") // am8052_device - constructor //------------------------------------------------- -am8052_device::am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +am8052_device::am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, AM8052, tag, owner, clock) , m_pointer(0x1f) { diff --git a/src/devices/video/am8052.h b/src/devices/video/am8052.h index 74fee1ea69f..3ec372a2cf0 100644 --- a/src/devices/video/am8052.h +++ b/src/devices/video/am8052.h @@ -21,7 +21,7 @@ class am8052_device : public device_t { public: // device constructor - am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // read/write handlers void pointer_w(u16 data); diff --git a/src/devices/video/avgdvg.cpp b/src/devices/video/avgdvg.cpp index ba3ddff0d11..db47ea23dfc 100644 --- a/src/devices/video/avgdvg.cpp +++ b/src/devices/video/avgdvg.cpp @@ -26,7 +26,7 @@ * *************************************/ -#define MASTER_CLOCK (12096000) +#define MASTER_CLOCK XTAL::u(12096000) #define VGSLICE (10000) #define VGVECTOR 0 #define VGCLIP 1 @@ -1417,7 +1417,7 @@ void avg_bzone_device::device_start() } -avgdvg_device_base::avgdvg_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : +avgdvg_device_base::avgdvg_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), m_vector(*this, finder_base::DUMMY_TAG), m_memspace(*this, finder_base::DUMMY_TAG, -1), @@ -1443,46 +1443,46 @@ avgdvg_device_base::avgdvg_device_base(const machine_config &mconfig, device_typ { } -dvg_device::dvg_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +dvg_device::dvg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avgdvg_device_base(mconfig, DVG, tag, owner, clock) { } -avg_device::avg_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_device::avg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG, tag, owner, clock) { } -avg_device::avg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : +avg_device::avg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : avgdvg_device_base(mconfig, type, tag, owner, clock) { } -avg_tempest_device::avg_tempest_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_tempest_device::avg_tempest_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG_TEMPEST, tag, owner, clock), m_colorram(*this, "colorram") { } -avg_mhavoc_device::avg_mhavoc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_mhavoc_device::avg_mhavoc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG_MHAVOC, tag, owner, clock), m_colorram(*this, "colorram"), m_bank_region(*this, DEVICE_SELF) { } -avg_starwars_device::avg_starwars_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_starwars_device::avg_starwars_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG_STARWARS, tag, owner, clock) { } -avg_quantum_device::avg_quantum_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_quantum_device::avg_quantum_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG_QUANTUM, tag, owner, clock), m_colorram(*this, "colorram") { } -avg_bzone_device::avg_bzone_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +avg_bzone_device::avg_bzone_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : avg_device(mconfig, AVG_BZONE, tag, owner, clock) { } diff --git a/src/devices/video/avgdvg.h b/src/devices/video/avgdvg.h index e77dff1e9a2..43dc92dc391 100644 --- a/src/devices/video/avgdvg.h +++ b/src/devices/video/avgdvg.h @@ -45,7 +45,7 @@ protected: int status; }; - avgdvg_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + avgdvg_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; @@ -118,7 +118,7 @@ private: class dvg_device : public avgdvg_device_base { public: - dvg_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dvg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -144,10 +144,10 @@ private: class avg_device : public avgdvg_device_base { public: - avg_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - avg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + avg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; @@ -185,7 +185,7 @@ protected: class avg_tempest_device : public avg_device { public: - avg_tempest_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_tempest_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual int handler_6() override; @@ -200,7 +200,7 @@ private: class avg_mhavoc_device : public avg_device { public: - avg_mhavoc_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_mhavoc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -226,7 +226,7 @@ private: class avg_starwars_device : public avg_device { public: - avg_starwars_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_starwars_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual int handler_6() override; @@ -238,7 +238,7 @@ protected: class avg_quantum_device : public avg_device { public: - avg_quantum_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_quantum_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual int handler_0() override; @@ -260,7 +260,7 @@ private: class avg_bzone_device : public avg_device { public: - avg_bzone_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + avg_bzone_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; diff --git a/src/devices/video/bt431.cpp b/src/devices/video/bt431.cpp index a4a32e98716..570c4f6239e 100644 --- a/src/devices/video/bt431.cpp +++ b/src/devices/video/bt431.cpp @@ -21,7 +21,7 @@ DEFINE_DEVICE_TYPE(BT431, bt431_device, "bt431", "Bt431 64x64 Pixel Cursor Generator") -bt431_device::bt431_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt431_device::bt431_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, BT431, tag, owner, clock) { } diff --git a/src/devices/video/bt431.h b/src/devices/video/bt431.h index 1ea71b56794..782457c78e3 100644 --- a/src/devices/video/bt431.h +++ b/src/devices/video/bt431.h @@ -9,7 +9,7 @@ class bt431_device : public device_t { public: - bt431_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt431_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); enum register_number : unsigned { diff --git a/src/devices/video/bt459.cpp b/src/devices/video/bt459.cpp index 1f2a48d968b..d394e02baca 100644 --- a/src/devices/video/bt459.cpp +++ b/src/devices/video/bt459.cpp @@ -32,7 +32,7 @@ void bt459_device::map(address_map &map) map(0x03, 0x03).rw(FUNC(bt459_device::palette_r), FUNC(bt459_device::palette_w)); } -bt459_device::bt459_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt459_device::bt459_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, BT459, tag, owner, clock) , device_palette_interface(mconfig, *this) { diff --git a/src/devices/video/bt459.h b/src/devices/video/bt459.h index 2d525383378..0479cf768d5 100644 --- a/src/devices/video/bt459.h +++ b/src/devices/video/bt459.h @@ -8,7 +8,7 @@ class bt459_device : public device_t, public device_palette_interface { public: - bt459_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt459_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); static const u8 BT459_ID = 0x4a; // magic number found in the id register static const u8 BT459_REV = 0xb0; // device revision B found in revision register diff --git a/src/devices/video/bt45x.cpp b/src/devices/video/bt45x.cpp index 26594307513..1f71e606b38 100644 --- a/src/devices/video/bt45x.cpp +++ b/src/devices/video/bt45x.cpp @@ -85,59 +85,59 @@ void bt455_device::map(address_map &map) map(0x03, 0x03).rw(FUNC(bt455_device::overlay_r), FUNC(bt455_device::overlay_w)); } -bt45x_device_base::bt45x_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors) +bt45x_device_base::bt45x_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors) : device_t(mconfig, type, tag, owner, clock) , m_palette_colors(palette_colors) , m_overlay_colors(overlay_colors) { } -bt45x_rgb_device_base::bt45x_rgb_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors) +bt45x_rgb_device_base::bt45x_rgb_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors) : bt45x_device_base(mconfig, type, tag, owner, clock, palette_colors, overlay_colors) , device_palette_interface(mconfig, *this) { } -bt45x_mono_device_base::bt45x_mono_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors) +bt45x_mono_device_base::bt45x_mono_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors) : bt45x_device_base(mconfig, type, tag, owner, clock, palette_colors, overlay_colors) { } -bt451_device::bt451_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt451_device::bt451_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt45x_rgb_device_base(mconfig, BT451, tag, owner, clock, 256, 4) { } -bt453_device::bt453_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt453_device::bt453_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt45x_rgb_device_base(mconfig, BT453, tag, owner, clock, 256, 4) { } -bt454_device::bt454_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt454_device::bt454_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt45x_rgb_device_base(mconfig, BT454, tag, owner, clock, 16, 1) { } -bt455_device::bt455_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt455_device::bt455_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt45x_mono_device_base(mconfig, BT455, tag, owner, clock, 16, 1) { } -bt457_device::bt457_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt457_device::bt457_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt45x_mono_device_base(mconfig, BT457, tag, owner, clock, 256, 4) { } -bt458_device::bt458_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +bt458_device::bt458_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : bt45x_rgb_device_base(mconfig, type, tag, owner, clock, 256, 4) { } -bt458_device::bt458_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt458_device::bt458_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt458_device(mconfig, BT458, tag, owner, clock) { } -bt467_device::bt467_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +bt467_device::bt467_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : bt458_device(mconfig, BT467, tag, owner, clock) { } diff --git a/src/devices/video/bt45x.h b/src/devices/video/bt45x.h index 33cd63abd56..cb689a79bc5 100644 --- a/src/devices/video/bt45x.h +++ b/src/devices/video/bt45x.h @@ -45,7 +45,7 @@ public: virtual void map(address_map &map); protected: - bt45x_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors); + bt45x_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors); virtual void device_start() override; virtual void device_reset() override; @@ -80,7 +80,7 @@ protected: class bt45x_rgb_device_base : public bt45x_device_base, public device_palette_interface { protected: - bt45x_rgb_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors); + bt45x_rgb_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors); virtual void device_start() override; @@ -107,7 +107,7 @@ public: } protected: - bt45x_mono_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const u32 palette_colors, const u32 overlay_colors); + bt45x_mono_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const u32 palette_colors, const u32 overlay_colors); virtual void device_start() override; @@ -122,7 +122,7 @@ protected: class bt451_device : public bt45x_rgb_device_base { public: - bt451_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt451_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: /* @@ -135,7 +135,7 @@ protected: class bt453_device : public bt45x_rgb_device_base { public: - bt453_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt453_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map) override; }; @@ -143,7 +143,7 @@ public: class bt454_device : public bt45x_rgb_device_base { public: - bt454_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt454_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map) override; }; @@ -151,7 +151,7 @@ public: class bt455_device : public bt45x_mono_device_base { public: - bt455_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt455_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map) override; }; @@ -159,7 +159,7 @@ public: class bt457_device : public bt45x_mono_device_base { public: - bt457_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt457_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual u8 palette_r(address_space &space) override; @@ -173,16 +173,16 @@ protected: class bt458_device : public bt45x_rgb_device_base { public: - bt458_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt458_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - bt458_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + bt458_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); }; class bt467_device : public bt458_device { public: - bt467_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + bt467_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; DECLARE_DEVICE_TYPE(BT451, bt451_device) diff --git a/src/devices/video/bt47x.cpp b/src/devices/video/bt47x.cpp index d5aea56a400..49bdc31fbce 100644 --- a/src/devices/video/bt47x.cpp +++ b/src/devices/video/bt47x.cpp @@ -65,7 +65,7 @@ void bt475_device_base::map(address_map &map) map(0x06, 0x06).rw(FUNC(bt475_device_base::command_r), FUNC(bt475_device_base::command_w)); } -bt47x_device_base::bt47x_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits) +bt47x_device_base::bt47x_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits) : device_t(mconfig, type, tag, owner, clock) , device_palette_interface(mconfig, *this) , m_palette_colors(palette_colors) @@ -74,32 +74,32 @@ bt47x_device_base::bt47x_device_base(machine_config const &mconfig, device_type { } -bt475_device_base::bt475_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits) +bt475_device_base::bt475_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits) : bt47x_device_base(mconfig, type, tag, owner, clock, palette_colors, overlay_colors, color_bits) { } -bt471_device::bt471_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt471_device::bt471_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : bt47x_device_base(mconfig, BT471, tag, owner, clock, 256, 16, 6) { } -bt475_device::bt475_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt475_device::bt475_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : bt475_device_base(mconfig, BT475, tag, owner, clock, 256, 16, 6) { } -bt476_device::bt476_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt476_device::bt476_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : bt47x_device_base(mconfig, BT476, tag, owner, clock, 256, 0, 6) { } -bt477_device::bt477_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt477_device::bt477_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : bt475_device_base(mconfig, BT477, tag, owner, clock, 256, 16, 8) { } -bt478_device::bt478_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +bt478_device::bt478_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : bt47x_device_base(mconfig, BT478, tag, owner, clock, 256, 16, 8) { } diff --git a/src/devices/video/bt47x.h b/src/devices/video/bt47x.h index a51fe2c3df8..97163cca35b 100644 --- a/src/devices/video/bt47x.h +++ b/src/devices/video/bt47x.h @@ -17,7 +17,7 @@ public: virtual void map(address_map &map); protected: - bt47x_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits); + bt47x_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits); // device_t overrides virtual void device_start() override; @@ -60,7 +60,7 @@ public: virtual void map(address_map &map) override; protected: - bt475_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits); + bt475_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock, unsigned const palette_colors, unsigned const overlay_colors, unsigned const color_bits); // device_t overrides virtual void device_start() override; @@ -85,25 +85,25 @@ protected: class bt471_device : public bt47x_device_base { public: - bt471_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt471_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); }; class bt475_device : public bt475_device_base { public: - bt475_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt475_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); }; class bt476_device : public bt47x_device_base { public: - bt476_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt476_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); }; class bt477_device : public bt475_device_base { public: - bt477_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt477_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); protected: virtual unsigned color_bits() const override { return (m_command & D1) ? 8 : 6; } @@ -112,7 +112,7 @@ protected: class bt478_device : public bt47x_device_base { public: - bt478_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + bt478_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); }; DECLARE_DEVICE_TYPE(BT471, bt471_device) diff --git a/src/devices/video/bufsprite.cpp b/src/devices/video/bufsprite.cpp index 1c7180ec8cd..408a63b5c4f 100644 --- a/src/devices/video/bufsprite.cpp +++ b/src/devices/video/bufsprite.cpp @@ -29,7 +29,7 @@ buffered_spriteram_device<Type>::buffered_spriteram_device( device_type type, const char *tag, device_t *owner, - uint32_t clock) + const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , m_spriteram(*this, DEVICE_SELF) { @@ -48,28 +48,28 @@ void buffered_spriteram_device<Type>::device_start() -buffered_spriteram8_device::buffered_spriteram8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +buffered_spriteram8_device::buffered_spriteram8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : buffered_spriteram_device<u8>(mconfig, BUFFERED_SPRITERAM8, tag, owner, clock) { } -buffered_spriteram16_device::buffered_spriteram16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +buffered_spriteram16_device::buffered_spriteram16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : buffered_spriteram_device<u16>(mconfig, BUFFERED_SPRITERAM16, tag, owner, clock) { } -buffered_spriteram32_device::buffered_spriteram32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +buffered_spriteram32_device::buffered_spriteram32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : buffered_spriteram_device<u32>(mconfig, BUFFERED_SPRITERAM32, tag, owner, clock) { } -buffered_spriteram64_device::buffered_spriteram64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +buffered_spriteram64_device::buffered_spriteram64_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : buffered_spriteram_device<u64>(mconfig, BUFFERED_SPRITERAM64, tag, owner, clock) { } diff --git a/src/devices/video/bufsprite.h b/src/devices/video/bufsprite.h index 6716592d0c5..2baf5cd8dd5 100644 --- a/src/devices/video/bufsprite.h +++ b/src/devices/video/bufsprite.h @@ -66,7 +66,7 @@ protected: device_type type, const char *tag, device_t *owner, - uint32_t clock); + const XTAL &clock); // first-time setup virtual void device_start() override; @@ -84,7 +84,7 @@ class buffered_spriteram8_device : public buffered_spriteram_device<uint8_t> { public: // construction - buffered_spriteram8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + buffered_spriteram8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; @@ -94,7 +94,7 @@ class buffered_spriteram16_device : public buffered_spriteram_device<uint16_t> { public: // construction - buffered_spriteram16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + buffered_spriteram16_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; @@ -104,7 +104,7 @@ class buffered_spriteram32_device : public buffered_spriteram_device<uint32_t> { public: // construction - buffered_spriteram32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + buffered_spriteram32_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; @@ -114,7 +114,7 @@ class buffered_spriteram64_device : public buffered_spriteram_device<uint64_t> { public: // construction - buffered_spriteram64_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + buffered_spriteram64_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; diff --git a/src/devices/video/catseye.cpp b/src/devices/video/catseye.cpp index 46eeb917f37..f3a49dfa994 100644 --- a/src/devices/video/catseye.cpp +++ b/src/devices/video/catseye.cpp @@ -13,7 +13,7 @@ DEFINE_DEVICE_TYPE(CATSEYE, catseye_device, "catseye", "HP Catseye ASIC") -catseye_device::catseye_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +catseye_device::catseye_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t{mconfig, type, tag, owner, clock}, m_vram{*this, { "^vram_video", "^vram_overlay"}}, m_int_write_func{*this}, @@ -60,7 +60,7 @@ catseye_device::catseye_device(const machine_config &mconfig, device_type type, { } -catseye_device::catseye_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +catseye_device::catseye_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : catseye_device(mconfig, CATSEYE, tag, owner, clock) { } diff --git a/src/devices/video/catseye.h b/src/devices/video/catseye.h index 8c66eb257c7..77f80ecb7d2 100644 --- a/src/devices/video/catseye.h +++ b/src/devices/video/catseye.h @@ -10,7 +10,7 @@ class catseye_device: public device_t public: static constexpr feature_type imperfect_features() { return feature::GRAPHICS; } - catseye_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + catseye_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint16_t vram_r(offs_t offset, uint16_t mem_mask = ~0); void vram_w(offs_t offset, u16 data, u16 mem_mask = ~0); @@ -43,7 +43,7 @@ public: protected: required_shared_ptr_array<u8, 2> m_vram; - catseye_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + catseye_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); devcb_write8 m_int_write_func; TIMER_CALLBACK_MEMBER(blink_callback); diff --git a/src/devices/video/cdp1861.cpp b/src/devices/video/cdp1861.cpp index e19074045aa..69139782146 100644 --- a/src/devices/video/cdp1861.cpp +++ b/src/devices/video/cdp1861.cpp @@ -70,7 +70,7 @@ DEFINE_DEVICE_TYPE(CDP1861, cdp1861_device, "cdp1861", "RCA CDP1861") // cdp1861_device - constructor //------------------------------------------------- -cdp1861_device::cdp1861_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cdp1861_device::cdp1861_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CDP1861, tag, owner, clock) , device_video_interface(mconfig, *this) , m_write_int(*this) diff --git a/src/devices/video/cdp1861.h b/src/devices/video/cdp1861.h index c038223a50e..2fcaa7792f1 100644 --- a/src/devices/video/cdp1861.h +++ b/src/devices/video/cdp1861.h @@ -62,7 +62,7 @@ public: static constexpr unsigned SCANLINE_EFX_BOTTOM_END = SCANLINE_DISPLAY_END; // construction/destruction - cdp1861_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cdp1861_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto int_cb() { return m_write_int.bind(); } auto dma_out_cb() { return m_write_dma_out.bind(); } diff --git a/src/devices/video/cdp1862.cpp b/src/devices/video/cdp1862.cpp index 66fa8d9e684..9ebc9c790a8 100644 --- a/src/devices/video/cdp1862.cpp +++ b/src/devices/video/cdp1862.cpp @@ -78,7 +78,7 @@ inline void cdp1862_device::initialize_palette() // cdp1862_device - constructor //------------------------------------------------- -cdp1862_device::cdp1862_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cdp1862_device::cdp1862_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CDP1862, tag, owner, clock), device_video_interface(mconfig, *this), m_read_rd(*this), diff --git a/src/devices/video/cdp1862.h b/src/devices/video/cdp1862.h index 57aab81b21a..6d1046ff859 100644 --- a/src/devices/video/cdp1862.h +++ b/src/devices/video/cdp1862.h @@ -40,7 +40,7 @@ class cdp1862_device : public device_t, { public: // construction/destruction - cdp1862_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cdp1862_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto rdata_cb() { return m_read_rd.bind(); } auto bdata_cb() { return m_read_bd.bind(); } diff --git a/src/devices/video/cesblit.cpp b/src/devices/video/cesblit.cpp index 7e0e6a2085b..5253d06edae 100644 --- a/src/devices/video/cesblit.cpp +++ b/src/devices/video/cesblit.cpp @@ -70,7 +70,7 @@ DEFINE_DEVICE_TYPE(CESBLIT, cesblit_device, "cesblit", "CES Blitter FPGA") // cesblit_device - constructor //------------------------------------------------- -cesblit_device::cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +cesblit_device::cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CESBLIT, tag, owner, clock), device_video_interface(mconfig, *this), device_memory_interface(mconfig, *this), diff --git a/src/devices/video/cesblit.h b/src/devices/video/cesblit.h index 2a00d601067..529eacca5ab 100644 --- a/src/devices/video/cesblit.h +++ b/src/devices/video/cesblit.h @@ -27,13 +27,13 @@ public: // construction/destruction template <typename T> - cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) + cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&screen_tag) : cesblit_device(mconfig, tag, owner, clock) { set_screen(std::forward<T>(screen_tag)); } - cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cesblit_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration void set_compute_addr(compute_addr_t compute_addr) { m_compute_addr = compute_addr; } diff --git a/src/devices/video/clgd542x.cpp b/src/devices/video/clgd542x.cpp index 978e38e792e..13de6633704 100644 --- a/src/devices/video/clgd542x.cpp +++ b/src/devices/video/clgd542x.cpp @@ -46,22 +46,22 @@ DEFINE_DEVICE_TYPE(CIRRUS_GD5430, cirrus_gd5430_device, "clgd5430", "Cirrus Logi DEFINE_DEVICE_TYPE(CIRRUS_GD5446, cirrus_gd5446_device, "clgd5446", "Cirrus Logic GD5446") -cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : cirrus_gd5428_device(mconfig, CIRRUS_GD5428, tag, owner, clock) { } -cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +cirrus_gd5428_device::cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : svga_device(mconfig, type, tag, owner, clock) { } -cirrus_gd5430_device::cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cirrus_gd5430_device::cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : cirrus_gd5428_device(mconfig, CIRRUS_GD5430, tag, owner, clock) { } -cirrus_gd5446_device::cirrus_gd5446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cirrus_gd5446_device::cirrus_gd5446_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : cirrus_gd5428_device(mconfig, CIRRUS_GD5446, tag, owner, clock) { } diff --git a/src/devices/video/clgd542x.h b/src/devices/video/clgd542x.h index 6177b95c845..ee7bef78eb2 100644 --- a/src/devices/video/clgd542x.h +++ b/src/devices/video/clgd542x.h @@ -16,7 +16,7 @@ class cirrus_gd5428_device : public svga_device { public: // construction/destruction - cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cirrus_gd5428_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t port_03c0_r(offs_t offset) override; virtual void port_03c0_w(offs_t offset, uint8_t data) override; @@ -30,7 +30,7 @@ public: virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override; protected: - cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + cirrus_gd5428_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -111,7 +111,7 @@ private: class cirrus_gd5430_device : public cirrus_gd5428_device { public: - cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cirrus_gd5430_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -120,7 +120,7 @@ protected: class cirrus_gd5446_device : public cirrus_gd5428_device { public: - cirrus_gd5446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cirrus_gd5446_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; diff --git a/src/devices/video/crt9007.cpp b/src/devices/video/crt9007.cpp index 347a06382a1..67e961f353f 100644 --- a/src/devices/video/crt9007.cpp +++ b/src/devices/video/crt9007.cpp @@ -453,7 +453,7 @@ inline void crt9007_device::recompute_parameters() // crt9007_device - constructor //------------------------------------------------- -crt9007_device::crt9007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +crt9007_device::crt9007_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CRT9007, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/crt9007.h b/src/devices/video/crt9007.h index 433ca521f01..36a88e08dbe 100644 --- a/src/devices/video/crt9007.h +++ b/src/devices/video/crt9007.h @@ -49,7 +49,7 @@ class crt9007_device : public device_t, { public: // construction/destruction - crt9007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt9007_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto int_callback() { return m_write_int.bind(); } auto dmar_callback() { return m_write_dmar.bind(); } diff --git a/src/devices/video/crt9021.cpp b/src/devices/video/crt9021.cpp index 6f1bc8102e2..f65bbd15b31 100644 --- a/src/devices/video/crt9021.cpp +++ b/src/devices/video/crt9021.cpp @@ -59,7 +59,7 @@ DEFINE_DEVICE_TYPE(CRT9021, crt9021_device, "crt9021", "SMC CRT9021 VAC") // crt9021_device - constructor //------------------------------------------------- -crt9021_device::crt9021_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +crt9021_device::crt9021_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CRT9021, tag, owner, clock), device_video_interface(mconfig, *this), m_display_cb(*this), diff --git a/src/devices/video/crt9021.h b/src/devices/video/crt9021.h index 1d071da00df..ea35f860671 100644 --- a/src/devices/video/crt9021.h +++ b/src/devices/video/crt9021.h @@ -51,7 +51,7 @@ public: typedef device_delegate<void (bitmap_rgb32 &bitmap, int y, int x, uint8_t video, int intout)> draw_character_delegate; // construction/destruction - crt9021_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt9021_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename... T> void set_display_callback(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } diff --git a/src/devices/video/crt9028.cpp b/src/devices/video/crt9028.cpp index 94cc2429e13..60ac9263ffe 100644 --- a/src/devices/video/crt9028.cpp +++ b/src/devices/video/crt9028.cpp @@ -42,7 +42,7 @@ DEFINE_DEVICE_TYPE(CRT9028_000, crt9028_000_device, "crt9028_000", "CRT9028-000 // crt9028_device - constructor //------------------------------------------------- -crt9028_device::crt9028_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, +crt9028_device::crt9028_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int dots_per_char, int chars_per_row, int horiz_blanking, int hsync_delay, int hsync_width, bool hsync_active, int char_rows, int scans_per_char, bool vsync_active, int vert_blanking, int vsync_delay, int vsync_width, @@ -100,7 +100,7 @@ crt9028_device::crt9028_device(const machine_config &mconfig, device_type type, // crt9028_000_device - constructor //------------------------------------------------- -crt9028_000_device::crt9028_000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +crt9028_000_device::crt9028_000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : crt9028_device(mconfig, CRT9028_000, tag, owner, clock, 7, 80, 20, 4, 8, false, 24, 10, false, diff --git a/src/devices/video/crt9028.h b/src/devices/video/crt9028.h index d8aa637c06a..3086465e55b 100644 --- a/src/devices/video/crt9028.h +++ b/src/devices/video/crt9028.h @@ -56,7 +56,7 @@ public: protected: // base type constructor - crt9028_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, + crt9028_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int dots_per_char, int chars_per_row, int horiz_blanking, int hsync_delay, int hsync_width, bool hsync_active, int char_rows, int scans_per_char, bool vsync_active, int vert_blanking, int vsync_delay, int vsync_width, @@ -129,7 +129,7 @@ class crt9028_000_device : public crt9028_device { public: // device constructor - crt9028_000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + crt9028_000_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: // device-specific overrides diff --git a/src/devices/video/crt9212.cpp b/src/devices/video/crt9212.cpp index 5bbcd8aaac7..5043d81f41c 100644 --- a/src/devices/video/crt9212.cpp +++ b/src/devices/video/crt9212.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(CRT9212, crt9212_device, "crt9212", "SMC CRT9212 DRB") // crt9212_device - constructor //------------------------------------------------- -crt9212_device::crt9212_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +crt9212_device::crt9212_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CRT9212, tag, owner, clock), m_write_dout(*this), m_write_rof(*this), diff --git a/src/devices/video/crt9212.h b/src/devices/video/crt9212.h index bf32b311c2d..a4ea8324bb6 100644 --- a/src/devices/video/crt9212.h +++ b/src/devices/video/crt9212.h @@ -38,7 +38,7 @@ class crt9212_device : public device_t { public: // construction/destruction - crt9212_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt9212_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_wen2(int state) { m_wen2 = state; } auto dout() { return m_write_dout.bind(); } diff --git a/src/devices/video/crtc_ega.cpp b/src/devices/video/crtc_ega.cpp index 4c9a738c110..4df2077565e 100644 --- a/src/devices/video/crtc_ega.cpp +++ b/src/devices/video/crtc_ega.cpp @@ -20,7 +20,7 @@ DEFINE_DEVICE_TYPE(CRTC_EGA, crtc_ega_device, "crtc_ega", "IBM EGA CRT Controller") -crtc_ega_device::crtc_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +crtc_ega_device::crtc_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, CRTC_EGA, tag, owner, clock), device_video_interface(mconfig, *this, false) , m_res_out_de_cb(*this), m_res_out_hsync_cb(*this), m_res_out_vsync_cb(*this), m_res_out_vblank_cb(*this) , m_res_out_irq_cb(*this), m_begin_update_cb(*this), m_row_update_cb(*this), m_end_update_cb(*this) diff --git a/src/devices/video/crtc_ega.h b/src/devices/video/crtc_ega.h index 62bcac8c5c3..266735e45cd 100644 --- a/src/devices/video/crtc_ega.h +++ b/src/devices/video/crtc_ega.h @@ -27,7 +27,7 @@ public: typedef device_delegate<void (bitmap_ind16 &bitmap, const rectangle &cliprect)> end_update_delegate; - crtc_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crtc_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto res_out_de_callback() { return m_res_out_de_cb.bind(); } auto res_out_hsync_callback() { return m_res_out_hsync_cb.bind(); } diff --git a/src/devices/video/decsfb.cpp b/src/devices/video/decsfb.cpp index 528c9897cdc..8c1dde741a7 100644 --- a/src/devices/video/decsfb.cpp +++ b/src/devices/video/decsfb.cpp @@ -36,7 +36,7 @@ DEFINE_DEVICE_TYPE(DECSFB, decsfb_device, "decsfb", "Digital Equipment Corporation Smart Frame Buffer") -decsfb_device::decsfb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +decsfb_device::decsfb_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, DECSFB, tag, owner, clock), m_int_cb(*this) { diff --git a/src/devices/video/decsfb.h b/src/devices/video/decsfb.h index 9181ae84dbf..45d36cb17f9 100644 --- a/src/devices/video/decsfb.h +++ b/src/devices/video/decsfb.h @@ -9,7 +9,7 @@ class decsfb_device : public device_t { public: - decsfb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + decsfb_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto int_cb() { return m_int_cb.bind(); } diff --git a/src/devices/video/dl1416.cpp b/src/devices/video/dl1416.cpp index 4321192e981..e128c692b6b 100644 --- a/src/devices/video/dl1416.cpp +++ b/src/devices/video/dl1416.cpp @@ -95,7 +95,7 @@ u16 const dl1416t_segments[128] = { class dl1414t_device : public dl1414_device { public: - dl1414t_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) + dl1414t_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : dl1414_device(mconfig, DL1414T, tag, owner, clock) { } @@ -111,7 +111,7 @@ protected: class dl1416b_device : public dl1416_device { public: - dl1416b_device(machine_config const &mconfig, const char *tag, device_t *owner, u32 clock) + dl1416b_device(machine_config const &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dl1416_device(mconfig, DL1416B, tag, owner, clock) { } @@ -135,7 +135,7 @@ protected: class dl1416t_device : public dl1416_device { public: - dl1416t_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + dl1416t_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dl1416_device(mconfig, DL1416T, tag, owner, clock) { } @@ -183,7 +183,7 @@ dl1414_device::dl1414_device( device_type type, char const *tag, device_t *owner, - u32 clock) + const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , m_wr_in(true) , m_addr_in(0x00) @@ -199,7 +199,7 @@ dl1416_device::dl1416_device( device_type type, char const *tag, device_t *owner, - u32 clock) + const XTAL &clock) : dl1414_device(mconfig, type, tag, owner, clock) , m_ce_in(true) , m_ce_latch(true) diff --git a/src/devices/video/dl1416.h b/src/devices/video/dl1416.h index ce1d61071f4..1e8882e8e82 100644 --- a/src/devices/video/dl1416.h +++ b/src/devices/video/dl1416.h @@ -49,7 +49,7 @@ protected: device_type type, char const *tag, device_t *owner, - u32 clock); + const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -84,7 +84,7 @@ protected: device_type type, char const *tag, device_t *owner, - u32 clock); + const XTAL &clock); // device-level overrides virtual void device_start() override; diff --git a/src/devices/video/dm9368.cpp b/src/devices/video/dm9368.cpp index 4702430403b..be6de598687 100644 --- a/src/devices/video/dm9368.cpp +++ b/src/devices/video/dm9368.cpp @@ -36,7 +36,7 @@ const u8 dm9368_device::s_segment_data[16] = // LIVE DEVICE //************************************************************************** -dm9368_device::dm9368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +dm9368_device::dm9368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, DM9368, tag, owner, clock), m_update_cb(*this), m_rbo_cb(*this), diff --git a/src/devices/video/dm9368.h b/src/devices/video/dm9368.h index fb376541a07..e09625d4a90 100644 --- a/src/devices/video/dm9368.h +++ b/src/devices/video/dm9368.h @@ -36,7 +36,7 @@ public: auto rbo_cb() { return m_rbo_cb.bind(); } // construction/destruction - dm9368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dm9368_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void a_w(u8 data); diff --git a/src/devices/video/dp8350.cpp b/src/devices/video/dp8350.cpp index e93960b5662..2ba87d22580 100644 --- a/src/devices/video/dp8350.cpp +++ b/src/devices/video/dp8350.cpp @@ -69,7 +69,7 @@ DEFINE_DEVICE_TYPE(DP835X_A, dp835x_a_device, "dp835x_a", "DP835X CRTC (option A // dp835x_device - constructor //------------------------------------------------- -dp835x_device::dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, +dp835x_device::dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int char_width, int char_height, int chars_per_row, int rows_per_frame, int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1, int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0, @@ -127,7 +127,7 @@ dp835x_device::dp835x_device(const machine_config &mconfig, device_type type, co // dp8350_device - constructor //------------------------------------------------- -dp8350_device::dp8350_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +dp8350_device::dp8350_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dp835x_device(mconfig, DP8350, tag, owner, clock, 7, 10, 80, 24, 4, 10, 20, @@ -143,7 +143,7 @@ dp8350_device::dp8350_device(const machine_config &mconfig, const char *tag, dev // dp8367_device - constructor //------------------------------------------------- -dp8367_device::dp8367_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +dp8367_device::dp8367_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dp835x_device(mconfig, DP8367, tag, owner, clock, 9, 15, 80, 26, 0, 19, 25, @@ -159,7 +159,7 @@ dp8367_device::dp8367_device(const machine_config &mconfig, const char *tag, dev // dp835x_a_device - constructor //------------------------------------------------- -dp835x_a_device::dp835x_a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +dp835x_a_device::dp835x_a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dp835x_device(mconfig, DP835X_A, tag, owner, clock, 9, 14, 80, 25, 0, 14, 20, // sync parameters guessed @@ -277,9 +277,9 @@ void dp835x_device::reconfigure_screen() logerror("Frame rate refresh: %.2f Hz (f%d); horizontal rate scan: %.4f kHz; character rate: %.4f MHz; dot rate: %.5f MHz\n", refresh.as_hz(), m_60hz_refresh ? 1 : 0, - clock() / (m_dots_per_line * 1000.0), - clock() / (m_char_width * 1000000.0), - clock() / 1000000.0); + clock().value() / (m_dots_per_line * 1000.0), + clock().value() / (m_char_width * 1000000.0), + clock().value() / 1000000.0); // get current screen position (note that this method is more accurate than calling hpos and vpos separately) u32 dpos = attotime_to_clocks(refresh - screen().time_until_pos(lines_per_frame - 1, m_dots_per_row * (m_half_shift ? 2 : 1))); diff --git a/src/devices/video/dp8350.h b/src/devices/video/dp8350.h index 3a5c16bbf6a..242ad1ae547 100644 --- a/src/devices/video/dp8350.h +++ b/src/devices/video/dp8350.h @@ -73,7 +73,7 @@ public: protected: // base type constructor - dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, + dp835x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int char_width, int char_height, int chars_per_row, int rows_per_frame, int vsync_delay_f1, int vsync_width_f1, int vblank_interval_f1, int vsync_delay_f0, int vsync_width_f0, int vblank_interval_f0, @@ -158,7 +158,7 @@ class dp8350_device : public dp835x_device { public: // device constructor - dp8350_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dp8350_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // ======================> dp8367_device @@ -167,7 +167,7 @@ class dp8367_device : public dp835x_device { public: // device constructor - dp8367_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dp8367_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // ======================> dp835x_a_device @@ -176,7 +176,7 @@ class dp835x_a_device : public dp835x_device { public: // device constructor - dp835x_a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dp835x_a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // device type declarations diff --git a/src/devices/video/dp8510.cpp b/src/devices/video/dp8510.cpp index a98ea433322..9626a5f559b 100644 --- a/src/devices/video/dp8510.cpp +++ b/src/devices/video/dp8510.cpp @@ -36,7 +36,7 @@ const char *const dp8510_device::BITBLT_OP[] = { "s & d", "~s ^ ~d", "d", "~s | d", "s", "s | ~d", "s | d", "1" }; -dp8510_device::dp8510_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +dp8510_device::dp8510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, DP8510, tag, owner, clock) , m_line_drawing(CLEAR_LINE) , m_barrel_input_select(CLEAR_LINE) diff --git a/src/devices/video/dp8510.h b/src/devices/video/dp8510.h index 04a0c2b1676..5605af70cb4 100644 --- a/src/devices/video/dp8510.h +++ b/src/devices/video/dp8510.h @@ -9,7 +9,7 @@ class dp8510_device : public device_t { public: - dp8510_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + dp8510_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); static const char *const BITBLT_OP[]; static const int FIFO_SIZE = 16; diff --git a/src/devices/video/ef9340_1.cpp b/src/devices/video/ef9340_1.cpp index deb26990e16..8cf4725877a 100644 --- a/src/devices/video/ef9340_1.cpp +++ b/src/devices/video/ef9340_1.cpp @@ -35,7 +35,7 @@ TODO: DEFINE_DEVICE_TYPE(EF9340_1, ef9340_1_device, "ef9340_1", "Thomson EF9340+EF9341") -ef9340_1_device::ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +ef9340_1_device::ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, EF9340_1, tag, owner, clock) , device_video_interface(mconfig, *this) , m_charset(*this, "ef9340_1") diff --git a/src/devices/video/ef9340_1.h b/src/devices/video/ef9340_1.h index ec7e41d16de..aec8122ee7b 100644 --- a/src/devices/video/ef9340_1.h +++ b/src/devices/video/ef9340_1.h @@ -46,7 +46,7 @@ class ef9340_1_device : public device_t, public: // construction/destruction template <typename T> - ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&screen_tag) + ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&screen_tag) : ef9340_1_device(mconfig, tag, owner, clock) { set_screen(std::forward<T>(screen_tag)); @@ -57,7 +57,7 @@ public: auto write_exram() { return m_write_exram.bind(); } // ADR0-ADR3 in a0-a3, B in a4-a11, A in a12-a19 auto read_exram() { return m_read_exram.bind(); } // " - ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + ef9340_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); inline bitmap_ind16 *get_bitmap() { return &m_tmp_bitmap; } u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); diff --git a/src/devices/video/ef9345.cpp b/src/devices/video/ef9345.cpp index df596e7f7a4..5f86f2c9a74 100644 --- a/src/devices/video/ef9345.cpp +++ b/src/devices/video/ef9345.cpp @@ -105,12 +105,12 @@ inline void ef9345_device::inc_y(uint8_t r) // ef9345_device - constructor //------------------------------------------------- -ef9345_device::ef9345_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +ef9345_device::ef9345_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : ef9345_device(mconfig, EF9345, tag, owner, clock, EF9345_MODE::TYPE_EF9345) { } -ef9345_device::ef9345_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, EF9345_MODE variant) : +ef9345_device::ef9345_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, EF9345_MODE variant) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), @@ -121,7 +121,7 @@ ef9345_device::ef9345_device(const machine_config &mconfig, device_type type, co { } -ts9347_device::ts9347_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ts9347_device::ts9347_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : ef9345_device(mconfig, TS9347, tag, owner, clock, EF9345_MODE::TYPE_TS9347) { } diff --git a/src/devices/video/ef9345.h b/src/devices/video/ef9345.h index 05db63cc150..80f5210c0b7 100644 --- a/src/devices/video/ef9345.h +++ b/src/devices/video/ef9345.h @@ -28,7 +28,7 @@ class ef9345_device : public device_t, { public: // construction/destruction - ef9345_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ef9345_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); } @@ -47,7 +47,7 @@ protected: }; // pass-through constructor - ef9345_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, EF9345_MODE variant); + ef9345_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, EF9345_MODE variant); // device-level overrides virtual void device_start() override; @@ -124,7 +124,7 @@ private: class ts9347_device : public ef9345_device { public: - ts9347_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ts9347_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // device type definition diff --git a/src/devices/video/ef9364.cpp b/src/devices/video/ef9364.cpp index 1b6ad09bab2..532f19b9066 100644 --- a/src/devices/video/ef9364.cpp +++ b/src/devices/video/ef9364.cpp @@ -63,7 +63,7 @@ device_memory_interface::space_config_vector ef9364_device::memory_space_config( // ef9364_device - constructor //------------------------------------------------- -ef9364_device::ef9364_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +ef9364_device::ef9364_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, EF9364, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/ef9364.h b/src/devices/video/ef9364.h index 3fce51cf29c..a4a574f9c27 100644 --- a/src/devices/video/ef9364.h +++ b/src/devices/video/ef9364.h @@ -34,7 +34,7 @@ public: static constexpr unsigned MAX_TXTPLANES = 2; // construction/destruction - ef9364_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ef9364_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/ef9365.cpp b/src/devices/video/ef9365.cpp index bb1495836c9..e8703abccbd 100644 --- a/src/devices/video/ef9365.cpp +++ b/src/devices/video/ef9365.cpp @@ -193,7 +193,7 @@ device_memory_interface::space_config_vector ef9365_device::memory_space_config( // ef9365_device - constructor //------------------------------------------------- -ef9365_device::ef9365_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +ef9365_device::ef9365_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, EF9365, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/ef9365.h b/src/devices/video/ef9365.h index fd3e7497e11..d8bae49bbf7 100644 --- a/src/devices/video/ef9365.h +++ b/src/devices/video/ef9365.h @@ -37,7 +37,7 @@ public: static constexpr int DISPLAY_MODE_64x64 = 0x04; // construction/destruction - ef9365_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ef9365_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/ef9369.cpp b/src/devices/video/ef9369.cpp index 5f61544cc55..78b3fdcfb1a 100644 --- a/src/devices/video/ef9369.cpp +++ b/src/devices/video/ef9369.cpp @@ -28,7 +28,7 @@ DEFINE_DEVICE_TYPE(EF9369, ef9369_device, "ef9369", "Thomson EF9369 Single Chip // ef9369_device - constructor //------------------------------------------------- -ef9369_device::ef9369_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ef9369_device::ef9369_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, EF9369, tag, owner, clock) , m_color_update_cb(*this) , m_address(0) diff --git a/src/devices/video/ef9369.h b/src/devices/video/ef9369.h index 457e47f3264..9d2646cca19 100644 --- a/src/devices/video/ef9369.h +++ b/src/devices/video/ef9369.h @@ -43,7 +43,7 @@ public: typedef device_delegate<void (int entry, bool m, uint8_t ca, uint8_t cb, uint8_t cc)> color_update_delegate; // construction/destruction - ef9369_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ef9369_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration template <typename... T> void set_color_update_callback(T &&... args) { m_color_update_cb.set(std::forward<T>(args)...); } diff --git a/src/devices/video/epic12.cpp b/src/devices/video/epic12.cpp index d0dfbf1fcae..b66215e4c3e 100644 --- a/src/devices/video/epic12.cpp +++ b/src/devices/video/epic12.cpp @@ -8,7 +8,7 @@ DEFINE_DEVICE_TYPE(EPIC12, epic12_device, "epic12", "EPIC12 Blitter") -epic12_device::epic12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +epic12_device::epic12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, EPIC12, tag, owner, clock) , device_video_interface(mconfig, *this) , m_ram16(nullptr), m_gfx_size(0), m_bitmaps(nullptr), m_use_ram(nullptr) diff --git a/src/devices/video/epic12.h b/src/devices/video/epic12.h index 82e58d07e9b..1d3100a2902 100644 --- a/src/devices/video/epic12.h +++ b/src/devices/video/epic12.h @@ -11,7 +11,7 @@ class epic12_device : public device_t, public device_video_interface { public: - epic12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + epic12_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename T> void set_cpu(T &&maintag) { m_maincpu.set_tag(std::forward<T>(maintag)); } auto port_r_callback() { return m_port_r_cb.bind(); } diff --git a/src/devices/video/fixfreq.cpp b/src/devices/video/fixfreq.cpp index cf4c4bb5517..46e0cd2c508 100644 --- a/src/devices/video/fixfreq.cpp +++ b/src/devices/video/fixfreq.cpp @@ -232,7 +232,7 @@ fixedfreq_device::fixedfreq_device( device_type type, const char *tag, device_t *owner, - uint32_t clock) + const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this, false) , m_enable(*this, "ENABLE") @@ -248,7 +248,7 @@ fixedfreq_device::fixedfreq_device( const machine_config &mconfig, const char *tag, device_t *owner, - uint32_t clock) + const XTAL &clock) : fixedfreq_device(mconfig, FIXFREQ, tag, owner, clock) { } @@ -273,7 +273,7 @@ void fixedfreq_device::device_config_complete() if (!screen().refresh_attoseconds()) { screen().set_raw( - m_monitor.m_monitor_clock, m_monitor.htotal(), 0, + XTAL::u(m_monitor.m_monitor_clock), m_monitor.htotal(), 0, m_monitor.htotal(), m_monitor.vtotal(), 0, m_monitor.vtotal()); } diff --git a/src/devices/video/fixfreq.h b/src/devices/video/fixfreq.h index 482016ba97e..5d940019e5d 100644 --- a/src/devices/video/fixfreq.h +++ b/src/devices/video/fixfreq.h @@ -255,12 +255,12 @@ public: using time_type = fixedfreq_monitor_state::time_type; // construction/destruction - fixedfreq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + fixedfreq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // inline configuration helpers - fixedfreq_device &set_monitor_clock(uint32_t clock) + fixedfreq_device &set_monitor_clock(const XTAL &clock) { - m_monitor.m_monitor_clock = clock; + m_monitor.m_monitor_clock = clock.value(); return *this; } fixedfreq_device &set_fieldcount(int count) @@ -304,7 +304,7 @@ public: // 799 858 480 486 492 525 interlace // -hsync -vsync { - set_monitor_clock(13500000); + set_monitor_clock(XTAL::u(13500000)); set_horz_params(720, 736, 799, 858); set_vert_params(480, 486, 492, 525); set_fieldcount(2); @@ -314,7 +314,7 @@ public: fixedfreq_device &set_mode_ntsc704() // ModeLine "704x480@30i" 13.5 704 728 // 791 858 480 486 492 525 { - set_monitor_clock(13500000); + set_monitor_clock(XTAL::u(13500000)); set_horz_params(704, 728, 791, 858); set_vert_params(480, 486, 492, 525); set_fieldcount(2); @@ -340,7 +340,7 @@ protected: device_type type, const char *tag, device_t *owner, - uint32_t clock); + const XTAL &clock); // device-level overrides virtual void device_config_complete() override; diff --git a/src/devices/video/gb_lcd.cpp b/src/devices/video/gb_lcd.cpp index ac81c1398f3..ba10b39d158 100644 --- a/src/devices/video/gb_lcd.cpp +++ b/src/devices/video/gb_lcd.cpp @@ -318,7 +318,7 @@ DEFINE_DEVICE_TYPE(CGB_PPU, cgb_ppu_device, "cgb_ppu", "CGB PPU") -dmg_ppu_device::dmg_ppu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size) +dmg_ppu_device::dmg_ppu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) , m_lr35902(*this, finder_base::DUMMY_TAG) @@ -328,25 +328,25 @@ dmg_ppu_device::dmg_ppu_device(const machine_config &mconfig, device_type type, { } -dmg_ppu_device::dmg_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +dmg_ppu_device::dmg_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dmg_ppu_device(mconfig, DMG_PPU, tag, owner, clock, 0x2000) { m_enable_experimental_engine = true; } -mgb_ppu_device::mgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mgb_ppu_device::mgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dmg_ppu_device(mconfig, MGB_PPU, tag, owner, clock, 0x2000) { m_enable_experimental_engine = true; } -sgb_ppu_device::sgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sgb_ppu_device::sgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dmg_ppu_device(mconfig, SGB_PPU, tag, owner, clock, 0x2000) { m_enable_experimental_engine = false; } -cgb_ppu_device::cgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cgb_ppu_device::cgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : dmg_ppu_device(mconfig, CGB_PPU, tag, owner, clock, 0x4000) { m_enable_experimental_engine = false; diff --git a/src/devices/video/gb_lcd.h b/src/devices/video/gb_lcd.h index 418868e5ce0..03ad47d1780 100644 --- a/src/devices/video/gb_lcd.h +++ b/src/devices/video/gb_lcd.h @@ -20,11 +20,11 @@ class dmg_ppu_device : public device_t, public device_video_interface public: template <typename T> dmg_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag) - : dmg_ppu_device(mconfig, tag, owner, u32(0)) + : dmg_ppu_device(mconfig, tag, owner) { set_lr35902_tag(std::forward<T>(cpu_tag)); } - dmg_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + dmg_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); template <typename T> void set_lr35902_tag(T &&tag) { m_lr35902.set_tag(std::forward<T>(tag)); } @@ -75,7 +75,7 @@ protected: virtual void update_sprites(); virtual void update_scanline(uint32_t cycles_to_go); - dmg_ppu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size); + dmg_ppu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size); // device-level overrides virtual void device_start() override; @@ -239,11 +239,11 @@ class mgb_ppu_device : public dmg_ppu_device public: template <typename T> mgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag) - : mgb_ppu_device(mconfig, tag, owner, u32(0)) + : mgb_ppu_device(mconfig, tag, owner) { set_lr35902_tag(std::forward<T>(cpu_tag)); } - mgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); protected: @@ -257,11 +257,11 @@ class sgb_ppu_device : public dmg_ppu_device public: template <typename T> sgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag) - : sgb_ppu_device(mconfig, tag, owner, u32(0)) + : sgb_ppu_device(mconfig, tag, owner) { set_lr35902_tag(std::forward<T>(cpu_tag)); } - sgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); void sgb_io_write_pal(int offs, uint8_t *data); @@ -284,11 +284,11 @@ class cgb_ppu_device : public dmg_ppu_device public: template <typename T> cgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag) - : cgb_ppu_device(mconfig, tag, owner, u32(0)) + : cgb_ppu_device(mconfig, tag, owner) { set_lr35902_tag(std::forward<T>(cpu_tag)); } - cgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cgb_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); virtual uint8_t video_r(offs_t offset) override; virtual void video_w(offs_t offset, uint8_t data) override; diff --git a/src/devices/video/gba_lcd.cpp b/src/devices/video/gba_lcd.cpp index 1bc8a87e7fe..5057822195c 100644 --- a/src/devices/video/gba_lcd.cpp +++ b/src/devices/video/gba_lcd.cpp @@ -147,7 +147,7 @@ private: DEFINE_DEVICE_TYPE(GBA_LCD, gba_lcd_device, "gba_lcd", "GBA LCD") -gba_lcd_device::gba_lcd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +gba_lcd_device::gba_lcd_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, GBA_LCD, tag, owner, clock) , device_video_interface(mconfig, *this) , m_int_hblank_cb(*this) diff --git a/src/devices/video/gba_lcd.h b/src/devices/video/gba_lcd.h index 421ed02f2c3..9f2fd04a32d 100644 --- a/src/devices/video/gba_lcd.h +++ b/src/devices/video/gba_lcd.h @@ -63,7 +63,7 @@ class gba_lcd_device , protected gba_registers<0x060 / 4, 0x000> { public: - gba_lcd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + gba_lcd_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint32_t video_r(offs_t offset, uint32_t mem_mask = ~0); void video_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); diff --git a/src/devices/video/gf4500.cpp b/src/devices/video/gf4500.cpp index e695404d938..104a82a76c5 100644 --- a/src/devices/video/gf4500.cpp +++ b/src/devices/video/gf4500.cpp @@ -36,7 +36,7 @@ static inline void ATTR_PRINTF(3,4) verboselog( device_t &device, int n_level, c DEFINE_DEVICE_TYPE(GF4500, gf4500_device, "gf4500", "NVIDIA GoForce 4500") -gf4500_device::gf4500_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +gf4500_device::gf4500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, GF4500, tag, owner, clock), m_data(nullptr), m_screen_x(0), m_screen_y(0), m_screen_x_max(0), m_screen_y_max(0), m_screen_x_min(0), m_screen_y_min(0) { } diff --git a/src/devices/video/gf4500.h b/src/devices/video/gf4500.h index a402881c49b..12e0a758948 100644 --- a/src/devices/video/gf4500.h +++ b/src/devices/video/gf4500.h @@ -17,7 +17,7 @@ class gf4500_device : public device_t { public: - gf4500_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + gf4500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint32_t read(offs_t offset); diff --git a/src/devices/video/gf7600gs.cpp b/src/devices/video/gf7600gs.cpp index 075c95c5628..01d1a62683e 100644 --- a/src/devices/video/gf7600gs.cpp +++ b/src/devices/video/gf7600gs.cpp @@ -17,7 +17,7 @@ void geforce_7600gs_device::map3(address_map &map) { } -geforce_7600gs_device::geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +geforce_7600gs_device::geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pci_device(mconfig, GEFORCE_7600GS, tag, owner, clock) { } diff --git a/src/devices/video/gf7600gs.h b/src/devices/video/gf7600gs.h index db13718c6da..e1498716a50 100644 --- a/src/devices/video/gf7600gs.h +++ b/src/devices/video/gf7600gs.h @@ -9,12 +9,12 @@ class geforce_7600gs_device : public pci_device { public: - geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t subdevice_id) + geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t subdevice_id) : geforce_7600gs_device(mconfig, tag, owner, clock) { set_ids_agp(0x10de02e1, 0xa1, subdevice_id); } - geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + geforce_7600gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; diff --git a/src/devices/video/hd44102.cpp b/src/devices/video/hd44102.cpp index 49d05f3a797..a802768ea38 100644 --- a/src/devices/video/hd44102.cpp +++ b/src/devices/video/hd44102.cpp @@ -54,7 +54,7 @@ DEFINE_DEVICE_TYPE(HD44102, hd44102_device, "hd44102", "Hitachi HD44102 LCD Cont // hd44102_device - constructor //------------------------------------------------- -hd44102_device::hd44102_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hd44102_device::hd44102_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD44102, tag, owner, clock), m_sx(0), m_sy(0) diff --git a/src/devices/video/hd44102.h b/src/devices/video/hd44102.h index dfcd8ca0349..ce718f47357 100644 --- a/src/devices/video/hd44102.h +++ b/src/devices/video/hd44102.h @@ -22,7 +22,7 @@ class hd44102_device : public device_t { public: // construction/destruction - hd44102_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + hd44102_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // inline configuration helpers void set_screen_offsets(int sx, int sy) { m_sx = sx; m_sy = sy; } // when using screen_update diff --git a/src/devices/video/hd44352.cpp b/src/devices/video/hd44352.cpp index 12d431b21ef..33d232058dc 100644 --- a/src/devices/video/hd44352.cpp +++ b/src/devices/video/hd44352.cpp @@ -34,7 +34,7 @@ DEFINE_DEVICE_TYPE(HD44352, hd44352_device, "hd44352", "Hitachi HD44352 LCD Cont // hd44352_device - constructor //------------------------------------------------- -hd44352_device::hd44352_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock): +hd44352_device::hd44352_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock): device_t(mconfig, HD44352, tag, owner, clock), m_on_cb(*this), m_char_rom(*this, DEVICE_SELF) diff --git a/src/devices/video/hd44352.h b/src/devices/video/hd44352.h index a5b311c0e9f..d0e1bcf07dc 100644 --- a/src/devices/video/hd44352.h +++ b/src/devices/video/hd44352.h @@ -21,7 +21,7 @@ class hd44352_device : public device_t { public: // construction/destruction - hd44352_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hd44352_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto on_cb() { return m_on_cb.bind(); } diff --git a/src/devices/video/hd44780.cpp b/src/devices/video/hd44780.cpp index 171d9cb5780..8d6f3bf8a76 100644 --- a/src/devices/video/hd44780.cpp +++ b/src/devices/video/hd44780.cpp @@ -54,13 +54,13 @@ ROM_END // hd44780_device - constructor //------------------------------------------------- -hd44780_device::hd44780_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +hd44780_device::hd44780_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hd44780_device(mconfig, HD44780, tag, owner, clock) { set_charset_type(CHARSET_HD44780_A00); } -hd44780_device::hd44780_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +hd44780_device::hd44780_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , m_pixel_update_cb(*this) , m_busy_factor(1.0) @@ -74,13 +74,13 @@ hd44780_device::hd44780_device(const machine_config &mconfig, device_type type, { } -sed1278_0b_device::sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +sed1278_0b_device::sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hd44780_device(mconfig, SED1278_0B, tag, owner, clock) { set_charset_type(CHARSET_SED1278_0B); } -ks0066_f05_device::ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +ks0066_f05_device::ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hd44780_device(mconfig, KS0066_F05, tag, owner, clock) { set_charset_type(CHARSET_KS0066_F05); diff --git a/src/devices/video/hd44780.h b/src/devices/video/hd44780.h index df1db86fbe8..06df9cfe136 100644 --- a/src/devices/video/hd44780.h +++ b/src/devices/video/hd44780.h @@ -27,7 +27,7 @@ public: typedef device_delegate<void (bitmap_ind16 &bitmap, u8 line, u8 pos, u8 y, u8 x, int state)> pixel_update_delegate; // construction/destruction - hd44780_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + hd44780_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // static configuration helpers void set_lcd_size(int lines, int chars) { m_lines = lines; m_chars = chars; } @@ -53,7 +53,7 @@ public: virtual uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); protected: - hd44780_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + hd44780_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -146,7 +146,7 @@ class sed1278_0b_device : public hd44780_device { public: // construction/destruction - sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // ======================> ks0066_f05_device @@ -155,7 +155,7 @@ class ks0066_f05_device : public hd44780_device { public: // construction/destruction - ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; // device type definition diff --git a/src/devices/video/hd61202.cpp b/src/devices/video/hd61202.cpp index 50bbc91d0b3..abc4d0b2960 100644 --- a/src/devices/video/hd61202.cpp +++ b/src/devices/video/hd61202.cpp @@ -21,7 +21,7 @@ DEFINE_DEVICE_TYPE(HD61202, hd61202_device, "hd61202", "Hitachi HD61202 LCD Driv // hd61202_device - constructor //------------------------------------------------- -hd61202_device::hd61202_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +hd61202_device::hd61202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD61202, tag, owner, clock) , m_screen_update_cb(*this) { diff --git a/src/devices/video/hd61202.h b/src/devices/video/hd61202.h index 1ae9e741242..8577aae982b 100644 --- a/src/devices/video/hd61202.h +++ b/src/devices/video/hd61202.h @@ -26,7 +26,7 @@ public: typedef device_delegate<uint32_t (bitmap_ind16 &bitmap, const rectangle &cliprect, bool lcd_on, int start_line, uint8_t *ddr)> screen_update_delegate; // construction/destruction - hd61202_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + hd61202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers template <typename... T> void set_screen_update_cb(T &&... args) { m_screen_update_cb.set(std::forward<T>(args)...); } diff --git a/src/devices/video/hd61603.cpp b/src/devices/video/hd61603.cpp index 49a21cc779b..d58c7bf164c 100644 --- a/src/devices/video/hd61603.cpp +++ b/src/devices/video/hd61603.cpp @@ -23,7 +23,7 @@ DEFINE_DEVICE_TYPE(HD61603, hd61603_device, "hd61603", "Hitachi HD61603 LCD Driv // constructor //------------------------------------------------- -hd61603_device::hd61603_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hd61603_device::hd61603_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD61603, tag, owner, clock), m_write_segs(*this) { } diff --git a/src/devices/video/hd61603.h b/src/devices/video/hd61603.h index 8de7c879761..24d0e777260 100644 --- a/src/devices/video/hd61603.h +++ b/src/devices/video/hd61603.h @@ -37,7 +37,7 @@ pin desc class hd61603_device : public device_t { public: - hd61603_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hd61603_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_segs() { return m_write_segs.bind(); } diff --git a/src/devices/video/hd61830.cpp b/src/devices/video/hd61830.cpp index 9d2a8a5eb67..adb594f0804 100644 --- a/src/devices/video/hd61830.cpp +++ b/src/devices/video/hd61830.cpp @@ -75,7 +75,7 @@ static constexpr int MODE_DISPLAY_ON = 0x20; // hd61830_device - constructor //------------------------------------------------- -hd61830_device::hd61830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +hd61830_device::hd61830_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD61830, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/hd61830.h b/src/devices/video/hd61830.h index 83f5639ca14..4c411654841 100644 --- a/src/devices/video/hd61830.h +++ b/src/devices/video/hd61830.h @@ -24,7 +24,7 @@ class hd61830_device : public device_t, { public: // construction/destruction - hd61830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hd61830_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto rd_rd_callback() { return m_read_rd.bind(); } diff --git a/src/devices/video/hd63484.cpp b/src/devices/video/hd63484.cpp index cc0f577d11f..05f6c1f0fd9 100644 --- a/src/devices/video/hd63484.cpp +++ b/src/devices/video/hd63484.cpp @@ -24,7 +24,7 @@ // hd63484_device - constructor //------------------------------------------------- -hd63484_device::hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +hd63484_device::hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD63484, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/hd63484.h b/src/devices/video/hd63484.h index 67383810bf6..a296ac3052c 100644 --- a/src/devices/video/hd63484.h +++ b/src/devices/video/hd63484.h @@ -25,7 +25,7 @@ public: typedef device_delegate<void (bitmap_ind16 &bitmap, const rectangle &cliprect, int y, int x, uint16_t data)> display_delegate; // construction/destruction - hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hd63484_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename... T> void set_display_callback(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } void set_auto_configure_screen(bool auto_configure_screen) { m_auto_configure_screen = auto_configure_screen; } diff --git a/src/devices/video/hd66421.cpp b/src/devices/video/hd66421.cpp index 6be96c81e1f..2e7f0a97611 100644 --- a/src/devices/video/hd66421.cpp +++ b/src/devices/video/hd66421.cpp @@ -123,7 +123,7 @@ inline void hd66421_device::writebyte(offs_t address, uint8_t data) // hd66421_device - constructor //------------------------------------------------- -hd66421_device::hd66421_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +hd66421_device::hd66421_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HD66421, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_space_config("videoram", ENDIANNESS_LITTLE, 8, 17, 0, address_map_constructor(FUNC(hd66421_device::hd66421), this)) diff --git a/src/devices/video/hd66421.h b/src/devices/video/hd66421.h index 8a38311d8e5..86f820631a2 100644 --- a/src/devices/video/hd66421.h +++ b/src/devices/video/hd66421.h @@ -30,7 +30,7 @@ public: static constexpr unsigned HEIGHT = 100; // construction/destruction - hd66421_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + hd66421_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); uint8_t reg_idx_r(); void reg_idx_w(uint8_t data); diff --git a/src/devices/video/hlcd0438.cpp b/src/devices/video/hlcd0438.cpp index 64f95711c8b..36b957368f5 100644 --- a/src/devices/video/hlcd0438.cpp +++ b/src/devices/video/hlcd0438.cpp @@ -19,7 +19,7 @@ DEFINE_DEVICE_TYPE(HLCD0438, hlcd0438_device, "hlcd0438", "Hughes HLCD 0438 LCD // constructor //------------------------------------------------- -hlcd0438_device::hlcd0438_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0438_device::hlcd0438_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HLCD0438, tag, owner, clock), m_write_segs(*this), m_write_data(*this) { diff --git a/src/devices/video/hlcd0438.h b/src/devices/video/hlcd0438.h index 19973dd8451..e2c1960c5ce 100644 --- a/src/devices/video/hlcd0438.h +++ b/src/devices/video/hlcd0438.h @@ -42,7 +42,7 @@ class hlcd0438_device : public device_t { public: - hlcd0438_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hlcd0438_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_segs() { return m_write_segs.bind(); } // BP pin in offset, SEG pins in data diff --git a/src/devices/video/hlcd0488.cpp b/src/devices/video/hlcd0488.cpp index 7c5d7eb4c99..6eb153005c3 100644 --- a/src/devices/video/hlcd0488.cpp +++ b/src/devices/video/hlcd0488.cpp @@ -21,7 +21,7 @@ DEFINE_DEVICE_TYPE(HLCD0488, hlcd0488_device, "hlcd0488", "Hughes HLCD 0488 LCD // constructor //------------------------------------------------- -hlcd0488_device::hlcd0488_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0488_device::hlcd0488_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HLCD0488, tag, owner, clock), m_write_cols(*this) { } diff --git a/src/devices/video/hlcd0488.h b/src/devices/video/hlcd0488.h index c2302fbc88b..0f121bb6278 100644 --- a/src/devices/video/hlcd0488.h +++ b/src/devices/video/hlcd0488.h @@ -42,7 +42,7 @@ class hlcd0488_device : public device_t { public: - hlcd0488_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + hlcd0488_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers auto write_cols() { return m_write_cols.bind(); } // COL pins in data, ROW pins in offset diff --git a/src/devices/video/hlcd0515.cpp b/src/devices/video/hlcd0515.cpp index 7af99f99657..8452ee3abfa 100644 --- a/src/devices/video/hlcd0515.cpp +++ b/src/devices/video/hlcd0515.cpp @@ -28,25 +28,25 @@ DEFINE_DEVICE_TYPE(HLCD0601, hlcd0601_device, "hlcd0601", "Hughes HLCD 0601 LCD // constructor //------------------------------------------------- -hlcd0515_device::hlcd0515_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 colmax) : +hlcd0515_device::hlcd0515_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 colmax) : device_t(mconfig, type, tag, owner, clock), m_colmax(colmax), m_write_cols(*this), m_write_data(*this) { } -hlcd0515_device::hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0515_device::hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0515_device(mconfig, HLCD0515, tag, owner, clock, 25) { } -hlcd0569_device::hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0569_device::hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0515_device(mconfig, HLCD0569, tag, owner, clock, 24) { } -hlcd0530_device::hlcd0530_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0530_device::hlcd0530_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0515_device(mconfig, HLCD0530, tag, owner, clock, 24) { } -hlcd0601_device::hlcd0601_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0601_device::hlcd0601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0515_device(mconfig, HLCD0601, tag, owner, clock, 24) { } diff --git a/src/devices/video/hlcd0515.h b/src/devices/video/hlcd0515.h index c6ef5e118bf..403105ca54e 100644 --- a/src/devices/video/hlcd0515.h +++ b/src/devices/video/hlcd0515.h @@ -44,7 +44,7 @@ class hlcd0515_device : public device_t { public: - hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_cols() { return m_write_cols.bind(); } // COL/ROW pins (offset for ROW) @@ -56,7 +56,7 @@ public: DECLARE_READ_LINE_MEMBER(data_r) { return m_dataout; } protected: - hlcd0515_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 colmax); + hlcd0515_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 colmax); // device-level overrides virtual void device_start() override; @@ -92,7 +92,7 @@ protected: class hlcd0569_device : public hlcd0515_device { public: - hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void set_control() override; @@ -101,13 +101,13 @@ protected: class hlcd0530_device : public hlcd0515_device { public: - hlcd0530_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hlcd0530_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class hlcd0601_device : public hlcd0515_device { public: - hlcd0601_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + hlcd0601_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/hlcd0538.cpp b/src/devices/video/hlcd0538.cpp index 314644bcfd4..ba99eaadf86 100644 --- a/src/devices/video/hlcd0538.cpp +++ b/src/devices/video/hlcd0538.cpp @@ -26,16 +26,16 @@ DEFINE_DEVICE_TYPE(HLCD0539, hlcd0539_device, "hlcd0539", "Hughes HLCD 0539 LCD // constructor //------------------------------------------------- -hlcd0538_device::hlcd0538_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : +hlcd0538_device::hlcd0538_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), m_write_cols(*this), m_write_interrupt(*this) { } -hlcd0538_device::hlcd0538_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0538_device::hlcd0538_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0538_device(mconfig, HLCD0538, tag, owner, clock) { } -hlcd0539_device::hlcd0539_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +hlcd0539_device::hlcd0539_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hlcd0538_device(mconfig, HLCD0539, tag, owner, clock) { } @@ -52,7 +52,7 @@ void hlcd0538_device::device_start() // timer (when LCD pin is oscillator) m_lcd_timer = timer_alloc(FUNC(hlcd0538_device::toggle_lcd), this); - attotime period = (clock() != 0) ? attotime::from_hz(2 * clock()) : attotime::never; + attotime period = !clock().disabled() ? attotime::from_hz(2 * clock().value()) : attotime::never; m_lcd_timer->adjust(period, 0, period); // zerofill diff --git a/src/devices/video/hlcd0538.h b/src/devices/video/hlcd0538.h index add8e0e3028..43a0101109a 100644 --- a/src/devices/video/hlcd0538.h +++ b/src/devices/video/hlcd0538.h @@ -43,7 +43,7 @@ class hlcd0538_device : public device_t { public: - hlcd0538_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + hlcd0538_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers auto write_cols() { return m_write_cols.bind(); } // C/R pins (0538: d0-d7 for rows) @@ -54,7 +54,7 @@ public: DECLARE_WRITE_LINE_MEMBER(data_w) { m_data = (state) ? 1 : 0; } protected: - hlcd0538_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + hlcd0538_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -77,7 +77,7 @@ protected: class hlcd0539_device : public hlcd0538_device { public: - hlcd0539_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + hlcd0539_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; diff --git a/src/devices/video/hp1ll3.cpp b/src/devices/video/hp1ll3.cpp index 006b8823122..8de471ddd90 100644 --- a/src/devices/video/hp1ll3.cpp +++ b/src/devices/video/hp1ll3.cpp @@ -280,7 +280,7 @@ DEFINE_DEVICE_TYPE(HP1LL3, hp1ll3_device, "hp1ll3", "Hewlett-Packard 1LL3-0005 G // hp1ll3_device - constructor //------------------------------------------------- -hp1ll3_device::hp1ll3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +hp1ll3_device::hp1ll3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HP1LL3, tag, owner, clock) , device_video_interface(mconfig, *this) , m_vram_size(16) diff --git a/src/devices/video/hp1ll3.h b/src/devices/video/hp1ll3.h index 1dd238fba8f..643e280358d 100644 --- a/src/devices/video/hp1ll3.h +++ b/src/devices/video/hp1ll3.h @@ -23,7 +23,7 @@ class hp1ll3_device : public device_t, public device_video_interface { public: // construction/destruction - hp1ll3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hp1ll3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // Configuration // Set VRAM size (in kw). Parameter must be <= 128 and it must be a power of 2. diff --git a/src/devices/video/huc6202.cpp b/src/devices/video/huc6202.cpp index 42ffaafef14..151d3fa016c 100644 --- a/src/devices/video/huc6202.cpp +++ b/src/devices/video/huc6202.cpp @@ -15,7 +15,7 @@ DEFINE_DEVICE_TYPE(HUC6202, huc6202_device, "huc6202", "Hudson HuC6202 VPC") -huc6202_device::huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6202_device::huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6202, tag, owner, clock) , m_next_pixel_0_cb(*this) , m_time_til_next_event_0_cb(*this) diff --git a/src/devices/video/huc6202.h b/src/devices/video/huc6202.h index 5ef636626b0..0ca6aff6843 100644 --- a/src/devices/video/huc6202.h +++ b/src/devices/video/huc6202.h @@ -16,7 +16,7 @@ class huc6202_device : public device_t { public: // construction/destruction - huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto next_pixel_0_callback() { return m_next_pixel_0_cb.bind(); } auto time_til_next_event_0_callback() { return m_time_til_next_event_0_cb.bind(); } diff --git a/src/devices/video/huc6260.cpp b/src/devices/video/huc6260.cpp index cc41b86ac1d..1c371132591 100644 --- a/src/devices/video/huc6260.cpp +++ b/src/devices/video/huc6260.cpp @@ -51,7 +51,7 @@ void huc6260_device::palette_init() DEFINE_DEVICE_TYPE(HUC6260, huc6260_device, "huc6260", "Hudson HuC6260 VCE") -huc6260_device::huc6260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6260_device::huc6260_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6260, tag, owner, clock), device_palette_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/huc6260.h b/src/devices/video/huc6260.h index 01b1a299f45..8d55ab10904 100644 --- a/src/devices/video/huc6260.h +++ b/src/devices/video/huc6260.h @@ -25,7 +25,7 @@ public: // construction/destruction - huc6260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6260_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto next_pixel_data() { return m_next_pixel_data_cb.bind(); } auto time_til_next_event() { return m_time_til_next_event_cb.bind(); } diff --git a/src/devices/video/huc6261.cpp b/src/devices/video/huc6261.cpp index 27bd06c7e33..7748ed5769f 100644 --- a/src/devices/video/huc6261.cpp +++ b/src/devices/video/huc6261.cpp @@ -31,7 +31,7 @@ constexpr unsigned huc6261_device::LPF; DEFINE_DEVICE_TYPE(HUC6261, huc6261_device, "huc6261", "Hudson HuC6261 VCE") -huc6261_device::huc6261_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6261_device::huc6261_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6261, tag, owner, clock), device_video_interface(mconfig, *this), m_huc6270_a(*this, finder_base::DUMMY_TAG), diff --git a/src/devices/video/huc6261.h b/src/devices/video/huc6261.h index 9995a20673b..1bfcb2ed589 100644 --- a/src/devices/video/huc6261.h +++ b/src/devices/video/huc6261.h @@ -24,7 +24,7 @@ public: static constexpr unsigned LPF = 263; // max number of lines in a single frame // construction/destruction - huc6261_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6261_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename T> void set_vdc1_tag(T &&tag) { m_huc6270_a.set_tag(std::forward<T>(tag)); } template <typename T> void set_vdc2_tag(T &&tag) { m_huc6270_b.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/huc6270.cpp b/src/devices/video/huc6270.cpp index 09f49963ba9..53bbf2d42df 100644 --- a/src/devices/video/huc6270.cpp +++ b/src/devices/video/huc6270.cpp @@ -99,7 +99,7 @@ DEFINE_DEVICE_TYPE(HUC6270, huc6270_device, "huc6270", "Hudson HuC6270 VDC") constexpr uint8_t huc6270_device::vram_increments[4]; -huc6270_device::huc6270_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6270_device::huc6270_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6270, tag, owner, clock) , m_vram_size(0) , m_irq_changed_cb(*this) diff --git a/src/devices/video/huc6270.h b/src/devices/video/huc6270.h index c333e720bc7..4245d82fcc8 100644 --- a/src/devices/video/huc6270.h +++ b/src/devices/video/huc6270.h @@ -16,7 +16,7 @@ class huc6270_device : public device_t { public: // construction/destruction - huc6270_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6270_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_vram_size(uint32_t vram_size) { m_vram_size = vram_size; } auto irq() { return m_irq_changed_cb.bind(); } diff --git a/src/devices/video/huc6271.cpp b/src/devices/video/huc6271.cpp index 9f90ba8c3b3..c3144eb8d11 100644 --- a/src/devices/video/huc6271.cpp +++ b/src/devices/video/huc6271.cpp @@ -33,7 +33,7 @@ void huc6271_device::data_map(address_map &map) map(0x000000, 0x0fffff).ram(); } -huc6271_device::huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6271_device::huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6271, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_data_space_config("data", ENDIANNESS_LITTLE, 32, 32, 0, address_map_constructor(FUNC(huc6271_device::data_map), this)) diff --git a/src/devices/video/huc6271.h b/src/devices/video/huc6271.h index a8b3eb00287..d50bd39b4a4 100644 --- a/src/devices/video/huc6271.h +++ b/src/devices/video/huc6271.h @@ -24,7 +24,7 @@ class huc6271_device : public device_t, { public: // construction/destruction - huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // I/O operations //void data_transfer(uint32_t offset, uint32_t data); diff --git a/src/devices/video/huc6272.cpp b/src/devices/video/huc6272.cpp index 5f4ec6b8c7a..af6870dd77e 100644 --- a/src/devices/video/huc6272.cpp +++ b/src/devices/video/huc6272.cpp @@ -63,7 +63,7 @@ void huc6272_device::kram_map(address_map &map) // huc6272_device - constructor //------------------------------------------------- -huc6272_device::huc6272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +huc6272_device::huc6272_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, HUC6272, tag, owner, clock), device_memory_interface(mconfig, *this), m_huc6271(*this, finder_base::DUMMY_TAG), diff --git a/src/devices/video/huc6272.h b/src/devices/video/huc6272.h index db5087f7f0c..8e78ee35b5f 100644 --- a/src/devices/video/huc6272.h +++ b/src/devices/video/huc6272.h @@ -30,7 +30,7 @@ public: static constexpr feature_type imperfect_features() { return feature::SOUND | feature::GRAPHICS; } // Incorrect ADPCM and Graphics // construction/destruction - huc6272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + huc6272_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto irq_changed_callback() { return m_irq_changed_cb.bind(); } template <typename T> void set_rainbow_tag(T &&tag) { m_huc6271.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/i8244.cpp b/src/devices/video/i8244.cpp index 622d5c056df..52720ba1687 100644 --- a/src/devices/video/i8244.cpp +++ b/src/devices/video/i8244.cpp @@ -32,11 +32,11 @@ DEFINE_DEVICE_TYPE(I8245, i8245_device, "i8245", "Intel 8245") // i8244_device - constructor //------------------------------------------------- -i8244_device::i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +i8244_device::i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : i8244_device(mconfig, I8244, tag, owner, clock) { } -i8244_device::i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) +i8244_device::i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_sound_interface(mconfig, *this) , device_video_interface(mconfig, *this) @@ -44,7 +44,7 @@ i8244_device::i8244_device(const machine_config &mconfig, device_type type, cons , m_charset(*this, "cgrom") { } -i8245_device::i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +i8245_device::i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : i8244_device(mconfig, I8245, tag, owner, clock) { } diff --git a/src/devices/video/i8244.h b/src/devices/video/i8244.h index 9514f36deb5..672d2db2414 100644 --- a/src/devices/video/i8244.h +++ b/src/devices/video/i8244.h @@ -45,7 +45,7 @@ class i8244_device : public device_t { public: // construction/destruction - i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + i8244_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto irq_cb() { return m_irq_func.bind(); } @@ -106,7 +106,7 @@ protected: } s; }; - i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + i8244_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_config_complete() override; @@ -177,7 +177,7 @@ class i8245_device : public i8244_device { public: // construction/destruction - i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + i8245_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); static auto parent_rom_device_type() { return &I8244; } diff --git a/src/devices/video/i82730.cpp b/src/devices/video/i82730.cpp index ba853c41680..5341fe84b8d 100644 --- a/src/devices/video/i82730.cpp +++ b/src/devices/video/i82730.cpp @@ -36,7 +36,7 @@ DEFINE_DEVICE_TYPE(I82730, i82730_device, "i82730", "Intel 82730") // i82730_device - constructor //------------------------------------------------- -i82730_device::i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +i82730_device::i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, I82730, tag, owner, clock), device_video_interface(mconfig, *this), m_sint_handler(*this), diff --git a/src/devices/video/i82730.h b/src/devices/video/i82730.h index 27f82eb8d5c..68e444bfe24 100644 --- a/src/devices/video/i82730.h +++ b/src/devices/video/i82730.h @@ -29,12 +29,12 @@ public: // construction/destruction template <typename T> - i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag) + i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&cpu_tag) : i82730_device(mconfig, tag, owner, clock) { m_cpu.set_tag(std::forward<T>(cpu_tag)); } - i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + i82730_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // callbacks auto sint() { return m_sint_handler.bind(); } diff --git a/src/devices/video/i8275.cpp b/src/devices/video/i8275.cpp index 1e080986e22..5e98108840f 100644 --- a/src/devices/video/i8275.cpp +++ b/src/devices/video/i8275.cpp @@ -98,7 +98,7 @@ DEFINE_DEVICE_TYPE(I8276, i8276_device, "i8276", "Intel 8276 CRTC") // i8275_device - constructor //------------------------------------------------- -i8275_device::i8275_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +i8275_device::i8275_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), device_video_interface(mconfig, *this), m_write_irq(*this), @@ -129,12 +129,12 @@ i8275_device::i8275_device(const machine_config &mconfig, device_type type, cons memset(m_param, 0x00, sizeof(m_param)); } -i8275_device::i8275_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +i8275_device::i8275_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : i8275_device(mconfig, I8275, tag, owner, clock) { } -i8276_device::i8276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +i8276_device::i8276_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : i8275_device(mconfig, I8276, tag, owner, clock) { } diff --git a/src/devices/video/i8275.h b/src/devices/video/i8275.h index 2b49dee6362..ec0e1add6de 100644 --- a/src/devices/video/i8275.h +++ b/src/devices/video/i8275.h @@ -58,7 +58,7 @@ public: typedef device_delegate<void (bitmap_rgb32 &bitmap, int x, int y, uint8_t linecount, uint8_t charcode, uint8_t lineattr, uint8_t lten, uint8_t rvv, uint8_t vsp, uint8_t gpa, uint8_t hlgt)> draw_character_delegate; // construction/destruction - i8275_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + i8275_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_character_width(int value) { m_hpixels_per_column = value; } void set_refresh_hack(bool hack) { m_refresh_hack = hack; } @@ -80,7 +80,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: - i8275_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + i8275_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -212,7 +212,7 @@ class i8276_device : public i8275_device { public: // construction/destruction - i8276_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + i8276_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/imagetek_i4100.cpp b/src/devices/video/imagetek_i4100.cpp index 5b9cc568e03..6805e169c65 100644 --- a/src/devices/video/imagetek_i4100.cpp +++ b/src/devices/video/imagetek_i4100.cpp @@ -268,7 +268,7 @@ void imagetek_i4300_device::v3_map(address_map &map) //------------------------------------------------- -imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool has_ext_tiles) +imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool has_ext_tiles) : device_t(mconfig, type, tag, owner, clock) , device_gfx_interface(mconfig, *this, has_ext_tiles ? gfxinfo_ext : gfxinfo, "palette") , device_video_interface(mconfig, *this) @@ -297,18 +297,18 @@ imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, devi { } -imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +imagetek_i4100_device::imagetek_i4100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : imagetek_i4100_device(mconfig, I4100, tag, owner, clock, false) { } -imagetek_i4220_device::imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +imagetek_i4220_device::imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : imagetek_i4100_device(mconfig, I4220, tag, owner, clock, true) { } -imagetek_i4300_device::imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +imagetek_i4300_device::imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : imagetek_i4100_device(mconfig, I4300, tag, owner, clock, true) { std::fill(std::begin(m_irq_levels), std::end(m_irq_levels), 0); diff --git a/src/devices/video/imagetek_i4100.h b/src/devices/video/imagetek_i4100.h index 8f11b055f12..04b7c35356b 100644 --- a/src/devices/video/imagetek_i4100.h +++ b/src/devices/video/imagetek_i4100.h @@ -28,7 +28,7 @@ class imagetek_i4100_device : public device_t, { public: // construction/destruction - imagetek_i4100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + imagetek_i4100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void map(address_map &map); @@ -71,7 +71,7 @@ public: u8 irq_cause_r(); protected: - imagetek_i4100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, bool has_ext_tiles); + imagetek_i4100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool has_ext_tiles); // device-level overrides //virtual void device_validity_check(validity_checker &valid) const override; @@ -230,7 +230,7 @@ class imagetek_i4220_device : public imagetek_i4100_device { public: // construction/destruction - imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // needed by Blazing Tornado / Grand Striker 2 for mixing with PSAC // (it's unknown how the chip enables external sync) @@ -243,7 +243,7 @@ class imagetek_i4300_device : public imagetek_i4100_device { public: // construction/destruction - imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void v3_map(address_map &map); u8 irq_vector_r(offs_t offset); diff --git a/src/devices/video/ims_cvc.cpp b/src/devices/video/ims_cvc.cpp index 0c5b62dfff4..cdae36cd5d2 100644 --- a/src/devices/video/ims_cvc.cpp +++ b/src/devices/video/ims_cvc.cpp @@ -26,7 +26,7 @@ DEFINE_DEVICE_TYPE(G300, g300_device, "g300", "INMOS G300 Colour Video Controlle DEFINE_DEVICE_TYPE(G332, g332_device, "g332", "INMOS G332 Colour Video Controller") DEFINE_DEVICE_TYPE(G364, g364_device, "g364", "INMOS G364 Colour Video Controller") -ims_cvc_device::ims_cvc_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock) +ims_cvc_device::ims_cvc_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_palette_interface(mconfig, *this) , m_screen(*this, finder_base::DUMMY_TAG) @@ -34,23 +34,23 @@ ims_cvc_device::ims_cvc_device(machine_config const &mconfig, device_type type, { } -g300_device::g300_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +g300_device::g300_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : ims_cvc_device(mconfig, G300, tag, owner, clock) { } -g332_device::g332_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock) +g332_device::g332_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock) : ims_cvc_device(mconfig, type, tag, owner, clock) , m_microport(*this, "microport") { } -g332_device::g332_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +g332_device::g332_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : g332_device(mconfig, G332, tag, owner, clock) { } -g364_device::g364_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock) +g364_device::g364_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock) : g332_device(mconfig, G364, tag, owner, clock) { } @@ -362,7 +362,7 @@ void g332_device::control_a_w(u32 data) rectangle const visarea(hbend, hbend + (m_display << 2) - 1, vbend, height - 1); - u32 const dotclock = (m_boot & PLL_SELECT) ? clock() * (m_boot & PLL_MULTIPLIER) : clock(); + u32 const dotclock = (m_boot & PLL_SELECT) ? clock().value() * (m_boot & PLL_MULTIPLIER) : clock().value(); attotime const refresh = attotime::from_hz(dotclock / (width * height)); m_screen->configure(width, height, visarea, refresh.as_attoseconds()); diff --git a/src/devices/video/ims_cvc.h b/src/devices/video/ims_cvc.h index 094391e23cf..6d303b872cd 100644 --- a/src/devices/video/ims_cvc.h +++ b/src/devices/video/ims_cvc.h @@ -24,7 +24,7 @@ public: virtual void set_swapped(bool swapped) { m_swap = swapped ? 3 : 0; } protected: - ims_cvc_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock); + ims_cvc_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock); // device_t overrides virtual void device_start() override; @@ -96,7 +96,7 @@ protected: class g300_device : public ims_cvc_device { public: - g300_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + g300_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map) override; @@ -115,7 +115,7 @@ private: class g332_device : public ims_cvc_device { public: - g332_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + g332_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map) override; @@ -168,7 +168,7 @@ public: }; protected: - g332_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock); + g332_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, const XTAL &clock); // device_t overrides virtual void device_add_mconfig(machine_config &config) override; @@ -220,7 +220,7 @@ private: class g364_device : public g332_device { public: - g364_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + g364_device(machine_config const &mconfig, char const *tag, device_t *owner, const XTAL &clock); virtual void set_swapped(bool swapped) override { m_swap = swapped ? 7 : 0; } }; diff --git a/src/devices/video/jangou_blitter.cpp b/src/devices/video/jangou_blitter.cpp index b8718b2ba20..26e89791108 100644 --- a/src/devices/video/jangou_blitter.cpp +++ b/src/devices/video/jangou_blitter.cpp @@ -35,7 +35,7 @@ DEFINE_DEVICE_TYPE(JANGOU_BLITTER, jangou_blitter_device, "jangou_blitter", "Jan // jangou_blitter_device - constructor //------------------------------------------------- -jangou_blitter_device::jangou_blitter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +jangou_blitter_device::jangou_blitter_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, JANGOU_BLITTER, tag, owner, clock) { } diff --git a/src/devices/video/jangou_blitter.h b/src/devices/video/jangou_blitter.h index e8d43c3a9f6..ed77b19bc17 100644 --- a/src/devices/video/jangou_blitter.h +++ b/src/devices/video/jangou_blitter.h @@ -17,7 +17,7 @@ class jangou_blitter_device : public device_t { public: // construction/destruction - jangou_blitter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + jangou_blitter_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // I/O operations void blit_v1_regs(address_map &map); diff --git a/src/devices/video/k051316.cpp b/src/devices/video/k051316.cpp index e38897dfaa8..eeab6a459d5 100644 --- a/src/devices/video/k051316.cpp +++ b/src/devices/video/k051316.cpp @@ -106,7 +106,7 @@ GFXDECODE_MEMBER( k051316_device::gfxinfo4_ram ) GFXDECODE_END -k051316_device::k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +k051316_device::k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, K051316, tag, owner, clock) , device_gfx_interface(mconfig, *this, gfxinfo) , m_zoom_rom(*this, DEVICE_SELF) diff --git a/src/devices/video/k051316.h b/src/devices/video/k051316.h index 7f8b4b9e068..dc8eb36de6f 100644 --- a/src/devices/video/k051316.h +++ b/src/devices/video/k051316.h @@ -16,7 +16,7 @@ class k051316_device : public device_t, public device_gfx_interface public: using zoom_delegate = device_delegate<void (int *code, int *color)>; - k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); static const gfx_layout charlayout4; static const gfx_layout charlayout7; diff --git a/src/devices/video/k053936.cpp b/src/devices/video/k053936.cpp index c9900430b53..1a922fa4324 100644 --- a/src/devices/video/k053936.cpp +++ b/src/devices/video/k053936.cpp @@ -229,7 +229,7 @@ void K053936_set_offset(int chip, int xoffs, int yoffs) DEFINE_DEVICE_TYPE(K053936, k053936_device, "k053936", "K053936 Video Controller") -k053936_device::k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +k053936_device::k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, K053936, tag, owner, clock), m_ctrl(nullptr), m_linectrl(nullptr), diff --git a/src/devices/video/k053936.h b/src/devices/video/k053936.h index 75894c2bf95..691276ef913 100644 --- a/src/devices/video/k053936.h +++ b/src/devices/video/k053936.h @@ -23,7 +23,7 @@ void K053936GP_0_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const class k053936_device : public device_t { public: - k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); ~k053936_device() {} // configuration diff --git a/src/devices/video/lc7582.cpp b/src/devices/video/lc7582.cpp index f576d97ea20..6682377b096 100644 --- a/src/devices/video/lc7582.cpp +++ b/src/devices/video/lc7582.cpp @@ -22,7 +22,7 @@ DEFINE_DEVICE_TYPE(LC7582, lc7582_device, "lc7582", "Sanyo LC7582 LCD Driver") // constructor //------------------------------------------------- -lc7582_device::lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +lc7582_device::lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, LC7582, tag, owner, clock), m_write_segs(*this) { } diff --git a/src/devices/video/lc7582.h b/src/devices/video/lc7582.h index 3f8dcc22bc6..3a744395829 100644 --- a/src/devices/video/lc7582.h +++ b/src/devices/video/lc7582.h @@ -34,7 +34,7 @@ pin desc class lc7582_device : public device_t { public: - lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_segs() { return m_write_segs.bind(); } // S pins, COM1/COM2 in offset diff --git a/src/devices/video/lc7985.cpp b/src/devices/video/lc7985.cpp index ef01cbb6a2c..1d9cd154f21 100644 --- a/src/devices/video/lc7985.cpp +++ b/src/devices/video/lc7985.cpp @@ -17,7 +17,7 @@ ROM_START( lc7985 ) ROM_LOAD( "lc7985.bin", 0x0000, 0x1000, BAD_DUMP CRC(fdc64160) SHA1(8e6b54f8fb7c4c15aab2e65dd1a44729b97423b1)) // from page 12 of the LC7985D datasheet ROM_END -lc7985_device::lc7985_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +lc7985_device::lc7985_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, LC7985, tag, owner, clock), m_cgrom_region(*this, DEVICE_SELF) { diff --git a/src/devices/video/lc7985.h b/src/devices/video/lc7985.h index 353822e7462..25d898508d3 100644 --- a/src/devices/video/lc7985.h +++ b/src/devices/video/lc7985.h @@ -14,7 +14,7 @@ class lc7985_device : public device_t { public: - lc7985_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + lc7985_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); void ir_w(u8 data); u8 status_r(); diff --git a/src/devices/video/m50458.cpp b/src/devices/video/m50458.cpp index e2404684700..0502a469f51 100644 --- a/src/devices/video/m50458.cpp +++ b/src/devices/video/m50458.cpp @@ -179,7 +179,7 @@ inline void m50458_device::write_word(offs_t address, uint16_t data) // m50458_device - constructor //------------------------------------------------- -m50458_device::m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +m50458_device::m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, M50458, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_video_interface(mconfig, *this) diff --git a/src/devices/video/m50458.h b/src/devices/video/m50458.h index fd0eed36e22..2261a1fcbdf 100644 --- a/src/devices/video/m50458.h +++ b/src/devices/video/m50458.h @@ -25,13 +25,13 @@ class m50458_device : public device_t, public: // construction/destruction template <typename T> - m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) + m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&screen_tag) : m50458_device(mconfig, tag, owner, clock) { set_screen(std::forward<T>(screen_tag)); } - m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + m50458_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // I/O operations DECLARE_WRITE_LINE_MEMBER( write_bit ); diff --git a/src/devices/video/mb88303.cpp b/src/devices/video/mb88303.cpp index 16a24122306..c9f901e0afc 100644 --- a/src/devices/video/mb88303.cpp +++ b/src/devices/video/mb88303.cpp @@ -101,7 +101,7 @@ DEFINE_DEVICE_TYPE(MB88303, mb88303_device, "mb88303", "Fujitsu MB88303") // mb88303_device - constructor //------------------------------------------------- -mb88303_device::mb88303_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mb88303_device::mb88303_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, MB88303, tag, owner, clock) , m_write_vow(*this) , m_write_vobn(*this) diff --git a/src/devices/video/mb88303.h b/src/devices/video/mb88303.h index 742c6b62beb..8483fef0f4d 100644 --- a/src/devices/video/mb88303.h +++ b/src/devices/video/mb88303.h @@ -39,7 +39,7 @@ public: static constexpr unsigned VISIBLE_LINES = 9; // construction/destruction - mb88303_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mb88303_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto vow_callback() { return m_write_vow.bind(); } auto vobn_callback() { return m_write_vobn.bind(); } diff --git a/src/devices/video/mb90082.cpp b/src/devices/video/mb90082.cpp index 27ef9238ec6..3f8f1658f10 100644 --- a/src/devices/video/mb90082.cpp +++ b/src/devices/video/mb90082.cpp @@ -91,7 +91,7 @@ inline void mb90082_device::write_word(offs_t address, uint16_t data) // mb90082_device - constructor //------------------------------------------------- -mb90082_device::mb90082_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mb90082_device::mb90082_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, MB90082, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_space_config("videoram", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor(FUNC(mb90082_device::mb90082_vram), this)) diff --git a/src/devices/video/mb90082.h b/src/devices/video/mb90082.h index 782138ea466..50c21b4a530 100644 --- a/src/devices/video/mb90082.h +++ b/src/devices/video/mb90082.h @@ -24,7 +24,7 @@ class mb90082_device : public device_t, { public: // construction/destruction - mb90082_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mb90082_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // I/O operations void write(uint8_t data); diff --git a/src/devices/video/mb_vcu.cpp b/src/devices/video/mb_vcu.cpp index 09ac807f13a..deaa60bce4f 100644 --- a/src/devices/video/mb_vcu.cpp +++ b/src/devices/video/mb_vcu.cpp @@ -147,7 +147,7 @@ inline void mb_vcu_device::write_io(offs_t address, uint8_t data) // mb_vcu_device - constructor //------------------------------------------------- -mb_vcu_device::mb_vcu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mb_vcu_device::mb_vcu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, MB_VCU, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_video_interface(mconfig, *this) diff --git a/src/devices/video/mb_vcu.h b/src/devices/video/mb_vcu.h index 8e9973f7433..c2902064aa8 100644 --- a/src/devices/video/mb_vcu.h +++ b/src/devices/video/mb_vcu.h @@ -20,7 +20,7 @@ class mb_vcu_device : public device_t, { public: // construction/destruction - mb_vcu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mb_vcu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration template <typename T> void set_palette_tag(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/mc6845.cpp b/src/devices/video/mc6845.cpp index 8c8c6e81f88..e57274e30c2 100644 --- a/src/devices/video/mc6845.cpp +++ b/src/devices/video/mc6845.cpp @@ -104,7 +104,7 @@ DEFINE_DEVICE_TYPE(MOS8568, mos8568_device, "mos8568", "MOS 8568 VDC") #define ATTR_ALTERNATE_CHARSET BIT(attr, 7) -mc6845_device::mc6845_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +mc6845_device::mc6845_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this, false) , m_show_border_area(true) @@ -128,7 +128,7 @@ mc6845_device::mc6845_device(const machine_config &mconfig, device_type type, co { } -mc6845_device::mc6845_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6845_device::mc6845_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, MC6845, tag, owner, clock) { } @@ -1624,61 +1624,61 @@ void mos8563_device::mos8563_videoram_map(address_map &map) } -r6545_1_device::r6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +r6545_1_device::r6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, R6545_1, tag, owner, clock) { } -mc6845_1_device::mc6845_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6845_1_device::mc6845_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, MC6845_1, tag, owner, clock) { } -hd6845s_device::hd6845s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +hd6845s_device::hd6845s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, type, tag, owner, clock) { } -hd6845s_device::hd6845s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +hd6845s_device::hd6845s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, HD6845S, tag, owner, clock) { } -c6545_1_device::c6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +c6545_1_device::c6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, C6545_1, tag, owner, clock) { } -sy6545_1_device::sy6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sy6545_1_device::sy6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, SY6545_1, tag, owner, clock) { } -sy6845e_device::sy6845e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sy6845e_device::sy6845e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, SY6845E, tag, owner, clock) { } -hd6345_device::hd6345_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +hd6345_device::hd6345_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : hd6845s_device(mconfig, HD6345, tag, owner, clock) { } -ams40489_device::ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ams40489_device::ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, AMS40489, tag, owner, clock) { } -mos8563_device::mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +mos8563_device::mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : mc6845_device(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_palette_interface(mconfig, *this) @@ -1688,13 +1688,13 @@ mos8563_device::mos8563_device(const machine_config &mconfig, device_type type, } -mos8563_device::mos8563_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8563_device::mos8563_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos8563_device(mconfig, MOS8563, tag, owner, clock) { } -mos8568_device::mos8568_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8568_device::mos8568_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos8563_device(mconfig, MOS8568, tag, owner, clock) { } diff --git a/src/devices/video/mc6845.h b/src/devices/video/mc6845.h index 1208c057bb6..4ba6cee34b6 100644 --- a/src/devices/video/mc6845.h +++ b/src/devices/video/mc6845.h @@ -60,7 +60,7 @@ public: typedef device_delegate<void (int address, int strobe)> on_update_addr_changed_delegate; // construction/destruction - mc6845_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6845_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_show_border_area(bool show) { m_show_border_area = show; } void set_visarea_adjust(int min_x, int max_x, int min_y, int max_y) @@ -126,7 +126,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: - mc6845_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + mc6845_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -295,7 +295,7 @@ protected: class mc6845_1_device : public mc6845_device { public: - mc6845_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6845_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -305,7 +305,7 @@ protected: class r6545_1_device : public mc6845_device { public: - r6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + r6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -315,7 +315,7 @@ protected: class c6545_1_device : public mc6845_device { public: - c6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + c6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -325,10 +325,10 @@ protected: class hd6845s_device : public mc6845_device { public: - hd6845s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hd6845s_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - hd6845s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + hd6845s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; virtual void device_reset() override; @@ -338,7 +338,7 @@ protected: class sy6545_1_device : public mc6845_device { public: - sy6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sy6545_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -348,7 +348,7 @@ protected: class sy6845e_device : public mc6845_device { public: - sy6845e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sy6845e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -358,7 +358,7 @@ protected: class hd6345_device : public hd6845s_device { public: - hd6345_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + hd6345_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void address_w(uint8_t data); uint8_t register_r(); @@ -393,7 +393,7 @@ protected: class ams40489_device : public mc6845_device { public: - ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; @@ -405,7 +405,7 @@ class mos8563_device : public mc6845_device, public device_palette_interface { public: - mos8563_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8563_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void address_w(uint8_t data); uint8_t status_r(); @@ -418,7 +418,7 @@ public: MC6845_UPDATE_ROW( vdc_update_row ); protected: - mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -470,7 +470,7 @@ protected: class mos8568_device : public mos8563_device { public: - mos8568_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8568_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: // device-level overrides diff --git a/src/devices/video/mc6847.cpp b/src/devices/video/mc6847.cpp index da0b80a5d61..df3b56248b6 100644 --- a/src/devices/video/mc6847.cpp +++ b/src/devices/video/mc6847.cpp @@ -129,7 +129,7 @@ const uint32_t mc6847_base_device::s_palette[mc6847_base_device::PALETTE_LENGTH] // ctor //------------------------------------------------- -mc6847_friend_device::mc6847_friend_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, +mc6847_friend_device::mc6847_friend_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const uint8_t *fontdata, bool is_mc6847t1, double tpfs, int field_sync_falling_edge_scanline, int divider, bool supports_partial_body_scanlines) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) @@ -518,7 +518,7 @@ std::string mc6847_friend_device::describe_context() const // ctor //------------------------------------------------- -mc6847_base_device::mc6847_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const uint8_t *fontdata, double tpfs) : +mc6847_base_device::mc6847_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const uint8_t *fontdata, double tpfs) : mc6847_friend_device(mconfig, type, tag, owner, clock, fontdata, (type == MC6847T1_NTSC) || (type == MC6847T1_PAL), tpfs, 25+191, 1, true), m_input_cb(*this), m_black_and_white(false), @@ -1615,7 +1615,7 @@ DEFINE_DEVICE_TYPE(M5C6847P1, m5c6847p1_device, "m5c6847p1", "Mitsub // mc6847_ntsc_device //------------------------------------------------- -mc6847_ntsc_device::mc6847_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847_ntsc_device::mc6847_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847_NTSC, tag, owner, clock, vdg_fontdata8x12, 262.0) { } @@ -1626,7 +1626,7 @@ mc6847_ntsc_device::mc6847_ntsc_device(const machine_config &mconfig, const char // mc6847_pal_device //------------------------------------------------- -mc6847_pal_device::mc6847_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847_pal_device::mc6847_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847_PAL, tag, owner, clock, vdg_fontdata8x12, 313.0) { m_artifacter.set_pal_artifacting(true); @@ -1638,7 +1638,7 @@ mc6847_pal_device::mc6847_pal_device(const machine_config &mconfig, const char * // mc6847y_ntsc_device //------------------------------------------------- -mc6847y_ntsc_device::mc6847y_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847y_ntsc_device::mc6847y_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847Y_NTSC, tag, owner, clock, vdg_fontdata8x12, 262.5) { } @@ -1649,7 +1649,7 @@ mc6847y_ntsc_device::mc6847y_ntsc_device(const machine_config &mconfig, const ch // mc6847y_pal_device //------------------------------------------------- -mc6847y_pal_device::mc6847y_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847y_pal_device::mc6847y_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847Y_PAL, tag, owner, clock, vdg_fontdata8x12, 313.0) { m_artifacter.set_pal_artifacting(true); @@ -1661,7 +1661,7 @@ mc6847y_pal_device::mc6847y_pal_device(const machine_config &mconfig, const char // mc6847t1_ntsc_device //------------------------------------------------- -mc6847t1_ntsc_device::mc6847t1_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847t1_ntsc_device::mc6847t1_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847T1_NTSC, tag, owner, clock, vdg_t1_fontdata8x12, 262.0) { } @@ -1672,7 +1672,7 @@ mc6847t1_ntsc_device::mc6847t1_ntsc_device(const machine_config &mconfig, const // mc6847t1_pal_device //------------------------------------------------- -mc6847t1_pal_device::mc6847t1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mc6847t1_pal_device::mc6847t1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, MC6847T1_PAL, tag, owner, clock, vdg_t1_fontdata8x12, 313.0) { m_artifacter.set_pal_artifacting(true); @@ -1684,7 +1684,7 @@ mc6847t1_pal_device::mc6847t1_pal_device(const machine_config &mconfig, const ch // s68047_device //------------------------------------------------- -s68047_device::s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +s68047_device::s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, S68047, tag, owner, clock, s68047_fontdata8x12, 262.0) { } @@ -1733,7 +1733,7 @@ const uint32_t s68047_device::s_s68047_hack_palette[16] = // m5c6847p1_device //------------------------------------------------- -m5c6847p1_device::m5c6847p1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +m5c6847p1_device::m5c6847p1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mc6847_base_device(mconfig, M5C6847P1, tag, owner, clock, vdg_fontdata8x12, 262.5) { } diff --git a/src/devices/video/mc6847.h b/src/devices/video/mc6847.h index d58f19fcd23..bab59e9271e 100644 --- a/src/devices/video/mc6847.h +++ b/src/devices/video/mc6847.h @@ -57,7 +57,7 @@ public: template <typename... T> void set_get_char_rom(T &&... args) { m_charrom_cb.set(std::forward<T>(args)...); } protected: - mc6847_friend_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, + mc6847_friend_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const uint8_t *fontdata, bool is_mc6847t1, double tpfs, int field_sync_falling_edge_scanline, int divider, bool supports_partial_body_scanlines); // fonts @@ -522,7 +522,7 @@ public: DECLARE_WRITE_LINE_MEMBER( inv_w ) { change_mode(MODE_INV, state); } protected: - mc6847_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const uint8_t *fontdata, double tpfs); + mc6847_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, const uint8_t *fontdata, double tpfs); // device-level overrides virtual void device_config_complete() override; @@ -626,43 +626,43 @@ private: class mc6847_ntsc_device : public mc6847_base_device { public: - mc6847_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mc6847_pal_device : public mc6847_base_device { public: - mc6847_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mc6847y_ntsc_device : public mc6847_base_device { public: - mc6847y_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847y_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mc6847y_pal_device : public mc6847_base_device { public: - mc6847y_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847y_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mc6847t1_ntsc_device : public mc6847_base_device { public: - mc6847t1_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847t1_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mc6847t1_pal_device : public mc6847_base_device { public: - mc6847t1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mc6847t1_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class s68047_device : public mc6847_base_device { public: - s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + s68047_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void hack_black_becomes_blue(bool flag); @@ -673,7 +673,7 @@ private: class m5c6847p1_device : public mc6847_base_device { public: - m5c6847p1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + m5c6847p1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/md4330b.cpp b/src/devices/video/md4330b.cpp index f8f9ca2323a..a8f11a26174 100644 --- a/src/devices/video/md4330b.cpp +++ b/src/devices/video/md4330b.cpp @@ -23,16 +23,16 @@ DEFINE_DEVICE_TYPE(MD4332B, md4332b_device, "md4332b", "Mitel MD4332B LCD Driver // constructor //------------------------------------------------- -md4330b_device::md4330b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 qmax) : +md4330b_device::md4330b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 qmax) : device_t(mconfig, type, tag, owner, clock), m_qmax(qmax), m_write_q(*this), m_write_do(*this) { } -md4330b_device::md4330b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +md4330b_device::md4330b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : md4330b_device(mconfig, MD4330B, tag, owner, clock, 30) { } -md4332b_device::md4332b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +md4332b_device::md4332b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : md4330b_device(mconfig, MD4332B, tag, owner, clock, 32) { } diff --git a/src/devices/video/md4330b.h b/src/devices/video/md4330b.h index 906c032424a..d87f417b7f0 100644 --- a/src/devices/video/md4330b.h +++ b/src/devices/video/md4330b.h @@ -42,7 +42,7 @@ class md4330b_device : public device_t { public: - md4330b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + md4330b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers auto write_q() { return m_write_q.bind(); } @@ -55,7 +55,7 @@ public: DECLARE_READ_LINE_MEMBER(do_r) { return m_do; } protected: - md4330b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 qmax); + md4330b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 qmax); // device-level overrides virtual void device_start() override; @@ -81,7 +81,7 @@ protected: class md4332b_device : public md4330b_device { public: - md4332b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + md4332b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; diff --git a/src/devices/video/mga2064w.cpp b/src/devices/video/mga2064w.cpp index 6654aa9ec2e..1ec67829fbc 100644 --- a/src/devices/video/mga2064w.cpp +++ b/src/devices/video/mga2064w.cpp @@ -5,7 +5,7 @@ DEFINE_DEVICE_TYPE(MGA2064W, mga2064w_device, "mga2064w", "Matrox Millennium") -mga2064w_device::mga2064w_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mga2064w_device::mga2064w_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pci_device(mconfig, MGA2064W, tag, owner, clock) { set_ids(0x102b0519, 0x01, 0x030000, 0x00000000); diff --git a/src/devices/video/mga2064w.h b/src/devices/video/mga2064w.h index 6766bf304a9..33c52b998f1 100644 --- a/src/devices/video/mga2064w.h +++ b/src/devices/video/mga2064w.h @@ -9,7 +9,7 @@ class mga2064w_device : public pci_device { public: - mga2064w_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mga2064w_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; diff --git a/src/devices/video/mm5445.cpp b/src/devices/video/mm5445.cpp index 6b857ed19b3..b52b6ba5bff 100644 --- a/src/devices/video/mm5445.cpp +++ b/src/devices/video/mm5445.cpp @@ -22,25 +22,25 @@ DEFINE_DEVICE_TYPE(MM5448, mm5448_device, "mm5448", "MM5448 VFD Driver") // constructor //------------------------------------------------- -mm5445_device::mm5445_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 outpins) : +mm5445_device::mm5445_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 outpins) : device_t(mconfig, type, tag, owner, clock), m_outmask((u64(1) << outpins) - 1), m_write_output(*this) { } -mm5445_device::mm5445_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +mm5445_device::mm5445_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mm5445_device(mconfig, MM5445, tag, owner, clock, 33) { } -mm5446_device::mm5446_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +mm5446_device::mm5446_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mm5445_device(mconfig, MM5446, tag, owner, clock, 34) { } -mm5447_device::mm5447_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +mm5447_device::mm5447_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mm5445_device(mconfig, MM5447, tag, owner, clock, 34) { } -mm5448_device::mm5448_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +mm5448_device::mm5448_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mm5445_device(mconfig, MM5448, tag, owner, clock, 35) { } diff --git a/src/devices/video/mm5445.h b/src/devices/video/mm5445.h index 7d16d4f2ee2..d4a5e373bb3 100644 --- a/src/devices/video/mm5445.h +++ b/src/devices/video/mm5445.h @@ -45,7 +45,7 @@ class mm5445_device : public device_t { public: - mm5445_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + mm5445_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers auto output_cb() { return m_write_output.bind(); } @@ -55,7 +55,7 @@ public: DECLARE_WRITE_LINE_MEMBER(data_w) { m_data = (state) ? 1 : 0; } protected: - mm5445_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 outpins); + mm5445_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 outpins); // device-level overrides virtual void device_start() override; @@ -77,19 +77,19 @@ protected: class mm5446_device : public mm5445_device { public: - mm5446_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + mm5446_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mm5447_device : public mm5445_device { public: - mm5447_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + mm5447_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class mm5448_device : public mm5445_device { public: - mm5448_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + mm5448_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/mos6566.cpp b/src/devices/video/mos6566.cpp index 80d8a7c01b6..3b6d37788f2 100644 --- a/src/devices/video/mos6566.cpp +++ b/src/devices/video/mos6566.cpp @@ -559,12 +559,12 @@ inline void mos6566_device::draw_multi( uint16_t p, uint8_t c0, uint8_t c1, uint // mos6566_device - constructor //------------------------------------------------- -mos6566_device::mos6566_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos6566_device::mos6566_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6566_device(mconfig, MOS6566, tag, owner, clock, TYPE_6566) { } -mos6566_device::mos6566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant) +mos6566_device::mos6566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), @@ -584,42 +584,42 @@ mos6566_device::mos6566_device(const machine_config &mconfig, device_type type, { } -mos6567_device::mos6567_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos6567_device::mos6567_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6567_device(mconfig, MOS6567, tag, owner, clock, TYPE_6567) { } -mos6567_device::mos6567_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant) +mos6567_device::mos6567_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant) : mos6566_device(mconfig, type, tag, owner, clock, variant) { } -mos8562_device::mos8562_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8562_device::mos8562_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6567_device(mconfig, MOS8562, tag, owner, clock, TYPE_8562) { } -mos8564_device::mos8564_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8564_device::mos8564_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6567_device(mconfig, MOS8564, tag, owner, clock, TYPE_8564) { } -mos6569_device::mos6569_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos6569_device::mos6569_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6569_device(mconfig, MOS6569, tag, owner, clock, TYPE_6569) { } -mos6569_device::mos6569_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant) +mos6569_device::mos6569_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant) : mos6566_device(mconfig, type, tag, owner, clock, variant) { } -mos8565_device::mos8565_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8565_device::mos8565_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6569_device(mconfig, MOS8565, tag, owner, clock, TYPE_8565) { } -mos8566_device::mos8566_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mos8566_device::mos8566_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mos6569_device(mconfig, MOS8566, tag, owner, clock, TYPE_8566) { } @@ -2741,7 +2741,7 @@ void mos6566_device::write(offs_t offset, uint8_t data) { if (BIT(m_reg[offset], 0) != BIT(data, 0)) { - m_cpu->set_unscaled_clock(clock() << BIT(data, 0)); + m_cpu->set_unscaled_clock(clock() * (BIT(data, 0) ? 2 : 1)); } m_reg[offset] = data | 0xfc; diff --git a/src/devices/video/mos6566.h b/src/devices/video/mos6566.h index a7147295196..0e64aada3de 100644 --- a/src/devices/video/mos6566.h +++ b/src/devices/video/mos6566.h @@ -189,7 +189,7 @@ class mos6566_device : public device_t, { public: // construction/destruction - mos6566_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos6566_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <class T> void set_cpu(T &&tag) { m_cpu.set_tag(tag); } auto irq_callback() { return m_write_irq.bind(); } @@ -228,7 +228,7 @@ protected: TYPE_8569 // PAL-N VIC-IIe (C128) }; - mos6566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant); + mos6566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant); // device-level overrides virtual void device_start() override; @@ -356,10 +356,10 @@ class mos6567_device : public mos6566_device { public: // construction/destruction - mos6567_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos6567_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - mos6567_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant); + mos6567_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant); }; @@ -369,7 +369,7 @@ class mos8562_device : public mos6567_device { public: // construction/destruction - mos8562_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8562_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; @@ -379,7 +379,7 @@ class mos8564_device : public mos6567_device { public: // construction/destruction - mos8564_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8564_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: // device_execute_interface overrides @@ -394,10 +394,10 @@ class mos6569_device : public mos6566_device { public: // construction/destruction - mos6569_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos6569_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: - mos6569_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant); + mos6569_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t variant); // device-level overrides virtual void execute_run() override; @@ -410,7 +410,7 @@ class mos8565_device : public mos6569_device { public: // construction/destruction - mos8565_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8565_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; @@ -420,7 +420,7 @@ class mos8566_device : public mos6569_device { public: // construction/destruction - mos8566_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mos8566_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: // device_execute_interface overrides diff --git a/src/devices/video/msm6222b.cpp b/src/devices/video/msm6222b.cpp index ebcbfea24fe..dcd84569f7b 100644 --- a/src/devices/video/msm6222b.cpp +++ b/src/devices/video/msm6222b.cpp @@ -21,20 +21,20 @@ ROM_START( msm6222b_01 ) ROM_LOAD( "msm6222b-01.bin", 0x0000, 0x1000, CRC(8ffa8521) SHA1(e108b520e6d20459a7bbd5958bbfa1d551a690bd) ) ROM_END -msm6222b_device::msm6222b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +msm6222b_device::msm6222b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), m_cgrom(*this, finder_base::DUMMY_TAG), cursor_direction(false), cursor_blinking(false), two_line(false), shift_on_write(false), double_height(false), cursor_on(false), display_on(false), adc(0), shift(0) { } -msm6222b_device::msm6222b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +msm6222b_device::msm6222b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : msm6222b_device(mconfig, MSM6222B, tag, owner, clock) { m_cgrom.set_tag(*this, DEVICE_SELF); } -msm6222b_01_device::msm6222b_01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +msm6222b_01_device::msm6222b_01_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : msm6222b_device(mconfig, MSM6222B_01, tag, owner, clock) { // load the fixed cgrom diff --git a/src/devices/video/msm6222b.h b/src/devices/video/msm6222b.h index 7a2cb00fd89..da5c6321b80 100644 --- a/src/devices/video/msm6222b.h +++ b/src/devices/video/msm6222b.h @@ -18,7 +18,7 @@ class msm6222b_device : public device_t { public: - msm6222b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msm6222b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void control_w(uint8_t data); uint8_t control_r(); @@ -29,7 +29,7 @@ public: const uint8_t *render(); protected: - msm6222b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + msm6222b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; @@ -49,7 +49,7 @@ private: class msm6222b_01_device : public msm6222b_device { public: - msm6222b_01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msm6222b_01_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual const tiny_rom_entry *device_rom_region() const override; diff --git a/src/devices/video/msm6255.cpp b/src/devices/video/msm6255.cpp index de34d079cde..664ef16242a 100644 --- a/src/devices/video/msm6255.cpp +++ b/src/devices/video/msm6255.cpp @@ -77,7 +77,7 @@ void msm6255_device::msm6255(address_map &map) // msm6255_device - constructor //------------------------------------------------- -msm6255_device::msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +msm6255_device::msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, MSM6255, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/msm6255.h b/src/devices/video/msm6255.h index 8e821c7668e..85344705cb1 100644 --- a/src/devices/video/msm6255.h +++ b/src/devices/video/msm6255.h @@ -25,7 +25,7 @@ class msm6255_device : public device_t, { public: // construction/destruction - msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msm6255_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void map(address_map &map); diff --git a/src/devices/video/nereid.cpp b/src/devices/video/nereid.cpp index 47a4c28371b..50d375d8a44 100644 --- a/src/devices/video/nereid.cpp +++ b/src/devices/video/nereid.cpp @@ -9,7 +9,7 @@ DEFINE_DEVICE_TYPE(NEREID, nereid_device, "nereid", "HP Nereid ASIC") -nereid_device::nereid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +nereid_device::nereid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), device_palette_interface(mconfig, *this), m_red(0), @@ -20,7 +20,7 @@ nereid_device::nereid_device(const machine_config &mconfig, device_type type, co { } -nereid_device::nereid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +nereid_device::nereid_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : nereid_device(mconfig, NEREID, tag, owner, clock) { } diff --git a/src/devices/video/nereid.h b/src/devices/video/nereid.h index 18717de2b22..fa3a6ee1e5c 100644 --- a/src/devices/video/nereid.h +++ b/src/devices/video/nereid.h @@ -8,7 +8,7 @@ class nereid_device : public device_t, public device_palette_interface { public: - nereid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + nereid_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint16_t ctrl_r(offs_t offset, uint16_t mem_mask = ~0); void ctrl_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -16,7 +16,7 @@ public: rgb_t map_color(uint8_t input, uint8_t ovl = 0); protected: - nereid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + nereid_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; virtual void device_reset() override; virtual u32 palette_entries() const noexcept override { return 0x200; } diff --git a/src/devices/video/nt7534.cpp b/src/devices/video/nt7534.cpp index e1065376860..bb8eb2cf06a 100644 --- a/src/devices/video/nt7534.cpp +++ b/src/devices/video/nt7534.cpp @@ -27,12 +27,12 @@ DEFINE_DEVICE_TYPE(NT7534, nt7534_device, "nt7534", "NT7534 LCD Controller // nt7534_device - constructor //------------------------------------------------- -nt7534_device::nt7534_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +nt7534_device::nt7534_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : nt7534_device(mconfig, NT7534, tag, owner, clock) { } -nt7534_device::nt7534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +nt7534_device::nt7534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , m_pixel_update_cb(*this) { diff --git a/src/devices/video/nt7534.h b/src/devices/video/nt7534.h index 126d5dfff92..48ed4cc5309 100644 --- a/src/devices/video/nt7534.h +++ b/src/devices/video/nt7534.h @@ -27,7 +27,7 @@ public: typedef device_delegate<void (bitmap_ind16 &bitmap, uint8_t line, uint8_t pos, uint8_t y, uint8_t x, int state)> pixel_update_delegate; // construction/destruction - nt7534_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + nt7534_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); template <typename... T> void set_pixel_update_cb(T &&... args) { m_pixel_update_cb.set(std::forward<T>(args)...); } @@ -43,7 +43,7 @@ public: virtual uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); protected: - nt7534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + nt7534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp index 35c2f6e5d0b..87ac6bfd88b 100644 --- a/src/devices/video/pc_vga.cpp +++ b/src/devices/video/pc_vga.cpp @@ -132,7 +132,7 @@ DEFINE_DEVICE_TYPE(MACH8, mach8_device, "mach8", "Mach8") DEFINE_DEVICE_TYPE(XGA_COPRO, xga_copro_device, "xga_copro", "IBM XGA Coprocessor") DEFINE_DEVICE_TYPE(OTI111, oak_oti111_vga_device, "oti111_vga", "Oak Technologies Spitfire 64111") -vga_device::vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +vga_device::vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) , device_palette_interface(mconfig, *this) @@ -140,63 +140,63 @@ vga_device::vga_device(const machine_config &mconfig, device_type type, const ch { } -vga_device::vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +vga_device::vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : vga_device(mconfig, VGA, tag, owner, clock) { } -svga_device::svga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +svga_device::svga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : vga_device(mconfig, type, tag, owner, clock) { } -tseng_vga_device::tseng_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tseng_vga_device::tseng_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : svga_device(mconfig, TSENG_VGA, tag, owner, clock) { } -s3_vga_device::s3_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +s3_vga_device::s3_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : s3_vga_device(mconfig, S3_VGA, tag, owner, clock) { } -s3_vga_device::s3_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +s3_vga_device::s3_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : ati_vga_device(mconfig, type, tag, owner, clock) { } -gamtor_vga_device::gamtor_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +gamtor_vga_device::gamtor_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : svga_device(mconfig, GAMTOR_VGA, tag, owner, clock) { } -ati_vga_device::ati_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ati_vga_device::ati_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : ati_vga_device(mconfig, ATI_VGA, tag, owner, clock) { } -ati_vga_device::ati_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +ati_vga_device::ati_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : svga_device(mconfig, type, tag, owner, clock) { } -ibm8514a_device::ibm8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ibm8514a_device::ibm8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : ibm8514a_device(mconfig, IBM8514A, tag, owner, clock) { } -ibm8514a_device::ibm8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +ibm8514a_device::ibm8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , m_vga(*this, finder_base::DUMMY_TAG) { } -mach8_device::mach8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +mach8_device::mach8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : ibm8514a_device(mconfig, type, tag, owner, clock) { } -mach8_device::mach8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +mach8_device::mach8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : mach8_device(mconfig, MACH8, tag, owner, clock) { } @@ -2170,13 +2170,13 @@ void vga_device::mem_linear_w(offs_t offset, uint8_t data) void ati_vga_device::device_add_mconfig(machine_config &config) { - MACH8(config, "8514a", 0).set_vga_owner(); + MACH8(config, "8514a").set_vga_owner(); EEPROM_93C46_16BIT(config, "ati_eeprom"); } void s3_vga_device::device_add_mconfig(machine_config &config) { - IBM8514A(config, "8514a", 0).set_vga_owner(); + IBM8514A(config, "8514a").set_vga_owner(); } /****************************************** @@ -5845,7 +5845,7 @@ void mach8_device::mach8_ge_ext_config_w(uint16_t data) popmessage("EEPROM enabled via 7AEE"); } -xga_copro_device::xga_copro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +xga_copro_device::xga_copro_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, XGA_COPRO, tag, owner, clock) , m_var(TYPE::XGA) , m_mem_read_cb(*this) @@ -6593,7 +6593,7 @@ void xga_copro_device::device_reset() m_pelmap = 0; } -oak_oti111_vga_device::oak_oti111_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +oak_oti111_vga_device::oak_oti111_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : svga_device(mconfig, OTI111, tag, owner, clock) , m_xga(*this, "xga") { @@ -6601,7 +6601,7 @@ oak_oti111_vga_device::oak_oti111_vga_device(const machine_config &mconfig, cons void oak_oti111_vga_device::device_add_mconfig(machine_config &config) { - XGA_COPRO(config, m_xga, 0); + XGA_COPRO(config, m_xga); m_xga->mem_read_callback().set(FUNC(oak_oti111_vga_device::mem_linear_r)); m_xga->mem_write_callback().set(FUNC(oak_oti111_vga_device::mem_linear_w)); m_xga->set_type(xga_copro_device::TYPE::OTI111); diff --git a/src/devices/video/pc_vga.h b/src/devices/video/pc_vga.h index a12ef1c477c..6255498f8e4 100644 --- a/src/devices/video/pc_vga.h +++ b/src/devices/video/pc_vga.h @@ -21,7 +21,7 @@ class vga_device : public device_t, public device_video_interface, public device public: // construction/destruction - vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual void zero(); virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -57,7 +57,7 @@ protected: RGB32_MODE }; - vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -255,7 +255,7 @@ public: protected: // construction/destruction - svga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + svga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); void svga_vh_rgb8(bitmap_rgb32 &bitmap, const rectangle &cliprect); void svga_vh_rgb15(bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -281,7 +281,7 @@ protected: class ibm8514a_device : public device_t { public: - ibm8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ibm8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename T> void set_vga(T &&tag) { m_vga.set_tag(std::forward<T>(tag)); } void set_vga_owner() { m_vga.set_tag(DEVICE_SELF); } @@ -397,7 +397,7 @@ public: } ibm8514; protected: - ibm8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + ibm8514a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; void ibm8514_write(uint32_t offset, uint32_t src); @@ -423,7 +423,7 @@ DECLARE_DEVICE_TYPE(IBM8514A, ibm8514a_device) class mach8_device : public ibm8514a_device { public: - mach8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mach8_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint16_t mach8_ec0_r(); void mach8_ec0_w(uint16_t data); @@ -467,7 +467,7 @@ public: uint16_t offset() { if(mach8.ati_mode) return mach8.ge_pitch; else return 128; } protected: - mach8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + mach8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; struct { @@ -499,7 +499,7 @@ class tseng_vga_device : public svga_device { public: // construction/destruction - tseng_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tseng_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t port_03b0_r(offs_t offset) override; virtual void port_03b0_w(offs_t offset, uint8_t data) override; @@ -546,7 +546,7 @@ class ati_vga_device : public svga_device { public: // construction/destruction - ati_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ati_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t mem_r(offs_t offset) override; virtual void mem_w(offs_t offset, uint8_t data) override; @@ -560,7 +560,7 @@ public: mach8_device* get_8514() { return m_8514; } protected: - ati_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + ati_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; virtual void device_add_mconfig(machine_config &config) override; @@ -587,7 +587,7 @@ class s3_vga_device : public ati_vga_device { public: // construction/destruction - s3_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + s3_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t port_03b0_r(offs_t offset) override; virtual void port_03b0_w(offs_t offset, uint8_t data) override; @@ -605,7 +605,7 @@ public: ibm8514a_device* get_8514() { return m_8514; } protected: - s3_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + s3_vga_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -679,7 +679,7 @@ class gamtor_vga_device : public svga_device { public: // construction/destruction - gamtor_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + gamtor_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t port_03b0_r(offs_t offset) override; @@ -704,7 +704,7 @@ public: OTI111 }; - xga_copro_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + xga_copro_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); u8 xga_read(offs_t offset); void xga_write(offs_t offset, u8 data); @@ -760,7 +760,7 @@ DECLARE_DEVICE_TYPE(XGA_COPRO, xga_copro_device) class oak_oti111_vga_device : public svga_device { public: - oak_oti111_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + oak_oti111_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); u8 xga_read(offs_t offset); void xga_write(offs_t offset, u8 data); diff --git a/src/devices/video/pcd8544.cpp b/src/devices/video/pcd8544.cpp index b0592592509..87f2254dd5a 100644 --- a/src/devices/video/pcd8544.cpp +++ b/src/devices/video/pcd8544.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(PCD8544, pcd8544_device, "pcd8544_device", "Philips PCD8544 L // pcd8544_device - constructor //------------------------------------------------- -pcd8544_device::pcd8544_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +pcd8544_device::pcd8544_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, PCD8544, tag, owner, clock), m_screen_update_cb(*this) { diff --git a/src/devices/video/pcd8544.h b/src/devices/video/pcd8544.h index 6706097a4db..81a7e49cbf7 100644 --- a/src/devices/video/pcd8544.h +++ b/src/devices/video/pcd8544.h @@ -27,7 +27,7 @@ public: typedef device_delegate<void (device_t &device, bitmap_ind16 &bitmap, const rectangle &cliprect , uint8_t *vram, int inv)> screen_update_delegate; // construction/destruction - pcd8544_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + pcd8544_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename... T> void set_screen_update_cb(T &&... args) { m_screen_update_cb.set(std::forward<T>(args)...); } // device interface diff --git a/src/devices/video/pcf2100.cpp b/src/devices/video/pcf2100.cpp index ae686b98b1a..f70c12ebe7f 100644 --- a/src/devices/video/pcf2100.cpp +++ b/src/devices/video/pcf2100.cpp @@ -27,24 +27,24 @@ DEFINE_DEVICE_TYPE(PCF2112, pcf2112_device, "pcf2112", "Philips PCF2112 LCD Driv // constructor //------------------------------------------------- -pcf2100_device::pcf2100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bpmax, u8 smax) : +pcf2100_device::pcf2100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 bpmax, u8 smax) : device_t(mconfig, type, tag, owner, clock), m_bpmax(bpmax), m_smax(smax), m_write_segs(*this) { } -pcf2100_device::pcf2100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +pcf2100_device::pcf2100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pcf2100_device(mconfig, PCF2100, tag, owner, clock, 2, 20) { } -pcf2110_device::pcf2110_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +pcf2110_device::pcf2110_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pcf2100_device(mconfig, PCF2110, tag, owner, clock, 2, 32) { } -pcf2111_device::pcf2111_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +pcf2111_device::pcf2111_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pcf2100_device(mconfig, PCF2111, tag, owner, clock, 2, 32) { } -pcf2112_device::pcf2112_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +pcf2112_device::pcf2112_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : pcf2100_device(mconfig, PCF2112, tag, owner, clock, 1, 32) { } diff --git a/src/devices/video/pcf2100.h b/src/devices/video/pcf2100.h index 1d0963b2896..f5372592923 100644 --- a/src/devices/video/pcf2100.h +++ b/src/devices/video/pcf2100.h @@ -33,7 +33,7 @@ BP1/BP2: backplane drivers (LCD commons) class pcf2100_device : public device_t { public: - pcf2100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + pcf2100_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_segs() { return m_write_segs.bind(); } @@ -43,7 +43,7 @@ public: DECLARE_WRITE_LINE_MEMBER(dlen_w) { m_dlen = (state) ? 1 : 0; } protected: - pcf2100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 bpmax, u8 smax); + pcf2100_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 bpmax, u8 smax); // device-level overrides virtual void device_start() override; @@ -71,19 +71,19 @@ protected: class pcf2110_device : public pcf2100_device { public: - pcf2110_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + pcf2110_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class pcf2111_device : public pcf2100_device { public: - pcf2111_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + pcf2111_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class pcf2112_device : public pcf2100_device { public: - pcf2112_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + pcf2112_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/ppu2c0x.cpp b/src/devices/video/ppu2c0x.cpp index d8f3ca4748b..c9fcccd0d11 100644 --- a/src/devices/video/ppu2c0x.cpp +++ b/src/devices/video/ppu2c0x.cpp @@ -85,7 +85,7 @@ void ppu2c0x_device::device_config_complete() m_latch.set(nullptr); } -ppu2c0x_device::ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock, address_map_constructor internal_map) : +ppu2c0x_device::ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock, address_map_constructor internal_map) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), @@ -127,45 +127,45 @@ ppu2c0x_device::ppu2c0x_device(const machine_config& mconfig, device_type type, m_security_value = 0; } -ppu2c0x_device::ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock) : +ppu2c0x_device::ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(ppu2c0x_device::ppu2c0x), this)) { m_paletteram_in_ppuspace = true; } -ppu2c0x_rgb_device::ppu2c0x_rgb_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock) : +ppu2c0x_rgb_device::ppu2c0x_rgb_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, type, tag, owner, clock), m_palette_data(*this, "palette") { } // NTSC NES -ppu2c02_device::ppu2c02_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c02_device::ppu2c02_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, PPU_2C02, tag, owner, clock) { } // Playchoice 10 -ppu2c03b_device::ppu2c03b_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c03b_device::ppu2c03b_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C03B, tag, owner, clock) { } // Vs. Unisystem -ppu2c04_device::ppu2c04_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c04_device::ppu2c04_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C04, tag, owner, clock) { } // PAL NES -ppu2c07_device::ppu2c07_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c07_device::ppu2c07_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, PPU_2C07, tag, owner, clock) { m_scanlines_per_frame = PAL_SCANLINES_PER_FRAME; } // PAL clones -ppupalc_device::ppupalc_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppupalc_device::ppupalc_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, PPU_PALC, tag, owner, clock) { m_scanlines_per_frame = PAL_SCANLINES_PER_FRAME; @@ -174,32 +174,32 @@ ppupalc_device::ppupalc_device(const machine_config& mconfig, const char* tag, d // The PPU_2C05 variants have different protection value, set at device start, but otherwise are all the same... // Vs. Unisystem (Ninja Jajamaru Kun) -ppu2c05_01_device::ppu2c05_01_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c05_01_device::ppu2c05_01_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C05_01, tag, owner, clock) { m_security_value = 0x1b; // game (jajamaru) doesn't seem to ever actually check it } // Vs. Unisystem (Mighty Bomb Jack) -ppu2c05_02_device::ppu2c05_02_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c05_02_device::ppu2c05_02_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C05_02, tag, owner, clock) { m_security_value = 0x3d; } // Vs. Unisystem (Gumshoe) -ppu2c05_03_device::ppu2c05_03_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c05_03_device::ppu2c05_03_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C05_03, tag, owner, clock) { m_security_value = 0x1c; } // Vs. Unisystem (Top Gun) -ppu2c05_04_device::ppu2c05_04_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c05_04_device::ppu2c05_04_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_rgb_device(mconfig, PPU_2C05_04, tag, owner, clock) { m_security_value = 0x1b; } // Vs. Unisystem (Super Mario Bros. bootlegs) -ppu2c04_clone_device::ppu2c04_clone_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu2c04_clone_device::ppu2c04_clone_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, PPU_2C04C, tag, owner, clock), m_palette_data(*this, "palette") { diff --git a/src/devices/video/ppu2c0x.h b/src/devices/video/ppu2c0x.h index 0be6231b97d..8488300aeed 100644 --- a/src/devices/video/ppu2c0x.h +++ b/src/devices/video/ppu2c0x.h @@ -136,7 +136,7 @@ public: bool in_vblanking() { return (m_scanline >= m_vblank_first_scanline - 1); } protected: - ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock, address_map_constructor internal_map); + ppu2c0x_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock, address_map_constructor internal_map); // registers definition enum @@ -174,7 +174,7 @@ protected: }; // construction/destruction - ppu2c0x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c0x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock = XTAL()); virtual void device_start() override; virtual void device_config_complete() override; @@ -250,7 +250,7 @@ private: class ppu2c0x_rgb_device : public ppu2c0x_device { protected: - ppu2c0x_rgb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c0x_rgb_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock = XTAL()); virtual void init_palette_tables() override; @@ -260,52 +260,52 @@ private: class ppu2c02_device : public ppu2c0x_device { public: - ppu2c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c03b_device : public ppu2c0x_rgb_device { public: - ppu2c03b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c03b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c04_device : public ppu2c0x_rgb_device { public: - ppu2c04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c04_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c07_device : public ppu2c0x_device { public: - ppu2c07_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c07_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppupalc_device : public ppu2c0x_device { public: - ppupalc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppupalc_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c05_01_device : public ppu2c0x_rgb_device { public: - ppu2c05_01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c05_01_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c05_02_device : public ppu2c0x_rgb_device { public: - ppu2c05_02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c05_02_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c05_03_device : public ppu2c0x_rgb_device { public: - ppu2c05_03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c05_03_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c05_04_device : public ppu2c0x_rgb_device { public: - ppu2c05_04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c05_04_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); }; class ppu2c04_clone_device : public ppu2c0x_device { public: - ppu2c04_clone_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + ppu2c04_clone_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); virtual uint8_t read(offs_t offset) override; virtual void write(offs_t offset, uint8_t data) override; diff --git a/src/devices/video/ppu2c0x_sh6578.cpp b/src/devices/video/ppu2c0x_sh6578.cpp index a63fa2a5162..ab010dc7607 100644 --- a/src/devices/video/ppu2c0x_sh6578.cpp +++ b/src/devices/video/ppu2c0x_sh6578.cpp @@ -17,7 +17,7 @@ DEFINE_DEVICE_TYPE(PPU_SH6578, ppu_sh6578_device, "ppu_sh6578", "SH6578 PPU (NTSC)") DEFINE_DEVICE_TYPE(PPU_SH6578PAL, ppu_sh6578pal_device, "ppu_sh6578pal", "SH6578 PPU (PAL)") -ppu_sh6578_device::ppu_sh6578_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock) : +ppu_sh6578_device::ppu_sh6578_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(ppu_sh6578_device::ppu_internal_map), this)) { m_paletteram_in_ppuspace = false; @@ -26,12 +26,12 @@ ppu_sh6578_device::ppu_sh6578_device(const machine_config& mconfig, device_type m_global_refresh_mask = 0xffff; } -ppu_sh6578_device::ppu_sh6578_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu_sh6578_device::ppu_sh6578_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu_sh6578_device(mconfig, PPU_SH6578, tag, owner, clock) { } -ppu_sh6578pal_device::ppu_sh6578pal_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu_sh6578pal_device::ppu_sh6578pal_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu_sh6578_device(mconfig, PPU_SH6578PAL, tag, owner, clock) { m_scanlines_per_frame = PAL_SCANLINES_PER_FRAME; diff --git a/src/devices/video/ppu2c0x_sh6578.h b/src/devices/video/ppu2c0x_sh6578.h index 34448ac9dfa..18f11b91244 100644 --- a/src/devices/video/ppu2c0x_sh6578.h +++ b/src/devices/video/ppu2c0x_sh6578.h @@ -14,7 +14,7 @@ class ppu_sh6578_device : public ppu2c0x_device { public: - ppu_sh6578_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ppu_sh6578_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual uint8_t palette_read(offs_t offset) override; virtual void palette_write(offs_t offset, uint8_t data) override; @@ -22,7 +22,7 @@ public: virtual uint8_t read_extended(offs_t offset); protected: - ppu_sh6578_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + ppu_sh6578_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); void ppu_internal_map(address_map& map); @@ -48,7 +48,7 @@ private: class ppu_sh6578pal_device : public ppu_sh6578_device { public: - ppu_sh6578pal_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock); + ppu_sh6578pal_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock); }; DECLARE_DEVICE_TYPE(PPU_SH6578, ppu_sh6578_device) diff --git a/src/devices/video/ppu2c0x_vt.cpp b/src/devices/video/ppu2c0x_vt.cpp index 2b8b9b6e3dd..dd99c321431 100644 --- a/src/devices/video/ppu2c0x_vt.cpp +++ b/src/devices/video/ppu2c0x_vt.cpp @@ -20,7 +20,7 @@ DEFINE_DEVICE_TYPE(PPU_VT03, ppu_vt03_device, "ppu_vt03", "VT03 PPU (NTSC)") DEFINE_DEVICE_TYPE(PPU_VT03PAL, ppu_vt03pal_device, "ppu_vt03pal", "VT03 PPU (PAL)") -ppu_vt03_device::ppu_vt03_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock) : +ppu_vt03_device::ppu_vt03_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, const XTAL &clock) : ppu2c0x_device(mconfig, type, tag, owner, clock), m_is_pal(false), m_is_50hz(false), @@ -29,13 +29,13 @@ ppu_vt03_device::ppu_vt03_device(const machine_config& mconfig, device_type type { } -ppu_vt03_device::ppu_vt03_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu_vt03_device::ppu_vt03_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu_vt03_device(mconfig, PPU_VT03, tag, owner, clock) { } -ppu_vt03pal_device::ppu_vt03pal_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) : +ppu_vt03pal_device::ppu_vt03pal_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock) : ppu_vt03_device(mconfig, PPU_VT03PAL, tag, owner, clock) { m_scanlines_per_frame = PAL_SCANLINES_PER_FRAME; diff --git a/src/devices/video/ppu2c0x_vt.h b/src/devices/video/ppu2c0x_vt.h index f63da1ebdf1..2a118328cf3 100644 --- a/src/devices/video/ppu2c0x_vt.h +++ b/src/devices/video/ppu2c0x_vt.h @@ -24,8 +24,8 @@ enum vtxx_pal_mode { class ppu_vt03_device : public ppu2c0x_device { public: - ppu_vt03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - ppu_vt03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + ppu_vt03_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); + ppu_vt03_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); auto read_bg() { return m_read_bg.bind(); } auto read_sp() { return m_read_sp.bind(); } @@ -96,7 +96,7 @@ private: class ppu_vt03pal_device : public ppu_vt03_device { public: - ppu_vt03pal_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock); + ppu_vt03pal_device(const machine_config& mconfig, const char* tag, device_t* owner, const XTAL &clock); }; DECLARE_DEVICE_TYPE(PPU_VT03, ppu_vt03_device) diff --git a/src/devices/video/ps2gif.cpp b/src/devices/video/ps2gif.cpp index 4a8ea53db7a..1b5dc4f2fb4 100644 --- a/src/devices/video/ps2gif.cpp +++ b/src/devices/video/ps2gif.cpp @@ -14,7 +14,7 @@ DEFINE_DEVICE_TYPE(SONYPS2_GIF, ps2_gif_device, "ps2gif", "Playstation 2 GIF") -ps2_gif_device::ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ps2_gif_device::ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SONYPS2_GIF, tag, owner, clock) , device_execute_interface(mconfig, *this) , m_gs(*this, finder_base::DUMMY_TAG) diff --git a/src/devices/video/ps2gif.h b/src/devices/video/ps2gif.h index 39f4f911e01..76762bd00f7 100644 --- a/src/devices/video/ps2gif.h +++ b/src/devices/video/ps2gif.h @@ -23,14 +23,14 @@ class ps2_gif_device : public device_t, public device_execute_interface { public: template <typename T, typename U> - ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gs_tag, U &&vu1_tag) + ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&gs_tag, U &&vu1_tag) : ps2_gif_device(mconfig, tag, owner, clock) { m_gs.set_tag(std::forward<T>(gs_tag)); m_vu1.set_tag(std::forward<U>(vu1_tag)); } - ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ps2_gif_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual ~ps2_gif_device() override; uint32_t read(offs_t offset); diff --git a/src/devices/video/ps2gs.cpp b/src/devices/video/ps2gs.cpp index 1065ae0da60..c767609562a 100644 --- a/src/devices/video/ps2gs.cpp +++ b/src/devices/video/ps2gs.cpp @@ -40,7 +40,7 @@ DEFINE_DEVICE_TYPE(SONYPS2_GS, ps2_gs_device, "ps2gs", "Playstation 2 GS") 1, 2, 2, 3, 3, 3, 2, 1 }; -ps2_gs_device::ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ps2_gs_device::ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SONYPS2_GS, tag, owner, clock) , m_intc(*this, finder_base::DUMMY_TAG) , m_vu1(*this, finder_base::DUMMY_TAG) diff --git a/src/devices/video/ps2gs.h b/src/devices/video/ps2gs.h index f4ca034f688..057a572b94f 100644 --- a/src/devices/video/ps2gs.h +++ b/src/devices/video/ps2gs.h @@ -25,14 +25,14 @@ class ps2_gs_device : public device_t public: template <typename T, typename U> - ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&intc_tag, U &&vu1_tag) + ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&intc_tag, U &&vu1_tag) : ps2_gs_device(mconfig, tag, owner, clock) { m_intc.set_tag(std::forward<T>(intc_tag)); m_vu1.set_tag(std::forward<U>(vu1_tag)); } - ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ps2_gs_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); virtual ~ps2_gs_device() override; uint64_t priv_regs0_r(offs_t offset); diff --git a/src/devices/video/psx.cpp b/src/devices/video/psx.cpp index 448d384f1fe..73b4e8dadc1 100644 --- a/src/devices/video/psx.cpp +++ b/src/devices/video/psx.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(CXD8561BQ, cxd8561bq_device, "cxd8561bq", "CXD8561BQ GPU") // DEFINE_DEVICE_TYPE(CXD8561CQ, cxd8561cq_device, "cxd8561cq", "CXD8561CQ GPU") // SGRAM DEFINE_DEVICE_TYPE(CXD8654Q, cxd8654q_device, "cxd8654q", "CXD8654Q GPU") // SGRAM -psxgpu_device::psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +psxgpu_device::psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, type, tag, owner, clock) { set_vram_size(vram_size); @@ -41,7 +41,7 @@ psxgpu_device::psxgpu_device(const machine_config &mconfig, device_type type, co vblank_callback().set(*cpu->subdevice<psxirq_device>("irq"), FUNC(psxirq_device::intin0)); } -psxgpu_device::psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +psxgpu_device::psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) , device_palette_interface(mconfig, *this) @@ -75,62 +75,62 @@ void psxgpu_device::device_reset() gpu_reset(); } -cxd8514q_device::cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8514q_device::cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8514Q, tag, owner, clock, vram_size, cpu) { } -cxd8514q_device::cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8514q_device::cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8514Q, tag, owner, clock) { } -cxd8538q_device::cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8538q_device::cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8538Q, tag, owner, clock, vram_size, cpu) { } -cxd8538q_device::cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8538q_device::cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8538Q, tag, owner, clock) { } -cxd8561q_device::cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8561q_device::cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8561Q, tag, owner, clock, vram_size, cpu) { } -cxd8561q_device::cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8561q_device::cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8561Q, tag, owner, clock) { } -cxd8561bq_device::cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8561bq_device::cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8561BQ, tag, owner, clock, vram_size, cpu) { } -cxd8561bq_device::cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8561bq_device::cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8561BQ, tag, owner, clock) { } -cxd8561cq_device::cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8561cq_device::cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8561CQ, tag, owner, clock, vram_size, cpu) { } -cxd8561cq_device::cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8561cq_device::cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8561CQ, tag, owner, clock) { } -cxd8654q_device::cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu) +cxd8654q_device::cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu) : psxgpu_device(mconfig, CXD8654Q, tag, owner, clock, vram_size, cpu) { } -cxd8654q_device::cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +cxd8654q_device::cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : psxgpu_device(mconfig, CXD8654Q, tag, owner, clock) { } diff --git a/src/devices/video/psx.h b/src/devices/video/psx.h index 0482369692e..ec12ee1a90c 100644 --- a/src/devices/video/psx.h +++ b/src/devices/video/psx.h @@ -45,8 +45,8 @@ protected: static constexpr unsigned MID_SHADE = 0x80; // construction/destruction - psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu_tag); - psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu_tag); + psxgpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; virtual void device_post_load() override; @@ -311,48 +311,48 @@ class cxd8514q_device : public psxgpu_device { public: // construction/destruction - cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8514q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class cxd8538q_device : public psxgpu_device { public: // construction/destruction - cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8538q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class cxd8561q_device : public psxgpu_device { public: // construction/destruction - cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8561q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class cxd8561bq_device : public psxgpu_device { public: // construction/destruction - cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8561bq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class cxd8561cq_device : public psxgpu_device { public: // construction/destruction - cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8561cq_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class cxd8654q_device : public psxgpu_device { public: // construction/destruction - cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t vram_size, psxcpu_device *cpu); - cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, uint32_t vram_size, psxcpu_device *cpu); + cxd8654q_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; #endif // MAME_VIDEO_PSX_H diff --git a/src/devices/video/pwm.cpp b/src/devices/video/pwm.cpp index 5258b204392..2f7ec798f3e 100644 --- a/src/devices/video/pwm.cpp +++ b/src/devices/video/pwm.cpp @@ -47,7 +47,7 @@ DEFINE_DEVICE_TYPE(PWM_DISPLAY, pwm_display_device, "pwm_display", "PWM Display" // constructor //------------------------------------------------- -pwm_display_device::pwm_display_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +pwm_display_device::pwm_display_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, PWM_DISPLAY, tag, owner, clock), m_out_x(*this, "%u.%u", 0U, 0U), m_out_a(*this, "%u.a", 0U), diff --git a/src/devices/video/pwm.h b/src/devices/video/pwm.h index 48a04ec9756..331695e9d83 100644 --- a/src/devices/video/pwm.h +++ b/src/devices/video/pwm.h @@ -14,7 +14,7 @@ class pwm_display_device : public device_t { public: - pwm_display_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + pwm_display_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers pwm_display_device &set_size(u8 numrows, u8 rowbits) { m_height = numrows; m_width = rowbits; return *this; } // max 64 * 64 diff --git a/src/devices/video/ramdac.cpp b/src/devices/video/ramdac.cpp index 9d749bc2c7f..22f9c23cc57 100644 --- a/src/devices/video/ramdac.cpp +++ b/src/devices/video/ramdac.cpp @@ -44,7 +44,7 @@ DEFINE_DEVICE_TYPE(RAMDAC, ramdac_device, "ramdac", "RAMDAC") // ramdac_device - constructor //------------------------------------------------- -ramdac_device::ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +ramdac_device::ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, RAMDAC, tag, owner, clock), device_memory_interface(mconfig, *this), m_space_config("videoram", ENDIANNESS_LITTLE, 8, 10, 0, address_map_constructor(FUNC(ramdac_device::ramdac_palram), this)), diff --git a/src/devices/video/ramdac.h b/src/devices/video/ramdac.h index d21ea4a51ee..e2ac243f72b 100644 --- a/src/devices/video/ramdac.h +++ b/src/devices/video/ramdac.h @@ -26,12 +26,12 @@ class ramdac_device : public device_t, public: // construction/destruction template <typename T> - ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&palette_tag) - : ramdac_device(mconfig, tag, owner, clock) + ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&palette_tag) + : ramdac_device(mconfig, tag, owner) { m_palette.set_tag(std::forward<T>(palette_tag)); } - ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + ramdac_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration void set_color_base(uint32_t color_base) { m_color_base = color_base; } diff --git a/src/devices/video/saa5050.cpp b/src/devices/video/saa5050.cpp index 5dae957d699..c0d47a25de9 100644 --- a/src/devices/video/saa5050.cpp +++ b/src/devices/video/saa5050.cpp @@ -174,7 +174,7 @@ const tiny_rom_entry *saa5057_device::device_rom_region() const // saa5050_device - constructor //------------------------------------------------- -saa5050_device::saa5050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +saa5050_device::saa5050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), m_char_rom(*this, "chargen"), m_read_d(*this), @@ -185,42 +185,42 @@ saa5050_device::saa5050_device(const machine_config &mconfig, device_type type, { } -saa5050_device::saa5050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +saa5050_device::saa5050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5050, tag, owner, clock) { } -saa5051_device::saa5051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5051_device::saa5051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5051, tag, owner, clock) { } -saa5052_device::saa5052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5052_device::saa5052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5052, tag, owner, clock) { } -saa5053_device::saa5053_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5053_device::saa5053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5053, tag, owner, clock) { } -saa5054_device::saa5054_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5054_device::saa5054_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5054, tag, owner, clock) { } -saa5055_device::saa5055_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5055_device::saa5055_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5055, tag, owner, clock) { } -saa5056_device::saa5056_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5056_device::saa5056_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5056, tag, owner, clock) { } -saa5057_device::saa5057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +saa5057_device::saa5057_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5050_device(mconfig, SAA5057, tag, owner, clock) { } diff --git a/src/devices/video/saa5050.h b/src/devices/video/saa5050.h index 99a0e69836f..83f8111ba97 100644 --- a/src/devices/video/saa5050.h +++ b/src/devices/video/saa5050.h @@ -39,7 +39,7 @@ class saa5050_device : public device_t { public: // construction/destruction - saa5050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5050_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_screen_size(int cols, int rows, int size) { m_cols = cols; m_rows = rows; m_size = size; } @@ -63,7 +63,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: - saa5050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + saa5050_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -155,7 +155,7 @@ class saa5051_device : public saa5050_device { public: // construction/destruction - saa5051_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5051_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -168,7 +168,7 @@ class saa5052_device : public saa5050_device { public: // construction/destruction - saa5052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5052_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -181,7 +181,7 @@ class saa5053_device : public saa5050_device { public: // construction/destruction - saa5053_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5053_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -194,7 +194,7 @@ class saa5054_device : public saa5050_device { public: // construction/destruction - saa5054_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5054_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -207,7 +207,7 @@ class saa5055_device : public saa5050_device { public: // construction/destruction - saa5055_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5055_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -220,7 +220,7 @@ class saa5056_device : public saa5050_device { public: // construction/destruction - saa5056_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5056_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -233,7 +233,7 @@ class saa5057_device : public saa5050_device { public: // construction/destruction - saa5057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5057_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; diff --git a/src/devices/video/saa5240.cpp b/src/devices/video/saa5240.cpp index a9336398a5a..ceb14491788 100644 --- a/src/devices/video/saa5240.cpp +++ b/src/devices/video/saa5240.cpp @@ -98,7 +98,7 @@ const tiny_rom_entry *saa5243e_device::device_rom_region() const // saa5240_device - constructor //------------------------------------------------- -saa5240_device::saa5240_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +saa5240_device::saa5240_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_char_rom(*this, "chargen") @@ -115,17 +115,17 @@ saa5240_device::saa5240_device(const machine_config &mconfig, device_type type, { } -saa5240a_device::saa5240a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +saa5240a_device::saa5240a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5240_device(mconfig, SAA5240A, tag, owner, clock) { } -saa5240b_device::saa5240b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +saa5240b_device::saa5240b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5240_device(mconfig, SAA5240B, tag, owner, clock) { } -saa5243e_device::saa5243e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +saa5243e_device::saa5243e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : saa5240_device(mconfig, SAA5243E, tag, owner, clock) { } diff --git a/src/devices/video/saa5240.h b/src/devices/video/saa5240.h index b4f2a78decd..36a0e394e02 100644 --- a/src/devices/video/saa5240.h +++ b/src/devices/video/saa5240.h @@ -58,7 +58,7 @@ class saa5240_device : { public: // construction/destruction - saa5240_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5240_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); DECLARE_WRITE_LINE_MEMBER(write_scl); DECLARE_WRITE_LINE_MEMBER(write_sda); @@ -71,7 +71,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: - saa5240_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + saa5240_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -183,7 +183,7 @@ class saa5240a_device : public saa5240_device { public: // construction/destruction - saa5240a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5240a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -196,7 +196,7 @@ class saa5240b_device : public saa5240_device { public: // construction/destruction - saa5240b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5240b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; @@ -209,7 +209,7 @@ class saa5243e_device : public saa5240_device { public: // construction/destruction - saa5243e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + saa5243e_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; diff --git a/src/devices/video/scn2674.cpp b/src/devices/video/scn2674.cpp index 3461a15083c..4acfde57fd9 100644 --- a/src/devices/video/scn2674.cpp +++ b/src/devices/video/scn2674.cpp @@ -29,17 +29,17 @@ void scn2674_device::scn2674_vram(address_map &map) map(0x0000, (1 << space_config(0)->addr_width()) - 1).noprw(); } -scn2672_device::scn2672_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +scn2672_device::scn2672_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : scn2674_device(mconfig, SCN2672, tag, owner, clock, false) { } -scn2674_device::scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +scn2674_device::scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : scn2674_device(mconfig, SCN2674, tag, owner, clock, true) { } -scn2674_device::scn2674_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool extend_addressing) +scn2674_device::scn2674_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool extend_addressing) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) , device_memory_interface(mconfig, *this) diff --git a/src/devices/video/scn2674.h b/src/devices/video/scn2674.h index ebcea6915b8..011bc3d4501 100644 --- a/src/devices/video/scn2674.h +++ b/src/devices/video/scn2674.h @@ -28,7 +28,7 @@ public: template <typename... T> void set_display_callback(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } - scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint8_t read(offs_t offset); void write(offs_t offset, uint8_t data); @@ -40,7 +40,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); protected: - scn2674_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool extend_addressing); + scn2674_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, bool extend_addressing); virtual void device_start() override; virtual void device_reset() override; @@ -138,7 +138,7 @@ protected: class scn2672_device : public scn2674_device { public: - scn2672_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + scn2672_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void write_init_regs(uint8_t data) override; diff --git a/src/devices/video/sda5708.cpp b/src/devices/video/sda5708.cpp index 05453afadb7..2867fe8517e 100644 --- a/src/devices/video/sda5708.cpp +++ b/src/devices/video/sda5708.cpp @@ -58,7 +58,7 @@ DEFINE_DEVICE_TYPE(SDA5708, sda5708_device, "sda5708", "SDA570 // sda5708_device - constructor //------------------------------------------------- -sda5708_device::sda5708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sda5708_device::sda5708_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SDA5708, tag, owner, clock) , m_dots(*this, "Dot_%u%u%u", 1U, 1U, 1U) , m_serial(0) diff --git a/src/devices/video/sda5708.h b/src/devices/video/sda5708.h index 4237675b95e..bd2a02f2f76 100644 --- a/src/devices/video/sda5708.h +++ b/src/devices/video/sda5708.h @@ -52,7 +52,7 @@ class sda5708_device : public device_t { public: // construction/destruction - sda5708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sda5708_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); DECLARE_WRITE_LINE_MEMBER( load_w ); DECLARE_WRITE_LINE_MEMBER( data_w ); diff --git a/src/devices/video/sed1200.cpp b/src/devices/video/sed1200.cpp index 371832f579a..0dd2c20cc33 100644 --- a/src/devices/video/sed1200.cpp +++ b/src/devices/video/sed1200.cpp @@ -31,27 +31,27 @@ ROM_START( sed1200x0b ) ROM_LOAD( "sed1200-b.bin", 0x000, 0x800, CRC(d0741f51) SHA1(c8c856f1357286a2c8c806af81724a828345357e)) ROM_END -sed1200_device::sed1200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +sed1200_device::sed1200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), cursor_direction(false), cursor_blinking(false), cursor_full(false), cursor_on(false), display_on(false), cursor_address(0), cgram_address(0), cgrom(nullptr) { } -sed1200d0a_device::sed1200d0a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +sed1200d0a_device::sed1200d0a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1200_device(mconfig, SED1200D0A, tag, owner, clock) { } -sed1200f0a_device::sed1200f0a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +sed1200f0a_device::sed1200f0a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1200_device(mconfig, SED1200F0A, tag, owner, clock) { } -sed1200d0b_device::sed1200d0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +sed1200d0b_device::sed1200d0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1200_device(mconfig, SED1200D0B, tag, owner, clock) { } -sed1200f0b_device::sed1200f0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +sed1200f0b_device::sed1200f0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1200_device(mconfig, SED1200F0B, tag, owner, clock) { } diff --git a/src/devices/video/sed1200.h b/src/devices/video/sed1200.h index d6590af49ab..d6f46dd7544 100644 --- a/src/devices/video/sed1200.h +++ b/src/devices/video/sed1200.h @@ -27,7 +27,7 @@ public: const uint8_t *render(); protected: - sed1200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + sed1200_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; @@ -45,7 +45,7 @@ private: class sed1200d0a_device : public sed1200_device { public: - sed1200d0a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1200d0a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual const tiny_rom_entry *device_rom_region() const override; @@ -53,7 +53,7 @@ protected: class sed1200f0a_device : public sed1200_device { public: - sed1200f0a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1200f0a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual const tiny_rom_entry *device_rom_region() const override; @@ -61,7 +61,7 @@ protected: class sed1200d0b_device : public sed1200_device { public: - sed1200d0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1200d0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual const tiny_rom_entry *device_rom_region() const override; @@ -69,7 +69,7 @@ protected: class sed1200f0b_device : public sed1200_device { public: - sed1200f0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1200f0b_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual const tiny_rom_entry *device_rom_region() const override; diff --git a/src/devices/video/sed1330.cpp b/src/devices/video/sed1330.cpp index 37d95caac7b..0e03ed4d428 100644 --- a/src/devices/video/sed1330.cpp +++ b/src/devices/video/sed1330.cpp @@ -148,7 +148,7 @@ inline void sed1330_device::increment_csr() // sed1330_device - constructor //------------------------------------------------- -sed1330_device::sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sed1330_device::sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SED1330, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), @@ -384,7 +384,7 @@ void sed1330_device::data_w(uint8_t data) case 5: m_lf = data + 1; LOG("SED1330 Frame Height: %u\n", m_lf); - if (clock() != 0) + if (!clock().disabled()) { attotime fr = clocks_to_attotime(m_tcr * m_lf * 9); screen().configure(m_tcr * m_fx, m_lf, screen().visible_area(), fr.as_attoseconds()); diff --git a/src/devices/video/sed1330.h b/src/devices/video/sed1330.h index c9bff82f578..13266ed295b 100644 --- a/src/devices/video/sed1330.h +++ b/src/devices/video/sed1330.h @@ -26,7 +26,7 @@ class sed1330_device : public device_t, { public: // construction/destruction - sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint8_t status_r(); void command_w(uint8_t data); diff --git a/src/devices/video/sed1356.cpp b/src/devices/video/sed1356.cpp index ccc60d94a95..7ed04aea016 100644 --- a/src/devices/video/sed1356.cpp +++ b/src/devices/video/sed1356.cpp @@ -40,7 +40,7 @@ DEFINE_DEVICE_TYPE(SED1356, sed1356_device, "sed1356", "Epson SED1356") -sed1356_device::sed1356_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sed1356_device::sed1356_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SED1356, tag, owner, clock) , device_video_interface(mconfig, *this) , m_vram(*this, "vram") diff --git a/src/devices/video/sed1356.h b/src/devices/video/sed1356.h index 98d80684253..003698ccf91 100644 --- a/src/devices/video/sed1356.h +++ b/src/devices/video/sed1356.h @@ -21,7 +21,7 @@ class sed1356_device : public device_t, { public: // construction/destruction - sed1356_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + sed1356_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); void map(address_map &map); void vram_map(address_map &map); diff --git a/src/devices/video/sed1500.cpp b/src/devices/video/sed1500.cpp index 41ade315d56..f8f11992085 100644 --- a/src/devices/video/sed1500.cpp +++ b/src/devices/video/sed1500.cpp @@ -34,25 +34,25 @@ DEFINE_DEVICE_TYPE(SED1503, sed1503_device, "sed1503", "Epson SED1503 LCD Driver // constructor //------------------------------------------------- -sed1500_device::sed1500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cmax, u8 smax) : +sed1500_device::sed1500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cmax, u8 smax) : device_t(mconfig, type, tag, owner, clock), m_cmax(cmax), m_smax(smax), m_write_segs(*this) { } -sed1500_device::sed1500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +sed1500_device::sed1500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1500_device(mconfig, SED1500, tag, owner, clock, 8, 42) { } -sed1501_device::sed1501_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +sed1501_device::sed1501_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1500_device(mconfig, SED1501, tag, owner, clock, 10, 40) { } -sed1502_device::sed1502_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +sed1502_device::sed1502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1500_device(mconfig, SED1502, tag, owner, clock, 16, 34) { } -sed1503_device::sed1503_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +sed1503_device::sed1503_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1500_device(mconfig, SED1503, tag, owner, clock, 8+8, 42) { } diff --git a/src/devices/video/sed1500.h b/src/devices/video/sed1500.h index a72e124f772..6cc56c2a699 100644 --- a/src/devices/video/sed1500.h +++ b/src/devices/video/sed1500.h @@ -31,7 +31,7 @@ SEG: LCD segments class sed1500_device : public device_t { public: - sed1500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sed1500_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // configuration helpers auto write_segs() { return m_write_segs.bind(); } // common number in offset, segment data in data @@ -40,7 +40,7 @@ public: u8 read(offs_t offset); protected: - sed1500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 cmax, u8 smax); + sed1500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, u8 cmax, u8 smax); // device-level overrides virtual void device_start() override; @@ -62,19 +62,19 @@ protected: class sed1501_device : public sed1500_device { public: - sed1501_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sed1501_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class sed1502_device : public sed1500_device { public: - sed1502_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sed1502_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class sed1503_device : public sed1500_device { public: - sed1503_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + sed1503_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/sed1520.cpp b/src/devices/video/sed1520.cpp index 9dd8017155d..944cb2ee825 100644 --- a/src/devices/video/sed1520.cpp +++ b/src/devices/video/sed1520.cpp @@ -34,7 +34,7 @@ DEFINE_DEVICE_TYPE(EPL43102, epl43102_device, "epl43102", "Elan EPL43102 LCD Dri // sed1520_device - constructor //------------------------------------------------- -sed15xx_device_base::sed15xx_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t ddr_size, uint32_t page_size) +sed15xx_device_base::sed15xx_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t ddr_size, uint32_t page_size) : device_t(mconfig, type, tag, owner, clock) , m_ddr_size(ddr_size) , m_page_size(page_size) @@ -51,24 +51,24 @@ sed15xx_device_base::sed15xx_device_base(const machine_config &mconfig, device_t { } -sed1520_device::sed1520_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sed1520_device::sed1520_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed15xx_device_base(mconfig, SED1520, tag, owner, clock, 320, 80) // 2560-bit display RAM , m_screen_update_cb(*this) { } -sed1560_device::sed1560_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t ddr_size, uint32_t page_size) +sed1560_device::sed1560_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t ddr_size, uint32_t page_size) : sed15xx_device_base(mconfig, type, tag, owner, clock, ddr_size, page_size) , m_screen_update_cb(*this) { } -sed1560_device::sed1560_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +sed1560_device::sed1560_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1560_device(mconfig, SED1560, tag, owner, clock, 1349, 166) // 166 × 65-bit display RAM { } -epl43102_device::epl43102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +epl43102_device::epl43102_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : sed1560_device(mconfig, EPL43102, tag, owner, clock, 455, 102) // 102 × 43-bit display RAM (TODO: page map is not straightforward) { } diff --git a/src/devices/video/sed1520.h b/src/devices/video/sed1520.h index 58fc364f69a..89d7a5001b0 100644 --- a/src/devices/video/sed1520.h +++ b/src/devices/video/sed1520.h @@ -38,7 +38,7 @@ public: protected: // construction/destruction - sed15xx_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t ddr_size, uint32_t page_size); + sed15xx_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t ddr_size, uint32_t page_size); // device-level overrides virtual void device_start() override; @@ -72,7 +72,7 @@ public: typedef device_delegate<uint32_t (bitmap_ind16 &bitmap, const rectangle &cliprect, bool lcd_on, uint8_t *dram, uint8_t start_line, uint8_t adc, uint8_t duty)> sed1520_update_delegate; // construction/destruction - sed1520_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + sed1520_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers template <typename... T> void set_screen_update_cb(T &&... args) { m_screen_update_cb.set(std::forward<T>(args)...); } @@ -103,7 +103,7 @@ public: typedef device_delegate<uint32_t (bitmap_ind16 &bitmap, const rectangle &cliprect, bool lcd_on, uint8_t *dram, uint8_t start_line, uint8_t adc, uint8_t duty, bool reverse, bool fill, uint8_t contrast, bool line_inv, uint8_t line_inv_num)> sed1560_update_delegate; // construction/destruction - sed1560_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + sed1560_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers template <typename... T> void set_screen_update_cb(T &&... args) { m_screen_update_cb.set(std::forward<T>(args)...); } @@ -113,7 +113,7 @@ public: uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); protected: - sed1560_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t ddr_size, uint32_t page_size); + sed1560_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint32_t ddr_size, uint32_t page_size); // device-level overrides virtual void device_resolve_objects() override; @@ -139,7 +139,7 @@ class epl43102_device : public sed1560_device { public: // construction/destruction - epl43102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + epl43102_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); virtual void control_write(uint8_t data) override; diff --git a/src/devices/video/snes_ppu.cpp b/src/devices/video/snes_ppu.cpp index 9fddaa1b8d1..4e95beb3bb3 100644 --- a/src/devices/video/snes_ppu.cpp +++ b/src/devices/video/snes_ppu.cpp @@ -189,7 +189,7 @@ DEFINE_DEVICE_TYPE(SNES_PPU, snes_ppu_device, "snes_ppu", "SNES PPU") // snes_ppu_device - constructor //------------------------------------------------- -snes_ppu_device::snes_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +snes_ppu_device::snes_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, SNES_PPU, tag, owner, clock) , device_video_interface(mconfig, *this) , device_palette_interface(mconfig, *this) diff --git a/src/devices/video/snes_ppu.h b/src/devices/video/snes_ppu.h index c07f878f402..28af99e45c7 100644 --- a/src/devices/video/snes_ppu.h +++ b/src/devices/video/snes_ppu.h @@ -42,7 +42,7 @@ class snes_ppu_device : public device_t, { public: // construction/destruction - snes_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + snes_ppu_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // inline configuration helpers auto open_bus_callback() { return m_openbus_cb.bind(); } diff --git a/src/devices/video/sprite.h b/src/devices/video/sprite.h index 2ef3234b9d9..048ed3eb56f 100644 --- a/src/devices/video/sprite.h +++ b/src/devices/video/sprite.h @@ -82,7 +82,7 @@ class sprite_device : public device_t protected: // construction/destruction - only for subclasses sprite_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, int dirty_granularity = 3) - : device_t(mconfig, type, tag, owner, 0) + : device_t(mconfig, type, tag, owner) , m_xorigin(0) , m_yorigin(0) , m_spriteram(nullptr) diff --git a/src/devices/video/t6963c.cpp b/src/devices/video/t6963c.cpp index bf0841450c0..520b4c4bde0 100644 --- a/src/devices/video/t6963c.cpp +++ b/src/devices/video/t6963c.cpp @@ -32,7 +32,7 @@ ALLOW_SAVE_TYPE(t6963c_device::auto_mode); // t6963c_device - constructor //------------------------------------------------- -t6963c_device::t6963c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +t6963c_device::t6963c_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, T6963C, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_display_config("display", ENDIANNESS_LITTLE, 8, 16, 0) @@ -394,7 +394,7 @@ uint32_t t6963c_device::screen_update(screen_device &screen, bitmap_ind16 &bitma // lm24014h_device - constructor //------------------------------------------------- -lm24014h_device::lm24014h_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +lm24014h_device::lm24014h_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, LM24014H, tag, owner, clock) , m_lcdc(*this, "lcdc") , m_fs(1) @@ -439,7 +439,7 @@ void lm24014h_device::lcd_palette(palette_device &palette) const void lm24014h_device::device_add_mconfig(machine_config &config) { - T6963C(config, m_lcdc, 0); // XTAL is unknown + T6963C(config, m_lcdc); // XTAL is unknown m_lcdc->set_addrmap(0, &lm24014h_device::ram_map); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); diff --git a/src/devices/video/t6963c.h b/src/devices/video/t6963c.h index aaaeb7c3e57..c7ddf5bb89b 100644 --- a/src/devices/video/t6963c.h +++ b/src/devices/video/t6963c.h @@ -33,7 +33,7 @@ class t6963c_device : public device_t, public device_memory_interface public: // construction/destruction - t6963c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + t6963c_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); // CPU read/write access u8 read(offs_t offset); @@ -86,7 +86,7 @@ class lm24014h_device : public device_t { public: // construction/destruction - lm24014h_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + lm24014h_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // CPU read/write access u8 read(offs_t offset) { return m_lcdc->read(offset); } diff --git a/src/devices/video/t6a04.cpp b/src/devices/video/t6a04.cpp index a5dc8bfa928..0ff55ec3544 100644 --- a/src/devices/video/t6a04.cpp +++ b/src/devices/video/t6a04.cpp @@ -36,7 +36,7 @@ void t6a04_device::device_validity_check(validity_checker &valid) const // t6a04_device - constructor //------------------------------------------------- -t6a04_device::t6a04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +t6a04_device::t6a04_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, T6A04, tag, owner, clock), m_busy_flag(0), m_display_on(0), m_contrast(0), m_xpos(0), m_ypos(0), m_zpos(0), diff --git a/src/devices/video/t6a04.h b/src/devices/video/t6a04.h index 72900b171bb..5d700b7be90 100644 --- a/src/devices/video/t6a04.h +++ b/src/devices/video/t6a04.h @@ -21,7 +21,7 @@ class t6a04_device : public device_t { public: // construction/destruction - t6a04_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + t6a04_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_size(int w, int h) { diff --git a/src/devices/video/tea1002.cpp b/src/devices/video/tea1002.cpp index af80f9908a3..fd5ef980b29 100644 --- a/src/devices/video/tea1002.cpp +++ b/src/devices/video/tea1002.cpp @@ -50,7 +50,7 @@ DEFINE_DEVICE_TYPE(TEA1002, tea1002_device, "tea1002", "Mullard TEA1002 PAL colo // paula_device - constructor //------------------------------------------------- -tea1002_device::tea1002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +tea1002_device::tea1002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, TEA1002, tag, owner, clock) { } diff --git a/src/devices/video/tea1002.h b/src/devices/video/tea1002.h index e208d20fb0a..fec7a9ea7f5 100644 --- a/src/devices/video/tea1002.h +++ b/src/devices/video/tea1002.h @@ -35,7 +35,7 @@ class tea1002_device : public device_t { public: // construction/destruction - tea1002_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tea1002_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); rgb_t color(int index); diff --git a/src/devices/video/tlc34076.cpp b/src/devices/video/tlc34076.cpp index 01cc9070fb3..7ebd51c7912 100644 --- a/src/devices/video/tlc34076.cpp +++ b/src/devices/video/tlc34076.cpp @@ -41,7 +41,7 @@ DEFINE_DEVICE_TYPE(TLC34076, tlc34076_device, "tlc34076", "TI TLC34076 VIP") //------------------------------------------------- // tlc34076_device - constructor //------------------------------------------------- -tlc34076_device::tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tlc34076_device::tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, TLC34076, tag, owner, clock) , device_palette_interface(mconfig, *this) , m_dacbits(6) diff --git a/src/devices/video/tlc34076.h b/src/devices/video/tlc34076.h index c495cf82088..1e86541b2e5 100644 --- a/src/devices/video/tlc34076.h +++ b/src/devices/video/tlc34076.h @@ -30,12 +30,12 @@ public: // construction/destruction tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, tlc34076_bits bits) - : tlc34076_device(mconfig, tag, owner, (uint32_t)0) + : tlc34076_device(mconfig, tag, owner) { set_bits(bits); } - tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tlc34076_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configuration helpers void set_bits(tlc34076_bits bits) { m_dacbits = bits; } diff --git a/src/devices/video/tmap038.cpp b/src/devices/video/tmap038.cpp index 9b007e28a2c..f675d430bb7 100644 --- a/src/devices/video/tmap038.cpp +++ b/src/devices/video/tmap038.cpp @@ -128,7 +128,7 @@ void tilemap038_device::vram_8x8_map(address_map &map) DEFINE_DEVICE_TYPE(TMAP038, tilemap038_device, "tmap038", "038 Tilemap generator") -tilemap038_device::tilemap038_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +tilemap038_device::tilemap038_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, TMAP038, tag, owner, clock) , m_vram_8x8(*this, "vram_8x8") , m_vram_16x16(*this, "vram_16x16") diff --git a/src/devices/video/tmap038.h b/src/devices/video/tmap038.h index cc5ba89813d..852b48e2f33 100644 --- a/src/devices/video/tmap038.h +++ b/src/devices/video/tmap038.h @@ -12,12 +12,7 @@ class tilemap038_device : public device_t public: typedef device_delegate<void (bool tiledim, u32 &color, u32 &pri, u32 &code)> tmap038_cb_delegate; - tilemap038_device(const machine_config &mconfig, const char *tag, device_t *owner) - : tilemap038_device(mconfig, tag, owner, (u32)0) - { - } - - tilemap038_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + tilemap038_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); // configurations template <typename T> void set_gfxdecode_tag(T &&tag) { m_gfxdecode.set_tag(std::forward<T>(tag)); } diff --git a/src/devices/video/tms34061.cpp b/src/devices/video/tms34061.cpp index 8d987b06701..6f32777c0fc 100644 --- a/src/devices/video/tms34061.cpp +++ b/src/devices/video/tms34061.cpp @@ -32,7 +32,7 @@ DEFINE_DEVICE_TYPE(TMS34061, tms34061_device, "tms34061", "TI TMS34061 VSC") -tms34061_device::tms34061_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +tms34061_device::tms34061_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, TMS34061, tag, owner, clock), device_video_interface(mconfig, *this), m_rowshift(0), diff --git a/src/devices/video/tms34061.h b/src/devices/video/tms34061.h index 47cd6e68c60..e8bbc469ec8 100644 --- a/src/devices/video/tms34061.h +++ b/src/devices/video/tms34061.h @@ -31,7 +31,7 @@ public: }; // construction/destruction - tms34061_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + tms34061_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_rowshift(u8 rowshift) { m_rowshift = rowshift; } void set_vram_size(u32 vramsize) { m_vramsize = vramsize; } diff --git a/src/devices/video/tms3556.cpp b/src/devices/video/tms3556.cpp index 3088e02e685..325cb0070f6 100644 --- a/src/devices/video/tms3556.cpp +++ b/src/devices/video/tms3556.cpp @@ -108,7 +108,7 @@ inline void tms3556_device::writebyte(offs_t address, uint8_t data) // tms3556_device - constructor //------------------------------------------------- -tms3556_device::tms3556_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms3556_device::tms3556_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, TMS3556, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/tms3556.h b/src/devices/video/tms3556.h index a6ced908b02..0f516c991ba 100644 --- a/src/devices/video/tms3556.h +++ b/src/devices/video/tms3556.h @@ -38,7 +38,7 @@ public: static constexpr unsigned TOTAL_HEIGHT = 250 + TOP_BORDER + BOTTOM_BORDER; // construction/destruction - tms3556_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms3556_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint8_t vram_r(); void vram_w(uint8_t data); diff --git a/src/devices/video/tms9927.cpp b/src/devices/video/tms9927.cpp index 6ae31a1a9d5..c8ef0559ed3 100644 --- a/src/devices/video/tms9927.cpp +++ b/src/devices/video/tms9927.cpp @@ -36,12 +36,12 @@ DEFINE_DEVICE_TYPE(CRT5027, crt5027_device, "crt5027", "CRT5027 VTAC") DEFINE_DEVICE_TYPE(CRT5037, crt5037_device, "crt5037", "CRT5037 VTAC") DEFINE_DEVICE_TYPE(CRT5057, crt5057_device, "crt5057", "CRT5057 VTAC") -tms9927_device::tms9927_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9927_device::tms9927_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9927_device(mconfig, TMS9927, tag, owner, clock) { } -tms9927_device::tms9927_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +tms9927_device::tms9927_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock) , device_video_interface(mconfig, *this) , m_write_vsyn(*this) @@ -59,17 +59,17 @@ tms9927_device::tms9927_device(const machine_config &mconfig, device_type type, std::fill(std::begin(m_reg), std::end(m_reg), 0x00); } -crt5027_device::crt5027_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +crt5027_device::crt5027_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9927_device(mconfig, CRT5027, tag, owner, clock) { } -crt5037_device::crt5037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +crt5037_device::crt5037_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9927_device(mconfig, CRT5037, tag, owner, clock) { } -crt5057_device::crt5057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +crt5057_device::crt5057_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9927_device(mconfig, CRT5057, tag, owner, clock) { } @@ -81,7 +81,7 @@ crt5057_device::crt5057_device(const machine_config &mconfig, const char *tag, d void tms9927_device::device_start() { - assert(clock() > 0); + assert(!clock().disabled()); if (!(m_hpixels_per_column > 0)) fatalerror("TMS9927: number of pixels per column must be explicitly set using set_char_width()!\n"); // resolve callbacks @@ -127,7 +127,7 @@ void tms9927_device::device_clock_changed() void tms9927_device::device_stop() { osd_printf_debug("TMS9927: Final params: (%d, %d, %d, %d, %d, %d, %d)\n", - clock() * m_hpixels_per_column, + clock().value() * m_hpixels_per_column, m_total_hpix, 0, m_visible_hpix, m_total_vpix, @@ -331,7 +331,7 @@ void tms9927_device::recompute_parameters(bool postload) logerror("tms9927: invalid visible size (%dx%d) versus total size (%dx%d)\n", m_visible_hpix, m_visible_vpix, m_total_hpix, m_total_vpix); } - if (clock() == 0) + if (clock().disabled()) { m_valid_config = false; // TODO: make the screen refresh never, and disable the vblank and odd/even interrupts here! diff --git a/src/devices/video/tms9927.h b/src/devices/video/tms9927.h index 5b517f7f78a..2b6bd57bb52 100644 --- a/src/devices/video/tms9927.h +++ b/src/devices/video/tms9927.h @@ -13,7 +13,7 @@ class tms9927_device : public device_t, public device_video_interface { public: - tms9927_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9927_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); auto vsyn_callback() { return m_write_vsyn.bind(); } auto hsyn_callback() { return m_write_hsyn.bind(); } @@ -38,7 +38,7 @@ public: bool cursor_bounds(rectangle &bounds) const; protected: - tms9927_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + tms9927_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); // device-level overrides virtual void device_start() override; @@ -89,21 +89,21 @@ private: class crt5027_device : public tms9927_device { public: - crt5027_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt5027_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class crt5037_device : public tms9927_device { public: - crt5037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt5037_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class crt5057_device : public tms9927_device { public: - crt5057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + crt5057_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/tms9928a.cpp b/src/devices/video/tms9928a.cpp index dffe7b8ba72..a1e901762e1 100644 --- a/src/devices/video/tms9928a.cpp +++ b/src/devices/video/tms9928a.cpp @@ -56,7 +56,7 @@ void tms9928a_device::memmap(address_map &map) map(0x0000, 0x3fff).ram(); } -tms9928a_device::tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99) +tms9928a_device::tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99) : device_t(mconfig, type, tag, owner, clock) , device_memory_interface(mconfig, *this) , device_palette_interface(mconfig, *this) @@ -92,47 +92,47 @@ void tms9928a_device::device_config_complete() } -tms9928a_device::tms9928a_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9928a_device::tms9928a_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9928A, tag, owner, clock, 342, false, true, true) { } -tms9129_device::tms9129_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9129_device::tms9129_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9129, tag, owner, clock, 342, true, true, false) { } -tms9918_device::tms9918_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9918_device::tms9918_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9918, tag, owner, clock, 342, false, false, true) { } -tms9918a_device::tms9918a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9918a_device::tms9918a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9918A, tag, owner, clock, 342, false, true, true) { } -tms9118_device::tms9118_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9118_device::tms9118_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9118, tag, owner, clock, 342, false, true, false) { } -tms9128_device::tms9128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9128_device::tms9128_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9128, tag, owner, clock, 342, false, true, false) { } -tms9929_device::tms9929_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9929_device::tms9929_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9929, tag, owner, clock, 342, true, false, true) { } -tms9929a_device::tms9929a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +tms9929a_device::tms9929a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, TMS9929A, tag, owner, clock, 342, true, true, true) { } -efo90501_device::efo90501_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +efo90501_device::efo90501_device( const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : tms9928a_device(mconfig, EFO90501, tag, owner, clock, 346, true, true, true) { } diff --git a/src/devices/video/tms9928a.h b/src/devices/video/tms9928a.h index d50bec1cf4d..240ba5c364d 100644 --- a/src/devices/video/tms9928a.h +++ b/src/devices/video/tms9928a.h @@ -67,7 +67,7 @@ public: static constexpr unsigned VERT_DISPLAY_START_NTSC = 13 + 27; // construction/destruction - tms9928a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9928a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_vram_size(int vram_size) { m_vram_size = vram_size; } auto int_callback() { return m_out_int_line_cb.bind(); } @@ -89,7 +89,7 @@ public: void reset_line(int state) { if (state==ASSERT_LINE) device_reset(); } protected: - tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99); + tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, uint16_t horz_total, bool is_50hz, bool is_reva, bool is_99); // device-level overrides virtual void device_config_complete() override; @@ -156,56 +156,56 @@ private: class tms9918_device : public tms9928a_device { public: - tms9918_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9918_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9918a_device : public tms9928a_device { public: - tms9918a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9918a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9118_device : public tms9928a_device { public: - tms9118_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9118_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9128_device : public tms9928a_device { public: - tms9128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9128_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9929_device : public tms9928a_device { public: - tms9929_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9929_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9929a_device : public tms9928a_device { public: - tms9929a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9929a_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class tms9129_device : public tms9928a_device { public: - tms9129_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + tms9129_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; class efo90501_device : public tms9928a_device { public: - efo90501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + efo90501_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); }; diff --git a/src/devices/video/topcat.cpp b/src/devices/video/topcat.cpp index 5ba43d81e44..d917ea58271 100644 --- a/src/devices/video/topcat.cpp +++ b/src/devices/video/topcat.cpp @@ -9,7 +9,7 @@ DEFINE_DEVICE_TYPE(TOPCAT, topcat_device, "topcat", "HP Topcat ASIC") -topcat_device::topcat_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : +topcat_device::topcat_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, type, tag, owner, clock), m_int_write_func(*this), m_cursor_timer(nullptr), @@ -17,7 +17,7 @@ topcat_device::topcat_device(const machine_config &mconfig, device_type type, co { } -topcat_device::topcat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +topcat_device::topcat_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : topcat_device(mconfig, TOPCAT, tag, owner, clock) { } diff --git a/src/devices/video/topcat.h b/src/devices/video/topcat.h index ca08f16b9d4..96114bd0728 100644 --- a/src/devices/video/topcat.h +++ b/src/devices/video/topcat.h @@ -8,7 +8,7 @@ class topcat_device : public device_t { public: - topcat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + topcat_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); bool has_changed() { bool ret = m_changed; m_changed = false; return ret; } void set_fb_width(int _pixels) { m_fb_width = _pixels; } void set_fb_height(int _pixels) { m_fb_height = _pixels; } @@ -27,7 +27,7 @@ public: auto irq_out_cb() { return m_int_write_func.bind(); } protected: - topcat_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + topcat_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void device_start() override; virtual void device_reset() override; diff --git a/src/devices/video/upd3301.cpp b/src/devices/video/upd3301.cpp index 9e213a6c292..9387ce4b173 100644 --- a/src/devices/video/upd3301.cpp +++ b/src/devices/video/upd3301.cpp @@ -102,7 +102,7 @@ DEFINE_DEVICE_TYPE(UPD3301, upd3301_device, "upd3301", "NEC uPD3301") // upd3301_device - constructor //------------------------------------------------- -upd3301_device::upd3301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +upd3301_device::upd3301_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, UPD3301, tag, owner, clock) , device_video_interface(mconfig, *this) , m_write_int(*this) diff --git a/src/devices/video/upd3301.h b/src/devices/video/upd3301.h index 9343f6275b2..13a7753cd61 100644 --- a/src/devices/video/upd3301.h +++ b/src/devices/video/upd3301.h @@ -61,7 +61,7 @@ public: typedef device_delegate<std::array<u16, 80> (const std::array<u8, 41> attr_row, u8 gfx_mode, int y, u8 attr_fifo_size, u8 row_size)> fetch_attribute_delegate; // construction/destruction - upd3301_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + upd3301_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_character_width(int value) { m_width = value; } template <typename... T> void set_display_callback(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index 91a78531ea5..2efab8a780e 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -598,7 +598,7 @@ inline void upd7220_device::get_graphics_partition(int index, uint32_t *sad, uin // upd7220_device - constructor //------------------------------------------------- -upd7220_device::upd7220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : +upd7220_device::upd7220_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, UPD7220, tag, owner, clock), device_memory_interface(mconfig, *this), device_video_interface(mconfig, *this), diff --git a/src/devices/video/upd7220.h b/src/devices/video/upd7220.h index af203e2fdd7..a582c75b239 100644 --- a/src/devices/video/upd7220.h +++ b/src/devices/video/upd7220.h @@ -60,7 +60,7 @@ public: using draw_text_delegate = device_delegate<void (bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd, int pitch, int lr, int cursor_on, int cursor_addr)>; // construction/destruction - upd7220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + upd7220_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename... T> void set_display_pixels(T &&... args) { m_display_cb.set(std::forward<T>(args)...); } template <typename... T> void set_draw_text(T &&... args) { m_draw_text_cb.set(std::forward<T>(args)...); } diff --git a/src/devices/video/upd7227.cpp b/src/devices/video/upd7227.cpp index f512f8832be..9d07d80f38f 100644 --- a/src/devices/video/upd7227.cpp +++ b/src/devices/video/upd7227.cpp @@ -37,7 +37,7 @@ void upd7227_device::upd7227_map(address_map &map) // upd7227_device - constructor //------------------------------------------------- -upd7227_device::upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +upd7227_device::upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, UPD7227, tag, owner, clock) , device_memory_interface(mconfig, *this) , m_space_config("videoram", ENDIANNESS_BIG, 8, 7, 0, address_map_constructor(FUNC(upd7227_device::upd7227_map), this)) diff --git a/src/devices/video/upd7227.h b/src/devices/video/upd7227.h index 1f74b8d6102..4eb6d1e4fd5 100644 --- a/src/devices/video/upd7227.h +++ b/src/devices/video/upd7227.h @@ -23,8 +23,8 @@ class upd7227_device : public device_t, public device_memory_interface { public: // construction/destruction - upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); - upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, int sx, int sy) : upd7227_device(mconfig, tag, owner, 0) + upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); + upd7227_device(const machine_config &mconfig, const char *tag, device_t *owner, int sx, int sy) : upd7227_device(mconfig, tag, owner) { set_offsets(sx, sy); } // inline configuration helpers diff --git a/src/devices/video/v9938.cpp b/src/devices/video/v9938.cpp index 906e92353f7..fea57e42973 100644 --- a/src/devices/video/v9938.cpp +++ b/src/devices/video/v9938.cpp @@ -100,7 +100,7 @@ DEFINE_DEVICE_TYPE(V9938, v9938_device, "v9938", "Yamaha V9938 VDP") DEFINE_DEVICE_TYPE(V9958, v9958_device, "v9958", "Yamaha V9958 VDP") -v99x8_device::v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int model) +v99x8_device::v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int model) : device_t(mconfig, type, tag, owner, clock), device_memory_interface(mconfig, *this), device_palette_interface(mconfig, *this), @@ -135,12 +135,12 @@ v99x8_device::v99x8_device(const machine_config &mconfig, device_type type, cons set_addrmap(AS_DATA, address_map_constructor(FUNC(v99x8_device::memmap), this)); } -v9938_device::v9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +v9938_device::v9938_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : v99x8_device(mconfig, V9938, tag, owner, clock, MODEL_V9938) { } -v9958_device::v9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +v9958_device::v9958_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : v99x8_device(mconfig, V9958, tag, owner, clock, MODEL_V9958) { } diff --git a/src/devices/video/v9938.h b/src/devices/video/v9938.h index 265cad5eac1..754599d973e 100644 --- a/src/devices/video/v9938.h +++ b/src/devices/video/v9938.h @@ -86,7 +86,7 @@ public: protected: // construction/destruction - v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int model); + v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, int model); const address_space_config m_space_config; address_space* m_vram_space; @@ -257,7 +257,7 @@ protected: class v9938_device : public v99x8_device { public: - v9938_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + v9938_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void palette_init() override; @@ -266,7 +266,7 @@ protected: class v9958_device : public v99x8_device { public: - v9958_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + v9958_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void palette_init() override; diff --git a/src/devices/video/vector.cpp b/src/devices/video/vector.cpp index aa0210eda28..6917e0b35cf 100644 --- a/src/devices/video/vector.cpp +++ b/src/devices/video/vector.cpp @@ -72,7 +72,7 @@ void vector_options::init(emu_options& options) // device type definition DEFINE_DEVICE_TYPE(VECTOR, vector_device, "vector_device", "VECTOR") -vector_device::vector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +vector_device::vector_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, VECTOR, tag, owner, clock), device_video_interface(mconfig, *this), m_vector_list(nullptr), diff --git a/src/devices/video/vector.h b/src/devices/video/vector.h index 0465a7c9a43..88336a9faa5 100644 --- a/src/devices/video/vector.h +++ b/src/devices/video/vector.h @@ -31,7 +31,7 @@ public: template <typename T> static constexpr rgb_t color444(T c) { return rgb_t(pal4bit(c >> 8), pal4bit(c >> 4), pal4bit(c >> 0)); } // construction/destruction - vector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); + vector_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void clear_list(); diff --git a/src/devices/video/vic4567.cpp b/src/devices/video/vic4567.cpp index 5f1c756c50d..c94b3f9bd1d 100644 --- a/src/devices/video/vic4567.cpp +++ b/src/devices/video/vic4567.cpp @@ -149,7 +149,7 @@ DEFINE_DEVICE_TYPE(VIC3, vic3_device, "vic3", "CSG 4567 VIC-III") -vic3_device::vic3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +vic3_device::vic3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, VIC3, tag, owner, clock) , device_palette_interface(mconfig, *this) , device_video_interface(mconfig, *this) diff --git a/src/devices/video/vic4567.h b/src/devices/video/vic4567.h index 06c78f2a48e..f7c55182b1b 100644 --- a/src/devices/video/vic4567.h +++ b/src/devices/video/vic4567.h @@ -108,7 +108,7 @@ class vic3_device : public device_t, public: enum class vic3_type { NTSC, PAL }; - vic3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + vic3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); template <typename T> void set_cpu_tag(T &&tag) { m_cpu.set_tag(std::forward<T>(tag)); } void set_vic3_type(vic3_type type) { m_type = type; } diff --git a/src/devices/video/virge_pci.cpp b/src/devices/video/virge_pci.cpp index a76fc33966b..51b69fc7629 100644 --- a/src/devices/video/virge_pci.cpp +++ b/src/devices/video/virge_pci.cpp @@ -6,12 +6,12 @@ #include "screen.h" -virge_pci_device::virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +virge_pci_device::virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : virge_pci_device(mconfig, VIRGE_PCI, tag, owner, clock) { } -virge_pci_device::virge_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) +virge_pci_device::virge_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : pci_device(mconfig, type, tag, owner, clock), m_vga(*this, "vga"), m_bios(*this, "bios"), @@ -19,7 +19,7 @@ virge_pci_device::virge_pci_device(const machine_config &mconfig, device_type ty { } -virgedx_pci_device::virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +virgedx_pci_device::virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : virge_pci_device(mconfig, VIRGEDX_PCI, tag, owner, clock) { } @@ -272,7 +272,7 @@ void virge_pci_device::device_add_mconfig(machine_config &config) screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update)); - S3VIRGE(config, m_vga, 0); + S3VIRGE(config, m_vga); m_vga->set_screen("screen"); m_vga->set_vram_size(0x400000); } @@ -283,7 +283,7 @@ void virgedx_pci_device::device_add_mconfig(machine_config &config) screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update)); - S3VIRGEDX(config, m_vga, 0); + S3VIRGEDX(config, m_vga); m_vga->set_screen("screen"); m_vga->set_vram_size(0x400000); } diff --git a/src/devices/video/virge_pci.h b/src/devices/video/virge_pci.h index f4b6ce29009..a9bc4ce2d6c 100644 --- a/src/devices/video/virge_pci.h +++ b/src/devices/video/virge_pci.h @@ -17,7 +17,7 @@ class virge_pci_device : public pci_device { public: template <typename T> - virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) + virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&screen_tag) : virge_pci_device(mconfig, tag, owner, clock) { set_screen_tag(std::forward<T>(screen_tag)); @@ -31,8 +31,8 @@ public: LAW_4MB }; - virge_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + virge_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); + virge_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void lfb_map(address_map &map); void mmio_map(address_map& map); @@ -73,12 +73,12 @@ class virgedx_pci_device : public virge_pci_device { public: template <typename T> - virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&screen_tag) + virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&screen_tag) : virgedx_pci_device(mconfig, tag, owner, clock) { set_screen_tag(std::forward<T>(screen_tag)); } - virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + virgedx_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: virtual void device_start() override; diff --git a/src/devices/video/voodoo.cpp b/src/devices/video/voodoo.cpp index 94c9a5ca7c7..182e335269f 100644 --- a/src/devices/video/voodoo.cpp +++ b/src/devices/video/voodoo.cpp @@ -663,7 +663,7 @@ bool debug_stats::update_display_state(bool key_pressed) // generic_voodoo_device - constructor //------------------------------------------------- -generic_voodoo_device::generic_voodoo_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo_model model) : +generic_voodoo_device::generic_voodoo_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo_model model) : device_t(mconfig, type, tag, owner, clock), device_video_interface(mconfig, *this), m_model(model), @@ -702,7 +702,7 @@ void generic_voodoo_device::device_start() DEFINE_DEVICE_TYPE(VOODOO_1, voodoo_1_device, "voodoo_1", "3dfx Voodoo Graphics") -voodoo_1_device::voodoo_1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo_model model) : +voodoo_1_device::voodoo_1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo_model model) : generic_voodoo_device(mconfig, type, tag, owner, clock, model), m_chipmask(1), m_init_enable(0), @@ -2347,7 +2347,7 @@ u32 voodoo_1_device::reg_swapbuffer_w(u32 chipmask, u32 regnum, u32 data) // determine how many cycles to wait; we deliberately overshoot here because // the final count gets updated on the VBLANK - return (m_vblank_swap + 1) * clock() / 10; + return (m_vblank_swap + 1) * clock().value() / 10; } diff --git a/src/devices/video/voodoo.h b/src/devices/video/voodoo.h index 94a20c0f7af..d1275bb3322 100644 --- a/src/devices/video/voodoo.h +++ b/src/devices/video/voodoo.h @@ -418,7 +418,7 @@ public: protected: // internal construction - generic_voodoo_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo::voodoo_model model); + generic_voodoo_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo::voodoo_model model); // device-level overrides virtual void device_start() override; @@ -476,14 +476,14 @@ protected: static constexpr u32 TRIANGLE_SETUP_CLOCKS = 100; // internal construction - voodoo_1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo::voodoo_model model); + voodoo_1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo::voodoo_model model); public: // nominal clock values - static constexpr u32 NOMINAL_CLOCK = 50'000'000; + static constexpr XTAL NOMINAL_CLOCK = XTAL::u(50'000'000); // construction - voodoo_1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + voodoo_1_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_1_device(mconfig, VOODOO_1, tag, owner, clock, voodoo::voodoo_model::VOODOO_1) { } // destruction diff --git a/src/devices/video/voodoo_2.cpp b/src/devices/video/voodoo_2.cpp index 56fd7cdcc65..5715356e732 100644 --- a/src/devices/video/voodoo_2.cpp +++ b/src/devices/video/voodoo_2.cpp @@ -653,7 +653,7 @@ command_fifo::packet_handler command_fifo::s_packet_handler[8] = DEFINE_DEVICE_TYPE(VOODOO_2, voodoo_2_device, "voodoo_2", "3dfx Voodoo 2") -voodoo_2_device::voodoo_2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo_model model) : +voodoo_2_device::voodoo_2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo_model model) : voodoo_1_device(mconfig, type, tag, owner, clock, model), m_sverts(0), m_cmdfifo(*this) diff --git a/src/devices/video/voodoo_2.h b/src/devices/video/voodoo_2.h index a68886b846e..a4f0c5cb908 100644 --- a/src/devices/video/voodoo_2.h +++ b/src/devices/video/voodoo_2.h @@ -173,14 +173,14 @@ class voodoo_2_device : public voodoo_1_device protected: // internal construction - voodoo_2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo::voodoo_model model); + voodoo_2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo::voodoo_model model); public: // nominal clock value - static constexpr u32 NOMINAL_CLOCK = 90'000'000; + static constexpr XTAL NOMINAL_CLOCK = XTAL::u(90'000'000); // construction - voodoo_2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + voodoo_2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_2_device(mconfig, VOODOO_2, tag, owner, clock, voodoo::voodoo_model::VOODOO_2) { } // address map and read/write helpers diff --git a/src/devices/video/voodoo_banshee.cpp b/src/devices/video/voodoo_banshee.cpp index a23311802c8..c80144798ac 100644 --- a/src/devices/video/voodoo_banshee.cpp +++ b/src/devices/video/voodoo_banshee.cpp @@ -178,7 +178,7 @@ void banshee_vga_regs::register_save(save_proxy &save) DEFINE_DEVICE_TYPE(VOODOO_BANSHEE, voodoo_banshee_device, "voodoo_banshee", "3dfx Voodoo Banshee") -voodoo_banshee_device::voodoo_banshee_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo_model model) : +voodoo_banshee_device::voodoo_banshee_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo_model model) : voodoo_2_device(mconfig, type, tag, owner, clock, model), m_cmdfifo2(*this) { @@ -1633,7 +1633,7 @@ void voodoo_banshee_device::execute_blit(u32 data) DEFINE_DEVICE_TYPE(VOODOO_3, voodoo_3_device, "voodoo_3", "3dfx Voodoo 3") -voodoo_3_device::voodoo_3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : +voodoo_3_device::voodoo_3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_banshee_device(mconfig, VOODOO_3, tag, owner, clock, voodoo_model::VOODOO_3) { } diff --git a/src/devices/video/voodoo_banshee.h b/src/devices/video/voodoo_banshee.h index 31afb8289ae..8c6fbd5e2a1 100644 --- a/src/devices/video/voodoo_banshee.h +++ b/src/devices/video/voodoo_banshee.h @@ -41,14 +41,14 @@ class voodoo_banshee_device : public voodoo_2_device { protected: // internal construction - voodoo_banshee_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, voodoo::voodoo_model model); + voodoo_banshee_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock, voodoo::voodoo_model model); public: // nominal clock values - static constexpr u32 NOMINAL_CLOCK = 90'000'000; + static constexpr XTAL NOMINAL_CLOCK = XTAL::u(90'000'000); // construction - voodoo_banshee_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + voodoo_banshee_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_banshee_device(mconfig, VOODOO_BANSHEE, tag, owner, clock, voodoo::voodoo_model::VOODOO_BANSHEE) { } // core address map and read/write helpers @@ -172,10 +172,10 @@ class voodoo_3_device : public voodoo_banshee_device { public: // nominal clock values - static constexpr u32 NOMINAL_CLOCK = 132'000'000; + static constexpr XTAL NOMINAL_CLOCK = XTAL::u(132'000'000); // construction - voodoo_3_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + voodoo_3_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); protected: // device-level overrides diff --git a/src/devices/video/voodoo_pci.cpp b/src/devices/video/voodoo_pci.cpp index e27413c8851..11641f0efef 100644 --- a/src/devices/video/voodoo_pci.cpp +++ b/src/devices/video/voodoo_pci.cpp @@ -55,28 +55,28 @@ void voodoo_pci_device::config_map(address_map &map) map(0x40, 0x5f).rw(FUNC(voodoo_pci_device::pcictrl_r), FUNC(voodoo_pci_device::pcictrl_w)); } -voodoo_pci_device::voodoo_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) +voodoo_pci_device::voodoo_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock) : pci_device(mconfig, type, tag, owner, clock), m_generic_voodoo(*this, "voodoo"), m_cpu(*this, finder_base::DUMMY_TAG), m_screen(*this, finder_base::DUMMY_TAG), m_fbmem(2), m_tmumem0(0), m_tmumem1(0) { } -voodoo_1_pci_device::voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +voodoo_1_pci_device::voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_pci_device(mconfig, VOODOO_1_PCI, tag, owner, clock), m_voodoo(*this, "voodoo") { } -voodoo_2_pci_device::voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +voodoo_2_pci_device::voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_pci_device(mconfig, VOODOO_2_PCI, tag, owner, clock), m_voodoo(*this, "voodoo") { } -voodoo_banshee_pci_device::voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +voodoo_banshee_pci_device::voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_pci_device(mconfig, VOODOO_BANSHEE_PCI, tag, owner, clock), m_voodoo(*this, "voodoo") { } -voodoo_3_pci_device::voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +voodoo_3_pci_device::voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : voodoo_pci_device(mconfig, VOODOO_3_PCI, tag, owner, clock), m_voodoo(*this, "voodoo") { } diff --git a/src/devices/video/voodoo_pci.h b/src/devices/video/voodoo_pci.h index c56358b2c2f..283432b86df 100644 --- a/src/devices/video/voodoo_pci.h +++ b/src/devices/video/voodoo_pci.h @@ -25,7 +25,7 @@ public: void vga_w(offs_t offset, u32 data, u32 mem_mask = ~0); protected: - voodoo_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + voodoo_pci_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, const XTAL &clock); virtual void map_extra(u64 memory_window_start, u64 memory_window_end, u64 memory_offset, address_space *memory_space, u64 io_window_start, u64 io_window_end, u64 io_offset, address_space *io_space) override; @@ -53,14 +53,14 @@ class voodoo_1_pci_device : public voodoo_pci_device { public: template <typename T, typename U> - voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag, U &&screen_tag) - : voodoo_1_pci_device(mconfig, tag, owner, clock) + voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&screen_tag) + : voodoo_1_pci_device(mconfig, tag, owner) { set_cpu(std::forward<T>(cpu_tag)); set_screen(std::forward<U>(screen_tag)); } - voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + voodoo_1_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); protected: virtual void device_start() override; @@ -72,14 +72,14 @@ class voodoo_2_pci_device : public voodoo_pci_device { public: template <typename T, typename U> - voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag, U &&screen_tag) - : voodoo_2_pci_device(mconfig, tag, owner, clock) + voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&screen_tag) + : voodoo_2_pci_device(mconfig, tag, owner) { set_cpu(std::forward<T>(cpu_tag)); set_screen(std::forward<U>(screen_tag)); } - voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + voodoo_2_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); protected: virtual void device_start() override; @@ -91,14 +91,14 @@ class voodoo_banshee_pci_device : public voodoo_pci_device { public: template <typename T, typename U> - voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag, U &&screen_tag) - : voodoo_banshee_pci_device(mconfig, tag, owner, clock) + voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&screen_tag) + : voodoo_banshee_pci_device(mconfig, tag, owner) { set_cpu(std::forward<T>(cpu_tag)); set_screen(std::forward<U>(screen_tag)); } - voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + voodoo_banshee_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); protected: virtual void device_start() override; @@ -113,14 +113,14 @@ class voodoo_3_pci_device : public voodoo_pci_device { public: template <typename T, typename U> - voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock, T &&cpu_tag, U &&screen_tag) - : voodoo_3_pci_device(mconfig, tag, owner, clock) + voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&screen_tag) + : voodoo_3_pci_device(mconfig, tag, owner) { set_cpu(std::forward<T>(cpu_tag)); set_screen(std::forward<U>(screen_tag)); } - voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + voodoo_3_pci_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock = XTAL()); protected: virtual void device_start() override; diff --git a/src/devices/video/vrender0.cpp b/src/devices/video/vrender0.cpp index 8a0e7c9319c..1347aa30639 100644 --- a/src/devices/video/vrender0.cpp +++ b/src/devices/video/vrender0.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(VIDEO_VRENDER0, vr0video_device, "vr0video", "MagicEyes VRender0 Video Engine") -vr0video_device::vr0video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +vr0video_device::vr0video_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, VIDEO_VRENDER0, tag, owner, clock) , device_video_interface(mconfig, *this) , m_idleskip_cb(*this) diff --git a/src/devices/video/vrender0.h b/src/devices/video/vrender0.h index 3414721a5e7..ef332e6eae1 100644 --- a/src/devices/video/vrender0.h +++ b/src/devices/video/vrender0.h @@ -14,7 +14,7 @@ class vr0video_device : public device_t, public device_video_interface { public: - vr0video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + vr0video_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); void set_areas(uint16_t *textureram, uint16_t *frameram); void regs_map(address_map &map); diff --git a/src/devices/video/x1_001.cpp b/src/devices/video/x1_001.cpp index 59ea53bd062..1c03dc4b811 100644 --- a/src/devices/video/x1_001.cpp +++ b/src/devices/video/x1_001.cpp @@ -49,7 +49,7 @@ DEFINE_DEVICE_TYPE(X1_001, x1_001_device, "x1_001", "Seta X1-001 Sprites") -x1_001_device::x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +x1_001_device::x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, X1_001, tag, owner, clock) , device_gfx_interface(mconfig, *this) , m_gfxbank_cb(*this) diff --git a/src/devices/video/x1_001.h b/src/devices/video/x1_001.h index 74cdb239be0..8bf8f11b1b4 100644 --- a/src/devices/video/x1_001.h +++ b/src/devices/video/x1_001.h @@ -12,8 +12,8 @@ typedef device_delegate<int (uint16_t code, uint8_t color)> gfxbank_cb_delegate; class x1_001_device : public device_t, public device_gfx_interface { public: - x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <typename T> x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&palette_tag, const gfx_decode_entry *gfxinfo) + x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); + template <typename T> x1_001_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock, T &&palette_tag, const gfx_decode_entry *gfxinfo) : x1_001_device(mconfig, tag, owner, clock) { set_info(gfxinfo); diff --git a/src/devices/video/zeus2.cpp b/src/devices/video/zeus2.cpp index 300b5ad2d0c..7093b2700f3 100644 --- a/src/devices/video/zeus2.cpp +++ b/src/devices/video/zeus2.cpp @@ -27,7 +27,7 @@ zeus2_renderer::zeus2_renderer(zeus2_device *state) DEFINE_DEVICE_TYPE(ZEUS2, zeus2_device, "zeus2", "Midway Zeus2") -zeus2_device::zeus2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +zeus2_device::zeus2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock) : device_t(mconfig, ZEUS2, tag, owner, clock) , device_video_interface(mconfig, *this) , m_vblank(*this), m_irq(*this), m_atlantis(0) diff --git a/src/devices/video/zeus2.h b/src/devices/video/zeus2.h index 459fff99799..1dcff6e0746 100644 --- a/src/devices/video/zeus2.h +++ b/src/devices/video/zeus2.h @@ -104,7 +104,7 @@ typedef zeus2_renderer::extent_t z2_poly_extent; class zeus2_device : public device_t, public device_video_interface { public: - zeus2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + zeus2_device(const machine_config &mconfig, const char *tag, device_t *owner, const XTAL &clock); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t zeus2_r(offs_t offset); |