From 1998db9f5d8fb1f79b9ba516124db689482aa6a3 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 23 Nov 2023 18:00:39 +1100 Subject: -video/hd44780.cpp: Cleaned up mess in ROM selection code. -taito/*.cpp: Keep local headers before library headers. --- src/devices/video/hd44780.cpp | 119 ++++++++++++++++++-------------------- src/devices/video/hd44780.h | 87 ++++++++++------------------ src/mame/elektor/avrmax.cpp | 4 +- src/mame/omron/luna_88k.cpp | 17 +++--- src/mame/skeleton/alphasma.cpp | 10 ++-- src/mame/skeleton/alphasma3k.cpp | 6 +- src/mame/skeleton/consola_emt.cpp | 3 +- src/mame/skeleton/eurit.cpp | 3 +- src/mame/taito/pkspirit.cpp | 5 +- src/mame/taito/sbmjb.cpp | 4 +- src/mame/taito/taito_o.cpp | 9 ++- src/mame/vtech/pc2000.cpp | 5 +- src/mame/yamaha/ympsr340.cpp | 3 +- 13 files changed, 124 insertions(+), 151 deletions(-) diff --git a/src/devices/video/hd44780.cpp b/src/devices/video/hd44780.cpp index 0f473fc7fc3..a56273b66e4 100644 --- a/src/devices/video/hd44780.cpp +++ b/src/devices/video/hd44780.cpp @@ -22,62 +22,69 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE(HD44780, hd44780_device, "hd44780_a00", "Hitachi HD44780A00 LCD Controller") -DEFINE_DEVICE_TYPE(HD44780U_A00, hd44780u_a00_device, "hd44780u_a00", "Hitachi HD44780UA00 LCD Controller") -DEFINE_DEVICE_TYPE(HD44780U_A02, hd44780u_a02_device, "hd44780u_a02", "Hitachi HD44780UA02 LCD Controller") -DEFINE_DEVICE_TYPE(SED1278_0B, sed1278_0b_device, "sed1278_0b", "Epson SED1278-0B LCD Controller") // packaged as either SED1278F0B or SED1278D0B -DEFINE_DEVICE_TYPE(KS0066_F00, ks0066_f00_device, "ks0066_f00", "Samsung KS0066 F00 LCD Controller") -DEFINE_DEVICE_TYPE(KS0066_F05, ks0066_f05_device, "ks0066_f05", "Samsung KS0066 F05 LCD Controller") +DEFINE_DEVICE_TYPE(HD44780, hd44780_device, "hd44780", "Hitachi HD44780 LCD Controller") +DEFINE_DEVICE_TYPE(HD44780U, hd44780u_device, "hd44780u", "Hitachi HD44780U LCD Controller") +DEFINE_DEVICE_TYPE(SED1278, sed1278_device, "sed1278", "Epson SED1278 LCD Controller") // packaged as either SED1278F0B or SED1278D0B +DEFINE_DEVICE_TYPE(KS0066, ks0066_device, "ks0066", "Samsung KS0066 LCD Controller") //------------------------------------------------- // ROM( hd44780 ) //------------------------------------------------- -ROM_START( hd44780_a00 ) +ROM_START( hd44780 ) + ROM_DEFAULT_BIOS("a00") + ROM_SYSTEM_BIOS(0, "a00", "A00") + ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "hd44780_a00.bin", 0x0000, 0x1000, BAD_DUMP CRC(e459877c) SHA1(65cf075a988cdcbb316b9afdd0529b374a1a65ec)) // from page 97 of the 1985 HD44780 datasheet from crystalfontz + ROMX_LOAD( "hd44780_a00.bin", 0x0000, 0x1000, BAD_DUMP CRC(e459877c) SHA1(65cf075a988cdcbb316b9afdd0529b374a1a65ec), ROM_BIOS(0)) // from page 97 of the 1985 HD44780 datasheet from crystalfontz ROM_END -ROM_START( hd44780u_a00 ) +ROM_START( hd44780u ) + ROM_DEFAULT_BIOS("a00") + ROM_SYSTEM_BIOS(0, "a00", "A00") + ROM_SYSTEM_BIOS(1, "a02", "A02") + // Note the HD44780UA01 font does exist in the 1994 M24T026 Hitachi LCD Controller Driver LSI Data Book on bitsavers as well + ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "hd44780u_a00.bin", 0x0000, 0x1000, BAD_DUMP CRC(8494cb6b) SHA1(2d4f9cf5ff81f20d2f4e4640f5b8a697a3781eef)) // from page 17 of the 1999 HD44780U datasheet + ROMX_LOAD( "hd44780u_a00.bin", 0x0000, 0x1000, BAD_DUMP CRC(8494cb6b) SHA1(2d4f9cf5ff81f20d2f4e4640f5b8a697a3781eef), ROM_BIOS(0)) // from page 17 of the 1999 HD44780U datasheet // this has 6 characters different from the HD44780A00 // this differs slightly (see the '7') from the HD44780UA00 font in the 1994 M24T026 Hitachi LCD Controller Driver LSI Data Book on bitsavers // and needs confirmation from a real device as to which is correct; confirmation on the horizontal offset of the '[' would also be helpful -ROM_END - -// Note the HD44780UA01 font does exist in the 1994 M24T026 Hitachi LCD Controller Driver LSI Data Book on bitsavers as well - -ROM_START( hd44780u_a02 ) - ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "hd44780u_a02.bin", 0x0000, 0x1000, BAD_DUMP CRC(6d522b42) SHA1(db8f59573c81933cfc9d3232d419406f0896e60b)) // from page 18 of the 1999 HD44780U datasheet + ROMX_LOAD( "hd44780u_a02.bin", 0x0000, 0x1000, BAD_DUMP CRC(6d522b42) SHA1(db8f59573c81933cfc9d3232d419406f0896e60b), ROM_BIOS(1)) // from page 18 of the 1999 HD44780U datasheet // this differs slightly (see the '7') from the HD44780UA02 font in the 1994 M24T026 Hitachi LCD Controller Driver LSI Data Book on bitsavers // and needs confirmation from a real device as to which is correct ROM_END -// TODO: SED1278_0A is 100% identical to hd44780a00, see page 9-32 of the SED1278 datasheet -ROM_START( sed1278_0b ) +ROM_START( sed1278 ) + ROM_DEFAULT_BIOS("0a") + ROM_SYSTEM_BIOS(0, "0a", "0A") + ROM_SYSTEM_BIOS(1, "0b", "0B") + ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "sed1278_0b.bin", 0x0000, 0x1000, BAD_DUMP CRC(962498b7) SHA1(41866836ab4ed7bd4c3539bc8df492ba7d7ff42a)) // from page 9-33 of the SED1278 datasheet + ROMX_LOAD( "sed1278_0a.bin", 0x0000, 0x1000, BAD_DUMP CRC(e459877c) SHA1(65cf075a988cdcbb316b9afdd0529b374a1a65ec), ROM_BIOS(0)) // from page 9-32 of the SED1278 datasheet (100% identical to hd44780a00) + ROMX_LOAD( "sed1278_0b.bin", 0x0000, 0x1000, BAD_DUMP CRC(962498b7) SHA1(41866836ab4ed7bd4c3539bc8df492ba7d7ff42a), ROM_BIOS(1)) // from page 9-33 of the SED1278 datasheet ROM_END // TODO: many other SED1278 variants, documented in the datasheet // ks0066_f00 is 100% identical to hd44780a00, see page 61 of the KS0066 non-U datasheet // later ks0066 masks may be different, see page 48 of the other KS0066 datasheet -ROM_START( ks0066_f00 ) - ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "ks0066_f00.bin", 0x0000, 0x1000, BAD_DUMP CRC(e459877c) SHA1(65cf075a988cdcbb316b9afdd0529b374a1a65ec)) // from page 61 of the KS0066 non-U datasheet -ROM_END +ROM_START( ks0066 ) + ROM_DEFAULT_BIOS("f00") + ROM_SYSTEM_BIOS(0, "f00", "F00") + //ROM_SYSTEM_BIOS(?, "f03", "F03") + //ROM_SYSTEM_BIOS(?, "f04", "F04") + ROM_SYSTEM_BIOS(1, "f05", "F05") + //ROM_SYSTEM_BIOS(?, "f06", "F06") + //ROM_SYSTEM_BIOS(?, "f59", "F59") -ROM_START( ks0066_f05 ) ROM_REGION( 0x1000, "cgrom", 0 ) - ROM_LOAD( "ks0066_f05.bin", 0x0000, 0x1000, BAD_DUMP CRC(af9e7bd6) SHA1(0196e871584ee5d370856e7307c0f9d1466e3e51)) // from page 51 of the KS0066 datasheet + ROMX_LOAD( "ks0066_f00.bin", 0x0000, 0x1000, BAD_DUMP CRC(e459877c) SHA1(65cf075a988cdcbb316b9afdd0529b374a1a65ec), ROM_BIOS(0)) // from page 61 of the KS0066 non-U datasheet + ROMX_LOAD( "ks0066_f05.bin", 0x0000, 0x1000, BAD_DUMP CRC(af9e7bd6) SHA1(0196e871584ee5d370856e7307c0f9d1466e3e51), ROM_BIOS(1)) // from page 51 of the KS0066 datasheet ROM_END -// TODO: many other KS0066 variants, documented in the datasheet //************************************************************************** // live device @@ -90,7 +97,6 @@ ROM_END hd44780_device::hd44780_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t 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) @@ -107,34 +113,19 @@ hd44780_device::hd44780_device(const machine_config &mconfig, device_type type, { } -hd44780u_a00_device::hd44780u_a00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - hd44780_device(mconfig, HD44780U_A00, tag, owner, clock) -{ - set_charset_type(CHARSET_HD44780U_A00); -} - -hd44780u_a02_device::hd44780u_a02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - hd44780_device(mconfig, HD44780U_A02, tag, owner, clock) -{ - set_charset_type(CHARSET_HD44780U_A02); -} - -sed1278_0b_device::sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - hd44780_device(mconfig, SED1278_0B, tag, owner, clock) +hd44780u_device::hd44780u_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd44780_device(mconfig, HD44780U, tag, owner, clock) { - set_charset_type(CHARSET_SED1278_0B); } -ks0066_f00_device::ks0066_f00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - hd44780_device(mconfig, KS0066_F00, tag, owner, clock) +sed1278_device::sed1278_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd44780_device(mconfig, SED1278, tag, owner, clock) { - set_charset_type(CHARSET_KS0066_F00); } -ks0066_f05_device::ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - hd44780_device(mconfig, KS0066_F05, tag, owner, clock) +ks0066_device::ks0066_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd44780_device(mconfig, KS0066, tag, owner, clock) { - set_charset_type(CHARSET_KS0066_F05); } @@ -144,17 +135,22 @@ ks0066_f05_device::ks0066_f05_device(const machine_config &mconfig, const char * const tiny_rom_entry *hd44780_device::device_rom_region() const { - switch (m_charset_type) - { - case CHARSET_HD44780_A00: return ROM_NAME( hd44780_a00 ); - case CHARSET_HD44780U_A00: return ROM_NAME( hd44780u_a00 ); - case CHARSET_HD44780U_A02: return ROM_NAME( hd44780u_a02 ); - case CHARSET_SED1278_0B: return ROM_NAME( sed1278_0b ); - case CHARSET_KS0066_F00: return ROM_NAME( ks0066_f00 ); - case CHARSET_KS0066_F05: return ROM_NAME( ks0066_f05 ); - } + return ROM_NAME(hd44780); +} + +const tiny_rom_entry *hd44780u_device::device_rom_region() const +{ + return ROM_NAME(hd44780u); +} - return nullptr; +const tiny_rom_entry *sed1278_device::device_rom_region() const +{ + return ROM_NAME(sed1278); +} + +const tiny_rom_entry *ks0066_device::device_rom_region() const +{ + return ROM_NAME(ks0066); } //------------------------------------------------- @@ -258,11 +254,6 @@ TIMER_CALLBACK_MEMBER(hd44780_device::blink_tick) // HELPERS //************************************************************************** -void hd44780_device::set_charset_type(int type) -{ - m_charset_type = type; -} - void hd44780_device::set_busy_flag(uint16_t usec) { m_busy_flag = true; diff --git a/src/devices/video/hd44780.h b/src/devices/video/hd44780.h index 76ff6c6ba5c..b31f3e6af60 100644 --- a/src/devices/video/hd44780.h +++ b/src/devices/video/hd44780.h @@ -19,7 +19,12 @@ #define HD44780_PIXEL_UPDATE(name) void name(bitmap_ind16 &bitmap, u8 line, u8 pos, u8 y, u8 x, int state) -// ======================> hd44780_device +// device type declarations +DECLARE_DEVICE_TYPE(HD44780, hd44780_device) +DECLARE_DEVICE_TYPE(HD44780U, hd44780u_device) +DECLARE_DEVICE_TYPE(SED1278, sed1278_device) +DECLARE_DEVICE_TYPE(KS0066, ks0066_device) + class hd44780_device : public device_t { @@ -55,43 +60,23 @@ public: protected: hd44780_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides + // device_t implementation 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; TIMER_CALLBACK_MEMBER(clear_busy_flag); TIMER_CALLBACK_MEMBER(blink_tick); - // charset - enum - { - CHARSET_HD44780_A00, - CHARSET_HD44780U_A00, - CHARSET_HD44780U_A02, - CHARSET_SED1278_0B, - CHARSET_KS0066_F00, - CHARSET_KS0066_F05 /*, - CHARSET_HD44780U_A01, - CHARSET_SED1278_0A, - CHARSET_KS0066_F03, - CHARSET_KS0066_F04, - CHARSET_KS0066_F06, - CHARSET_KS0066_F59 - */ - }; - virtual void control_write(u8 data); virtual u8 control_read(); virtual void data_write(u8 data); virtual u8 data_read(); - void set_charset_type(int type); - private: + enum { DDRAM, CGRAM }; + // internal helper void set_busy_flag(uint16_t usec); void correct_ac(); @@ -136,64 +121,50 @@ private: int m_rs_state; int m_rw_state; bool m_nibble; - int m_charset_type; u8 m_render_buf[80 * 16]; bool m_function_set_at_any_time; - - enum { DDRAM, CGRAM }; }; -// ======================> hd44780u_a00_device -class hd44780u_a00_device : public hd44780_device +class hd44780u_device : public hd44780_device { public: // construction/destruction - hd44780u_a00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; + hd44780u_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -// ======================> hd44780u_a02_device + static auto parent_rom_device_type() { return &HD44780; } -class hd44780u_a02_device : public hd44780_device -{ -public: - // construction/destruction - hd44780u_a02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: + // device_t implementation + virtual const tiny_rom_entry *device_rom_region() const override; }; -// ======================> sed1278_0b_device -class sed1278_0b_device : public hd44780_device +class sed1278_device : public hd44780_device { public: // construction/destruction - sed1278_0b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; + sed1278_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -// ======================> ks0066_f00_device + static auto parent_rom_device_type() { return &HD44780; } -class ks0066_f00_device : public hd44780_device -{ -public: - // construction/destruction - ks0066_f00_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +protected: + // device_t implementation + virtual const tiny_rom_entry *device_rom_region() const override; }; -// ======================> ks0066_f05_device -class ks0066_f05_device : public hd44780_device +class ks0066_device : public hd44780_device { public: // construction/destruction - ks0066_f05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); -}; + ks0066_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + static auto parent_rom_device_type() { return &HD44780; } -// device type definition -DECLARE_DEVICE_TYPE(HD44780, hd44780_device) -DECLARE_DEVICE_TYPE(HD44780U_A00, hd44780u_a00_device) -DECLARE_DEVICE_TYPE(HD44780U_A02, hd44780u_a02_device) -DECLARE_DEVICE_TYPE(SED1278_0B, sed1278_0b_device) -DECLARE_DEVICE_TYPE(KS0066_F00, ks0066_f00_device) -DECLARE_DEVICE_TYPE(KS0066_F05, ks0066_f05_device) +protected: + // device_t implementation + virtual const tiny_rom_entry *device_rom_region() const override; +}; #endif // MAME_VIDEO_HD44780_H diff --git a/src/mame/elektor/avrmax.cpp b/src/mame/elektor/avrmax.cpp index 07ec81fc78d..46b5d0d0bd9 100644 --- a/src/mame/elektor/avrmax.cpp +++ b/src/mame/elektor/avrmax.cpp @@ -289,7 +289,9 @@ void avrmax_state::atm18mcc(machine_config &config) // HD44780UA02 is required for certain international characters in cc2schach, // the others can optionally use a more standard HD44780[U]A00 display - HD44780U_A02(config, m_lcd, 270'000); // TODO: clock not measured, datasheet typical clock used + HD44780U(config, m_lcd, 270'000); // TODO: clock not measured, datasheet typical clock used + m_lcd->set_default_bios_tag("a02"); + config.set_default_layout(layout_atm18mcc); } diff --git a/src/mame/omron/luna_88k.cpp b/src/mame/omron/luna_88k.cpp index 373abb3c42f..2faa903769e 100644 --- a/src/mame/omron/luna_88k.cpp +++ b/src/mame/omron/luna_88k.cpp @@ -124,7 +124,7 @@ private: required_device m_ramdac; memory_share_creator m_vram; - required_device m_lcdc; + required_device m_lcdc; required_shared_ptr m_3port_ram; memory_view m_boot; @@ -478,11 +478,11 @@ void luna_88k_state_base::common_config(machine_config &config, XTAL clock) * 6 lcd rs * 7 lcd e */ - m_pio[1]->in_pa_callback().set(m_lcdc, FUNC(ks0066_f00_device::db_r)); - m_pio[1]->out_pa_callback().set(m_lcdc, FUNC(ks0066_f00_device::db_w)); - m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_f00_device::rw_w)).bit(5); - m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_f00_device::rs_w)).bit(6); - m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_f00_device::e_w)).bit(7); + m_pio[1]->in_pa_callback().set(m_lcdc, FUNC(ks0066_device::db_r)); + m_pio[1]->out_pa_callback().set(m_lcdc, FUNC(ks0066_device::db_w)); + m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_device::rw_w)).bit(5); + m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_device::rs_w)).bit(6); + m_pio[1]->out_pc_callback().append(m_lcdc, FUNC(ks0066_device::e_w)).bit(7); // TODO: crt timing control by HD6445CP4 @@ -492,7 +492,8 @@ void luna_88k_state_base::common_config(machine_config &config, XTAL clock) BT458(config, m_ramdac, 108'992'000); - KS0066_F00(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + KS0066(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + m_lcdc->set_default_bios_tag("f00"); m_lcdc->set_function_set_at_any_time(true); m_lcdc->set_lcd_size(2, 16); @@ -500,7 +501,7 @@ void luna_88k_state_base::common_config(machine_config &config, XTAL clock) screen_device &lcd(SCREEN(config, "lcd", SCREEN_TYPE_LCD)); lcd.set_raw(192'000, 40 * 6, 0, 16 * 6, 2 * 8, 0, 2 * 8); - lcd.set_screen_update(m_lcdc, FUNC(ks0066_f00_device::screen_update)); + lcd.set_screen_update(m_lcdc, FUNC(ks0066_device::screen_update)); lcd.set_palette(palette); } diff --git a/src/mame/skeleton/alphasma.cpp b/src/mame/skeleton/alphasma.cpp index 674952e3df4..6c14aec7206 100644 --- a/src/mame/skeleton/alphasma.cpp +++ b/src/mame/skeleton/alphasma.cpp @@ -572,10 +572,12 @@ 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], 270'000); // TODO: clock not measured, datasheet typical clock used - m_lcdc[0]->set_lcd_size(2, 40); - KS0066_F05(config, m_lcdc[1], 270'000); // TODO: clock not measured, datasheet typical clock used - m_lcdc[1]->set_lcd_size(2, 40); + for (auto &lcdc : m_lcdc) + { + KS0066(config, lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + lcdc->set_default_bios_tag("f05"); + lcdc->set_lcd_size(2, 40); + } /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); diff --git a/src/mame/skeleton/alphasma3k.cpp b/src/mame/skeleton/alphasma3k.cpp index 1bd80e92983..9c26782f25e 100644 --- a/src/mame/skeleton/alphasma3k.cpp +++ b/src/mame/skeleton/alphasma3k.cpp @@ -113,9 +113,11 @@ 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, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used + KS0066(config, m_lcdc0, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used + m_lcdc0->set_default_bios_tag("f05"); m_lcdc0->set_lcd_size(4, 40); - KS0066_F05(config, m_lcdc1, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used + KS0066(config, m_lcdc1, 270'000); // TODO: Possibly wrong device type, needs confirmation; clock not measured, datasheet typical clock used + m_lcdc1->set_default_bios_tag("f05"); 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 0447911d0fb..7622cd382ff 100644 --- a/src/mame/skeleton/consola_emt.cpp +++ b/src/mame/skeleton/consola_emt.cpp @@ -279,7 +279,8 @@ void consoemt_state::consoemt(machine_config &config) PALETTE(config, "palette", FUNC(consoemt_state::consoemt_palette), 3); - KS0066_F05(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + KS0066(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + m_lcdc->set_default_bios_tag("f05"); 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 9407fd943ad..85cc2ff8367 100644 --- a/src/mame/skeleton/eurit.cpp +++ b/src/mame/skeleton/eurit.cpp @@ -172,7 +172,8 @@ void eurit_state::eurit30(machine_config &config) PALETTE(config, "palette", FUNC(eurit_state::palette_init), 2); - hd44780_device &lcdc(SED1278_0B(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used + hd44780_device &lcdc(SED1278(config, "lcdc", 250'000)); // TODO: clock not measured, datasheet typical clock used + lcdc.set_default_bios_tag("0b"); lcdc.set_lcd_size(2, 20); lcdc.set_pixel_update_cb(FUNC(eurit_state::lcd_pixel_update)); } diff --git a/src/mame/taito/pkspirit.cpp b/src/mame/taito/pkspirit.cpp index 5ae43caad3a..eb4139e4f31 100644 --- a/src/mame/taito/pkspirit.cpp +++ b/src/mame/taito/pkspirit.cpp @@ -40,6 +40,7 @@ Video PCB: #include "emu.h" +#include "taitoio_opto.h" #include "taitosnd.h" #include "cpu/m68000/tmp68301.h" @@ -48,8 +49,6 @@ Video PCB: #include "sound/okim6295.h" #include "sound/ymopn.h" -#include "taitoio_opto.h" - #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -315,7 +314,7 @@ void pkspirit_state::pkspirit(machine_config &config) m_mainio->in_port3_cb().set_ioport("IN3"); m_mainio->in_port4_cb().set_ioport("IN4"); - for (auto & opto : m_opto) + for (auto &opto : m_opto) TAITOIO_OPTO(config, opto, 0); // video hardware diff --git a/src/mame/taito/sbmjb.cpp b/src/mame/taito/sbmjb.cpp index d0395af21e9..db8309b8604 100644 --- a/src/mame/taito/sbmjb.cpp +++ b/src/mame/taito/sbmjb.cpp @@ -40,6 +40,8 @@ #include "emu.h" +#include "taitoio_opto.h" + #include "cpu/z80/z80.h" #include "machine/tc009xlvc.h" #include "machine/te7750.h" @@ -48,8 +50,6 @@ #include "sound/okim6295.h" #include "sound/ymopn.h" -#include "taitoio_opto.h" - #include "screen.h" #include "speaker.h" diff --git a/src/mame/taito/taito_o.cpp b/src/mame/taito/taito_o.cpp index 9834fd4b4b2..1a6713c7253 100644 --- a/src/mame/taito/taito_o.cpp +++ b/src/mame/taito/taito_o.cpp @@ -45,6 +45,7 @@ Notes: #include "emu.h" +#include "taitoio_opto.h" #include "tc0080vco.h" #include "cpu/m68000/m68000.h" @@ -55,8 +56,6 @@ Notes: #include "machine/watchdog.h" #include "sound/ymopn.h" -#include "taitoio_opto.h" - #include "emupal.h" #include "screen.h" #include "speaker.h" @@ -96,13 +95,13 @@ private: required_device_array m_opto; required_device m_hopper; + u16 m_hoppff = 0x0000; + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(interrupt); u32 draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, u32 start_offset); void prg_map(address_map &map); void taitoo_hopper_int_cb(int state); - - u16 m_hoppff = 0x0000; }; @@ -377,7 +376,7 @@ void taitoo_state::taitoo(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - for (auto & opto : m_opto) + for (auto &opto : m_opto) TAITOIO_OPTO(config, opto, 0); SCREEN(config, m_screen, SCREEN_TYPE_RASTER); diff --git a/src/mame/vtech/pc2000.cpp b/src/mame/vtech/pc2000.cpp index dd4d3230459..27ba0252bc4 100644 --- a/src/mame/vtech/pc2000.cpp +++ b/src/mame/vtech/pc2000.cpp @@ -745,6 +745,7 @@ void pc2000_state::pc2000gen(machine_config &config) void pc2000_state::pc2000(machine_config &config) { pc2000gen(config); + HD44780(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used m_lcdc->set_lcd_size(2, 20); } @@ -752,7 +753,9 @@ void pc2000_state::pc2000(machine_config &config) void pc2000_state::pc2000eur(machine_config &config) { pc2000gen(config); - SED1278_0B(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used + + SED1278(config, m_lcdc, 250'000); // TODO: clock not measured, datasheet typical clock used + m_lcdc->set_default_bios_tag("0b"); m_lcdc->set_lcd_size(2, 20); } diff --git a/src/mame/yamaha/ympsr340.cpp b/src/mame/yamaha/ympsr340.cpp index 77126e7b81f..a683edcdb28 100644 --- a/src/mame/yamaha/ympsr340.cpp +++ b/src/mame/yamaha/ympsr340.cpp @@ -275,7 +275,8 @@ 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, 270'000); // TODO: clock not measured, datasheet typical clock used + KS0066(config, m_lcdc, 270'000); // TODO: clock not measured, datasheet typical clock used + m_lcdc->set_default_bios_tag("f05"); m_lcdc->set_lcd_size(2, 40); /* video hardware */ -- cgit v1.2.3