sm5a: remove kb1013vk12_device as it's identical to sm5a_device

This commit is contained in:
hap 2025-02-03 19:28:42 +01:00
parent 88a26bb838
commit 7274d211c9
5 changed files with 24 additions and 49 deletions

View File

@ -1,5 +1,6 @@
// license:BSD-3-Clause
// copyright-holders:hap, Igor
// copyright-holders:hap
// thanks-to:Igor
// SM500 shared opcode handlers

View File

@ -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<util::disasm_interface> sm5a_device::create_disassembler()

View File

@ -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

View File

@ -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

View File

@ -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);