diff --git a/src/mame/sinclair/glukrs.cpp b/src/mame/sinclair/glukrs.cpp index becb944c2fd56..383653f72aab4 100644 --- a/src/mame/sinclair/glukrs.cpp +++ b/src/mame/sinclair/glukrs.cpp @@ -14,12 +14,20 @@ #include "glukrs.h" glukrs_device::glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : mc146818_device(mconfig, GLUKRS, tag, owner, 32'768) + : mc146818_device(mconfig, GLUKRS, tag, owner, clock) { m_tuc = 1984; set_24hrs(true); } +void glukrs_device::device_validity_check(validity_checker &valid) const +{ + mc146818_device::device_validity_check(valid); + + if (clock() != 32'768) + osd_printf_error("Clock %u is different from expected 32'768\n", clock()); +} + void glukrs_device::device_start() { mc146818_device::device_start(); diff --git a/src/mame/sinclair/glukrs.h b/src/mame/sinclair/glukrs.h index f984c245e2d00..4fcc7ee0949c4 100644 --- a/src/mame/sinclair/glukrs.h +++ b/src/mame/sinclair/glukrs.h @@ -12,7 +12,7 @@ class glukrs_device : public mc146818_device { public: - glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); + glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32'768); void enable() { m_glukrs_active = true; } void disable() { m_glukrs_active = false; } @@ -24,6 +24,7 @@ class glukrs_device : public mc146818_device virtual void data_w(u8 data) override { if (m_glukrs_active) { mc146818_device::data_w(data); } } protected: + virtual void device_validity_check(validity_checker &valid) const override; void device_start() override ATTR_COLD; void device_reset() override ATTR_COLD; diff --git a/src/mame/sinclair/pentevo.cpp b/src/mame/sinclair/pentevo.cpp index f7d71bd75e5b9..6bd5a4ef994c6 100644 --- a/src/mame/sinclair/pentevo.cpp +++ b/src/mame/sinclair/pentevo.cpp @@ -728,7 +728,7 @@ void pentevo_state::pentevo(machine_config &config) m_ram->set_default_size("4M"); RAM(config, m_char_ram).set_default_size("2048").set_default_value(0); - GLUKRS(config, m_glukrs); + GLUKRS(config, m_glukrs, 32.768_kHz_XTAL); SPI_SDCARD(config, m_sdcard, 0); m_sdcard->set_prefer_sdhc(); m_sdcard->spi_miso_callback().set(FUNC(pentevo_state::spi_miso_w)); diff --git a/src/mame/sinclair/tsconf.cpp b/src/mame/sinclair/tsconf.cpp index b2e14797714b3..d78c0d33372d7 100644 --- a/src/mame/sinclair/tsconf.cpp +++ b/src/mame/sinclair/tsconf.cpp @@ -296,7 +296,7 @@ void tsconf_state::tsconf(machine_config &config) m_ram->set_default_size("4096K").set_default_value(0x00); // must be random but 0x00 behaves better than 0xff in tested software - GLUKRS(config, m_glukrs); + GLUKRS(config, m_glukrs, 32.768_kHz_XTAL); TSCONF_DMA(config, m_dma, 28_MHz_XTAL); m_dma->in_mreq_callback().set(FUNC(tsconf_state::ram_read16));