diff --git a/src/devices/cpu/sm510/sm500op.cpp b/src/devices/cpu/sm510/sm500op.cpp index 39af8e6020b..13449506650 100644 --- a/src/devices/cpu/sm510/sm500op.cpp +++ b/src/devices/cpu/sm510/sm500op.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause -// copyright-holders:hap, Igor +// copyright-holders:hap +// thanks-to:Igor // SM500 shared opcode handlers diff --git a/src/devices/cpu/sm510/sm5a.cpp b/src/devices/cpu/sm510/sm5a.cpp index 7510cd17655..594c23ca836 100644 --- a/src/devices/cpu/sm510/sm5a.cpp +++ b/src/devices/cpu/sm510/sm5a.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause -// copyright-holders:hap, Igor +// copyright-holders:hap +// thanks-to:Igor /* Sharp SM5A MCU core implementation @@ -17,7 +18,6 @@ // MCU types DEFINE_DEVICE_TYPE(SM5A, sm5a_device, "sm5a", "Sharp SM5A") // 1.8K ROM, 5x13x4 RAM, shift registers for LCD DEFINE_DEVICE_TYPE(SM5L, sm5l_device, "sm5l", "Sharp SM5L") // low-power version of SM5A -DEFINE_DEVICE_TYPE(KB1013VK12, kb1013vk12_device, "kb1013vk1_2", "KB1013VK1-2") // Soviet-era clone of SM5A // internal memory maps @@ -51,10 +51,6 @@ sm5l_device::sm5l_device(const machine_config &mconfig, const char *tag, device_ sm5a_device(mconfig, SM5L, tag, owner, clock, 1, 9, 11, address_map_constructor(FUNC(sm5l_device::program_1_8k), this), 7, address_map_constructor(FUNC(sm5l_device::data_5x13x4), this)) { } -kb1013vk12_device::kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : - sm5a_device(mconfig, KB1013VK12, tag, owner, clock, 1, 9, 11, address_map_constructor(FUNC(kb1013vk12_device::program_1_8k), this), 7, address_map_constructor(FUNC(kb1013vk12_device::data_5x13x4), this)) -{ } - // disasm std::unique_ptr sm5a_device::create_disassembler() diff --git a/src/devices/cpu/sm510/sm5a.h b/src/devices/cpu/sm510/sm5a.h index 05d746b9bf3..f4acf8a1788 100644 --- a/src/devices/cpu/sm510/sm5a.h +++ b/src/devices/cpu/sm510/sm5a.h @@ -83,15 +83,8 @@ public: sm5l_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768); }; -class kb1013vk12_device : public sm5a_device -{ -public: - kb1013vk12_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 32768); -}; - DECLARE_DEVICE_TYPE(SM5A, sm5a_device) DECLARE_DEVICE_TYPE(SM5L, sm5l_device) -DECLARE_DEVICE_TYPE(KB1013VK12, kb1013vk12_device) #endif // MAME_CPU_SM510_SM5A_H diff --git a/src/mame/handheld/hh_sm510.cpp b/src/mame/handheld/hh_sm510.cpp index f856e7810d3..e5f256f989f 100644 --- a/src/mame/handheld/hh_sm510.cpp +++ b/src/mame/handheld/hh_sm510.cpp @@ -380,14 +380,6 @@ void hh_sm510_state::mcfg_cpu_sm5a(machine_config &config) m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w)); } -void hh_sm510_state::mcfg_cpu_kb1013vk12(machine_config &config) -{ - KB1013VK12(config, m_maincpu); - mcfg_cpu_common(config); - m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); - m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w)); -} - void hh_sm510_state::mcfg_cpu_sm510(machine_config &config) { SM510(config, m_maincpu); @@ -423,6 +415,9 @@ void hh_sm510_state::mcfg_cpu_sm530(machine_config &config) void hh_sm510_state::mcfg_svg_screen(machine_config &config, u16 width, u16 height, const char *tag) { + if (width == 0 || height == 0) + return; + screen_device &screen(SCREEN(config, tag, SCREEN_TYPE_SVG)); screen.set_refresh_hz(60); screen.set_size(width, height); @@ -451,14 +446,6 @@ void hh_sm510_state::sm5a_common(machine_config &config, u16 width, u16 height) mcfg_svg_screen(config, width, height); } -void hh_sm510_state::kb1013vk12_common(machine_config &config, u16 width, u16 height) -{ - mcfg_cpu_kb1013vk12(config); - mcfg_sound_r1(config); - m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w)); - mcfg_svg_screen(config, width, height); -} - void hh_sm510_state::sm510_common(machine_config &config, u16 width, u16 height) { mcfg_cpu_sm510(config); @@ -1286,7 +1273,7 @@ void gnw_octopus_state::gnw_octopus(machine_config &config) void gnw_octopus_state::taynyoke(machine_config &config) { - kb1013vk12_common(config, 1647, 1080); // R mask option confirmed + sm5a_common(config, 1647, 1080); // КБ1013ВК1-2, R mask option confirmed } // roms @@ -1443,7 +1430,7 @@ void gnw_chef_state::gnw_chef(machine_config &config) void gnw_chef_state::vespovar(machine_config & config) { - kb1013vk12_common(config, 1679, 1080); // R mask option confirmed + sm5a_common(config, 1679, 1080); // КБ1013ВК1-2, R mask option confirmed } // roms @@ -1621,7 +1608,7 @@ void gnw_fire_state::gnw_fire(machine_config &config) void gnw_fire_state::kosmicmt(machine_config & config) { - kb1013vk12_common(config, 1673, 1080); // R mask option confirmed + sm5a_common(config, 1673, 1080); // КБ1013ВК1-2, R mask option confirmed } // roms @@ -4620,67 +4607,67 @@ INPUT_PORTS_END void nupogodi_state::nupogodi(machine_config &config) { - kb1013vk12_common(config, 1715, 1080); // R mask option ? + sm5a_common(config, 1715, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::ehockey(machine_config &config) { - kb1013vk12_common(config, 1782, 1080); // R mask option ? + sm5a_common(config, 1782, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::rkosmosa(machine_config &config) { - kb1013vk12_common(config, 1646, 1080); // R mask option ? + sm5a_common(config, 1646, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::okhota(machine_config &config) { - kb1013vk12_common(config, 1632, 1080); // R mask option ? + sm5a_common(config, 1632, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::biathlon(machine_config &config) { - kb1013vk12_common(config, 1633, 1080); // R mask option ? + sm5a_common(config, 1633, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::vfutbol(machine_config &config) { - kb1013vk12_common(config, 1655, 1080); // R mask option ? + sm5a_common(config, 1655, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::krybolov(machine_config &config) { - kb1013vk12_common(config, 1638, 1080); // R mask option ? + sm5a_common(config, 1638, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::kvakazad(machine_config &config) { - kb1013vk12_common(config, 1660, 1080); // R mask option ? + sm5a_common(config, 1660, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::nochnyev(machine_config &config) { - kb1013vk12_common(config, 1641, 1080); // R mask option ? + sm5a_common(config, 1641, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::kosmicpt(machine_config &config) { - kb1013vk12_common(config, 1658, 1080); // R mask option ? + sm5a_common(config, 1658, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::morataka(machine_config &config) { - kb1013vk12_common(config, 1648, 1080); // R mask option ? + sm5a_common(config, 1648, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::atakaast(machine_config &config) { - kb1013vk12_common(config, 1620, 1080); // R mask option ? + sm5a_common(config, 1620, 1080); // КБ1013ВК1-2, R mask option ? } void nupogodi_state::ecircus(machine_config &config) { - kb1013vk12_common(config, 1657, 1080); // R mask option ? + sm5a_common(config, 1657, 1080); // КБ1013ВК1-2, R mask option ? } // roms @@ -4848,7 +4835,7 @@ INPUT_PORTS_END void auslalom_state::auslalom(machine_config &config) { - kb1013vk12_common(config, 1732, 1080); // R mask option ? + sm5a_common(config, 1732, 1080); // КБ1013ВК1-2, R mask option ? } // roms diff --git a/src/mame/handheld/hh_sm510.h b/src/mame/handheld/hh_sm510.h index 6ff0f603977..9dafa81dee4 100644 --- a/src/mame/handheld/hh_sm510.h +++ b/src/mame/handheld/hh_sm510.h @@ -87,7 +87,6 @@ protected: // machine configs void mcfg_cpu_common(machine_config &config); void mcfg_cpu_sm5a(machine_config &config); - void mcfg_cpu_kb1013vk12(machine_config &config); void mcfg_cpu_sm510(machine_config &config); void mcfg_cpu_sm511(machine_config &config); void mcfg_cpu_sm512(machine_config &config); @@ -96,7 +95,6 @@ protected: void mcfg_sound_r1(machine_config &config); void sm5a_common(machine_config &config, u16 width, u16 height); - void kb1013vk12_common(machine_config &config, u16 width, u16 height); void sm510_common(machine_config &config, u16 width, u16 height); void sm511_common(machine_config &config, u16 width, u16 height); //void sm512_common(machine_config &config, u16 width, u16 height);