From c626209de7c5928ef7f47f1cfa11e2308ad148e1 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 27 Nov 2023 19:10:50 +0100 Subject: [PATCH] skywriter: prevent class variable shadowing with m_display, modular_tm: overclock lcd with set_clock_scale instead --- src/mame/handheld/hh_tms1k.cpp | 14 +++++++------- src/mame/hegenerglaser/modular_tm.cpp | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp index b25e2e33c6a..36a85f7e1b6 100644 --- a/src/mame/handheld/hh_tms1k.cpp +++ b/src/mame/handheld/hh_tms1k.cpp @@ -7463,7 +7463,7 @@ protected: virtual void machine_start() override; private: - std::unique_ptr m_display; + std::unique_ptr m_pixbuf; u8 m_led_data[2] = { }; u16 m_wand_pos[2] = { }; attotime m_shake; @@ -7480,8 +7480,8 @@ void skywriter_state::machine_start() { hh_tms1k_state::machine_start(); - m_display = make_unique_clear(7 * SKYWRITER_WIDTH); - save_pointer(NAME(m_display), 7 * SKYWRITER_WIDTH); + m_pixbuf = make_unique_clear(7 * SKYWRITER_WIDTH); + save_pointer(NAME(m_pixbuf), 7 * SKYWRITER_WIDTH); save_item(NAME(m_led_data)); save_item(NAME(m_wand_pos)); @@ -7498,7 +7498,7 @@ u32 skywriter_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, int dy = (i / SKYWRITER_WIDTH) * 4 + 1; // write current led state to pixels - u8 red = std::clamp(m_display[i], 0, 0xff); + u8 red = std::clamp(m_pixbuf[i], 0, 0xff); u8 green = red / 16; u8 blue = red / 12; @@ -7510,7 +7510,7 @@ u32 skywriter_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, // decay led brightness const double rate = 1.15; - m_display[i] /= rate; + m_pixbuf[i] /= rate; } return 0; @@ -7530,11 +7530,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(skywriter_state::check_pos) m_wand_pos[0] = pos; } - // write lit leds to display + // write lit leds to pixel buffer for (int i = 0; i < 7; i++) { if (BIT(m_led_data[0] | m_led_data[1], i)) - m_display[i * SKYWRITER_WIDTH + pos] = 0x180; + m_pixbuf[i * SKYWRITER_WIDTH + pos] = 0x180; } m_led_data[1] = m_led_data[0]; diff --git a/src/mame/hegenerglaser/modular_tm.cpp b/src/mame/hegenerglaser/modular_tm.cpp index 04c7fd7959e..1f5522a3f73 100644 --- a/src/mame/hegenerglaser/modular_tm.cpp +++ b/src/mame/hegenerglaser/modular_tm.cpp @@ -141,7 +141,7 @@ void mmtm_state::set_cpu_freq() m_maincpu->set_unscaled_clock(xtal[val]); // lcd busy flag timing problem when overclocked - subdevice("display:hd44780")->set_clock((val > 1) ? 350'000 : 270'000); + subdevice("display:hd44780")->set_clock_scale((val > 1) ? 1.32 : 1.0); }