diff options
| author | 2025-07-11 09:23:05 -0400 | |
|---|---|---|
| committer | 2025-07-11 09:23:05 -0400 | |
| commit | fee383013b183ce5468c3812679a0bcfd06af1cf (patch) | |
| tree | 766c9042c7ed6afb81f4ceec2bcb3b286972a5ca | |
| parent | e9557601830777bba7e2b79a03ac234c43203d72 (diff) | |
sinclair/glukrs.cpp: Updated clock to schematics defined; (#13942)
sinclair/pentevo.cpp: Removed hacks around RTC registers
| -rw-r--r-- | src/mame/sinclair/glukrs.cpp | 17 | ||||
| -rw-r--r-- | src/mame/sinclair/glukrs.h | 2 | ||||
| -rw-r--r-- | src/mame/sinclair/pentevo.cpp | 18 | ||||
| -rw-r--r-- | src/mame/sinclair/tsconf.cpp | 2 |
4 files changed, 12 insertions, 27 deletions
diff --git a/src/mame/sinclair/glukrs.cpp b/src/mame/sinclair/glukrs.cpp index cd738cc942e..becb944c2fd 100644 --- a/src/mame/sinclair/glukrs.cpp +++ b/src/mame/sinclair/glukrs.cpp @@ -14,18 +14,9 @@ #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, clock) + : mc146818_device(mconfig, GLUKRS, tag, owner, 32'768) { - switch (clock) - { - case 4'194'304: - case 1'048'576: - m_tuc = 248; - break; - case 32'768: - m_tuc = 1984; - break; - } + m_tuc = 1984; set_24hrs(true); } @@ -38,8 +29,12 @@ void glukrs_device::device_start() void glukrs_device::device_reset() { + m_data[REG_A] &= ~(REG_A_DV2 | REG_A_DV1 | REG_A_DV2); + m_data[REG_A] |= REG_A_DV1; mc146818_device::device_reset(); + update_timer(); + m_glukrs_active = false; } diff --git a/src/mame/sinclair/glukrs.h b/src/mame/sinclair/glukrs.h index 2a446497cb3..f984c245e2d 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); + glukrs_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); void enable() { m_glukrs_active = true; } void disable() { m_glukrs_active = false; } diff --git a/src/mame/sinclair/pentevo.cpp b/src/mame/sinclair/pentevo.cpp index dca4537dda9..f7d71bd75e5 100644 --- a/src/mame/sinclair/pentevo.cpp +++ b/src/mame/sinclair/pentevo.cpp @@ -515,19 +515,9 @@ void pentevo_state::spi_miso_w(u8 data) u8 pentevo_state::gluk_data_r(offs_t offset) { - if (m_glukrs->is_active()) - { - if (m_gluk_ext == 2) - return m_keyboard->read(); - else if (m_glukrs->address_r() == 0x0a) - return 0x20 | (m_glukrs->data_r() & 0x0f); - else if (m_glukrs->address_r() == 0x0b) - return 0x02 | (m_glukrs->data_r() & 0x04); - else if (m_glukrs->address_r() == 0x0c) - return 0x10; - else if (m_glukrs->address_r() == 0x0d) - return 0x80; - } + if (m_glukrs->is_active() && (m_gluk_ext == 2)) + return m_keyboard->read(); + return m_glukrs->data_r(); // returns 0xff if inactive } @@ -738,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, 4'194'304); + GLUKRS(config, m_glukrs); 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 cffd9ac802f..b2e14797714 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, 4'194'304); + GLUKRS(config, m_glukrs); TSCONF_DMA(config, m_dma, 28_MHz_XTAL); m_dma->in_mreq_callback().set(FUNC(tsconf_state::ram_read16)); |
