summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hh_sm510.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-10-08 01:50:18 +1100
committer Vas Crabb <vas@vastheman.com>2019-10-08 01:50:18 +1100
commit2d6d1580333b6e6c270194792ea352fe11529fbd (patch)
tree6520db3c109ba06cfcfca5512db9ede6d7ddbceb /src/mame/drivers/hh_sm510.cpp
parenteadc0eb471af49f1d693271f05b083a15f74d6d3 (diff)
(nw) clean up code rot and cancer
I haven't tested the hh_sm510.cpp changes very well yet - I'll give it another review soon, and test it some more before the end of the month. I'm not sure about whether any of the B or BA handlers should be in the base config methods for G&W. I've left them there for some configurations that always have them, but I might rip them out of the common methods altogether. It's not like Tiger where all the games use them.
Diffstat (limited to 'src/mame/drivers/hh_sm510.cpp')
-rw-r--r--src/mame/drivers/hh_sm510.cpp2480
1 files changed, 373 insertions, 2107 deletions
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp
index abf858fb216..8742d5c4029 100644
--- a/src/mame/drivers/hh_sm510.cpp
+++ b/src/mame/drivers/hh_sm510.cpp
@@ -187,6 +187,230 @@ void hh_sm510_state::machine_reset()
/***************************************************************************
+ Common Machine Configurations
+
+***************************************************************************/
+
+static const s16 piezo2bit_r1_120k_s1_39k[] = { 0, 0x7fff/3*1, 0x7fff/3*2, 0x7fff }; // R via 120K resistor, S1 via 39K resistor (eg. tsonic, tsonic2, tbatmana)
+
+void hh_sm510_state::common_base(machine_config &config, u16 width, u16 height)
+{
+ /* basic machine hardware */
+ m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
+
+ /* video hardware */
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
+ screen.set_refresh_hz(60);
+ screen.set_size(width, height);
+ screen.set_visarea_full();
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+ SPEAKER_SOUND(config, m_speaker);
+ m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+}
+
+void hh_sm510_state::sm500_base(machine_config &config, u16 width, u16 height)
+{
+ common_base(config, width, height);
+
+ m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
+}
+
+void hh_sm510_state::sm510_base(machine_config &config, u16 width, u16 height)
+{
+ common_base(config, width, height);
+
+ m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
+}
+
+void hh_sm510_state::common_sm511(machine_config &config, u16 width, u16 height)
+{
+ SM511(config, m_maincpu);
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+
+ sm510_base(config, width, height);
+}
+
+void hh_sm510_state::gnw_sm5a(machine_config &config, u16 width, u16 height)
+{
+ SM5A(config, m_maincpu);
+ m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ m_maincpu->read_b().set_ioport("B");
+
+ sm500_base(config, width, height);
+}
+
+void hh_sm510_state::gnw_sm5a_matrix(machine_config &config, u16 width, u16 height)
+{
+ SM5A(config, m_maincpu);
+ m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+
+ sm500_base(config, width, height);
+}
+
+void hh_sm510_state::gnw_kb1013vk12_matrix(machine_config &config, u16 width, u16 height)
+{
+ KB1013VK12(config, m_maincpu);
+ m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+
+ sm500_base(config, width, height);
+}
+
+void hh_sm510_state::gnw_sm510(machine_config &config, u16 width, u16 height)
+{
+ SM510(config, m_maincpu);
+ m_maincpu->set_r_mask_option(2);
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ m_maincpu->read_b().set_ioport("B");
+
+ sm510_base(config, width, height);
+}
+
+void hh_sm510_state::gnw_sm511(machine_config &config, u16 width, u16 height)
+{
+ common_sm511(config, width, height);
+
+ m_maincpu->read_b().set_ioport("B");
+}
+
+void hh_sm510_state::gnw_dualh(machine_config &config, u16 leftwidth, u16 leftheight, u16 rightwidth, u16 rightheight)
+{
+ /* basic machine hardware */
+ m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
+ m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ m_maincpu->read_ba().set_ioport("BA");
+ m_maincpu->read_b().set_ioport("B");
+
+ /* video hardware */
+ screen_device &screen_left(SCREEN(config, "screen_left", SCREEN_TYPE_SVG));
+ screen_left.set_refresh_hz(60);
+ screen_left.set_size(leftwidth, leftheight);
+ screen_left.set_visarea_full();
+
+ screen_device &screen_right(SCREEN(config, "screen_right", SCREEN_TYPE_SVG));
+ screen_right.set_refresh_hz(60);
+ screen_right.set_size(rightwidth, rightheight);
+ screen_right.set_visarea_full();
+
+ config.set_default_layout(layout_gnw_dualh);
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+ SPEAKER_SOUND(config, m_speaker);
+ m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+}
+
+void hh_sm510_state::gnw_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight)
+{
+ /* basic machine hardware */
+ m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
+ m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+
+ /* video hardware */
+ screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
+ screen_top.set_refresh_hz(60);
+ screen_top.set_size(topwidth, topheight);
+ screen_top.set_visarea_full();
+
+ screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
+ screen_bottom.set_refresh_hz(60);
+ screen_bottom.set_size(botwidth, botheight);
+ screen_bottom.set_visarea_full();
+
+ config.set_default_layout(layout_gnw_dualv);
+
+ /* sound hardware */
+ SPEAKER(config, "mono").front_center();
+ SPEAKER_SOUND(config, m_speaker);
+ m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+}
+
+void hh_sm510_state::gnw_sm510_dualh(machine_config &config, u16 leftwidth, u16 leftheight, u16 rightwidth, u16 rightheight)
+{
+ SM510(config, m_maincpu);
+ m_maincpu->set_r_mask_option(2);
+
+ gnw_dualh(config, leftwidth, leftheight, rightwidth, rightheight);
+}
+
+void hh_sm510_state::gnw_sm510_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight)
+{
+ SM510(config, m_maincpu);
+ m_maincpu->set_r_mask_option(2);
+
+ gnw_dualv(config, topwidth, topheight, botwidth, botheight);
+}
+
+void hh_sm510_state::gnw_sm511_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight)
+{
+ SM511(config, m_maincpu);
+
+ gnw_dualv(config, topwidth, topheight, botwidth, botheight);
+}
+
+void hh_sm510_state::gnw_sm512_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight)
+{
+ SM512(config, m_maincpu);
+
+ gnw_dualv(config, topwidth, topheight, botwidth, botheight);
+}
+
+void hh_sm510_state::konami_sm510(machine_config &config, u16 width, u16 height)
+{
+ SM510(config, m_maincpu);
+ m_maincpu->set_r_mask_option(2);
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+
+ sm510_base(config, width, height);
+}
+
+void hh_sm510_state::tiger_sm510_1bit(machine_config &config, u16 width, u16 height)
+{
+ SM510(config, m_maincpu);
+ m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ m_maincpu->read_ba().set_ioport("BA");
+ m_maincpu->read_b().set_ioport("B");
+
+ sm510_base(config, width, height);
+}
+
+void hh_sm510_state::tiger_sm511_1bit(machine_config &config, u16 width, u16 height)
+{
+ common_sm511(config, width, height);
+
+ m_maincpu->read_ba().set_ioport("BA");
+ m_maincpu->read_b().set_ioport("B");
+}
+
+void hh_sm510_state::tiger_sm511_2bit(machine_config &config, u16 width, u16 height)
+{
+ SM511(config, m_maincpu);
+ m_maincpu->write_s().set(FUNC(hh_sm510_state::piezo2bit_input_w));
+ m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo2bit_r1_w));
+ m_maincpu->read_ba().set_ioport("BA");
+ m_maincpu->read_b().set_ioport("B");
+
+ sm510_base(config, width, height);
+
+ m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k);
+}
+
+
+/***************************************************************************
+
Helper Functions
***************************************************************************/
@@ -320,8 +544,6 @@ WRITE8_MEMBER(hh_sm510_state::piezo_input_w)
input_w(space, 0, data >> 1);
}
-static const s16 piezo2bit_r1_120k_s1_39k[] = { 0, 0x7fff/3*1, 0x7fff/3*2, 0x7fff }; // R via 120K resistor, S1 via 39K resistor (eg. tsonic, tsonic2, tbatmana)
-
WRITE8_MEMBER(hh_sm510_state::piezo2bit_r1_w)
{
// R1(+S1) to piezo
@@ -393,25 +615,9 @@ INPUT_PORTS_END
void gnw_ball_state::gnw_ball(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1671, 1080);
- screen.set_visarea_full();
+ gnw_sm5a(config, 1671, 1080); // R option mask confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -476,24 +682,9 @@ INPUT_PORTS_END
void gnw_flagman_state::gnw_flagman(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm5a_matrix(config, 1511, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1511, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -556,25 +747,9 @@ INPUT_PORTS_END
void gnw_vermin_state::gnw_vermin(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm5a(config, 1650, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1650, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -639,25 +814,9 @@ INPUT_PORTS_END
void gnw_fires_state::gnw_fires(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm5a(config, 1646, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1646, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -724,24 +883,9 @@ INPUT_PORTS_END
void gnw_judge_state::gnw_judge(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1647, 1080);
- screen.set_visarea_full();
+ gnw_sm5a_matrix(config, 1647, 1080); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -813,25 +957,10 @@ INPUT_PORTS_END
void gnw_helmet_state::gnw_helmet(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+ gnw_sm5a_matrix(config, 1657, 1080); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1657, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -903,24 +1032,9 @@ INPUT_PORTS_END
void gnw_lion_state::gnw_lion(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm5a_matrix(config, 1646, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1646, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -988,25 +1102,10 @@ INPUT_PORTS_END
void gnw_pchute_state::gnw_pchute(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+ gnw_sm5a_matrix(config, 1602, 1080); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1602, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -1078,25 +1177,10 @@ INPUT_PORTS_END
void gnw_octopus_state::gnw_octopus(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+ gnw_sm5a_matrix(config, 1586, 1080); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1586, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -1166,25 +1250,10 @@ INPUT_PORTS_END
void gnw_popeye_state::gnw_popeye(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+ gnw_sm5a_matrix(config, 1604, 1080); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1604, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -1254,42 +1323,16 @@ INPUT_PORTS_END
void gnw_chef_state::gnw_chef(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // assuming same as merry cook
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
- m_maincpu->read_ba().set_ioport("BA");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1666, 1080);
- screen.set_visarea_full();
+ gnw_sm5a_matrix(config, 1666, 1080); // assuming same R mask option as merry cook
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
void gnw_chef_state::merrycook(machine_config & config)
{
- gnw_chef(config);
+ gnw_kb1013vk12_matrix(config, 1679, 1080); // R mask option confirmed
- /* basic machine hardware */
- KB1013VK12(config.replace(), m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
m_maincpu->read_ba().set_ioport("BA");
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1679, 1080);
- screen->set_visarea_full();
}
// roms
@@ -1381,62 +1424,30 @@ INPUT_PORTS_END
void gnw_mmouse_state::gnw_mmouse(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // ?
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
- m_maincpu->read_ba().set_ioport("BA");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1711, 1080);
- screen.set_visarea_full();
+ gnw_sm5a_matrix(config, 1711, 1080); // R mask option ?
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
void gnw_mmouse_state::gnw_egg(machine_config &config)
{
- gnw_mmouse(config);
+ gnw_sm5a_matrix(config, 1694, 1080); // R mask option ?
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1694, 1080);
- screen->set_visarea_full();
+ m_maincpu->read_ba().set_ioport("BA");
}
void gnw_mmouse_state::nupogodi(machine_config &config)
{
- gnw_mmouse(config);
+ gnw_kb1013vk12_matrix(config, 1715, 1080); // R mask option ?
- /* basic machine hardware */
- KB1013VK12(config.replace(), m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // ?
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
m_maincpu->read_ba().set_ioport("BA");
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1715, 1080);
- screen->set_visarea_full();
}
void gnw_mmouse_state::exospace(machine_config &config)
{
- nupogodi(config);
+ gnw_kb1013vk12_matrix(config, 1756, 1080); // R mask option ?
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1756, 1080);
- screen->set_visarea_full();
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -1537,44 +1548,18 @@ INPUT_PORTS_END
void gnw_fire_state::gnw_fire(machine_config &config)
{
- /* basic machine hardware */
- SM5A(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
+ gnw_sm5a_matrix(config, 1624, 1080); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1624, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
void gnw_fire_state::spacebridge(machine_config & config)
{
- gnw_fire(config);
+ gnw_kb1013vk12_matrix(config, 1673, 1080); // R mask option confirmed
- /* basic machine hardware */
- KB1013VK12(config.replace(), m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm500_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_input_w));
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1673, 1080);
- screen->set_visarea_full();
}
// roms
@@ -1653,26 +1638,9 @@ INPUT_PORTS_END
void gnw_tbridge_state::gnw_tbridge(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1587, 1080);
- screen.set_visarea_full();
+ gnw_sm510(config, 1587, 1080); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -1739,26 +1707,9 @@ INPUT_PORTS_END
void gnw_fireatk_state::gnw_fireatk(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm510(config, 1655, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1655, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -1825,26 +1776,9 @@ INPUT_PORTS_END
void gnw_stennis_state::gnw_stennis(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm510(config, 1581, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1581, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -1911,33 +1845,10 @@ INPUT_PORTS_END
void gnw_opanic_state::gnw_opanic(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm510_dualv(config, 1920/2, 1292/2, 1920/2, 1230/2); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1292/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1230/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -2006,32 +1917,9 @@ INPUT_PORTS_END
void gnw_dkong_state::gnw_dkong(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm510_dualv(config, 1920/2, 1266/2, 1920/2, 1266/2); // R mask option confirmed
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1266/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1266/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -2096,32 +1984,10 @@ INPUT_PORTS_END
void gnw_mickdon_state::gnw_mickdon(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r2_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1281/2);
- screen_top.set_visarea_full();
+ gnw_sm510_dualv(config, 1920/2, 1281/2, 1920/2, 1236/2); // R mask option confirmed
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1236/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->write_r().set(FUNC(gnw_mickdon_state::piezo_r2_w));
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -2195,33 +2061,10 @@ INPUT_PORTS_END
void gnw_ghouse_state::gnw_ghouse(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm510_dualv(config, 1920/2, 1303/2, 1920/2, 1274/2); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1303/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1274/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -2290,32 +2133,9 @@ INPUT_PORTS_END
void gnw_dkong2_state::gnw_dkong2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1241/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1237/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
+ gnw_sm510_dualv(config, 1920/2, 1241/2, 1920/2, 1237/2); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_b().set_ioport("B");
}
// roms
@@ -2385,33 +2205,7 @@ INPUT_PORTS_END
void gnw_mario_state::gnw_mario(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_left(SCREEN(config, "screen_left", SCREEN_TYPE_SVG));
- screen_left.set_refresh_hz(60);
- screen_left.set_size(2258/2, 1440/2);
- screen_left.set_visarea_full();
-
- screen_device &screen_right(SCREEN(config, "screen_right", SCREEN_TYPE_SVG));
- screen_right.set_refresh_hz(60);
- screen_right.set_size(2261/2, 1440/2);
- screen_right.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualh);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm510_dualh(config, 2258/2, 1440/2, 2261/2, 1440/2); // R mask option confirmed
}
// roms
@@ -2487,33 +2281,7 @@ INPUT_PORTS_END
void gnw_rshower_state::gnw_rshower(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_left(SCREEN(config, "screen_left", SCREEN_TYPE_SVG));
- screen_left.set_refresh_hz(60);
- screen_left.set_size(2126/2, 1440/2);
- screen_left.set_visarea_full();
-
- screen_device &screen_right(SCREEN(config, "screen_right", SCREEN_TYPE_SVG));
- screen_right.set_refresh_hz(60);
- screen_right.set_size(2146/2, 1440/2);
- screen_right.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualh);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm510_dualh(config, 2126/2, 1440/2, 2146/2, 1440/2); // R mask option confirmed
}
// roms
@@ -2583,33 +2351,7 @@ INPUT_PORTS_END
void gnw_lboat_state::gnw_lboat(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_left(SCREEN(config, "screen_left", SCREEN_TYPE_SVG));
- screen_left.set_refresh_hz(60);
- screen_left.set_size(2116/2, 1440/2);
- screen_left.set_visarea_full();
-
- screen_device &screen_right(SCREEN(config, "screen_right", SCREEN_TYPE_SVG));
- screen_right.set_refresh_hz(60);
- screen_right.set_size(2057/2, 1440/2);
- screen_right.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualh);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm510_dualh(config, 2116/2, 1440/2, 2057/2, 1440/2); // R mask option confirmed
}
// roms
@@ -2669,30 +2411,7 @@ INPUT_PORTS_END
void gnw_bjack_state::gnw_bjack(machine_config &config)
{
- /* basic machine hardware */
- SM512(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1290/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1297/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm512_dualv(config, 1920/2, 1290/2, 1920/2, 1297/2);
}
// roms
@@ -2768,33 +2487,10 @@ INPUT_PORTS_END
void gnw_squish_state::gnw_squish(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm510_dualv(config, 1920/2, 1285/2, 1920/2, 1287/2); // R mask option confirmed
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1285/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1287/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -2864,32 +2560,10 @@ INPUT_PORTS_END
void gnw_bsweep_state::gnw_bsweep(machine_config &config)
{
- /* basic machine hardware */
- SM512(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm512_dualv(config, 1920/2, 1291/2, 1920/2, 1239/2);
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1291/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1239/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -2961,32 +2635,10 @@ INPUT_PORTS_END
void gnw_sbuster_state::gnw_sbuster(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm511_dualv(config, 1920/2, 1246/2, 1920/2, 1269/2);
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1246/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1269/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -3063,32 +2715,10 @@ INPUT_PORTS_END
void gnw_gcliff_state::gnw_gcliff(machine_config &config)
{
- /* basic machine hardware */
- SM512(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm512_dualv(config, 1920/2, 1257/2, 1920/2, 1239/2);
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1257/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1239/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -3165,32 +2795,10 @@ INPUT_PORTS_END
void gnw_zelda_state::gnw_zelda(machine_config &config)
{
- /* basic machine hardware */
- SM512(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
+ gnw_sm512_dualv(config, 1920/2, 1346/2, 1920/2, 1291/2);
+
m_maincpu->read_ba().set_ioport("BA");
m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen_top(SCREEN(config, "screen_top", SCREEN_TYPE_SVG));
- screen_top.set_refresh_hz(60);
- screen_top.set_size(1920/2, 1346/2);
- screen_top.set_visarea_full();
-
- screen_device &screen_bottom(SCREEN(config, "screen_bottom", SCREEN_TYPE_SVG));
- screen_bottom.set_refresh_hz(60);
- screen_bottom.set_size(1920/2, 1291/2);
- screen_bottom.set_visarea_full();
-
- config.set_default_layout(layout_gnw_dualv);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
}
// roms
@@ -3273,25 +2881,9 @@ INPUT_PORTS_END
void gnw_dkjrp_state::gnw_dkjrp(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm511(config, 1920, 1049);
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1920, 1049);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -3361,25 +2953,9 @@ INPUT_PORTS_END
void gnw_mbaway_state::gnw_mbaway(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm511(config, 1920, 1031);
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1920, 1031);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -3455,26 +3031,9 @@ INPUT_PORTS_END
void gnw_dkjr_state::gnw_dkjr(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
+ gnw_sm510(config, 1647, 1080); // R mask option confirmed
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1647, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -3542,26 +3101,9 @@ INPUT_PORTS_END
void gnw_mariocm_state::gnw_mariocm(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1647, 1080);
- screen.set_visarea_full();
+ gnw_sm510(config, 1647, 1080); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -3630,26 +3172,9 @@ INPUT_PORTS_END
void gnw_manhole_state::gnw_manhole(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1560, 1080);
- screen.set_visarea_full();
+ gnw_sm510(config, 1560, 1080); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -3711,25 +3236,7 @@ INPUT_PORTS_END
void gnw_tfish_state::gnw_tfish(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1572, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm510(config, 1572, 1080); // R mask option confirmed
}
// roms
@@ -3801,24 +3308,7 @@ INPUT_PORTS_END
void gnw_smb_state::gnw_smb(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1677, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm511(config, 1677, 1080);
}
// roms
@@ -3897,34 +3387,12 @@ INPUT_PORTS_END
void gnw_climber_state::gnw_climber(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1756, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm511(config, 1756, 1080);
}
void gnw_climber_state::gnw_climbern(machine_config &config)
{
- gnw_climber(config);
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1677, 1080);
- screen->set_visarea_full();
+ gnw_sm511(config, 1677, 1080);
}
// roms
@@ -4018,34 +3486,12 @@ INPUT_PORTS_END
void gnw_bfight_state::gnw_bfight(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1771, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ gnw_sm511(config, 1771, 1080);
}
void gnw_bfight_state::gnw_bfightn(machine_config &config)
{
- gnw_bfight(config);
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1549, 1080);
- screen->set_visarea_full();
+ gnw_sm511(config, 1549, 1080);
}
// roms
@@ -4126,26 +3572,9 @@ INPUT_PORTS_END
void gnw_ssparky_state::gnw_ssparky(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(627, 1080);
- screen.set_visarea_full();
+ gnw_sm510(config, 627, 1080); // R mask option confirmed
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -4235,25 +3664,9 @@ INPUT_PORTS_END
void gnw_boxing_state::gnw_boxing(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1920, 524);
- screen.set_visarea_full();
+ gnw_sm511(config, 1920, 524);
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->read_ba().set_ioport("BA");
}
// roms
@@ -4321,23 +3734,7 @@ INPUT_PORTS_END
void kdribble_state::kdribble(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1524, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
+ konami_sm510(config, 1524, 1080); // R mask option confirmed
}
// roms
@@ -4398,24 +3795,7 @@ INPUT_PORTS_END
void ktopgun_state::ktopgun(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1515, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ konami_sm510(config, 1515, 1080); // R mask option confirmed
}
// roms
@@ -4481,23 +3861,7 @@ INPUT_PORTS_END
void kcontra_state::kcontra(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1505, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1505, 1080);
}
// roms
@@ -4562,23 +3926,7 @@ INPUT_PORTS_END
void ktmnt_state::ktmnt(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1505, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1505, 1080);
}
// roms
@@ -4640,23 +3988,7 @@ INPUT_PORTS_END
void kgradius_state::kgradius(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1420, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1420, 1080);
}
// roms
@@ -4716,23 +4048,7 @@ INPUT_PORTS_END
void kloneran_state::kloneran(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1497, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1497, 1080);
}
// roms
@@ -4796,23 +4112,7 @@ INPUT_PORTS_END
void kblades_state::kblades(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1516, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1516, 1080);
}
// roms
@@ -4881,23 +4181,7 @@ INPUT_PORTS_END
void knfl_state::knfl(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1449, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1449, 1080);
}
// roms
@@ -4962,23 +4246,7 @@ INPUT_PORTS_END
void kbilly_state::kbilly(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1490, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1490, 1080);
}
// roms
@@ -5037,23 +4305,7 @@ INPUT_PORTS_END
void kbucky_state::kbucky(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1490, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1490, 1080);
}
// roms
@@ -5119,23 +4371,7 @@ INPUT_PORTS_END
void kgarfld_state::kgarfld(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1500, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1500, 1080);
}
// roms
@@ -5236,36 +4472,12 @@ INPUT_PORTS_END
void tgaunt_state::tgaunt(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1425, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1425, 1080);
}
void tgaunt_state::trobhood(machine_config &config)
{
- tgaunt(config);
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1468, 1080);
- screen->set_visarea_full();
+ tiger_sm510_1bit(config, 1468, 1080);
}
// roms
@@ -5354,26 +4566,7 @@ INPUT_PORTS_END
void tddragon_state::tddragon(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1467, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1467, 1080); // R mask option confirmed
}
// roms
@@ -5455,26 +4648,7 @@ INPUT_PORTS_END
void tkarnov_state::tkarnov(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1477, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1477, 1080);
}
// roms
@@ -5555,26 +4729,7 @@ INPUT_PORTS_END
void tvindictr_state::tvindictr(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1459, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1459, 1080);
}
// roms
@@ -5666,27 +4821,9 @@ INPUT_PORTS_END
void tgaiden_state::tgaiden(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->write_r().append(FUNC(tgaiden_state::led_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1476, 1080);
- screen.set_visarea_full();
+ tiger_sm510_1bit(config, 1476, 1080);
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ m_maincpu->write_r().append(FUNC(tgaiden_state::led_w));
}
// roms
@@ -5763,26 +4900,7 @@ INPUT_PORTS_END
void tbatman_state::tbatman(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1442, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1442, 1080);
}
// roms
@@ -5863,26 +4981,7 @@ INPUT_PORTS_END
void tsharr2_state::tsharr2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1493, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1493, 1080); // R mask option confirmed
}
// roms
@@ -5960,26 +5059,7 @@ INPUT_PORTS_END
void tstrider_state::tstrider(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1479, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1479, 1080);
}
// roms
@@ -6061,26 +5141,7 @@ INPUT_PORTS_END
void tgoldnaxe_state::tgoldnaxe(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1456, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1456, 1080);
}
// roms
@@ -6179,36 +5240,12 @@ INPUT_PORTS_END
void trobocop2_state::trobocop2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1487, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1487, 1080);
}
void trobocop2_state::trockteer(machine_config &config)
{
- trobocop2(config);
-
- /* video hardware */
- screen_device *screen = subdevice<screen_device>("screen");
- screen->set_size(1463, 1080);
- screen->set_visarea_full();
+ tiger_sm510_1bit(config, 1463, 1080);
}
// roms
@@ -6302,26 +5339,7 @@ INPUT_PORTS_END
void taltbeast_state::taltbeast(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1455, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1455, 1080); // R mask option confirmed
}
// roms
@@ -6403,26 +5421,7 @@ INPUT_PORTS_END
void tsf2010_state::tsf2010(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1465, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1465, 1080);
}
// roms
@@ -6500,26 +5499,7 @@ INPUT_PORTS_END
void tswampt_state::tswampt(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1450, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1450, 1080);
}
// roms
@@ -6601,26 +5581,7 @@ INPUT_PORTS_END
void tspidman_state::tspidman(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1440, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1440, 1080);
}
// roms
@@ -6702,26 +5663,7 @@ INPUT_PORTS_END
void txmen_state::txmen(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1467, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1467, 1080);
}
// roms
@@ -6803,26 +5745,7 @@ INPUT_PORTS_END
void tddragon3_state::tddragon3(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1514, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1514, 1080);
}
// roms
@@ -6904,26 +5827,7 @@ INPUT_PORTS_END
void tflash_state::tflash(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1444, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1444, 1080);
}
// roms
@@ -7006,25 +5910,7 @@ INPUT_PORTS_END
void tmchammer_state::tmchammer(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1471, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm511_1bit(config, 1471, 1080);
}
// roms
@@ -7109,26 +5995,7 @@ INPUT_PORTS_END
void tbtoads_state::tbtoads(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1454, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1454, 1080);
}
// roms
@@ -7210,26 +6077,7 @@ INPUT_PORTS_END
void thook_state::thook(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1489, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1489, 1080);
}
// roms
@@ -7310,26 +6158,7 @@ INPUT_PORTS_END
void tbttf_state::tbttf(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1466, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1466, 1080);
}
// roms
@@ -7413,26 +6242,7 @@ INPUT_PORTS_END
void taddams_state::taddams(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1464, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1464, 1080);
}
// roms
@@ -7514,26 +6324,7 @@ INPUT_PORTS_END
void thalone_state::thalone(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1448, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1448, 1080);
}
// roms
@@ -7611,26 +6402,7 @@ INPUT_PORTS_END
void txmenpx_state::txmenpx(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1464, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1464, 1080);
}
// roms
@@ -7712,26 +6484,7 @@ INPUT_PORTS_END
void thalone2_state::thalone2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1454, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1454, 1080);
}
// roms
@@ -7808,26 +6561,7 @@ INPUT_PORTS_END
void tsonic_state::tsonic(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::piezo2bit_input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo2bit_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1517, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm511_2bit(config, 1517, 1080);
}
// roms
@@ -7912,26 +6646,7 @@ INPUT_PORTS_END
void trobocop3_state::trobocop3(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1464, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1464, 1080);
}
// roms
@@ -8009,26 +6724,7 @@ INPUT_PORTS_END
void tdummies_state::tdummies(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1441, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1441, 1080);
}
// roms
@@ -8110,26 +6806,7 @@ INPUT_PORTS_END
void tsfight2_state::tsfight2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1444, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1444, 1080);
}
// roms
@@ -8211,26 +6888,7 @@ INPUT_PORTS_END
void twworld_state::twworld(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1429, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1429, 1080);
}
// roms
@@ -8308,26 +6966,7 @@ INPUT_PORTS_END
void tjpark_state::tjpark(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1454, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1454, 1080);
}
// roms
@@ -8404,26 +7043,7 @@ INPUT_PORTS_END
void tsonic2_state::tsonic2(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::piezo2bit_input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo2bit_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1475, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm511_2bit(config, 1475, 1080);
}
// roms
@@ -8513,26 +7133,7 @@ INPUT_PORTS_END
void tsddragon_state::tsddragon(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1503, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1503, 1080);
}
// roms
@@ -8615,26 +7216,7 @@ INPUT_PORTS_END
void tdennis_state::tdennis(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1467, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1467, 1080);
}
// roms
@@ -8720,26 +7302,7 @@ INPUT_PORTS_END
void tnmarebc_state::tnmarebc(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(tnmarebc_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1456, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1456, 1080);
}
// roms
@@ -8821,26 +7384,7 @@ INPUT_PORTS_END
void ttransf2_state::ttransf2(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1476, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1476, 1080);
}
// roms
@@ -8918,26 +7462,7 @@ INPUT_PORTS_END
void topaliens_state::topaliens(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1450, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1450, 1080);
}
// roms
@@ -9020,26 +7545,7 @@ INPUT_PORTS_END
void tmkombat_state::tmkombat(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1468, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1468, 1080);
}
// roms
@@ -9121,26 +7627,7 @@ INPUT_PORTS_END
void tshadow_state::tshadow(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1484, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1484, 1080);
}
// roms
@@ -9222,26 +7709,7 @@ INPUT_PORTS_END
void tskelwarr_state::tskelwarr(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1444, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1444, 1080);
}
// roms
@@ -9324,26 +7792,7 @@ INPUT_PORTS_END
void tbatfor_state::tbatfor(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1493, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1493, 1080);
}
// roms
@@ -9426,26 +7875,7 @@ INPUT_PORTS_END
void tjdredd_state::tjdredd(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1444, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1444, 1080);
}
// roms
@@ -9528,26 +7958,7 @@ INPUT_PORTS_END
void tapollo13_state::tapollo13(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1467, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1467, 1080);
}
// roms
@@ -9630,26 +8041,7 @@ INPUT_PORTS_END
void tgoldeye_state::tgoldeye(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1461, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1461, 1080);
}
// roms
@@ -9732,26 +8124,7 @@ INPUT_PORTS_END
void tkazaam_state::tkazaam(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu); // no external XTAL
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1452, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1452, 1080); // no external XTAL
}
// roms
@@ -9829,26 +8202,7 @@ INPUT_PORTS_END
void tsjam_state::tsjam(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu); // no external XTAL
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1421, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1421, 1080); // no external XTAL
}
// roms
@@ -9926,26 +8280,7 @@ INPUT_PORTS_END
void tinday_state::tinday(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(sm510_base_device::RMASK_DIRECT);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1463, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm510_1bit(config, 1463, 1080);
}
// roms
@@ -10023,26 +8358,7 @@ INPUT_PORTS_END
void tbatmana_state::tbatmana(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::piezo2bit_input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo2bit_r1_w));
- m_maincpu->read_ba().set_ioport("BA");
- m_maincpu->read_b().set_ioport("B");
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1478, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->set_levels(4, piezo2bit_r1_120k_s1_39k);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ tiger_sm511_2bit(config, 1478, 1080);
}
// roms
@@ -10140,24 +8456,7 @@ INPUT_PORTS_END
void trshutvoy_state::trshutvoy(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1496, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ konami_sm510(config, 1496, 1080); // R mask options confirmed
}
void trshutvoy_state::tigarden(machine_config &config)
@@ -10232,24 +8531,7 @@ INPUT_PORTS_END
void trsrescue_state::trsrescue(machine_config &config)
{
- /* basic machine hardware */
- SM510(config, m_maincpu);
- m_maincpu->set_r_mask_option(2); // confirmed
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1533, 1080);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ konami_sm510(config, 1533, 1080); // R mask options confirmed
}
// roms
@@ -10338,23 +8620,7 @@ INPUT_PORTS_END
void nummunch_state::nummunch(machine_config &config)
{
- /* basic machine hardware */
- SM511(config, m_maincpu);
- m_maincpu->write_segs().set(FUNC(hh_sm510_state::sm510_lcd_segment_w));
- m_maincpu->read_k().set(FUNC(hh_sm510_state::input_r));
- m_maincpu->write_s().set(FUNC(hh_sm510_state::input_w));
- m_maincpu->write_r().set(FUNC(hh_sm510_state::piezo_r1_w));
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(1920, 875);
- screen.set_visarea_full();
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker);
- m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
+ common_sm511(config, 1920, 875);
}
// roms