summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video')
-rw-r--r--src/devices/video/315_5124.cpp12
-rw-r--r--src/devices/video/315_5124.h14
-rw-r--r--src/devices/video/315_5313.cpp2
-rw-r--r--src/devices/video/315_5313.h4
-rw-r--r--src/devices/video/am8052.cpp2
-rw-r--r--src/devices/video/am8052.h2
-rw-r--r--src/devices/video/avgdvg.cpp20
-rw-r--r--src/devices/video/avgdvg.h18
-rw-r--r--src/devices/video/bt431.cpp2
-rw-r--r--src/devices/video/bt431.h2
-rw-r--r--src/devices/video/bt459.cpp2
-rw-r--r--src/devices/video/bt459.h2
-rw-r--r--src/devices/video/bt45x.cpp22
-rw-r--r--src/devices/video/bt45x.h22
-rw-r--r--src/devices/video/bt47x.cpp14
-rw-r--r--src/devices/video/bt47x.h14
-rw-r--r--src/devices/video/bufsprite.cpp10
-rw-r--r--src/devices/video/bufsprite.h10
-rw-r--r--src/devices/video/catseye.cpp4
-rw-r--r--src/devices/video/catseye.h4
-rw-r--r--src/devices/video/cdp1861.cpp2
-rw-r--r--src/devices/video/cdp1861.h2
-rw-r--r--src/devices/video/cdp1862.cpp2
-rw-r--r--src/devices/video/cdp1862.h2
-rw-r--r--src/devices/video/cesblit.cpp2
-rw-r--r--src/devices/video/cesblit.h4
-rw-r--r--src/devices/video/clgd542x.cpp8
-rw-r--r--src/devices/video/clgd542x.h8
-rw-r--r--src/devices/video/crt9007.cpp2
-rw-r--r--src/devices/video/crt9007.h2
-rw-r--r--src/devices/video/crt9021.cpp2
-rw-r--r--src/devices/video/crt9021.h2
-rw-r--r--src/devices/video/crt9028.cpp4
-rw-r--r--src/devices/video/crt9028.h4
-rw-r--r--src/devices/video/crt9212.cpp2
-rw-r--r--src/devices/video/crt9212.h2
-rw-r--r--src/devices/video/crtc_ega.cpp2
-rw-r--r--src/devices/video/crtc_ega.h2
-rw-r--r--src/devices/video/decsfb.cpp2
-rw-r--r--src/devices/video/decsfb.h2
-rw-r--r--src/devices/video/dl1416.cpp10
-rw-r--r--src/devices/video/dl1416.h4
-rw-r--r--src/devices/video/dm9368.cpp2
-rw-r--r--src/devices/video/dm9368.h2
-rw-r--r--src/devices/video/dp8350.cpp14
-rw-r--r--src/devices/video/dp8350.h8
-rw-r--r--src/devices/video/dp8510.cpp2
-rw-r--r--src/devices/video/dp8510.h2
-rw-r--r--src/devices/video/ef9340_1.cpp2
-rw-r--r--src/devices/video/ef9340_1.h4
-rw-r--r--src/devices/video/ef9345.cpp6
-rw-r--r--src/devices/video/ef9345.h6
-rw-r--r--src/devices/video/ef9364.cpp2
-rw-r--r--src/devices/video/ef9364.h2
-rw-r--r--src/devices/video/ef9365.cpp2
-rw-r--r--src/devices/video/ef9365.h2
-rw-r--r--src/devices/video/ef9369.cpp2
-rw-r--r--src/devices/video/ef9369.h2
-rw-r--r--src/devices/video/epic12.cpp2
-rw-r--r--src/devices/video/epic12.h2
-rw-r--r--src/devices/video/fixfreq.cpp6
-rw-r--r--src/devices/video/fixfreq.h12
-rw-r--r--src/devices/video/gb_lcd.cpp10
-rw-r--r--src/devices/video/gb_lcd.h18
-rw-r--r--src/devices/video/gba_lcd.cpp2
-rw-r--r--src/devices/video/gba_lcd.h2
-rw-r--r--src/devices/video/gf4500.cpp2
-rw-r--r--src/devices/video/gf4500.h2
-rw-r--r--src/devices/video/gf7600gs.cpp2
-rw-r--r--src/devices/video/gf7600gs.h4
-rw-r--r--src/devices/video/hd44102.cpp2
-rw-r--r--src/devices/video/hd44102.h2
-rw-r--r--src/devices/video/hd44352.cpp2
-rw-r--r--src/devices/video/hd44352.h2
-rw-r--r--src/devices/video/hd44780.cpp8
-rw-r--r--src/devices/video/hd44780.h8
-rw-r--r--src/devices/video/hd61202.cpp2
-rw-r--r--src/devices/video/hd61202.h2
-rw-r--r--src/devices/video/hd61603.cpp2
-rw-r--r--src/devices/video/hd61603.h2
-rw-r--r--src/devices/video/hd61830.cpp2
-rw-r--r--src/devices/video/hd61830.h2
-rw-r--r--src/devices/video/hd63484.cpp2
-rw-r--r--src/devices/video/hd63484.h2
-rw-r--r--src/devices/video/hd66421.cpp2
-rw-r--r--src/devices/video/hd66421.h2
-rw-r--r--src/devices/video/hlcd0438.cpp2
-rw-r--r--src/devices/video/hlcd0438.h2
-rw-r--r--src/devices/video/hlcd0488.cpp2
-rw-r--r--src/devices/video/hlcd0488.h2
-rw-r--r--src/devices/video/hlcd0515.cpp10
-rw-r--r--src/devices/video/hlcd0515.h10
-rw-r--r--src/devices/video/hlcd0538.cpp8
-rw-r--r--src/devices/video/hlcd0538.h6
-rw-r--r--src/devices/video/hp1ll3.cpp2
-rw-r--r--src/devices/video/hp1ll3.h2
-rw-r--r--src/devices/video/huc6202.cpp2
-rw-r--r--src/devices/video/huc6202.h2
-rw-r--r--src/devices/video/huc6260.cpp2
-rw-r--r--src/devices/video/huc6260.h2
-rw-r--r--src/devices/video/huc6261.cpp2
-rw-r--r--src/devices/video/huc6261.h2
-rw-r--r--src/devices/video/huc6270.cpp2
-rw-r--r--src/devices/video/huc6270.h2
-rw-r--r--src/devices/video/huc6271.cpp2
-rw-r--r--src/devices/video/huc6271.h2
-rw-r--r--src/devices/video/huc6272.cpp2
-rw-r--r--src/devices/video/huc6272.h2
-rw-r--r--src/devices/video/i8244.cpp6
-rw-r--r--src/devices/video/i8244.h6
-rw-r--r--src/devices/video/i82730.cpp2
-rw-r--r--src/devices/video/i82730.h4
-rw-r--r--src/devices/video/i8275.cpp6
-rw-r--r--src/devices/video/i8275.h6
-rw-r--r--src/devices/video/imagetek_i4100.cpp8
-rw-r--r--src/devices/video/imagetek_i4100.h8
-rw-r--r--src/devices/video/ims_cvc.cpp12
-rw-r--r--src/devices/video/ims_cvc.h10
-rw-r--r--src/devices/video/jangou_blitter.cpp2
-rw-r--r--src/devices/video/jangou_blitter.h2
-rw-r--r--src/devices/video/k051316.cpp2
-rw-r--r--src/devices/video/k051316.h2
-rw-r--r--src/devices/video/k053936.cpp2
-rw-r--r--src/devices/video/k053936.h2
-rw-r--r--src/devices/video/lc7582.cpp2
-rw-r--r--src/devices/video/lc7582.h2
-rw-r--r--src/devices/video/lc7985.cpp2
-rw-r--r--src/devices/video/lc7985.h2
-rw-r--r--src/devices/video/m50458.cpp2
-rw-r--r--src/devices/video/m50458.h4
-rw-r--r--src/devices/video/mb88303.cpp2
-rw-r--r--src/devices/video/mb88303.h2
-rw-r--r--src/devices/video/mb90082.cpp2
-rw-r--r--src/devices/video/mb90082.h2
-rw-r--r--src/devices/video/mb_vcu.cpp2
-rw-r--r--src/devices/video/mb_vcu.h2
-rw-r--r--src/devices/video/mc6845.cpp28
-rw-r--r--src/devices/video/mc6845.h28
-rw-r--r--src/devices/video/mc6847.cpp20
-rw-r--r--src/devices/video/mc6847.h20
-rw-r--r--src/devices/video/md4330b.cpp6
-rw-r--r--src/devices/video/md4330b.h6
-rw-r--r--src/devices/video/mga2064w.cpp2
-rw-r--r--src/devices/video/mga2064w.h2
-rw-r--r--src/devices/video/mm5445.cpp10
-rw-r--r--src/devices/video/mm5445.h10
-rw-r--r--src/devices/video/mos6566.cpp22
-rw-r--r--src/devices/video/mos6566.h20
-rw-r--r--src/devices/video/msm6222b.cpp6
-rw-r--r--src/devices/video/msm6222b.h6
-rw-r--r--src/devices/video/msm6255.cpp2
-rw-r--r--src/devices/video/msm6255.h2
-rw-r--r--src/devices/video/nereid.cpp4
-rw-r--r--src/devices/video/nereid.h4
-rw-r--r--src/devices/video/nt7534.cpp4
-rw-r--r--src/devices/video/nt7534.h4
-rw-r--r--src/devices/video/pc_vga.cpp36
-rw-r--r--src/devices/video/pc_vga.h30
-rw-r--r--src/devices/video/pcd8544.cpp2
-rw-r--r--src/devices/video/pcd8544.h2
-rw-r--r--src/devices/video/pcf2100.cpp10
-rw-r--r--src/devices/video/pcf2100.h10
-rw-r--r--src/devices/video/ppu2c0x.cpp26
-rw-r--r--src/devices/video/ppu2c0x.h26
-rw-r--r--src/devices/video/ppu2c0x_sh6578.cpp6
-rw-r--r--src/devices/video/ppu2c0x_sh6578.h6
-rw-r--r--src/devices/video/ppu2c0x_vt.cpp6
-rw-r--r--src/devices/video/ppu2c0x_vt.h6
-rw-r--r--src/devices/video/ps2gif.cpp2
-rw-r--r--src/devices/video/ps2gif.h4
-rw-r--r--src/devices/video/ps2gs.cpp2
-rw-r--r--src/devices/video/ps2gs.h4
-rw-r--r--src/devices/video/psx.cpp28
-rw-r--r--src/devices/video/psx.h28
-rw-r--r--src/devices/video/pwm.cpp2
-rw-r--r--src/devices/video/pwm.h2
-rw-r--r--src/devices/video/ramdac.cpp2
-rw-r--r--src/devices/video/ramdac.h6
-rw-r--r--src/devices/video/saa5050.cpp18
-rw-r--r--src/devices/video/saa5050.h18
-rw-r--r--src/devices/video/saa5240.cpp8
-rw-r--r--src/devices/video/saa5240.h10
-rw-r--r--src/devices/video/scn2674.cpp6
-rw-r--r--src/devices/video/scn2674.h6
-rw-r--r--src/devices/video/sda5708.cpp2
-rw-r--r--src/devices/video/sda5708.h2
-rw-r--r--src/devices/video/sed1200.cpp10
-rw-r--r--src/devices/video/sed1200.h10
-rw-r--r--src/devices/video/sed1330.cpp4
-rw-r--r--src/devices/video/sed1330.h2
-rw-r--r--src/devices/video/sed1356.cpp2
-rw-r--r--src/devices/video/sed1356.h2
-rw-r--r--src/devices/video/sed1500.cpp10
-rw-r--r--src/devices/video/sed1500.h10
-rw-r--r--src/devices/video/sed1520.cpp10
-rw-r--r--src/devices/video/sed1520.h10
-rw-r--r--src/devices/video/snes_ppu.cpp2
-rw-r--r--src/devices/video/snes_ppu.h2
-rw-r--r--src/devices/video/sprite.h2
-rw-r--r--src/devices/video/t6963c.cpp6
-rw-r--r--src/devices/video/t6963c.h4
-rw-r--r--src/devices/video/t6a04.cpp2
-rw-r--r--src/devices/video/t6a04.h2
-rw-r--r--src/devices/video/tea1002.cpp2
-rw-r--r--src/devices/video/tea1002.h2
-rw-r--r--src/devices/video/tlc34076.cpp2
-rw-r--r--src/devices/video/tlc34076.h4
-rw-r--r--src/devices/video/tmap038.cpp2
-rw-r--r--src/devices/video/tmap038.h7
-rw-r--r--src/devices/video/tms34061.cpp2
-rw-r--r--src/devices/video/tms34061.h2
-rw-r--r--src/devices/video/tms3556.cpp2
-rw-r--r--src/devices/video/tms3556.h2
-rw-r--r--src/devices/video/tms9927.cpp16
-rw-r--r--src/devices/video/tms9927.h10
-rw-r--r--src/devices/video/tms9928a.cpp20
-rw-r--r--src/devices/video/tms9928a.h20
-rw-r--r--src/devices/video/topcat.cpp4
-rw-r--r--src/devices/video/topcat.h4
-rw-r--r--src/devices/video/upd3301.cpp2
-rw-r--r--src/devices/video/upd3301.h2
-rw-r--r--src/devices/video/upd7220.cpp2
-rw-r--r--src/devices/video/upd7220.h2
-rw-r--r--src/devices/video/upd7227.cpp2
-rw-r--r--src/devices/video/upd7227.h4
-rw-r--r--src/devices/video/v9938.cpp6
-rw-r--r--src/devices/video/v9938.h6
-rw-r--r--src/devices/video/vector.cpp2
-rw-r--r--src/devices/video/vector.h2
-rw-r--r--src/devices/video/vic4567.cpp2
-rw-r--r--src/devices/video/vic4567.h2
-rw-r--r--src/devices/video/virge_pci.cpp10
-rw-r--r--src/devices/video/virge_pci.h10
-rw-r--r--src/devices/video/voodoo.cpp6
-rw-r--r--src/devices/video/voodoo.h8
-rw-r--r--src/devices/video/voodoo_2.cpp2
-rw-r--r--src/devices/video/voodoo_2.h6
-rw-r--r--src/devices/video/voodoo_banshee.cpp4
-rw-r--r--src/devices/video/voodoo_banshee.h10
-rw-r--r--src/devices/video/voodoo_pci.cpp10
-rw-r--r--src/devices/video/voodoo_pci.h26
-rw-r--r--src/devices/video/vrender0.cpp2
-rw-r--r--src/devices/video/vrender0.h2
-rw-r--r--src/devices/video/x1_001.cpp2
-rw-r--r--src/devices/video/x1_001.h4
-rw-r--r--src/devices/video/zeus2.cpp2
-rw-r--r--src/devices/video/zeus2.h2
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);