From 6ca98f5f7ba28e222965e306f28df06f423fd4d2 Mon Sep 17 00:00:00 2001 From: Lord-Nightmare Date: Wed, 15 Nov 2023 17:15:33 -0500 Subject: Explicitly define a clock for all HD44780 and derivative LCD controllers, and add a validity check to ensure the defined clock is non-zero. [Lord Nightmare] --- src/devices/bus/bbc/userport/lcd.cpp | 2 +- src/devices/bus/saitek_osa/maestro.cpp | 2 +- src/devices/video/hd44780.cpp | 8 +++++++ src/devices/video/hd44780.h | 3 ++- src/mame/alesis/alesis.cpp | 2 +- src/mame/brother/ax145.cpp | 42 +++++++++++++++++----------------- src/mame/canon/canon_s80.cpp | 2 +- src/mame/casio/ctk2000.cpp | 2 +- src/mame/casio/ctk551.cpp | 4 ++-- src/mame/casio/cz101.cpp | 2 +- src/mame/casio/ld50.cpp | 2 +- src/mame/casio/rz1.cpp | 2 +- src/mame/elektor/avrmax.cpp | 2 +- src/mame/emusys/emax.cpp | 4 ++-- src/mame/emusys/emu3.cpp | 2 +- src/mame/emusys/emu68k.cpp | 2 +- src/mame/hegenerglaser/mmdisplay2.cpp | 2 +- src/mame/kawai/r100.cpp | 2 +- src/mame/korg/korgds8.cpp | 2 +- src/mame/korg/korgdss1.cpp | 2 +- src/mame/korg/korgm1.cpp | 2 +- src/mame/makerbot/replicator.cpp | 2 +- src/mame/misc/piggypas.cpp | 8 +++---- src/mame/multitech/mpf1_88.cpp | 2 +- src/mame/novag/diablo.cpp | 2 +- src/mame/novag/sexpert.cpp | 2 +- src/mame/psion/psion.cpp | 2 +- src/mame/roland/alphajuno.cpp | 4 ++-- src/mame/roland/roland_s10.cpp | 2 +- src/mame/sega/model1io2.cpp | 2 +- src/mame/sega/speedbsk.cpp | 2 +- src/mame/skeleton/600cat.cpp | 2 +- src/mame/skeleton/adacp150.cpp | 2 +- src/mame/skeleton/airbase99.cpp | 2 +- src/mame/skeleton/alphasma.cpp | 4 ++-- src/mame/skeleton/alphasma3k.cpp | 4 ++-- src/mame/skeleton/consola_emt.cpp | 2 +- src/mame/skeleton/eurit.cpp | 2 +- src/mame/skeleton/gm1000.cpp | 2 +- src/mame/skeleton/hprot1.cpp | 2 +- src/mame/skeleton/icatel.cpp | 2 +- src/mame/skeleton/ml20.cpp | 2 +- src/mame/skeleton/mtd1256.cpp | 2 +- src/mame/skeleton/rd100.cpp | 2 +- src/mame/skeleton/sk101bl.cpp | 2 +- src/mame/skeleton/ti630.cpp | 10 ++++---- src/mame/sony/dpsv55.cpp | 2 +- src/mame/ti/cc40.cpp | 2 +- src/mame/ti/ti74.cpp | 4 ++-- src/mame/vtech/lcmate2.cpp | 2 +- src/mame/vtech/pc2000.cpp | 4 ++-- src/mame/yamaha/fb01.cpp | 2 +- src/mame/yamaha/mulcd.cpp | 2 +- src/mame/yamaha/ymdx100.cpp | 6 ++--- src/mame/yamaha/ymdx11.cpp | 2 +- src/mame/yamaha/ymdx7.cpp | 4 ++-- src/mame/yamaha/ymdx9.cpp | 2 +- src/mame/yamaha/ympsr150.cpp | 2 +- src/mame/yamaha/ympsr260.cpp | 2 +- src/mame/yamaha/ympsr340.cpp | 2 +- src/mame/yamaha/ymrx15.cpp | 2 +- src/mame/yamaha/ymtx81z.cpp | 2 +- 62 files changed, 107 insertions(+), 98 deletions(-) diff --git a/src/devices/bus/bbc/userport/lcd.cpp b/src/devices/bus/bbc/userport/lcd.cpp index f5f92270ca9..ae7ab1e31df 100644 --- a/src/devices/bus/bbc/userport/lcd.cpp +++ b/src/devices/bus/bbc/userport/lcd.cpp @@ -37,7 +37,7 @@ void bbc_lcd_device::device_add_mconfig(machine_config &config) PALETTE(config, "palette", FUNC(bbc_lcd_device::lcd_palette), 3); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(4, 20); m_lcdc->set_pixel_update_cb(FUNC(bbc_lcd_device::lcd_pixel_update)); } diff --git a/src/devices/bus/saitek_osa/maestro.cpp b/src/devices/bus/saitek_osa/maestro.cpp index d1ed6c3dbbf..975f69672dd 100644 --- a/src/devices/bus/saitek_osa/maestro.cpp +++ b/src/devices/bus/saitek_osa/maestro.cpp @@ -237,7 +237,7 @@ void saitekosa_analyst_device::device_add_mconfig(machine_config &config) saitekosa_maestro_device::device_add_mconfig(config); // video hardware - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used } diff --git a/src/devices/video/hd44780.cpp b/src/devices/video/hd44780.cpp index 813403977f2..f49bc6c7ebe 100644 --- a/src/devices/video/hd44780.cpp +++ b/src/devices/video/hd44780.cpp @@ -189,6 +189,14 @@ void hd44780_device::device_reset() set_busy_flag(1520); } +//------------------------------------------------- +// device validity check +//------------------------------------------------- +void hd44780_device::device_validity_check(validity_checker &valid) const +{ + if (clock() == 0) + osd_printf_error("LCDC clock cannot be zero!\n"); +} //------------------------------------------------- // timer events diff --git a/src/devices/video/hd44780.h b/src/devices/video/hd44780.h index 6914e5b624e..4e148b18879 100644 --- a/src/devices/video/hd44780.h +++ b/src/devices/video/hd44780.h @@ -27,7 +27,7 @@ public: typedef device_delegate 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, uint32_t clock); // static configuration helpers void set_lcd_size(int lines, int chars) { m_lines = lines; m_chars = chars; } @@ -58,6 +58,7 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; + virtual void device_validity_check(validity_checker &valid) const override; // optional information overrides virtual const tiny_rom_entry *device_rom_region() const override; diff --git a/src/mame/alesis/alesis.cpp b/src/mame/alesis/alesis.cpp index 268678882dc..930a2edbfa5 100644 --- a/src/mame/alesis/alesis.cpp +++ b/src/mame/alesis/alesis.cpp @@ -431,7 +431,7 @@ void alesis_state::hr16(machine_config &config) m_cassette->set_default_state(CASSETTE_STOPPED); m_cassette->set_interface("hr16_cass"); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); /* sound hardware */ diff --git a/src/mame/brother/ax145.cpp b/src/mame/brother/ax145.cpp index aa32acfd8c6..32e41647f37 100644 --- a/src/mame/brother/ax145.cpp +++ b/src/mame/brother/ax145.cpp @@ -103,10 +103,10 @@ class ax145_state : public driver_device public: ax145_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - maincpu(*this, "maincpu"), - lcdc(*this, "hd44780"), - ram(*this, "ram", 0x8000, ENDIANNESS_LITTLE), - rom(*this, "maincpu"), + m_maincpu(*this, "maincpu"), + m_lcdc(*this, "hd44780"), + m_ram(*this, "ram", 0x8000, ENDIANNESS_LITTLE), + m_rom(*this, "maincpu"), dictionary_bank(*this, "dictionary") { } @@ -123,10 +123,10 @@ private: static constexpr uint8_t ID = 1; // devices - required_device maincpu; - required_device lcdc; - memory_share_creator ram; - required_region_ptr rom; + required_device m_maincpu; + required_device m_lcdc; + memory_share_creator m_ram; + required_region_ptr m_rom; required_memory_bank dictionary_bank; // config switch @@ -199,17 +199,17 @@ private: uint8_t lcd_data_r() { if(BIT(lcd_signal, 1)) // RS - return lcdc->data_r(); + return m_lcdc->data_r(); else - return lcdc->control_r(); + return m_lcdc->control_r(); } void lcd_data_w(uint8_t data) { if(BIT(lcd_signal, 0)) { // E if(BIT(lcd_signal, 1)) // RS - lcdc->data_w(data << 4); + m_lcdc->data_w(data << 4); else - lcdc->control_w(data << 4); + m_lcdc->control_w(data << 4); } } @@ -221,13 +221,13 @@ private: // int2 TIMER_DEVICE_CALLBACK_MEMBER(int2_timer_callback) { - maincpu->set_input_line(INPUT_LINE_IRQ2, ASSERT_LINE); + m_maincpu->set_input_line(INPUT_LINE_IRQ2, ASSERT_LINE); } uint8_t irq_ack_r() { if(!machine().side_effects_disabled()) - maincpu->set_input_line(INPUT_LINE_IRQ2, CLEAR_LINE); + m_maincpu->set_input_line(INPUT_LINE_IRQ2, CLEAR_LINE); return 0; } }; @@ -238,8 +238,8 @@ void ax145_state::video_start() void ax145_state::machine_start() { - maincpu->space(AS_PROGRAM).install_ram(0x02000, 0x03fff, ram); // first 0x2000 bytes of RAM - maincpu->space(AS_PROGRAM).install_ram(0x62000, 0x69fff, ram); // complete 0x8000 bytes of RAM + m_maincpu->space(AS_PROGRAM).install_ram(0x02000, 0x03fff, m_ram); // first 0x2000 bytes of RAM + m_maincpu->space(AS_PROGRAM).install_ram(0x62000, 0x69fff, m_ram); // complete 0x8000 bytes of RAM dictionary_bank->configure_entries(0, 4, memregion("dictionary")->base(), 0x20000); // TODO: ROM patch @@ -251,9 +251,9 @@ void ax145_state::machine_reset() void ax145_state::ax145(machine_config &config) { // basic machine hardware - HD64180RP(config, maincpu, 12'000'000 / 2); - maincpu->set_addrmap(AS_PROGRAM, &ax145_state::map_program); - maincpu->set_addrmap(AS_IO, &ax145_state::map_io); + HD64180RP(config, m_maincpu, 12'000'000 / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &ax145_state::map_program); + m_maincpu->set_addrmap(AS_IO, &ax145_state::map_io); TIMER(config, "1khz").configure_periodic(FUNC(ax145_state::int2_timer_callback), attotime::from_hz(1000)); // just guessing frequency, based on LW-30, 350, 450 @@ -269,8 +269,8 @@ void ax145_state::ax145(machine_config &config) { PALETTE(config, "palette", FUNC(ax145_state::palette), 2); - HD44780(config, lcdc, 0); - lcdc->set_lcd_size(2, 40); + HD44780(config, m_lcdc, 250'000); // TODO: Wrong device type, should be HD44780-B02 custom character set mask; clock not measured, datasheet typical clock used + m_lcdc->set_lcd_size(2, 40); } static INPUT_PORTS_START(ax145) diff --git a/src/mame/canon/canon_s80.cpp b/src/mame/canon/canon_s80.cpp index f58794846ae..13d1a4be29d 100644 --- a/src/mame/canon/canon_s80.cpp +++ b/src/mame/canon/canon_s80.cpp @@ -320,7 +320,7 @@ void canons80_state::canons80(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 16-1); screen.set_palette("palette"); - hd44780_device &hd44780(HD44780(config, "lcdc")); + hd44780_device &hd44780(HD44780(config, "lcdc", 250'000)); // TODO: Wrong device type, should be T1719A; clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 16); hd44780.set_pixel_update_cb(FUNC(canons80_state::pixel_update)); diff --git a/src/mame/casio/ctk2000.cpp b/src/mame/casio/ctk2000.cpp index 1acaf8995e7..a3710cb8313 100644 --- a/src/mame/casio/ctk2000.cpp +++ b/src/mame/casio/ctk2000.cpp @@ -113,7 +113,7 @@ void ctk2000_state::ctk2000(machine_config &config) m_maincpu->adc_cb<3>().set_ioport("AIN3"); // LCD - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: Wrong device type, should be ST7066U_0A; clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(ctk2000_state::lcd_update)); diff --git a/src/mame/casio/ctk551.cpp b/src/mame/casio/ctk551.cpp index 5d109ec885a..1b8a3efe454 100644 --- a/src/mame/casio/ctk551.cpp +++ b/src/mame/casio/ctk551.cpp @@ -574,7 +574,7 @@ void ctk551_state::ctk601(machine_config& config) m_maincpu->write_sci_tx<0>().set(mdout, FUNC(midi_port_device::write_txd)); // LCD - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: Wrong device type, should be SED1278F2A (custom mask variant of SED1278F0A?); clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); auto& screen = SCREEN(config, "screen", SCREEN_TYPE_SVG); @@ -617,7 +617,7 @@ void ctk551_state::ctk551(machine_config &config) m_maincpu->write_sci_tx<0>().set(mdout, FUNC(midi_port_device::write_txd)); // LCD - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: Wrong device type, should be SED1278F2A (custom mask variant of SED1278F0A?); clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); auto &screen = SCREEN(config, "screen", SCREEN_TYPE_SVG); diff --git a/src/mame/casio/cz101.cpp b/src/mame/casio/cz101.cpp index 38533cf2782..5ebbc82490e 100644 --- a/src/mame/casio/cz101.cpp +++ b/src/mame/casio/cz101.cpp @@ -475,7 +475,7 @@ void cz101_state::cz101(machine_config &config) PALETTE(config, "palette", FUNC(cz101_state::cz101_palette), 3); - HD44780(config, m_hd44780, 0); + HD44780(config, m_hd44780, 250'000); // TODO: clock not measured, datasheet typical clock used m_hd44780->set_lcd_size(2, 16); m_hd44780->set_function_set_at_any_time(); m_hd44780->set_pixel_update_cb(FUNC(cz101_state::lcd_pixel_update)); diff --git a/src/mame/casio/ld50.cpp b/src/mame/casio/ld50.cpp index bff84f3377b..3f9a18b24f0 100644 --- a/src/mame/casio/ld50.cpp +++ b/src/mame/casio/ld50.cpp @@ -277,7 +277,7 @@ void ld50_state::ld50(machine_config &config) m_maincpu->port_out_cb<3>().set(FUNC(ld50_state::port3_w)); // LCD - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(ld50_state::lcd_update)); diff --git a/src/mame/casio/rz1.cpp b/src/mame/casio/rz1.cpp index ea2c45a3341..40baff61455 100644 --- a/src/mame/casio/rz1.cpp +++ b/src/mame/casio/rz1.cpp @@ -430,7 +430,7 @@ void rz1_state::rz1(machine_config &config) PALETTE(config, "palette", FUNC(rz1_state::rz1_palette), 3); - HD44780(config, m_hd44780, 0); + HD44780(config, m_hd44780, 250'000); // TODO: clock not measured, datasheet typical clock used m_hd44780->set_lcd_size(1, 16); m_hd44780->set_pixel_update_cb(FUNC(rz1_state::lcd_pixel_update)); diff --git a/src/mame/elektor/avrmax.cpp b/src/mame/elektor/avrmax.cpp index 8eef96242e5..6911279a6b3 100644 --- a/src/mame/elektor/avrmax.cpp +++ b/src/mame/elektor/avrmax.cpp @@ -287,7 +287,7 @@ void avrmax_state::atm18mcc(machine_config &config) screen.set_visarea_full(); screen.set_screen_update(FUNC(avrmax_state::screen_update)); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: Wrong device type, should be HD44780U_A00; clock not measured, datasheet typical clock used config.set_default_layout(layout_atm18mcc); } diff --git a/src/mame/emusys/emax.cpp b/src/mame/emusys/emax.cpp index fa83491b452..031d57fc5d9 100644 --- a/src/mame/emusys/emax.cpp +++ b/src/mame/emusys/emax.cpp @@ -222,7 +222,7 @@ void emax_state::emax(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 16-1); screen.set_palette("palette"); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(emax_state::pixel_update)); @@ -262,7 +262,7 @@ void emax_state::emax2(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 16-1); screen.set_palette("palette"); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(emax_state::pixel_update)); diff --git a/src/mame/emusys/emu3.cpp b/src/mame/emusys/emu3.cpp index 2a3175fc8bc..fee69836ccf 100644 --- a/src/mame/emusys/emu3.cpp +++ b/src/mame/emusys/emu3.cpp @@ -251,7 +251,7 @@ void emu3_state::emu3(machine_config &config) SCC85230(config, m_scc, 16_MHz_XTAL / 4); m_scc->out_int_callback().set(*this, FUNC(emu3_state::irq_w)).invert(); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(4, 20); PALETTE(config, "palette", FUNC(emu3_state::palette_init), 2); diff --git a/src/mame/emusys/emu68k.cpp b/src/mame/emusys/emu68k.cpp index dd19d83d16b..1c9d123a886 100644 --- a/src/mame/emusys/emu68k.cpp +++ b/src/mame/emusys/emu68k.cpp @@ -142,7 +142,7 @@ void emu68k_state::add_lcd(machine_config &config) PALETTE(config, "palette", FUNC(emu68k_state::palette_init), 2); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 16); lcdc.set_pixel_update_cb(FUNC(emu68k_state::lcd_pixel_update)); } diff --git a/src/mame/hegenerglaser/mmdisplay2.cpp b/src/mame/hegenerglaser/mmdisplay2.cpp index 59d20bc12ea..7b00026413d 100644 --- a/src/mame/hegenerglaser/mmdisplay2.cpp +++ b/src/mame/hegenerglaser/mmdisplay2.cpp @@ -46,7 +46,7 @@ void mephisto_display2_device::device_add_mconfig(machine_config &config) PALETTE(config, "palette", FUNC(mephisto_display2_device::lcd_palette), 3); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcd->set_lcd_size(2, 16); m_lcd->set_pixel_update_cb(FUNC(mephisto_display2_device::lcd_pixel_update)); diff --git a/src/mame/kawai/r100.cpp b/src/mame/kawai/r100.cpp index 72af946e462..b504ea4c549 100644 --- a/src/mame/kawai/r100.cpp +++ b/src/mame/kawai/r100.cpp @@ -132,7 +132,7 @@ void kawai_r100_state::r100(machine_config &config) PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(kawai_r100_state::pixel_update)); } diff --git a/src/mame/korg/korgds8.cpp b/src/mame/korg/korgds8.cpp index 5633ebc983f..0a95078673e 100644 --- a/src/mame/korg/korgds8.cpp +++ b/src/mame/korg/korgds8.cpp @@ -229,7 +229,7 @@ void korg_ds8_state::ds8(machine_config &config) PALETTE(config, "palette", FUNC(korg_ds8_state::palette_init_ds8), 2); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 40); lcdc.set_pixel_update_cb(FUNC(korg_ds8_state::lcd_pixel_update)); diff --git a/src/mame/korg/korgdss1.cpp b/src/mame/korg/korgdss1.cpp index 354ca7ed250..64b649c0436 100644 --- a/src/mame/korg/korgdss1.cpp +++ b/src/mame/korg/korgdss1.cpp @@ -466,7 +466,7 @@ void korg_dss1_state::klm780(machine_config &config) PALETTE(config, "palette", FUNC(korg_dss1_state::palette_init_dss1), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); m_lcdc->set_pixel_update_cb(FUNC(korg_dss1_state::lcd_pixel_update)); } diff --git a/src/mame/korg/korgm1.cpp b/src/mame/korg/korgm1.cpp index 863c5c6228d..27a605c2d92 100644 --- a/src/mame/korg/korgm1.cpp +++ b/src/mame/korg/korgm1.cpp @@ -251,7 +251,7 @@ void korgm1_state::korgm1(machine_config &config) PALETTE(config, "palette", FUNC(korgm1_state::palette_init), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 40); m_lcdc->set_pixel_update_cb(FUNC(korgm1_state::lcd_pixel_update)); diff --git a/src/mame/makerbot/replicator.cpp b/src/mame/makerbot/replicator.cpp index aa052d3a9e3..b34fbf560b6 100644 --- a/src/mame/makerbot/replicator.cpp +++ b/src/mame/makerbot/replicator.cpp @@ -734,7 +734,7 @@ void replicator_state::replicator(machine_config &config) PALETTE(config, "palette", FUNC(replicator_state::palette_init), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_replicator); - HD44780(config, "hd44780", 0).set_lcd_size(4, 20); + HD44780(config, "hd44780", 250'000).set_lcd_size(4, 20); // TODO: clock not measured, datasheet typical clock used /* sound hardware */ /* A piezo is connected to the PORT G bit 5 (OC0B pin driven by Timer/Counter #4) */ diff --git a/src/mame/misc/piggypas.cpp b/src/mame/misc/piggypas.cpp index 587c553ee94..93f98c45b31 100644 --- a/src/mame/misc/piggypas.cpp +++ b/src/mame/misc/piggypas.cpp @@ -212,7 +212,7 @@ void piggypas_state::piggypas(machine_config &config) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); screen.set_refresh_hz(50); - screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update)); + screen.set_screen_update(m_hd44780, FUNC(hd44780_device::screen_update)); screen.set_size(16*6, 8); screen.set_visarea(0, 16*6-1, 0, 8-1); screen.set_palette("palette"); @@ -220,9 +220,9 @@ void piggypas_state::piggypas(machine_config &config) PALETTE(config, "palette").set_entries(2); config.set_default_layout(layout_piggypas); - hd44780_device &hd44780(HD44780(config, "hd44780")); - hd44780.set_lcd_size(1, 16); - hd44780.set_pixel_update_cb(FUNC(piggypas_state::piggypas_pixel_update)); + HD44780(config, m_hd44780, 250'000); // TODO: clock not measured, datasheet typical clock used + m_hd44780->set_lcd_size(1, 16); + m_hd44780->set_pixel_update_cb(FUNC(piggypas_state::piggypas_pixel_update)); /* sound hardware */ SPEAKER(config, "mono").front_center(); diff --git a/src/mame/multitech/mpf1_88.cpp b/src/mame/multitech/mpf1_88.cpp index 26c9d687fa8..39ac0a1fa7d 100644 --- a/src/mame/multitech/mpf1_88.cpp +++ b/src/mame/multitech/mpf1_88.cpp @@ -338,7 +338,7 @@ void mpf1_88_state::mpf1_88(machine_config &config) PALETTE(config, "palette", FUNC(mpf1_88_state::lcd_palette), 3); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 20); lcdc.set_pixel_update_cb(FUNC(mpf1_88_state::lcd_pixel_update)); lcdc.set_function_set_at_any_time(true); diff --git a/src/mame/novag/diablo.cpp b/src/mame/novag/diablo.cpp index d6ce6780f90..62705cc3051 100644 --- a/src/mame/novag/diablo.cpp +++ b/src/mame/novag/diablo.cpp @@ -301,7 +301,7 @@ void diablo_state::diablo68k(machine_config &config) PALETTE(config, "palette", FUNC(diablo_state::lcd_palette), 3); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcd->set_lcd_size(2, 8); m_lcd->set_pixel_update_cb(FUNC(diablo_state::lcd_pixel_update)); diff --git a/src/mame/novag/sexpert.cpp b/src/mame/novag/sexpert.cpp index 060034c4eef..9195e2cbce6 100644 --- a/src/mame/novag/sexpert.cpp +++ b/src/mame/novag/sexpert.cpp @@ -445,7 +445,7 @@ void sexpert_state::sexpert(machine_config &config) PALETTE(config, "palette", FUNC(sexpert_state::lcd_palette), 3); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcd->set_lcd_size(2, 8); m_lcd->set_pixel_update_cb(FUNC(sexpert_state::lcd_pixel_update)); diff --git a/src/mame/psion/psion.cpp b/src/mame/psion/psion.cpp index d78da75b5ab..e17d82d74f4 100644 --- a/src/mame/psion/psion.cpp +++ b/src/mame/psion/psion.cpp @@ -548,7 +548,7 @@ void psion_state::psion_2lines(machine_config &config) PALETTE(config, "palette", FUNC(psion_state::psion_palette), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_psion); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: Wrong device? Custom? clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); /* sound hardware */ diff --git a/src/mame/roland/alphajuno.cpp b/src/mame/roland/alphajuno.cpp index 458969bb334..b874a8cf10d 100644 --- a/src/mame/roland/alphajuno.cpp +++ b/src/mame/roland/alphajuno.cpp @@ -142,7 +142,7 @@ void alphajuno_state::ajuno1(machine_config &config) PALETTE(config, "palette", FUNC(alphajuno_state::palette_init), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(alphajuno_state::lcd_pixel_update)); m_lcdc->set_busy_factor(0.005f); @@ -181,7 +181,7 @@ void alphajuno_state::mks50(machine_config &config) PALETTE(config, "palette", FUNC(alphajuno_state::palette_init), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(alphajuno_state::lcd_pixel_update)); m_lcdc->set_busy_factor(0.05f); diff --git a/src/mame/roland/roland_s10.cpp b/src/mame/roland/roland_s10.cpp index f04c6bb1e15..f65128ff818 100644 --- a/src/mame/roland/roland_s10.cpp +++ b/src/mame/roland/roland_s10.cpp @@ -238,7 +238,7 @@ void roland_s10_state::s10(machine_config &config) PALETTE(config, "palette", FUNC(roland_s10_state::palette_init), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(roland_s10_state::lcd_pixel_update)); m_lcdc->set_busy_factor(0.005f); diff --git a/src/mame/sega/model1io2.cpp b/src/mame/sega/model1io2.cpp index 8b196599e84..4d263c8d673 100644 --- a/src/mame/sega/model1io2.cpp +++ b/src/mame/sega/model1io2.cpp @@ -199,7 +199,7 @@ void model1io2_device::device_add_mconfig(machine_config &config) PALETTE(config, "palette", FUNC(model1io2_device::lcd_palette), 3); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcd->set_lcd_size(2, 20); m_lcd->set_pixel_update_cb(FUNC(model1io2_device::lcd_pixel_update)); } diff --git a/src/mame/sega/speedbsk.cpp b/src/mame/sega/speedbsk.cpp index b1afd88c2f5..2cda6167fc4 100644 --- a/src/mame/sega/speedbsk.cpp +++ b/src/mame/sega/speedbsk.cpp @@ -452,7 +452,7 @@ void speedbsk_state::speedbsk(machine_config &config) PALETTE(config, "palette", FUNC(speedbsk_state::lcd_palette), 3); - HD44780(config, m_lcd, 0); + HD44780(config, m_lcd, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcd->set_lcd_size(2, 20); m_lcd->set_pixel_update_cb(FUNC(speedbsk_state::lcd_pixel_update)); diff --git a/src/mame/skeleton/600cat.cpp b/src/mame/skeleton/600cat.cpp index 04147d11a8e..b6f0a2d1eab 100644 --- a/src/mame/skeleton/600cat.cpp +++ b/src/mame/skeleton/600cat.cpp @@ -142,7 +142,7 @@ void _600cat_state::_600cat(machine_config &config) PALETTE(config, m_palette, FUNC(_600cat_state::lcd_palette), 3); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(4, 20); m_lcdc->set_pixel_update_cb(FUNC(_600cat_state::lcd_pixel_update)); diff --git a/src/mame/skeleton/adacp150.cpp b/src/mame/skeleton/adacp150.cpp index 408b264abdd..957108edfd8 100644 --- a/src/mame/skeleton/adacp150.cpp +++ b/src/mame/skeleton/adacp150.cpp @@ -216,7 +216,7 @@ void adacp150_state::adacp150(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 16-1); screen.set_palette("palette"); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); m_lcdc->set_pixel_update_cb(FUNC(adacp150_state::pixel_update)); diff --git a/src/mame/skeleton/airbase99.cpp b/src/mame/skeleton/airbase99.cpp index f6250981fd4..b7fcf555b90 100644 --- a/src/mame/skeleton/airbase99.cpp +++ b/src/mame/skeleton/airbase99.cpp @@ -73,7 +73,7 @@ void airbase99_state::airbase99(machine_config &config) PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 20); lcdc.set_pixel_update_cb(FUNC(airbase99_state::pixel_update)); } diff --git a/src/mame/skeleton/alphasma.cpp b/src/mame/skeleton/alphasma.cpp index f313a39fe7e..674952e3df4 100644 --- a/src/mame/skeleton/alphasma.cpp +++ b/src/mame/skeleton/alphasma.cpp @@ -572,9 +572,9 @@ void alphasmart_state::alphasmart(machine_config &config) m_maincpu->in_pd_callback().set(FUNC(alphasmart_state::port_d_r)); m_maincpu->out_pd_callback().set(FUNC(alphasmart_state::port_d_w)); - KS0066_F05(config, m_lcdc[0], 0); + KS0066_F05(config, m_lcdc[0], 270'000); // TODO: clock not measured, datasheet typical clock used m_lcdc[0]->set_lcd_size(2, 40); - KS0066_F05(config, m_lcdc[1], 0); + KS0066_F05(config, m_lcdc[1], 270'000); // TODO: clock not measured, datasheet typical clock used m_lcdc[1]->set_lcd_size(2, 40); /* video hardware */ diff --git a/src/mame/skeleton/alphasma3k.cpp b/src/mame/skeleton/alphasma3k.cpp index 51a54ac7e2d..1bd80e92983 100644 --- a/src/mame/skeleton/alphasma3k.cpp +++ b/src/mame/skeleton/alphasma3k.cpp @@ -113,9 +113,9 @@ void alphasmart3k_state::alphasmart3k(machine_config &config) // Values from AlphaSmart 2000, not confirmed for AlphaSmart 3000 // AlphaSmart 3000 uses a Data Image CM4040 LCD display, LCD is 40x4 according to ref - KS0066_F05(config, m_lcdc0, 0); + KS0066_F05(config, m_lcdc0, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used m_lcdc0->set_lcd_size(4, 40); - KS0066_F05(config, m_lcdc1, 0); + KS0066_F05(config, m_lcdc1, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used m_lcdc1->set_lcd_size(4, 40); RAM(config, RAM_TAG).set_default_size("256K"); diff --git a/src/mame/skeleton/consola_emt.cpp b/src/mame/skeleton/consola_emt.cpp index 573f430c96f..0447911d0fb 100644 --- a/src/mame/skeleton/consola_emt.cpp +++ b/src/mame/skeleton/consola_emt.cpp @@ -279,7 +279,7 @@ void consoemt_state::consoemt(machine_config &config) PALETTE(config, "palette", FUNC(consoemt_state::consoemt_palette), 3); - KS0066_F05(config, m_lcdc, 0); + KS0066_F05(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); m_lcdc->set_pixel_update_cb(FUNC(consoemt_state::lcd_pixel_update)); } diff --git a/src/mame/skeleton/eurit.cpp b/src/mame/skeleton/eurit.cpp index 7166490597e..9407fd943ad 100644 --- a/src/mame/skeleton/eurit.cpp +++ b/src/mame/skeleton/eurit.cpp @@ -172,7 +172,7 @@ void eurit_state::eurit30(machine_config &config) PALETTE(config, "palette", FUNC(eurit_state::palette_init), 2); - hd44780_device &lcdc(SED1278_0B(config, "lcdc", 0)); + hd44780_device &lcdc(SED1278_0B(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 20); lcdc.set_pixel_update_cb(FUNC(eurit_state::lcd_pixel_update)); } diff --git a/src/mame/skeleton/gm1000.cpp b/src/mame/skeleton/gm1000.cpp index 76e2c75b6a0..f0c6edec7f0 100644 --- a/src/mame/skeleton/gm1000.cpp +++ b/src/mame/skeleton/gm1000.cpp @@ -101,7 +101,7 @@ void gm1000_state::gm1000(machine_config &config) PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 24); lcdc.set_pixel_update_cb(FUNC(gm1000_state::lcd_pixel_update)); lcdc.set_function_set_at_any_time(true); diff --git a/src/mame/skeleton/hprot1.cpp b/src/mame/skeleton/hprot1.cpp index d016a8b864b..5cffbbce4bb 100644 --- a/src/mame/skeleton/hprot1.cpp +++ b/src/mame/skeleton/hprot1.cpp @@ -272,7 +272,7 @@ void hprot1_state::hprot1(machine_config &config) PALETTE(config, "palette", FUNC(hprot1_state::hprot1_palette), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_hprot1); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); /* TODO: clock not measured, datasheet typical clock used */ m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(hprot1_state::hprot1_pixel_update)); diff --git a/src/mame/skeleton/icatel.cpp b/src/mame/skeleton/icatel.cpp index c461e669d6e..4f27d5d761e 100644 --- a/src/mame/skeleton/icatel.cpp +++ b/src/mame/skeleton/icatel.cpp @@ -263,7 +263,7 @@ void icatel_state::icatel(machine_config &config) PALETTE(config, "palette", FUNC(icatel_state::icatel_palette), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_icatel); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); /* TODO: clock not measured, datasheet typical clock used */ m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(icatel_state::icatel_pixel_update)); } diff --git a/src/mame/skeleton/ml20.cpp b/src/mame/skeleton/ml20.cpp index 1fd0737d346..809b7c80b7e 100644 --- a/src/mame/skeleton/ml20.cpp +++ b/src/mame/skeleton/ml20.cpp @@ -274,7 +274,7 @@ void ml20_state::ml20(machine_config &config) PALETTE(config, "palette", FUNC(ml20_state::lcd_palette), 3); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(ml20_state::lcd_pixel_update)); diff --git a/src/mame/skeleton/mtd1256.cpp b/src/mame/skeleton/mtd1256.cpp index 7ba5291430f..966ba45f24a 100644 --- a/src/mame/skeleton/mtd1256.cpp +++ b/src/mame/skeleton/mtd1256.cpp @@ -138,7 +138,7 @@ void mtd1256_state::mtd1256(machine_config &config) screen.set_visarea(0, 20*6-1, 0, 32-1); screen.set_palette("palette"); - hd44780_device &hd44780(HD44780(config, "lcdc")); + hd44780_device &hd44780(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 16); hd44780.set_pixel_update_cb(FUNC(mtd1256_state::pixel_update)); diff --git a/src/mame/skeleton/rd100.cpp b/src/mame/skeleton/rd100.cpp index b6f41dce427..812686d7744 100644 --- a/src/mame/skeleton/rd100.cpp +++ b/src/mame/skeleton/rd100.cpp @@ -264,7 +264,7 @@ void rd100_state::rd100(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 16-1); screen.set_palette("palette"); - hd44780_device &hd44780(HD44780(config, "hd44780")); + hd44780_device &hd44780(HD44780(config, "hd44780", 250'000)); // TODO: clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 16); hd44780.set_pixel_update_cb(FUNC(rd100_state::pixel_update)); diff --git a/src/mame/skeleton/sk101bl.cpp b/src/mame/skeleton/sk101bl.cpp index c44d1f6ce8d..df0efb43d76 100644 --- a/src/mame/skeleton/sk101bl.cpp +++ b/src/mame/skeleton/sk101bl.cpp @@ -170,7 +170,7 @@ void sk101bl_state::sk101bl(machine_config &config) screen.set_visarea(0, 16*6-1, 0, 10-1); screen.set_palette("palette"); - HD44780(config, m_lcdc).set_lcd_size(1, 16); + HD44780(config, m_lcdc, 250'000).set_lcd_size(1, 16); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_pixel_update_cb(FUNC(sk101bl_state::pixel_update)); PALETTE(config, "palette").set_entries(2); diff --git a/src/mame/skeleton/ti630.cpp b/src/mame/skeleton/ti630.cpp index b3218b66350..01acdaa504f 100644 --- a/src/mame/skeleton/ti630.cpp +++ b/src/mame/skeleton/ti630.cpp @@ -88,9 +88,9 @@ void ti630_state::init_ti630() void ti630_state::i80c31_io(address_map &map) { - map(0x0000, 0x0000) /*.mirror(?)*/ .w("hd44780", FUNC(hd44780_device::control_w)); - map(0x1000, 0x1000) /*.mirror(?)*/ .w("hd44780", FUNC(hd44780_device::data_w)); - map(0x2000, 0x2000) /*.mirror(?)*/ .r("hd44780", FUNC(hd44780_device::control_r)); + map(0x0000, 0x0000) /*.mirror(?)*/ .w(m_lcdc, FUNC(hd44780_device::control_w)); + map(0x1000, 0x1000) /*.mirror(?)*/ .w(m_lcdc, FUNC(hd44780_device::data_w)); + map(0x2000, 0x2000) /*.mirror(?)*/ .r(m_lcdc, FUNC(hd44780_device::control_r)); map(0x8000, 0xffff).ram(); /*TODO: verify the ammont of RAM and the correct address range to which it is mapped. This is just a first reasonable guess that apparently yields good results in the emulation */ } @@ -154,7 +154,7 @@ void ti630_state::ti630(machine_config &config) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); screen.set_refresh_hz(50); screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update)); + screen.set_screen_update(m_lcdc, FUNC(hd44780_device::screen_update)); screen.set_size(6*16, 9*2); screen.set_visarea(0, 6*16-1, 0, 9*2-1); screen.set_palette("palette"); @@ -162,7 +162,7 @@ void ti630_state::ti630(machine_config &config) PALETTE(config, "palette", FUNC(ti630_state::ti630_palette), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_ti630); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); } diff --git a/src/mame/sony/dpsv55.cpp b/src/mame/sony/dpsv55.cpp index 4c5ce15a6d4..f5b0c4a0b57 100644 --- a/src/mame/sony/dpsv55.cpp +++ b/src/mame/sony/dpsv55.cpp @@ -104,7 +104,7 @@ void dpsv55_state::dpsv55(machine_config &config) PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); m_lcdc->set_pixel_update_cb(FUNC(dpsv55_state::pixel_update)); diff --git a/src/mame/ti/cc40.cpp b/src/mame/ti/cc40.cpp index 45555fb6206..fb8990b186e 100644 --- a/src/mame/ti/cc40.cpp +++ b/src/mame/ti/cc40.cpp @@ -639,7 +639,7 @@ void cc40_state::cc40(machine_config &config) PALETTE(config, "palette", FUNC(cc40_state::cc40_palette), 3); - hd44780_device &hd44780(HD44780(config, "hd44780", 0)); + hd44780_device &hd44780(HD44780(config, "hd44780", 250'000)); // TODO: clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 16); // 2*16 internal hd44780.set_pixel_update_cb(FUNC(cc40_state::cc40_pixel_update)); diff --git a/src/mame/ti/ti74.cpp b/src/mame/ti/ti74.cpp index 52db4a5299f..4ff4e2365a8 100644 --- a/src/mame/ti/ti74.cpp +++ b/src/mame/ti/ti74.cpp @@ -536,7 +536,7 @@ void ti74_state::ti74(machine_config &config) PALETTE(config, "palette", FUNC(ti74_state::ti74_palette), 3); - hd44780_device &hd44780(HD44780(config, "hd44780", 0)); // 270kHz + hd44780_device &hd44780(HD44780(config, "hd44780", 270'000)); // 270kHz, measured? HD44780A00 hd44780.set_lcd_size(2, 16); // 2*16 internal hd44780.set_pixel_update_cb(FUNC(ti74_state::ti74_pixel_update)); @@ -569,7 +569,7 @@ void ti74_state::ti95(machine_config &config) PALETTE(config, "palette", FUNC(ti74_state::ti74_palette), 3); - hd44780_device &hd44780(HD44780(config, "hd44780", 0)); + hd44780_device &hd44780(HD44780(config, "hd44780", 250'000)); // TODO: clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 16); hd44780.set_pixel_update_cb(FUNC(ti74_state::ti95_pixel_update)); diff --git a/src/mame/vtech/lcmate2.cpp b/src/mame/vtech/lcmate2.cpp index c2cdd83ac41..c607e8de2de 100644 --- a/src/mame/vtech/lcmate2.cpp +++ b/src/mame/vtech/lcmate2.cpp @@ -255,7 +255,7 @@ void lcmate2_state::lcmate2(machine_config &config) PALETTE(config, "palette", FUNC(lcmate2_state::lcmate2_palette), 2); GFXDECODE(config, "gfxdecode", "palette", gfx_lcmate2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/vtech/pc2000.cpp b/src/mame/vtech/pc2000.cpp index 894122825f3..dd4d3230459 100644 --- a/src/mame/vtech/pc2000.cpp +++ b/src/mame/vtech/pc2000.cpp @@ -745,14 +745,14 @@ void pc2000_state::pc2000gen(machine_config &config) void pc2000_state::pc2000(machine_config &config) { pc2000gen(config); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); } void pc2000_state::pc2000eur(machine_config &config) { pc2000gen(config); - SED1278_0B(config, m_lcdc, 0); + SED1278_0B(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); } diff --git a/src/mame/yamaha/fb01.cpp b/src/mame/yamaha/fb01.cpp index bb4a37ef83d..3aba9686fd7 100644 --- a/src/mame/yamaha/fb01.cpp +++ b/src/mame/yamaha/fb01.cpp @@ -182,7 +182,7 @@ void fb01_state::fb01(machine_config &config) PALETTE(config, "palette", FUNC(fb01_state::fb01_palette), 2); - hd44780_device &hd44780(HD44780(config, "hd44780", 0)); + hd44780_device &hd44780(HD44780(config, "hd44780", 250'000)); // TODO: clock not measured, datasheet typical clock used hd44780.set_lcd_size(2, 8); // 2x8 displayed as 1x16 hd44780.set_pixel_update_cb(FUNC(fb01_state::fb01_pixel_update)); diff --git a/src/mame/yamaha/mulcd.cpp b/src/mame/yamaha/mulcd.cpp index 44cff0b17f0..d99f6437ede 100644 --- a/src/mame/yamaha/mulcd.cpp +++ b/src/mame/yamaha/mulcd.cpp @@ -77,7 +77,7 @@ void mulcd_device::render_w(int state) void mulcd_device::device_add_mconfig(machine_config &config) { - HD44780(config, m_lcd); + HD44780(config, m_lcd, 250'000); // TODO: Wrong device type, should be a custom mask part of unknown mask number; clock not measured, datasheet typical clock used m_lcd->set_lcd_size(4, 20); auto &screen = SCREEN(config, "screen", SCREEN_TYPE_SVG); diff --git a/src/mame/yamaha/ymdx100.cpp b/src/mame/yamaha/ymdx100.cpp index fac54925dd0..84f69b38354 100644 --- a/src/mame/yamaha/ymdx100.cpp +++ b/src/mame/yamaha/ymdx100.cpp @@ -7,7 +7,7 @@ Yamaha DX27 and DX100 digital synthesizers The DX27 and DX100 are mid-tier professional synthesizers released by Yamaha around 1985. The DX27 is a full-size keyboard with 61 full-size keys that can only run on AC power. The DX100 is a smaller, wearable keyboard with only 49 -small-size keys and can run on either AC power or batteries. Both keybaords have +small-size keys and can run on either AC power or batteries. Both keyboards have full MIDI in/out/thru, and can also hook up to a Yamaha foot pedal and breath controller. @@ -133,7 +133,7 @@ service manual, but is still readily available. 1 2 3 4 5 6 7 8 9 0 - = -> 1 2 3 4 5 6 7 8 9 10 11 12 Q W T Y O P -> PBend KeyShift Store Func BankA BankB E R U I [ ] -> -1 +1 Edit Internal BankC BankD - Octave 3 will be avaible over [Z S X D C V G B H N J M] + Octave 3 will be available over [Z S X D C V G B H N J M] Pitch bend will be ' / Mod wheel will be ; . Data entry slider will be L , @@ -622,7 +622,7 @@ void yamaha_dx100_state::dx100(machine_config &config) PALETTE(config, "palette", FUNC(yamaha_dx100_state::palette_init), 3); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); // HD44780RA00 + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // HD44780RA00; TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(1, 16); lcdc.set_pixel_update_cb(FUNC(yamaha_dx100_state::lcd_pixel_update)); diff --git a/src/mame/yamaha/ymdx11.cpp b/src/mame/yamaha/ymdx11.cpp index 4207d99e925..20a2d0d5003 100644 --- a/src/mame/yamaha/ymdx11.cpp +++ b/src/mame/yamaha/ymdx11.cpp @@ -113,7 +113,7 @@ void yamaha_dx11_state::dx11(machine_config &config) PALETTE(config, "palette", FUNC(yamaha_dx11_state::palette_init), 2); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 16); lcdc.set_pixel_update_cb(FUNC(yamaha_dx11_state::lcd_pixel_update)); diff --git a/src/mame/yamaha/ymdx7.cpp b/src/mame/yamaha/ymdx7.cpp index 1da6ceb48c2..498a2b81326 100644 --- a/src/mame/yamaha/ymdx7.cpp +++ b/src/mame/yamaha/ymdx7.cpp @@ -295,14 +295,14 @@ void yamaha_dx7_state::dx7(machine_config &config) screen.set_color(rgb_t::green()); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update)); + screen.set_screen_update(m_lcdc, FUNC(hd44780_device::screen_update)); screen.set_size(6*16, 8*2); screen.set_visarea_full(); screen.set_palette("palette"); PALETTE(config, "palette", FUNC(yamaha_dx7_state::palette_init), 2); - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 16); m_lcdc->set_pixel_update_cb(FUNC(yamaha_dx7_state::lcd_pixel_update)); } diff --git a/src/mame/yamaha/ymdx9.cpp b/src/mame/yamaha/ymdx9.cpp index f1f19a9abcf..5ed2fbb9da8 100644 --- a/src/mame/yamaha/ymdx9.cpp +++ b/src/mame/yamaha/ymdx9.cpp @@ -277,7 +277,7 @@ void yamaha_dx9_state::dx9(machine_config &config) PALETTE(config, "palette", FUNC(yamaha_dx9_state::palette_init), 3); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 16); lcdc.set_pixel_update_cb(FUNC(yamaha_dx9_state::lcd_pixel_update)); diff --git a/src/mame/yamaha/ympsr150.cpp b/src/mame/yamaha/ympsr150.cpp index 386b197dc95..0b5ca02c4c0 100644 --- a/src/mame/yamaha/ympsr150.cpp +++ b/src/mame/yamaha/ympsr150.cpp @@ -429,7 +429,7 @@ void psr150_state::psr190_base(machine_config &config) m_maincpu->port_in_cb<2>().set_ioport("PC_R"); m_maincpu->port_out_cb<2>().set_ioport("PC_W"); - HD44780(config, m_lcdc); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); screen_device& screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); diff --git a/src/mame/yamaha/ympsr260.cpp b/src/mame/yamaha/ympsr260.cpp index ba95682f69c..14fe762c027 100644 --- a/src/mame/yamaha/ympsr260.cpp +++ b/src/mame/yamaha/ympsr260.cpp @@ -82,7 +82,7 @@ void psr260_state::psr260(machine_config &config) // TODO: MIDI in/out // LCD - HD44780(config, m_lcdc, 0); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 8); m_lcdc->set_pixel_update_cb(FUNC(psr260_state::lcd_update)); // code never checks the busy flag, it just delays for a fixed amount and assumes it's ready diff --git a/src/mame/yamaha/ympsr340.cpp b/src/mame/yamaha/ympsr340.cpp index 2a52f504502..77126e7b81f 100644 --- a/src/mame/yamaha/ympsr340.cpp +++ b/src/mame/yamaha/ympsr340.cpp @@ -275,7 +275,7 @@ void psr340_state::psr340(machine_config &config) // SCI0 is externally clocked at the 31250 Hz MIDI rate m_maincpu->sci_set_external_clock_period(0, attotime::from_hz(31250 * 16)); - KS0066_F05(config, m_lcdc, 0); + KS0066_F05(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 40); /* video hardware */ diff --git a/src/mame/yamaha/ymrx15.cpp b/src/mame/yamaha/ymrx15.cpp index 2f03265892c..a90b6e82541 100644 --- a/src/mame/yamaha/ymrx15.cpp +++ b/src/mame/yamaha/ymrx15.cpp @@ -75,7 +75,7 @@ void rx15_state::rx15(machine_config &config) PALETTE(config, "palette", palette_device::MONOCHROME_INVERTED); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 8); lcdc.set_pixel_update_cb(FUNC(rx15_state::pixel_update)); diff --git a/src/mame/yamaha/ymtx81z.cpp b/src/mame/yamaha/ymtx81z.cpp index 944f2b6e82e..f8d0a391d9c 100644 --- a/src/mame/yamaha/ymtx81z.cpp +++ b/src/mame/yamaha/ymtx81z.cpp @@ -155,7 +155,7 @@ void ymtx81z_state::tx81z(machine_config &config) config.set_default_layout(layout_tx81z); - hd44780_device &lcdc(HD44780(config, "lcdc", 0)); + hd44780_device &lcdc(HD44780(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used lcdc.set_lcd_size(2, 16); lcdc.set_pixel_update_cb(FUNC(ymtx81z_state::lcd_pixel_update)); -- cgit v1.2.3