diff options
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 |
commit | 2d6d1580333b6e6c270194792ea352fe11529fbd (patch) | |
tree | 6520db3c109ba06cfcfca5512db9ede6d7ddbceb /src/mame/drivers/hh_sm510.cpp | |
parent | eadc0eb471af49f1d693271f05b083a15f74d6d3 (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.cpp | 2480 |
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 |