From ba2ca8eb55090df24fa2793e531fd4358e79be83 Mon Sep 17 00:00:00 2001 From: hap Date: Sun, 2 Apr 2023 20:35:55 +0200 Subject: New working systems ------------------- Lite 'n Learn: Electronic Organ [hap, Sean Riddle] Weight Talker [hap, Sean Riddle] --- src/mame/handheld/hh_cop400.cpp | 74 +++- src/mame/handheld/hh_cops1.cpp | 16 +- src/mame/handheld/hh_hmcs40.cpp | 156 ++++++-- src/mame/handheld/hh_melps4.cpp | 8 +- src/mame/handheld/hh_pic16.cpp | 60 ++- src/mame/handheld/hh_pps41.cpp | 40 +- src/mame/handheld/hh_rw5000.cpp | 36 +- src/mame/handheld/hh_sm510.cpp | 512 ++++++++++++++++++------ src/mame/handheld/hh_tms1k.cpp | 844 ++++++++++++++++++++++++++++++++++------ src/mame/handheld/hh_ucom4.cpp | 96 +++-- src/mame/layout/comparc.lay | 8 +- src/mame/layout/litelrn.lay | 104 +++++ src/mame/mame.lst | 2 + src/mame/namco/namcos10.cpp | 6 +- src/mame/neogeo/neogeo.cpp | 1 - src/mame/snk/miconkit.cpp | 21 +- src/mame/taito/taito_en.cpp | 3 +- src/mame/taito/taito_f3.cpp | 1 - src/mame/ti/cc40.cpp | 2 +- src/mame/ti/snspell.cpp | 66 ++-- 20 files changed, 1639 insertions(+), 417 deletions(-) create mode 100644 src/mame/layout/litelrn.lay diff --git a/src/mame/handheld/hh_cop400.cpp b/src/mame/handheld/hh_cop400.cpp index dc248e0a1d5..c2edfd70ee8 100644 --- a/src/mame/handheld/hh_cop400.cpp +++ b/src/mame/handheld/hh_cop400.cpp @@ -207,7 +207,7 @@ u8 ctstein_state::read_l() return read_inputs(3, 0xf) << 4 | 0xf; } -// config +// inputs static INPUT_PORTS_START( ctstein ) PORT_START("IN.0") // G0 port L @@ -229,6 +229,8 @@ static INPUT_PORTS_START( ctstein ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Blue Button") INPUT_PORTS_END +// config + void ctstein_state::ctstein(machine_config &config) { // basic machine hardware @@ -326,7 +328,7 @@ u8 h2hbaskbc_state::read_in() return read_inputs(4, 7) | (m_inputs[4]->read() & 8); } -// config +// inputs static INPUT_PORTS_START( h2hbaskbc ) PORT_START("IN.0") // G0 port IN @@ -377,6 +379,8 @@ static INPUT_PORTS_START( h2hsoccerc ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) INPUT_PORTS_END +// config + void h2hbaskbc_state::h2hbaskbc(machine_config &config) { // basic machine hardware @@ -499,7 +503,7 @@ void einvaderc_state::write_l(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( einvaderc ) PORT_START("IN.0") // port IN @@ -511,6 +515,8 @@ static INPUT_PORTS_START( einvaderc ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) INPUT_PORTS_END +// config + void einvaderc_state::einvaderc(machine_config &config) { // basic machine hardware @@ -631,7 +637,7 @@ u8 unkeinv_state::read_l() return ret & ~m_l; } -// config +// inputs static INPUT_PORTS_START( unkeinv ) PORT_START("IN.0") @@ -641,6 +647,8 @@ static INPUT_PORTS_START( unkeinv ) PORT_BIT( 0x0f, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_SENSITIVITY(10) PORT_KEYDELTA(1) PORT_CENTERDELTA(0) INPUT_PORTS_END +// config + void unkeinv_state::unkeinv(machine_config &config) { // basic machine hardware @@ -771,7 +779,7 @@ u8 lchicken_state::read_g() return read_inputs(4, m_g); } -// config +// inputs static INPUT_PORTS_START( lchicken ) PORT_START("IN.0") // D0 port G @@ -799,6 +807,8 @@ static INPUT_PORTS_START( lchicken ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(lchicken_state, motor_switch_r) INPUT_PORTS_END +// config + void lchicken_state::lchicken(machine_config &config) { // basic machine hardware @@ -901,7 +911,7 @@ u8 funjacks_state::read_g() return m_inputs[3]->read() | (m_g & 2); } -// config +// inputs static INPUT_PORTS_START( funjacks ) PORT_START("IN.0") // D0 port L @@ -925,6 +935,8 @@ static INPUT_PORTS_START( funjacks ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void funjacks_state::funjacks(machine_config &config) { // basic machine hardware @@ -1012,7 +1024,7 @@ void funrlgl_state::write_g(u8 data) m_speaker->level_w(data >> 3 & 1); } -// config +// inputs static INPUT_PORTS_START( funrlgl ) PORT_START("IN.0") // port G @@ -1027,6 +1039,8 @@ static INPUT_PORTS_START( funrlgl ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_cop400_state, reset_button, 0) INPUT_PORTS_END +// config + void funrlgl_state::funrlgl(machine_config &config) { // basic machine hardware @@ -1126,7 +1140,7 @@ u8 funtag_state::read_g() return read_inputs(3, 3) | m_inputs[3]->read() | 4; } -// config +// inputs static INPUT_PORTS_START( funtag ) PORT_START("IN.0") // D0 port G @@ -1150,6 +1164,8 @@ static INPUT_PORTS_START( funtag ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void funtag_state::funtag(machine_config &config) { // basic machine hardware @@ -1273,7 +1289,7 @@ u8 mbaskb2_state::sub_read_in() return read_inputs(3, 0xf); } -// config +// inputs CUSTOM_INPUT_MEMBER(mbaskb2_state::switch_r) { @@ -1315,6 +1331,8 @@ static INPUT_PORTS_START( msoccer2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("Teammate") INPUT_PORTS_END +// config + void mbaskb2_state::mbaskb2(machine_config &config) { // basic machine hardware @@ -1435,7 +1453,7 @@ u8 lafootb_state::read_g() return read_inputs(2, 7) | (m_inputs[2]->read() & 8); } -// config +// inputs static INPUT_PORTS_START( lafootb ) PORT_START("IN.0") // D2 port G @@ -1454,6 +1472,8 @@ static INPUT_PORTS_START( lafootb ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void lafootb_state::lafootb(machine_config &config) { // basic machine hardware @@ -1558,7 +1578,7 @@ u8 mdallas_state::read_in() return read_inputs(6, 0xf); } -// config +// inputs /* physical button layout and labels are like this: @@ -1608,6 +1628,8 @@ static INPUT_PORTS_START( mdallas ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("North") // N INPUT_PORTS_END +// config + void mdallas_state::mdallas(machine_config &config) { // basic machine hardware @@ -1685,7 +1707,7 @@ u8 plus1_state::read_l() return m_inputs[1]->read() & m_l; } -// config +// inputs static INPUT_PORTS_START( plus1 ) PORT_START("IN.0") // port G @@ -1702,6 +1724,8 @@ static INPUT_PORTS_START( plus1 ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +// config + void plus1_state::plus1(machine_config &config) { // basic machine hardware @@ -1804,7 +1828,7 @@ u8 lightfgt_state::read_g() return read_inputs(5, 0xf); } -// config +// inputs static INPUT_PORTS_START( lightfgt ) PORT_START("IN.0") // SO port G @@ -1838,6 +1862,8 @@ static INPUT_PORTS_START( lightfgt ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_COCKTAIL INPUT_PORTS_END +// config + void lightfgt_state::lightfgt(machine_config &config) { // basic machine hardware @@ -1932,7 +1958,7 @@ WRITE_LINE_MEMBER(bshipg_state::write_so) m_display->matrix(1, state); } -// config +// inputs static INPUT_PORTS_START( bshipg ) PORT_START("IN.0") // D0 ports L,IN @@ -1995,6 +2021,8 @@ static INPUT_PORTS_START( bshipg ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_TOGGLE PORT_CODE(KEYCODE_F1) PORT_NAME("Load/Go") // switch INPUT_PORTS_END +// config + void bshipg_state::bshipg(machine_config &config) { // basic machine hardware @@ -2099,7 +2127,7 @@ WRITE_LINE_MEMBER(qkracer_state::write_sk) update_display(); } -// config +// inputs static INPUT_PORTS_START( qkracer ) PORT_START("IN.0") // D3 port IN @@ -2133,6 +2161,8 @@ static INPUT_PORTS_START( qkracer ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+") INPUT_PORTS_END +// config + void qkracer_state::qkracer(machine_config &config) { // basic machine hardware @@ -2178,7 +2208,7 @@ ROM_END // handlers: see mdallas_state -// config +// inputs static INPUT_PORTS_START( copspa ) PORT_START("IN.0") // G0 port IN @@ -2308,7 +2338,7 @@ void scat_state::main_map(address_map &map) map(0x0000, 0x07ff).rom(); } -// config +// inputs static INPUT_PORTS_START( solution ) PORT_START("IN.0") // D0 port IN @@ -2348,6 +2378,8 @@ static INPUT_PORTS_START( solution ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_NAME("CE/C") INPUT_PORTS_END +// config + void scat_state::scat(machine_config &config) { // basic machine hardware @@ -2439,7 +2471,7 @@ WRITE_LINE_MEMBER(vidchal_state::write_sk) update_display(); } -// config +// inputs static INPUT_PORTS_START( vidchal ) PORT_START("IN.0") // port IN @@ -2449,6 +2481,8 @@ static INPUT_PORTS_START( vidchal ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_F1) PORT_NAME("Light Sensor") INPUT_PORTS_END +// config + void vidchal_state::vidchal(machine_config &config) { // basic machine hardware @@ -2564,7 +2598,7 @@ WRITE_LINE_MEMBER(lilcomp_state::write_sk) m_sk = state; } -// config +// inputs static INPUT_PORTS_START( lilcomp ) PORT_START("IN.0") // L0 port G @@ -2589,6 +2623,8 @@ static INPUT_PORTS_START( lilcomp ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_POWER_ON ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_cop400_state, power_button, true) INPUT_PORTS_END +// config + void lilcomp_state::lilcomp(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_cops1.cpp b/src/mame/handheld/hh_cops1.cpp index ad78d938a9d..18cbcf9eca9 100644 --- a/src/mame/handheld/hh_cops1.cpp +++ b/src/mame/handheld/hh_cops1.cpp @@ -218,7 +218,7 @@ u8 mbaskb_state::read_f() return m_inputs[2]->read() | (m_f & 2); } -// config +// inputs static INPUT_PORTS_START( mbaskb ) PORT_START("IN.0") // port K @@ -243,6 +243,8 @@ static INPUT_PORTS_START( mhockeya ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_CUSTOM ) // tied high to select Hockey INPUT_PORTS_END +// config + void mbaskb_state::mbaskb(machine_config &config) { // basic machine hardware @@ -417,7 +419,7 @@ int qkracerm_state::read_si() return 0; } -// config +// inputs static INPUT_PORTS_START( qkracerm ) PORT_START("IN.0") // DS8874 OUT 4 port K @@ -451,6 +453,8 @@ static INPUT_PORTS_START( qkracerm ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+") INPUT_PORTS_END +// config + void qkracerm_state::qkracerm(machine_config &config) { // basic machine hardware @@ -565,7 +569,7 @@ u8 qkspeller_state::read_k() return read_inputs(8); } -// config +// inputs static INPUT_PORTS_START( qkspeller ) PORT_START("IN.0") // Sa port K @@ -633,6 +637,8 @@ static INPUT_PORTS_START( qkspeller ) PORT_CONFSETTING( 0x01, DEF_STR( On ) ) INPUT_PORTS_END +// config + void qkspeller_state::qkspeller(machine_config &config) { // basic machine hardware @@ -756,7 +762,7 @@ u8 cambrp_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( cambrp ) PORT_START("IN.0") // DS8874 OUT 3 port K @@ -794,6 +800,8 @@ static INPUT_PORTS_START( cambrp ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void cambrp_state::cambrp(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_hmcs40.cpp b/src/mame/handheld/hh_hmcs40.cpp index e18e9509ed5..a1d4a909092 100644 --- a/src/mame/handheld/hh_hmcs40.cpp +++ b/src/mame/handheld/hh_hmcs40.cpp @@ -326,7 +326,7 @@ u16 wantgman_state::input_r() return read_inputs(6) & 0x8000; } -// config +// inputs static INPUT_PORTS_START( wantgman ) PORT_START("IN.0") // D1 line D15 @@ -348,6 +348,8 @@ static INPUT_PORTS_START( wantgman ) PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Demo") INPUT_PORTS_END +// config + void wantgman_state::wantgman(machine_config &config) { // basic machine hardware @@ -441,7 +443,7 @@ u8 bambball_state::input_r() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( bambball ) PORT_START("IN.0") // D7 port R0x @@ -470,6 +472,8 @@ static INPUT_PORTS_START( bambball ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void bambball_state::bambball(machine_config &config) { // basic machine hardware @@ -568,7 +572,7 @@ u8 bmboxing_state::input_r() return read_inputs(4); } -// config +// inputs /* physical button layout and labels are like this: @@ -617,6 +621,8 @@ static INPUT_PORTS_START( bmboxing ) PORT_BIT( 0xfff8, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bmboxing_state::bmboxing(machine_config &config) { // basic machine hardware @@ -726,7 +732,7 @@ void bfriskyt_state::update_int1() set_interrupt(1, read_inputs(5)); } -// config +// inputs static INPUT_PORTS_START( bfriskyt ) PORT_START("IN.0") // D11 INT1 @@ -748,6 +754,8 @@ static INPUT_PORTS_START( bfriskyt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 0) INPUT_PORTS_END +// config + void bfriskyt_state::bfriskyt(machine_config &config) { // basic machine hardware @@ -849,7 +857,7 @@ u16 packmon_state::input_r() return read_inputs(5) & 0x20; } -// config +// inputs static INPUT_PORTS_START( packmon ) PORT_START("IN.0") // D11 line D5 @@ -868,6 +876,8 @@ static INPUT_PORTS_START( packmon ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) INPUT_PORTS_END +// config + void packmon_state::packmon(machine_config &config) { // basic machine hardware @@ -973,7 +983,7 @@ void bzaxxon_state::update_int1() set_interrupt(1, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( bzaxxon ) PORT_START("IN.0") // D7 INT1 @@ -996,6 +1006,8 @@ static INPUT_PORTS_START( bzaxxon ) PORT_BIT( 0xfff7, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bzaxxon_state::bzaxxon(machine_config &config) { // basic machine hardware @@ -1105,7 +1117,7 @@ void zackman_state::update_int0() set_interrupt(0, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( zackman ) PORT_START("IN.0") // D11 INT0 @@ -1124,6 +1136,8 @@ static INPUT_PORTS_START( zackman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) INPUT_PORTS_END +// config + void zackman_state::zackman(machine_config &config) { // basic machine hardware @@ -1231,7 +1245,7 @@ void bpengo_state::update_int0() set_interrupt(0, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( bpengo ) PORT_START("IN.0") // D12 INT0 @@ -1256,6 +1270,8 @@ static INPUT_PORTS_START( bpengo ) PORT_BIT( 0xf7ff, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bpengo_state::bpengo(machine_config &config) { // basic machine hardware @@ -1364,7 +1380,7 @@ void bbtime_state::update_int0() set_interrupt(0, read_inputs(5)); } -// config +// inputs static INPUT_PORTS_START( bbtime ) PORT_START("IN.0") // D10 INT0 @@ -1386,6 +1402,8 @@ static INPUT_PORTS_START( bbtime ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) INPUT_PORTS_END +// config + void bbtime_state::bbtime(machine_config &config) { // basic machine hardware @@ -1473,7 +1491,7 @@ void ktparman_state::grid_w(u16 data) plate_w(4, data & 7); } -// config +// inputs static INPUT_PORTS_START( ktparman ) PORT_START("IN.0") // port D @@ -1486,6 +1504,8 @@ static INPUT_PORTS_START( ktparman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 0) INPUT_PORTS_END +// config + void ktparman_state::ktparman(machine_config &config) { // basic machine hardware @@ -1568,7 +1588,7 @@ void bdoramon_state::grid_w(u16 data) plate_w(4, data & 0xf); } -// config +// inputs static INPUT_PORTS_START( bdoramon ) PORT_START("IN.0") // INT0 @@ -1590,6 +1610,8 @@ static INPUT_PORTS_START( bdoramon ) PORT_CONFSETTING( 0x08, DEF_STR( On ) ) INPUT_PORTS_END +// config + void bdoramon_state::bdoramon(machine_config &config) { // basic machine hardware @@ -1686,7 +1708,7 @@ u16 tkjmaru_state::input_r() return read_inputs(4) | m_inputs[4]->read(); } -// config +// inputs static INPUT_PORTS_START( tkjmaru ) PORT_START("IN.0") // D4 line D3 @@ -1708,6 +1730,8 @@ static INPUT_PORTS_START( tkjmaru ) PORT_CONFSETTING( 0x200, DEF_STR( On ) ) INPUT_PORTS_END +// config + void tkjmaru_state::tkjmaru(machine_config &config) { // basic machine hardware @@ -1790,7 +1814,7 @@ void bultrman_state::grid_w(u16 data) plate_w(4, data & 7); } -// config +// inputs static INPUT_PORTS_START( bultrman ) PORT_START("IN.0") // INT0 @@ -1805,6 +1829,8 @@ static INPUT_PORTS_START( bultrman ) PORT_BIT( 0xff8f, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bultrman_state::bultrman(machine_config &config) { // basic machine hardware @@ -1913,7 +1939,7 @@ void ggdman_state::update_int0() set_interrupt(0, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( ggdman ) PORT_START("IN.0") // D6 INT0 @@ -1932,6 +1958,8 @@ static INPUT_PORTS_START( ggdman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) INPUT_PORTS_END +// config + void ggdman_state::ggdman(machine_config &config) { // basic machine hardware @@ -2017,7 +2045,7 @@ void machiman_state::grid_w(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( machiman ) PORT_START("IN.0") // INT0 @@ -2029,6 +2057,8 @@ static INPUT_PORTS_START( machiman ) PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY INPUT_PORTS_END +// config + void machiman_state::machiman(machine_config &config) { // basic machine hardware @@ -2168,7 +2198,7 @@ void pairmtch_state::speaker_w(u16 data) m_maincpu->set_input_line(0, (data & 2) ? ASSERT_LINE : CLEAR_LINE); } -// config +// inputs static INPUT_PORTS_START( pairmtch ) PORT_START("IN.0") // D10 port R4x @@ -2199,6 +2229,8 @@ static INPUT_PORTS_START( pairmtch ) PORT_BIT( 0x86bf, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void pairmtch_state::pairmtch(machine_config &config) { // basic machine hardware @@ -2306,7 +2338,7 @@ u16 alnattck_state::input_r() return read_inputs(7) & 0x20; } -// config +// inputs static INPUT_PORTS_START( alnattck ) PORT_START("IN.0") // D7 line D5 @@ -2333,6 +2365,8 @@ static INPUT_PORTS_START( alnattck ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Fire") INPUT_PORTS_END +// config + void alnattck_state::alnattck(machine_config &config) { // basic machine hardware @@ -2458,7 +2492,7 @@ void cdkong_state::grid_w(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( cdkong ) PORT_START("IN.0") // INT0 @@ -2472,6 +2506,8 @@ static INPUT_PORTS_START( cdkong ) PORT_BIT( 0x7ff8, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void cdkong_state::cdkong(machine_config &config) { // basic machine hardware @@ -2596,7 +2632,7 @@ u8 cgalaxn_state::input_r() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( cgalaxn ) PORT_START("IN.0") // R10 port R0x @@ -2618,6 +2654,8 @@ static INPUT_PORTS_START( cgalaxn ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) INPUT_PORTS_END +// config + void cgalaxn_state::cgalaxn(machine_config &config) { // basic machine hardware @@ -2726,7 +2764,7 @@ u8 cpacman_state::input_r() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( cpacman ) PORT_START("IN.0") // D13 port R0x @@ -2748,6 +2786,8 @@ static INPUT_PORTS_START( cpacman ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) INPUT_PORTS_END +// config + void cpacman_state::cpacman(machine_config &config) { // basic machine hardware @@ -2863,7 +2903,7 @@ u8 cmspacmn_state::input_r() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( cmspacmn ) PORT_START("IN.0") // D13 port R0x @@ -2885,6 +2925,8 @@ static INPUT_PORTS_START( cmspacmn ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) INPUT_PORTS_END +// config + void cmspacmn_state::cmspacmn(machine_config &config) { // basic machine hardware @@ -2989,7 +3031,7 @@ u8 egalaxn2_state::input_r() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( egalaxn2 ) PORT_START("IN.0") // D1 port R0x @@ -3021,6 +3063,8 @@ static INPUT_PORTS_START( egalaxn2 ) PORT_CONFSETTING( 0x04, "2" ) INPUT_PORTS_END +// config + void egalaxn2_state::egalaxn2(machine_config &config) { // basic machine hardware @@ -3085,7 +3129,7 @@ public: // handlers are identical to Galaxian 2, so we can use those -// config +// inputs static INPUT_PORTS_START( epacman2 ) PORT_START("IN.0") // D1 port R0x @@ -3117,6 +3161,8 @@ static INPUT_PORTS_START( epacman2 ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void epacman2_state::epacman2(machine_config &config) { egalaxn2(config); @@ -3215,7 +3261,7 @@ u16 einvader2_state::input_r() return read_inputs(3) << 13; } -// config +// inputs static INPUT_PORTS_START( einvader2 ) PORT_START("IN.0") // D3 @@ -3239,6 +3285,8 @@ static INPUT_PORTS_START( einvader2 ) PORT_CONFSETTING( 0x02, "2" ) INPUT_PORTS_END +// config + void einvader2_state::einvader2(machine_config &config) { // basic machine hardware @@ -3410,7 +3458,7 @@ u8 eturtles_state::cop_ack_r() return m_d & 1; } -// config +// inputs static INPUT_PORTS_START( eturtles ) PORT_START("IN.0") // D1 INT0/1 @@ -3445,6 +3493,8 @@ static INPUT_PORTS_START( eturtles ) PORT_ADJUSTER(50, "Game Speed") PORT_CHANGED_MEMBER(DEVICE_SELF, eturtles_state, game_speed, 0) INPUT_PORTS_END +// config + void eturtles_state::eturtles(machine_config &config) { // basic machine hardware @@ -3549,7 +3599,7 @@ void estargte_state::cop_vol_w(u8 data) m_volume->flt_volume_set_volume(((data & 7) | 8) / 15.0); } -// config +// inputs static INPUT_PORTS_START( estargte ) PORT_INCLUDE( eturtles ) @@ -3583,6 +3633,8 @@ static INPUT_PORTS_START( estargte ) PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void estargte_state::estargte(machine_config &config) { // basic machine hardware @@ -3697,7 +3749,7 @@ u16 ghalien_state::input_r() return read_inputs(7) & 0x8000; } -// config +// inputs static INPUT_PORTS_START( ghalien ) PORT_START("IN.0") // D0 line D15 @@ -3724,6 +3776,8 @@ static INPUT_PORTS_START( ghalien ) PORT_CONFSETTING( 0x8000, "2" ) // PRO INPUT_PORTS_END +// config + void ghalien_state::ghalien(machine_config &config) { // basic machine hardware @@ -3831,7 +3885,7 @@ void gckong_state::update_int1() set_interrupt(1, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( gckong ) PORT_START("IN.0") // D5 INT1 @@ -3856,6 +3910,8 @@ static INPUT_PORTS_START( gckong ) PORT_BIT( 0xffef, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void gckong_state::gckong(machine_config &config) { // basic machine hardware @@ -3969,7 +4025,7 @@ void gscobra_state::update_int0() set_interrupt(0, read_inputs(6)); } -// config +// inputs static INPUT_PORTS_START( gscobra ) PORT_START("IN.0") // D10 INT0 @@ -3991,6 +4047,8 @@ static INPUT_PORTS_START( gscobra ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, gscobra_state, input_changed, 0) INPUT_PORTS_END +// config + void gscobra_state::gscobra(machine_config &config) { // basic machine hardware @@ -4106,7 +4164,7 @@ void gdefender_state::update_int1() set_interrupt(1, read_inputs(4) & 1); } -// config +// inputs static INPUT_PORTS_START( gdefender ) PORT_START("IN.0") // D11 INT1/D1 @@ -4126,6 +4184,8 @@ static INPUT_PORTS_START( gdefender ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void gdefender_state::gdefender(machine_config &config) { // basic machine hardware @@ -4229,7 +4289,7 @@ void gdigdug_state::update_int1() set_interrupt(1, read_inputs(5)); } -// config +// inputs static INPUT_PORTS_START( gdigdug ) PORT_START("IN.0") // D11 INT1 @@ -4251,6 +4311,8 @@ static INPUT_PORTS_START( gdigdug ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 0) INPUT_PORTS_END +// config + void gdigdug_state::gdigdug(machine_config &config) { // basic machine hardware @@ -4360,7 +4422,7 @@ u8 mwcbaseb_state::input_r() return read_inputs(7); } -// config +// inputs /* physical button layout and labels are like this: @@ -4423,6 +4485,8 @@ static INPUT_PORTS_START( mwcbaseb ) // P1 = left/visitor, P2 = right/home PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("P1 1") INPUT_PORTS_END +// config + void mwcbaseb_state::mwcbaseb(machine_config &config) { // basic machine hardware @@ -4542,7 +4606,7 @@ void msthawk_state::update_int0() set_interrupt(0, read_inputs(6)); } -// config +// inputs static INPUT_PORTS_START( msthawk ) PORT_START("IN.0") // D10 INT0 @@ -4567,6 +4631,8 @@ static INPUT_PORTS_START( msthawk ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) PORT_NAME("Fire") INPUT_PORTS_END +// config + void msthawk_state::msthawk(machine_config &config) { // basic machine hardware @@ -4653,7 +4719,7 @@ void pbqbert_state::grid_w(u16 data) plate_w(7, data >> 8 & 1); } -// config +// inputs static INPUT_PORTS_START( pbqbert ) PORT_START("IN.0") // port D @@ -4664,6 +4730,8 @@ static INPUT_PORTS_START( pbqbert ) PORT_BIT( 0xe1ff, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void pbqbert_state::pbqbert(machine_config &config) { // basic machine hardware @@ -4759,7 +4827,7 @@ void puckimon_state::plate_w(u16 data) } -// config +// inputs static INPUT_PORTS_START( puckimon ) PORT_START("IN.0") // port R0x @@ -4769,6 +4837,8 @@ static INPUT_PORTS_START( puckimon ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END +// config + void puckimon_state::puckimon(machine_config &config) { // basic machine hardware @@ -4872,7 +4942,7 @@ void tmtron_state::update_int1() set_interrupt(1, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( tmtron ) PORT_START("IN.0") // D12 INT1 @@ -4891,6 +4961,8 @@ static INPUT_PORTS_START( tmtron ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 0) INPUT_PORTS_END +// config + void tmtron_state::tmtron(machine_config &config) { // basic machine hardware @@ -5002,7 +5074,7 @@ void kingman_state::update_int0() set_interrupt(0, read_inputs(4)); } -// config +// inputs static INPUT_PORTS_START( kingman ) PORT_START("IN.0") // D12 INT0 @@ -5021,6 +5093,8 @@ static INPUT_PORTS_START( kingman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, 1) INPUT_PORTS_END +// config + void kingman_state::kingman(machine_config &config) { // basic machine hardware @@ -5127,7 +5201,7 @@ void bombman_state::update_int0() set_interrupt(0, read_inputs(5)); } -// config +// inputs static INPUT_PORTS_START( bombman ) PORT_START("IN.0") // D11 INT0 @@ -5146,6 +5220,8 @@ static INPUT_PORTS_START( bombman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY PORT_CHANGED_MEMBER(DEVICE_SELF, bombman_state, input_changed, 0) INPUT_PORTS_END +// config + void bombman_state::bombman(machine_config &config) { // basic machine hardware @@ -5232,7 +5308,7 @@ void vinvader_state::grid_w(u16 data) plate_w(3 + 1, data >> 4 & 7); } -// config +// inputs static INPUT_PORTS_START( vinvader ) PORT_START("IN.0") // port R0x @@ -5248,6 +5324,8 @@ static INPUT_PORTS_START( vinvader ) PORT_BIT( 0xfff5, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void vinvader_state::vinvader(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_melps4.cpp b/src/mame/handheld/hh_melps4.cpp index b6f77b43373..af19295c10e 100644 --- a/src/mame/handheld/hh_melps4.cpp +++ b/src/mame/handheld/hh_melps4.cpp @@ -182,7 +182,7 @@ u16 cfrogger_state::input_r() return (m_inputs[2]->read() & 8) | (read_inputs(2) & 3); } -// config +// inputs static INPUT_PORTS_START( cfrogger ) PORT_START("IN.0") // F0 port K0,K1 @@ -202,6 +202,8 @@ static INPUT_PORTS_START( cfrogger ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_melps4_state, reset_button, 0) INPUT_PORTS_END +// config + void cfrogger_state::cfrogger(machine_config &config) { // basic machine hardware @@ -307,7 +309,7 @@ u16 gjungler_state::input_r() return (m_inputs[2]->read() & 0xc) | (read_inputs(2) & 3); } -// config +// inputs static INPUT_PORTS_START( gjungler ) PORT_START("IN.0") // G0 port K0,K1 @@ -328,6 +330,8 @@ static INPUT_PORTS_START( gjungler ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_melps4_state, reset_button, 0) INPUT_PORTS_END +// config + void gjungler_state::gjungler(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_pic16.cpp b/src/mame/handheld/hh_pic16.cpp index ebbaa3fae9e..2ead51ccc74 100644 --- a/src/mame/handheld/hh_pic16.cpp +++ b/src/mame/handheld/hh_pic16.cpp @@ -281,7 +281,7 @@ void touchme_state::write_c(u8 data) update_speaker(); } -// config +// inputs static INPUT_PORTS_START( touchme ) PORT_START("IN.0") // B0 port A @@ -304,6 +304,8 @@ static INPUT_PORTS_START( touchme ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +// config + void touchme_state::touchme(machine_config &config) { // basic machine hardware @@ -400,7 +402,7 @@ void pabball_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( pabball ) PORT_START("IN.0") // port A @@ -420,6 +422,8 @@ static INPUT_PORTS_START( pabball ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, pabball_state, reset_button, 0) PORT_NAME("P1 Reset") INPUT_PORTS_END +// config + void pabball_state::pabball(machine_config &config) { // basic machine hardware @@ -521,7 +525,7 @@ u8 sfxphasor_state::read_c() return lo | hi << 4; } -// config +// inputs static INPUT_PORTS_START( sfxphasor ) PORT_START("IN.0") // C4 port C @@ -557,6 +561,8 @@ static INPUT_PORTS_START( sfxphasor ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_NAME("On / Music") PORT_CHANGED_MEMBER(DEVICE_SELF, sfxphasor_state, power_button, true) INPUT_PORTS_END +// config + void sfxphasor_state::sfxphasor(machine_config &config) { // basic machine hardware @@ -640,7 +646,7 @@ void melodym_state::write_c(u8 data) m_speaker->level_w(~data >> 7 & 1); } -// config +// inputs static INPUT_PORTS_START( melodym ) PORT_START("IN.0") // B2 port C @@ -685,6 +691,8 @@ static INPUT_PORTS_START( melodym ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_NAME("Note") INPUT_PORTS_END +// config + void melodym_state::melodym(machine_config &config) { // basic machine hardware @@ -779,7 +787,7 @@ void maniac_state::write_c(u8 data) update_speaker(); } -// config +// inputs static INPUT_PORTS_START( maniac ) PORT_START("IN.0") // port A @@ -789,6 +797,8 @@ static INPUT_PORTS_START( maniac ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) INPUT_PORTS_END +// config + void maniac_state::maniac(machine_config &config) { // basic machine hardware @@ -928,7 +938,7 @@ void flash_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( flash ) PORT_START("IN.0") // port A @@ -946,6 +956,8 @@ static INPUT_PORTS_START( flash ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) INPUT_PORTS_END +// config + void flash_state::flash(machine_config &config) { // basic machine hardware @@ -1064,7 +1076,7 @@ void matchme_state::write_c(u8 data) m_maincpu->set_input_line(PIC16C5x_RTCC, data >> 7 & 1); } -// config +// inputs static INPUT_PORTS_START( matchme ) PORT_START("IN.0") // C4 port C @@ -1107,6 +1119,8 @@ static INPUT_PORTS_START( matchme ) PORT_CONFSETTING( 0x00, "Auto" ) INPUT_PORTS_END +// config + void matchme_state::matchme(machine_config &config) { // basic machine hardware @@ -1205,7 +1219,7 @@ void drdunk_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( drdunk ) PORT_START("IN.0") // B0 port A3 @@ -1229,6 +1243,8 @@ static INPUT_PORTS_START( drdunk ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void drdunk_state::drdunk(machine_config &config) { // basic machine hardware @@ -1356,7 +1372,7 @@ void leboom_state::write_c(u8 data) speaker_update(); } -// config +// inputs static INPUT_PORTS_START( leboom ) PORT_START("IN.0") // B0 port A @@ -1396,6 +1412,8 @@ static INPUT_PORTS_START( leboom ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_NAME("Blue Button 8") INPUT_PORTS_END +// config + void leboom_state::leboom(machine_config &config) { // basic machine hardware @@ -1501,7 +1519,7 @@ void rockpin_state::write_d(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( rockpin ) PORT_START("IN.0") // port A @@ -1511,6 +1529,8 @@ static INPUT_PORTS_START( rockpin ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Ball") INPUT_PORTS_END +// config + void rockpin_state::rockpin(machine_config &config) { // basic machine hardware @@ -1616,7 +1636,7 @@ void hccbaskb_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( hccbaskb ) PORT_START("IN.0") // B0 port A3 @@ -1640,6 +1660,8 @@ static INPUT_PORTS_START( hccbaskb ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void hccbaskb_state::hccbaskb(machine_config &config) { // basic machine hardware @@ -1741,7 +1763,7 @@ void ttfball_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( ttfball ) PORT_START("IN.0") // B0 port A3 @@ -1767,6 +1789,8 @@ static INPUT_PORTS_START( ttfball ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void ttfball_state::ttfball(machine_config &config) { // basic machine hardware @@ -1846,7 +1870,7 @@ void ttfballa_state::write_c(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( ttfballa ) PORT_START("IN.0") // B0 port A3 @@ -1872,6 +1896,8 @@ static INPUT_PORTS_START( ttfballa ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void ttfballa_state::ttfballa(machine_config &config) { ttfball(config); @@ -1960,7 +1986,7 @@ void uspbball_state::write_d(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( uspbball ) PORT_START("IN.0") // port A @@ -1979,6 +2005,8 @@ static INPUT_PORTS_START( uspbball ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void uspbball_state::uspbball(machine_config &config) { // basic machine hardware @@ -2089,7 +2117,7 @@ void us2pfball_state::write_d(u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( us2pfball ) PORT_START("IN.0") // B0 port A low @@ -2123,6 +2151,8 @@ static INPUT_PORTS_START( us2pfball ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START ) PORT_NAME("Status/Score") // S INPUT_PORTS_END +// config + void us2pfball_state::us2pfball(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_pps41.cpp b/src/mame/handheld/hh_pps41.cpp index 85f1f226671..2c38451d4f6 100644 --- a/src/mame/handheld/hh_pps41.cpp +++ b/src/mame/handheld/hh_pps41.cpp @@ -181,7 +181,7 @@ void ftri1_state::write_r(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( ftri1 ) PORT_START("IN.0") @@ -200,6 +200,8 @@ static INPUT_PORTS_START( ftri1 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_pps41_state, reset_button, 0) PORT_CODE(KEYCODE_F1) PORT_NAME("Game Reset") INPUT_PORTS_END +// config + void ftri1_state::ftri1(machine_config &config) { // basic machine hardware @@ -298,7 +300,7 @@ u8 mastmind_state::read_p() return ~read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( mastmind ) PORT_START("IN.0") // DIO0 @@ -326,6 +328,8 @@ static INPUT_PORTS_START( mastmind ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3") INPUT_PORTS_END +// config + void mastmind_state::mastmind(machine_config &config) { // basic machine hardware @@ -445,7 +449,7 @@ void dunksunk_state::write_r(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( dunksunk ) PORT_START("IN.0") // PI @@ -470,6 +474,8 @@ static INPUT_PORTS_START( dunksunk ) PORT_CONFSETTING( 0x00, "Submarine Chase" ) INPUT_PORTS_END +// config + void dunksunk_state::dunksunk(machine_config &config) { // basic machine hardware @@ -579,7 +585,7 @@ u8 memoquiz_state::read_p() return ~read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( memoquiz ) PORT_START("IN.0") // DIO0 @@ -613,6 +619,8 @@ static INPUT_PORTS_START( memoquiz ) PORT_CONFSETTING( 0x00, "5" ) INPUT_PORTS_END +// config + void memoquiz_state::memoquiz(machine_config &config) { // basic machine hardware @@ -700,7 +708,7 @@ void mfootb2_state::write_spk(u8 data) m_speaker->level_w(data); } -// config +// inputs static INPUT_PORTS_START( mfootb2 ) PORT_START("IN.0") // PI @@ -719,6 +727,8 @@ static INPUT_PORTS_START( mfootb2 ) PORT_CONFSETTING( 0x400, "2" ) // PRO 2 INPUT_PORTS_END +// config + void mfootb2_state::mfootb2(machine_config &config) { // basic machine hardware @@ -820,7 +830,7 @@ void brainbaf_state::write_spk(u8 data) m_speaker->level_w(data); } -// config +// inputs static INPUT_PORTS_START( brainbaf ) PORT_START("IN.0") // DIO0 @@ -884,6 +894,8 @@ static INPUT_PORTS_START( brainbaf ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F10) PORT_NAME("Score") INPUT_PORTS_END +// config + void brainbaf_state::brainbaf(machine_config &config) { // basic machine hardware @@ -986,7 +998,7 @@ void horocomp_state::write_spk(u8 data) m_speaker->level_w(data); } -// config +// inputs /* physical button layout and labels are like this: @@ -1062,6 +1074,8 @@ static INPUT_PORTS_START( horocomp ) PORT_CONFSETTING( 0x00, "P" ) // personal INPUT_PORTS_END +// config + void horocomp_state::horocomp(machine_config &config) { // basic machine hardware @@ -1195,7 +1209,7 @@ void mwcfootb_state::sub_write_r(u16 data) update_display(); } -// config +// inputs /* physical button layout and labels are like this: @@ -1246,6 +1260,8 @@ static INPUT_PORTS_START( mwcfootb ) // P1 = left/home, P2 = right/visitor PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_16WAY PORT_NAME("P1 Up/1") INPUT_PORTS_END +// config + void mwcfootb_state::mwcfootb(machine_config &config) { // basic machine hardware @@ -1364,7 +1380,7 @@ u8 scrabsen_state::read_p() return ~read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( scrabsen ) PORT_START("IN.0") // DIO0 @@ -1418,6 +1434,8 @@ static INPUT_PORTS_START( scrabsen ) PORT_CONFSETTING( 0x00, "2" ) // double INPUT_PORTS_END +// config + void scrabsen_state::scrabsen(machine_config &config) { // basic machine hardware @@ -1517,7 +1535,7 @@ u8 rdqa_state::read_p() return ~read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( rdqa ) PORT_START("IN.0") // DIO0 @@ -1554,6 +1572,8 @@ static INPUT_PORTS_START( rdqa ) PORT_CONFSETTING( 0x00, "2" ) // double INPUT_PORTS_END +// config + void rdqa_state::rdqa(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_rw5000.cpp b/src/mame/handheld/hh_rw5000.cpp index 645024cbc52..2eda9745473 100644 --- a/src/mame/handheld/hh_rw5000.cpp +++ b/src/mame/handheld/hh_rw5000.cpp @@ -183,7 +183,7 @@ void autorace_state::write_seg(u16 data) m_display->write_mx(data); } -// config +// inputs static INPUT_PORTS_START( autorace ) PORT_START("IN.0") // KB @@ -208,6 +208,8 @@ static INPUT_PORTS_START( autorace ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_rw5000_state, switch_next<0>, 0x0c) PORT_NAME("Gear Switch Up") INPUT_PORTS_END +// config + void autorace_state::autorace(machine_config &config) { // basic machine hardware @@ -280,7 +282,7 @@ void misatk_state::write_seg(u16 data) m_display->write_mx(data); } -// config +// inputs static INPUT_PORTS_START( misatk ) PORT_START("IN.0") // KB @@ -298,6 +300,8 @@ static INPUT_PORTS_START( misatk ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_rw5000_state, power_button, 0) PORT_NAME("Arm / Off") INPUT_PORTS_END +// config + void misatk_state::misatk(machine_config &config) { // basic machine hardware @@ -378,7 +382,7 @@ void mfootb_state::write_seg(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( mfootb ) PORT_START("IN.0") // KB @@ -398,6 +402,8 @@ static INPUT_PORTS_START( mfootb ) PORT_CONFSETTING( 0x08, DEF_STR( On ) ) INPUT_PORTS_END +// config + void mfootb_state::mfootb(machine_config &config) { // basic machine hardware @@ -466,7 +472,7 @@ void mbaseb_state::write_seg(u16 data) m_display->write_mx(bitswap<10>(data,7,8,9,6,5,4,3,2,1,0)); } -// config +// inputs static INPUT_PORTS_START( mbaseb ) PORT_START("IN.0") // KB @@ -486,6 +492,8 @@ static INPUT_PORTS_START( mbaseb ) PORT_CONFSETTING( 0x08, DEF_STR( On ) ) INPUT_PORTS_END +// config + void mbaseb_state::mbaseb(machine_config &config) { // basic machine hardware @@ -561,7 +569,7 @@ void gravity_state::write_seg(u16 data) m_display->write_mx(data); } -// config +// inputs static INPUT_PORTS_START( gravity ) PORT_START("IN.0") // KB @@ -576,6 +584,8 @@ static INPUT_PORTS_START( gravity ) PORT_CONFSETTING( 0x08, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gravity_state::gravity(machine_config &config) { // basic machine hardware @@ -659,7 +669,7 @@ u8 rw10r_state::read_kb() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( rw10r ) PORT_START("IN.0") // STR4 @@ -687,6 +697,8 @@ static INPUT_PORTS_START( rw10r ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(u8"÷") INPUT_PORTS_END +// config + void rw10r_state::rw10r(machine_config &config) { // basic machine hardware @@ -769,7 +781,7 @@ u8 rw18r_state::read_kb() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( rw18r ) PORT_START("IN.0") // STR4 @@ -803,6 +815,8 @@ static INPUT_PORTS_START( rw18r ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=") INPUT_PORTS_END +// config + void rw18r_state::rw18r(machine_config &config) { // basic machine hardware @@ -882,7 +896,7 @@ u8 rw30r_state::read_kb() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( rw30r ) PORT_START("IN.0") // STR4 @@ -916,6 +930,8 @@ static INPUT_PORTS_START( rw30r ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("= / MR") INPUT_PORTS_END +// config + void rw30r_state::rw30r(machine_config &config) { // basic machine hardware @@ -1010,7 +1026,7 @@ u8 rw24k_state::read_kb() return read_inputs(9); } -// config +// inputs static INPUT_PORTS_START( rw24k ) PORT_START("IN.0") // STR0 @@ -1063,6 +1079,8 @@ static INPUT_PORTS_START( rw24k ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=") INPUT_PORTS_END +// config + void rw24k_state::rw24k(machine_config &config) { // basic machine hardware diff --git a/src/mame/handheld/hh_sm510.cpp b/src/mame/handheld/hh_sm510.cpp index 3bd072ad25f..6661858906e 100644 --- a/src/mame/handheld/hh_sm510.cpp +++ b/src/mame/handheld/hh_sm510.cpp @@ -579,7 +579,7 @@ public: void gnw_ball(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_ball ) PORT_START("IN.0") @@ -600,6 +600,8 @@ static INPUT_PORTS_START( gnw_ball ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_ball_state::gnw_ball(machine_config &config) { sm5a_common(config, 1671, 1080); // R mask option confirmed @@ -640,7 +642,7 @@ public: void gnw_flagman(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_flagman ) PORT_START("IN.0") // R2 @@ -667,6 +669,8 @@ static INPUT_PORTS_START( gnw_flagman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_flagman_state::gnw_flagman(machine_config &config) { sm5a_common(config, 1511, 1080); // R mask option confirmed @@ -709,7 +713,7 @@ public: void gnw_vermin(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_vermin ) PORT_START("IN.0") @@ -730,6 +734,8 @@ static INPUT_PORTS_START( gnw_vermin ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_vermin_state::gnw_vermin(machine_config &config) { sm5a_common(config, 1650, 1080); // R mask option confirmed @@ -774,7 +780,7 @@ public: void gnw_fires(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_fires ) PORT_START("IN.0") @@ -795,6 +801,8 @@ static INPUT_PORTS_START( gnw_fires ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_fires_state::gnw_fires(machine_config &config) { sm5a_common(config, 1646, 1080); // R mask option confirmed @@ -837,7 +845,7 @@ public: void gnw_judge(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_judge ) PORT_START("IN.0") // R2 @@ -864,6 +872,8 @@ static INPUT_PORTS_START( gnw_judge ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_judge_state::gnw_judge(machine_config &config) { sm5a_common(config, 1647, 1080); // R mask option confirmed @@ -913,7 +923,7 @@ public: void gnw_manholeg(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_manholeg ) PORT_START("IN.0") // R2 @@ -943,6 +953,8 @@ static INPUT_PORTS_START( gnw_manholeg ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_manholeg_state::gnw_manholeg(machine_config &config) { sm5a_common(config, 1667, 1080); // R mask option confirmed @@ -985,7 +997,7 @@ public: void gnw_helmet(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_helmet ) PORT_START("IN.0") // R2 @@ -1015,6 +1027,8 @@ static INPUT_PORTS_START( gnw_helmet ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_helmet_state::gnw_helmet(machine_config &config) { sm5a_common(config, 1657, 1080); // R mask option confirmed @@ -1065,7 +1079,7 @@ public: void gnw_lion(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_lion ) PORT_START("IN.0") // R2 @@ -1100,6 +1114,8 @@ static INPUT_PORTS_START( gnw_lion ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_lion_state::gnw_lion(machine_config &config) { sm5a_common(config, 1646, 1080); // R mask option confirmed @@ -1138,7 +1154,7 @@ public: void gnw_pchute(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_pchute ) PORT_START("IN.0") // R2 @@ -1168,6 +1184,8 @@ static INPUT_PORTS_START( gnw_pchute ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_pchute_state::gnw_pchute(machine_config &config) { sm5a_common(config, 1602, 1080); // R mask option confirmed @@ -1211,7 +1229,7 @@ public: void taynyoke(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_octopus ) PORT_START("IN.0") // R2 @@ -1241,6 +1259,8 @@ static INPUT_PORTS_START( gnw_octopus ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_octopus_state::gnw_octopus(machine_config &config) { sm5a_common(config, 1586, 1080); // R mask option confirmed @@ -1294,7 +1314,7 @@ public: void gnw_popeye(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_popeye ) PORT_START("IN.0") // R2 @@ -1324,6 +1344,8 @@ static INPUT_PORTS_START( gnw_popeye ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_popeye_state::gnw_popeye(machine_config &config) { sm5a_common(config, 1604, 1080); // R mask option confirmed @@ -1367,7 +1389,7 @@ public: void gnw_chef(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_chef ) PORT_START("IN.0") // R2 @@ -1394,6 +1416,8 @@ static INPUT_PORTS_START( gnw_chef ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_chef_state::gnw_chef(machine_config &config) { sm5a_common(config, 1666, 1080); // assuming same R mask option as merry cook @@ -1489,7 +1513,7 @@ public: void ecircus(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mmouse ) PORT_START("IN.0") // R2 @@ -1523,6 +1547,8 @@ static INPUT_PORTS_START( rkosmosa ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +// config + void gnw_mmouse_state::gnw_mmouse(machine_config &config) { sm5a_common(config, 1684, 1080); // R mask option confirmed @@ -1752,7 +1778,7 @@ public: void gnw_fire(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_fire ) PORT_START("IN.0") // R2 @@ -1782,6 +1808,8 @@ static INPUT_PORTS_START( gnw_fire ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_fire_state::gnw_fire(machine_config &config) { sm5a_common(config, 1624, 1080); // R mask option confirmed @@ -1837,7 +1865,7 @@ public: void gnw_tbridge(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_tbridge ) PORT_START("IN.0") // S1 @@ -1866,6 +1894,8 @@ static INPUT_PORTS_START( gnw_tbridge ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_tbridge_state::gnw_tbridge(machine_config &config) { sm510_common(config, 1587, 1080); // R mask option confirmed @@ -1904,7 +1934,7 @@ public: void gnw_fireatk(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_fireatk ) PORT_START("IN.0") // S1 @@ -1933,6 +1963,8 @@ static INPUT_PORTS_START( gnw_fireatk ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_fireatk_state::gnw_fireatk(machine_config &config) { sm510_common(config, 1655, 1080); // R mask option confirmed @@ -1971,7 +2003,7 @@ public: void gnw_stennis(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_stennis ) PORT_START("IN.0") // S1 @@ -2000,6 +2032,8 @@ static INPUT_PORTS_START( gnw_stennis ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_stennis_state::gnw_stennis(machine_config &config) { sm510_common(config, 1581, 1080); // R mask option confirmed @@ -2038,7 +2072,7 @@ public: void gnw_opanic(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_opanic ) PORT_START("IN.0") // S1 @@ -2067,6 +2101,8 @@ static INPUT_PORTS_START( gnw_opanic ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_opanic_state::gnw_opanic(machine_config &config) { sm510_dualv(config, 1920/2, 1292/2, 1920/2, 1230/2); // R mask option confirmed @@ -2108,7 +2144,7 @@ public: void gnw_dkong(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkong ) PORT_START("IN.0") // S1 @@ -2136,6 +2172,8 @@ static INPUT_PORTS_START( gnw_dkong ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkong_state::gnw_dkong(machine_config &config) { sm510_dualv(config, 1920/2, 1266/2, 1920/2, 1266/2); // R mask option confirmed @@ -2177,7 +2215,7 @@ public: void gnw_mickdon(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mickdon ) PORT_START("IN.0") // S1 @@ -2201,6 +2239,8 @@ static INPUT_PORTS_START( gnw_mickdon ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mickdon_state::gnw_mickdon(machine_config &config) { sm510_dualv(config, 1920/2, 1281/2, 1920/2, 1236/2); // R mask option confirmed @@ -2247,7 +2287,7 @@ public: void gnw_ghouse(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_ghouse ) PORT_START("IN.0") // S1 @@ -2280,6 +2320,8 @@ static INPUT_PORTS_START( gnw_ghouse ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_ghouse_state::gnw_ghouse(machine_config &config) { sm510_dualv(config, 1920/2, 1303/2, 1920/2, 1274/2); // R mask option confirmed @@ -2321,7 +2363,7 @@ public: void gnw_dkong2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkong2 ) PORT_START("IN.0") // S1 @@ -2349,6 +2391,8 @@ static INPUT_PORTS_START( gnw_dkong2 ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkong2_state::gnw_dkong2(machine_config &config) { sm510_dualv(config, 1920/2, 1241/2, 1920/2, 1237/2); // R mask option confirmed @@ -2390,7 +2434,7 @@ public: void gnw_mario(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mario ) PORT_START("IN.0") // S1 @@ -2419,6 +2463,8 @@ static INPUT_PORTS_START( gnw_mario ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mario_state::gnw_mario(machine_config &config) { sm510_dualh(config, 2258/2, 1440/2, 2261/2, 1440/2); // R mask option confirmed @@ -2460,7 +2506,7 @@ public: void gnw_rshower(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_rshower ) PORT_START("IN.0") // S1 @@ -2495,6 +2541,8 @@ static INPUT_PORTS_START( gnw_rshower ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_rshower_state::gnw_rshower(machine_config &config) { sm510_dualh(config, 2126/2, 1440/2, 2146/2, 1440/2); // R mask option confirmed @@ -2536,7 +2584,7 @@ public: void gnw_lboat(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_lboat ) PORT_START("IN.0") // S1 @@ -2565,6 +2613,8 @@ static INPUT_PORTS_START( gnw_lboat ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_lboat_state::gnw_lboat(machine_config &config) { sm510_dualh(config, 2116/2, 1440/2, 2057/2, 1440/2); // R mask option confirmed @@ -2606,7 +2656,7 @@ public: void gnw_pinball(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_pinball ) PORT_START("IN.0") // S1 @@ -2635,6 +2685,8 @@ static INPUT_PORTS_START( gnw_pinball ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_pinball_state::gnw_pinball(machine_config &config) { sm511_dualv(config, 1920/2, 1271/2, 1920/2, 1286/2); @@ -2679,7 +2731,7 @@ public: void gnw_bjack(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_bjack ) PORT_START("IN.0") // S1 @@ -2698,6 +2750,8 @@ static INPUT_PORTS_START( gnw_bjack ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void gnw_bjack_state::gnw_bjack(machine_config &config) { sm512_dualv(config, 1920/2, 1290/2, 1920/2, 1297/2); @@ -2745,7 +2799,7 @@ public: void gnw_squish(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_squish ) PORT_START("IN.0") // S1 @@ -2774,6 +2828,8 @@ static INPUT_PORTS_START( gnw_squish ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_squish_state::gnw_squish(machine_config &config) { sm510_dualv(config, 1920/2, 1285/2, 1920/2, 1287/2); // R mask option confirmed @@ -2815,7 +2871,7 @@ public: void gnw_bsweep(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_bsweep ) PORT_START("IN.0") // S1 @@ -2844,6 +2900,8 @@ static INPUT_PORTS_START( gnw_bsweep ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_bsweep_state::gnw_bsweep(machine_config &config) { sm512_dualv(config, 1920/2, 1291/2, 1920/2, 1239/2); @@ -2888,7 +2946,7 @@ public: void gnw_sbuster(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_sbuster ) PORT_START("IN.0") // S1 @@ -2916,6 +2974,8 @@ static INPUT_PORTS_START( gnw_sbuster ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_sbuster_state::gnw_sbuster(machine_config &config) { sm511_dualv(config, 1920/2, 1246/2, 1920/2, 1269/2); @@ -2960,7 +3020,7 @@ public: void gnw_gcliff(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_gcliff ) PORT_START("IN.0") // S1 @@ -2993,6 +3053,8 @@ static INPUT_PORTS_START( gnw_gcliff ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_gcliff_state::gnw_gcliff(machine_config &config) { sm512_dualv(config, 1920/2, 1257/2, 1920/2, 1239/2); @@ -3037,7 +3099,7 @@ public: void gnw_zelda(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_zelda ) PORT_START("IN.0") // S1 @@ -3070,6 +3132,8 @@ static INPUT_PORTS_START( gnw_zelda ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_zelda_state::gnw_zelda(machine_config &config) { sm512_dualv(config, 1920/2, 1346/2, 1920/2, 1291/2); @@ -3121,7 +3185,7 @@ public: void gnw_mariocmt(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mariocmt ) PORT_START("IN.0") // S1 @@ -3150,6 +3214,8 @@ static INPUT_PORTS_START( gnw_mariocmt ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mariocmt_state::gnw_mariocmt(machine_config &config) { sm511_common(config, 1920, 1046); @@ -3205,7 +3271,7 @@ public: void gnw_snoopyp(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_snoopyp ) PORT_START("IN.0") // S1 @@ -3234,6 +3300,8 @@ static INPUT_PORTS_START( gnw_snoopyp ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_snoopyp_state::gnw_snoopyp(machine_config &config) { sm511_common(config, 1920, 1020); @@ -3282,7 +3350,7 @@ public: void gnw_popeyep(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_popeyep ) PORT_START("IN.0") // S1 @@ -3311,6 +3379,8 @@ static INPUT_PORTS_START( gnw_popeyep ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_popeyep_state::gnw_popeyep(machine_config &config) { sm511_common(config, 1920, 1043); @@ -3358,7 +3428,7 @@ public: void gnw_dkjrp(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkjrp ) PORT_START("IN.0") // S1 @@ -3391,6 +3461,8 @@ static INPUT_PORTS_START( gnw_dkjrp ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkjrp_state::gnw_dkjrp(machine_config &config) { sm511_common(config, 1920, 1049); @@ -3432,7 +3504,7 @@ public: void gnw_mbaway(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mbaway ) PORT_START("IN.0") // S1 @@ -3461,6 +3533,8 @@ static INPUT_PORTS_START( gnw_mbaway ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mbaway_state::gnw_mbaway(machine_config &config) { sm511_common(config, 1920, 1031); @@ -3512,7 +3586,7 @@ public: void gnw_dkcirc(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mmousep ) PORT_START("IN.0") // S1 @@ -3541,6 +3615,8 @@ static INPUT_PORTS_START( gnw_mmousep ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mmousep_state::gnw_mmousep(machine_config &config) { sm511_common(config, 1920, 1122); @@ -3600,7 +3676,7 @@ public: void gnw_dkjr(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkjr ) PORT_START("IN.0") // S1 @@ -3633,6 +3709,8 @@ static INPUT_PORTS_START( gnw_dkjr ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkjr_state::gnw_dkjr(machine_config &config) { sm510_common(config, 1647, 1080); // R mask option confirmed @@ -3672,7 +3750,7 @@ public: void gnw_mariocm(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mariocm ) PORT_START("IN.0") // S1 @@ -3701,6 +3779,8 @@ static INPUT_PORTS_START( gnw_mariocm ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mariocm_state::gnw_mariocm(machine_config &config) { sm510_common(config, 1647, 1080); // R mask option confirmed @@ -3743,7 +3823,7 @@ public: void gnw_manhole(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_manhole ) PORT_START("IN.0") // S1 @@ -3772,6 +3852,8 @@ static INPUT_PORTS_START( gnw_manhole ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_manhole_state::gnw_manhole(machine_config &config) { sm510_common(config, 1560, 1080); // R mask option confirmed @@ -3810,7 +3892,7 @@ public: void gnw_tfish(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_tfish ) PORT_START("IN.0") // S1 @@ -3834,6 +3916,8 @@ static INPUT_PORTS_START( gnw_tfish ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_tfish_state::gnw_tfish(machine_config &config) { sm510_common(config, 1572, 1080); // R mask option confirmed @@ -3881,7 +3965,7 @@ public: void gnw_smbn(machine_config & config); }; -// config +// inputs static INPUT_PORTS_START( gnw_smb ) PORT_START("IN.0") // S1 @@ -3909,6 +3993,8 @@ static INPUT_PORTS_START( gnw_smb ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_smb_state::gnw_smb(machine_config &config) { sm511_common(config, 1768, 1080); @@ -3976,7 +4062,7 @@ public: void gnw_climbern(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_climber ) PORT_START("IN.0") // S1 @@ -4004,6 +4090,8 @@ static INPUT_PORTS_START( gnw_climber ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_climber_state::gnw_climber(machine_config &config) { sm511_common(config, 1756, 1080); @@ -4073,7 +4161,7 @@ public: void gnw_bfightn(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_bfight ) PORT_START("IN.0") // S1 @@ -4101,6 +4189,8 @@ static INPUT_PORTS_START( gnw_bfight ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_bfight_state::gnw_bfight(machine_config &config) { sm511_common(config, 1771, 1080); @@ -4158,7 +4248,7 @@ public: void gnw_mariotj(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_mariotj ) PORT_START("IN.0") // S1 @@ -4182,6 +4272,8 @@ static INPUT_PORTS_START( gnw_mariotj ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_mariotj_state::gnw_mariotj(machine_config &config) { sm511_common(config, 1630, 1080); @@ -4223,7 +4315,7 @@ public: void gnw_ssparky(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_ssparky ) PORT_START("IN.0") // S1 @@ -4252,6 +4344,8 @@ static INPUT_PORTS_START( gnw_ssparky ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_ssparky_state::gnw_ssparky(machine_config &config) { sm510_common(config, 627, 1080); // R mask option confirmed @@ -4290,7 +4384,7 @@ public: void gnw_cgrab(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_cgrab ) PORT_START("IN.0") // S1 @@ -4319,6 +4413,8 @@ static INPUT_PORTS_START( gnw_cgrab ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_cgrab_state::gnw_cgrab(machine_config &config) { sm510_common(config, 609, 1080); // R mask option confirmed @@ -4358,7 +4454,7 @@ public: void gnw_boxing(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( microvs_shared ) PORT_START("IN.0") // S1 @@ -4413,6 +4509,8 @@ static INPUT_PORTS_START( gnw_boxing ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_boxing_state::gnw_boxing(machine_config &config) { sm511_common(config, 1920, 524); @@ -4454,7 +4552,7 @@ public: void gnw_dkong3(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkong3 ) PORT_INCLUDE( microvs_shared ) @@ -4465,6 +4563,8 @@ static INPUT_PORTS_START( gnw_dkong3 ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkong3_state::gnw_dkong3(machine_config &config) { sm511_common(config, 1920, 563); @@ -4506,7 +4606,7 @@ public: void gnw_dkhockey(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gnw_dkhockey ) PORT_INCLUDE( microvs_shared ) @@ -4522,6 +4622,8 @@ static INPUT_PORTS_START( gnw_dkhockey ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void gnw_dkhockey_state::gnw_dkhockey(machine_config &config) { sm511_common(config, 1920, 579); @@ -4569,7 +4671,7 @@ public: void bassmate(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( bassmate ) PORT_START("IN.0") // S1 @@ -4598,6 +4700,8 @@ static INPUT_PORTS_START( bassmate ) PORT_CONFSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +// config + void bassmate_state::bassmate(machine_config &config) { sm511_dualv(config, 1920/2, 1253/2, 1920/2, 1273/2); @@ -4648,7 +4752,7 @@ public: void kdribble(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kdribble ) PORT_START("IN.0") // S1 @@ -4671,6 +4775,8 @@ static INPUT_PORTS_START( kdribble ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kdribble_state::kdribble(machine_config &config) { sm510_common(config, 1524, 1080); // R mask option confirmed @@ -4714,7 +4820,7 @@ public: void kcontra(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kcontra ) PORT_START("IN.0") // S1 @@ -4736,6 +4842,8 @@ static INPUT_PORTS_START( kcontra ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kcontra_state::kcontra(machine_config &config) { sm511_common(config, 1505, 1080); @@ -4777,7 +4885,7 @@ public: void ktopgun(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( ktopgun ) PORT_START("IN.0") // S1 @@ -4800,6 +4908,8 @@ static INPUT_PORTS_START( ktopgun ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void ktopgun_state::ktopgun(machine_config &config) { sm510_common(config, 1515, 1080); // R mask option confirmed @@ -4842,7 +4952,7 @@ public: void kgradius(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kgradius ) PORT_START("IN.0") // S1 @@ -4861,6 +4971,8 @@ static INPUT_PORTS_START( kgradius ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kgradius_state::kgradius(machine_config &config) { sm511_common(config, 1420, 1080); @@ -4909,7 +5021,7 @@ public: void ktmnt(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( ktmnt ) PORT_START("IN.0") // S1 @@ -4933,6 +5045,8 @@ static INPUT_PORTS_START( ktmnt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void ktmnt_state::ktmnt(machine_config &config) { sm511_common(config, 1505, 1080); @@ -4977,7 +5091,7 @@ public: void kskatedie(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kskatedie ) PORT_START("IN.0") // S1 @@ -5000,6 +5114,8 @@ static INPUT_PORTS_START( kskatedie ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kskatedie_state::kskatedie(machine_config &config) { sm511_common(config, 1496, 1080); @@ -5041,7 +5157,7 @@ public: void kbilly(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kbilly ) PORT_START("IN.0") // S1 @@ -5065,6 +5181,8 @@ static INPUT_PORTS_START( kbilly ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kbilly_state::kbilly(machine_config &config) { sm511_common(config, 1490, 1080); @@ -5111,7 +5229,7 @@ public: void kbottom9(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kbottom9 ) PORT_START("IN.0") // S1 @@ -5134,6 +5252,8 @@ static INPUT_PORTS_START( kbottom9 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kbottom9_state::kbottom9(machine_config &config) { sm511_common(config, 1480, 1080); @@ -5175,7 +5295,7 @@ public: void kloneran(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kloneran ) PORT_START("IN.0") // S1 @@ -5194,6 +5314,8 @@ static INPUT_PORTS_START( kloneran ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kloneran_state::kloneran(machine_config &config) { sm511_common(config, 1497, 1080); @@ -5237,7 +5359,7 @@ public: void knascar(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( knascar ) PORT_START("IN.0") // S1 @@ -5256,6 +5378,8 @@ static INPUT_PORTS_START( knascar ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void knascar_state::knascar(machine_config &config) { sm511_common(config, 1491, 1080); @@ -5300,7 +5424,7 @@ public: void kblades(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kblades ) PORT_START("IN.0") // S1 @@ -5323,6 +5447,8 @@ static INPUT_PORTS_START( kblades ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kblades_state::kblades(machine_config &config) { sm511_common(config, 1516, 1080); @@ -5370,7 +5496,7 @@ public: void knfl(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( knfl ) PORT_START("IN.0") // S1 @@ -5393,6 +5519,8 @@ static INPUT_PORTS_START( knfl ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void knfl_state::knfl(machine_config &config) { sm511_common(config, 1449, 1080); @@ -5434,7 +5562,7 @@ public: void kbucky(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kbucky ) PORT_START("IN.0") // S1 @@ -5453,6 +5581,8 @@ static INPUT_PORTS_START( kbucky ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kbucky_state::kbucky(machine_config &config) { sm511_common(config, 1490, 1080); @@ -5497,7 +5627,7 @@ public: void kgarfld(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( kgarfld ) PORT_START("IN.0") // S1 @@ -5520,6 +5650,8 @@ static INPUT_PORTS_START( kgarfld ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("All Clear") INPUT_PORTS_END +// config + void kgarfld_state::kgarfld(machine_config &config) { sm511_common(config, 1500, 1080); @@ -5574,7 +5706,7 @@ public: void nsmw(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( gamewatch ) PORT_START("IN.0") @@ -5588,6 +5720,8 @@ static INPUT_PORTS_START( gamewatch ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_CB(input_changed) PORT_16WAY INPUT_PORTS_END +// config + void gamewatch_state::nsmb3(machine_config &config) { sm530_common(config, 1000, 1000); @@ -5666,7 +5800,7 @@ void nstarfox_state::sound_w(u8 data) // S2-S4: falling edge starts sound effect } -// config +// inputs static INPUT_PORTS_START( nstarfox ) PORT_INCLUDE( gamewatch ) @@ -5676,6 +5810,8 @@ static INPUT_PORTS_START( nstarfox ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_CB(input_changed) // bomb INPUT_PORTS_END +// config + void nstarfox_state::nstarfox(machine_config &config) { sm530_common(config, 1176, 1080); @@ -5729,7 +5865,7 @@ public: void tgaunt(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tgaunt ) PORT_START("IN.0") // S1 @@ -5773,6 +5909,8 @@ static INPUT_PORTS_START( tgaunt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgaunt_state::tgaunt(machine_config &config) { sm510_tiger(config, 1425, 1080); @@ -5815,7 +5953,7 @@ public: void tddragon(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tddragon ) PORT_START("IN.0") // S1 @@ -5854,6 +5992,8 @@ static INPUT_PORTS_START( tddragon ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tddragon_state::tddragon(machine_config &config) { sm510_tiger(config, 1467, 1080); // R mask option confirmed @@ -5893,7 +6033,7 @@ public: void tsimquest(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsimquest ) PORT_START("IN.0") // S1 @@ -5936,6 +6076,8 @@ static INPUT_PORTS_START( tsimquest ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsimquest_state::tsimquest(machine_config &config) { sm510_tiger(config, 1434, 1080); // R mask option confirmed @@ -5975,7 +6117,7 @@ public: void tkarnov(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tkarnov ) PORT_START("IN.0") // S1 @@ -6018,6 +6160,8 @@ static INPUT_PORTS_START( tkarnov ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tkarnov_state::tkarnov(machine_config &config) { sm510_tiger(config, 1477, 1080); @@ -6057,7 +6201,7 @@ public: void tvindictr(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tvindictr ) PORT_START("IN.0") // S1 @@ -6099,6 +6243,8 @@ static INPUT_PORTS_START( tvindictr ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tvindictr_state::tvindictr(machine_config &config) { sm510_tiger(config, 1459, 1080); @@ -6153,7 +6299,7 @@ void tgaiden_state::machine_start() m_led_out.resolve(); } -// config +// inputs static INPUT_PORTS_START( tgaiden ) PORT_START("IN.0") // S1 @@ -6192,6 +6338,8 @@ static INPUT_PORTS_START( tgaiden ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgaiden_state::tgaiden(machine_config &config) { sm510_tiger(config, 1476, 1080); @@ -6234,7 +6382,7 @@ public: void tbatman(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tbatman ) PORT_START("IN.0") // S1 @@ -6272,6 +6420,8 @@ static INPUT_PORTS_START( tbatman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tbatman_state::tbatman(machine_config &config) { sm510_tiger(config, 1442, 1080); @@ -6315,7 +6465,7 @@ public: void tsharr2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsharr2 ) PORT_START("IN.0") // S1 @@ -6353,6 +6503,8 @@ static INPUT_PORTS_START( tsharr2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsharr2_state::tsharr2(machine_config &config) { sm510_tiger(config, 1493, 1080); // R mask option confirmed @@ -6392,7 +6544,7 @@ public: void tstrider(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tstrider ) PORT_START("IN.0") // S1 @@ -6431,6 +6583,8 @@ static INPUT_PORTS_START( tstrider ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tstrider_state::tstrider(machine_config &config) { sm510_tiger(config, 1479, 1080); @@ -6470,7 +6624,7 @@ public: void tgoldnaxe(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tgoldnaxe ) PORT_START("IN.0") // S1 @@ -6513,6 +6667,8 @@ static INPUT_PORTS_START( tgoldnaxe ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgoldnaxe_state::tgoldnaxe(machine_config &config) { sm510_tiger(config, 1456, 1080); @@ -6554,7 +6710,7 @@ public: void trobocop2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trobocop2 ) PORT_START("IN.0") // S1 @@ -6597,6 +6753,8 @@ static INPUT_PORTS_START( trobocop2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void trobocop2_state::trobocop2(machine_config &config) { sm510_tiger(config, 1487, 1080); @@ -6640,7 +6798,7 @@ public: void taltbeast(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( taltbeast ) PORT_START("IN.0") // S1 @@ -6683,6 +6841,8 @@ static INPUT_PORTS_START( taltbeast ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void taltbeast_state::taltbeast(machine_config &config) { sm510_tiger(config, 1455, 1080); // R mask option confirmed @@ -6722,7 +6882,7 @@ public: void tmegaman3(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tmegaman3 ) PORT_START("IN.0") // S1 @@ -6761,6 +6921,8 @@ static INPUT_PORTS_START( tmegaman3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tmegaman3_state::tmegaman3(machine_config &config) { sm510_tiger(config, 1457, 1080); @@ -6800,7 +6962,7 @@ public: void tsf2010(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsf2010 ) PORT_START("IN.0") // S1 @@ -6843,6 +7005,8 @@ static INPUT_PORTS_START( tsf2010 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsf2010_state::tsf2010(machine_config &config) { sm510_tiger(config, 1465, 1080); @@ -6882,7 +7046,7 @@ public: void tswampt(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tswampt ) PORT_START("IN.0") // S1 @@ -6921,6 +7085,8 @@ static INPUT_PORTS_START( tswampt ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tswampt_state::tswampt(machine_config &config) { sm510_tiger(config, 1450, 1080); @@ -6960,7 +7126,7 @@ public: void tspidman(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tspidman ) PORT_START("IN.0") // S1 @@ -7003,6 +7169,8 @@ static INPUT_PORTS_START( tspidman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tspidman_state::tspidman(machine_config &config) { sm510_tiger(config, 1440, 1080); @@ -7042,7 +7210,7 @@ public: void txmen(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( txmen ) PORT_START("IN.0") // S1 @@ -7085,6 +7253,8 @@ static INPUT_PORTS_START( txmen ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void txmen_state::txmen(machine_config &config) { sm510_tiger(config, 1467, 1080); @@ -7124,7 +7294,7 @@ public: void tddragon3(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tddragon3 ) PORT_START("IN.0") // S1 @@ -7167,6 +7337,8 @@ static INPUT_PORTS_START( tddragon3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tddragon3_state::tddragon3(machine_config &config) { sm510_tiger(config, 1514, 1080); @@ -7206,7 +7378,7 @@ public: void tflash(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tflash ) PORT_START("IN.0") // S1 @@ -7249,6 +7421,8 @@ static INPUT_PORTS_START( tflash ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tflash_state::tflash(machine_config &config) { sm510_tiger(config, 1444, 1080); @@ -7290,7 +7464,7 @@ public: void trobhood(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trobhood ) PORT_INCLUDE( tgaunt ) @@ -7299,6 +7473,8 @@ static INPUT_PORTS_START( trobhood ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Money") INPUT_PORTS_END +// config + void trobhood_state::trobhood(machine_config &config) { sm510_tiger(config, 1468, 1080); @@ -7338,7 +7514,7 @@ public: void tmchammer(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tmchammer ) PORT_START("IN.0") // S1 @@ -7382,6 +7558,8 @@ static INPUT_PORTS_START( tmchammer ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tmchammer_state::tmchammer(machine_config &config) { sm511_tiger1bit(config, 1471, 1080); @@ -7426,7 +7604,7 @@ public: void trockteer(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trockteer ) PORT_INCLUDE( trobocop2 ) @@ -7442,6 +7620,8 @@ static INPUT_PORTS_START( trockteer ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Fire Left") INPUT_PORTS_END +// config + void trockteer_state::trockteer(machine_config &config) { sm510_tiger(config, 1463, 1080); @@ -7481,7 +7661,7 @@ public: void tbtoads(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tbtoads ) PORT_START("IN.0") // S1 @@ -7524,6 +7704,8 @@ static INPUT_PORTS_START( tbtoads ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tbtoads_state::tbtoads(machine_config &config) { sm510_tiger(config, 1454, 1080); @@ -7563,7 +7745,7 @@ public: void thook(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( thook ) PORT_START("IN.0") // S1 @@ -7606,6 +7788,8 @@ static INPUT_PORTS_START( thook ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void thook_state::thook(machine_config &config) { sm510_tiger(config, 1489, 1080); @@ -7648,7 +7832,7 @@ public: void tbttf(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tbttf ) PORT_START("IN.0") // S1 @@ -7687,6 +7871,8 @@ static INPUT_PORTS_START( tbttf ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tbttf_state::tbttf(machine_config &config) { sm510_tiger(config, 1466, 1080); @@ -7728,7 +7914,7 @@ public: void taddams(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( taddams ) PORT_START("IN.0") // S1 @@ -7771,6 +7957,8 @@ static INPUT_PORTS_START( taddams ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void taddams_state::taddams(machine_config &config) { sm510_tiger(config, 1464, 1080); @@ -7810,7 +7998,7 @@ public: void thalone(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( thalone ) PORT_START("IN.0") // S1 @@ -7853,6 +8041,8 @@ static INPUT_PORTS_START( thalone ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void thalone_state::thalone(machine_config &config) { sm510_tiger(config, 1448, 1080); @@ -7892,7 +8082,7 @@ public: void tgaiden3(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tgaiden3 ) PORT_START("IN.0") // S1 @@ -7931,6 +8121,8 @@ static INPUT_PORTS_START( tgaiden3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgaiden3_state::tgaiden3(machine_config &config) { sm510_tiger(config, 1474, 1080); @@ -7970,7 +8162,7 @@ public: void txmenpx(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( txmenpx ) PORT_START("IN.0") // S1 @@ -8009,6 +8201,8 @@ static INPUT_PORTS_START( txmenpx ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void txmenpx_state::txmenpx(machine_config &config) { sm510_tiger(config, 1464, 1080); @@ -8048,7 +8242,7 @@ public: void thalone2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( thalone2 ) PORT_START("IN.0") // S1 @@ -8091,6 +8285,8 @@ static INPUT_PORTS_START( thalone2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void thalone2_state::thalone2(machine_config &config) { sm510_tiger(config, 1454, 1080); @@ -8130,7 +8326,7 @@ public: void tsonic(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsonic ) PORT_START("IN.0") // S2 @@ -8168,6 +8364,8 @@ static INPUT_PORTS_START( tsonic ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsonic_state::tsonic(machine_config &config) { sm511_tiger2bit(config, 1517, 1080); @@ -8210,7 +8408,7 @@ public: void trobocop3(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trobocop3 ) PORT_START("IN.0") // S1 @@ -8253,6 +8451,8 @@ static INPUT_PORTS_START( trobocop3 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void trobocop3_state::trobocop3(machine_config &config) { sm510_tiger(config, 1464, 1080); @@ -8292,7 +8492,7 @@ public: void tdummies(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tdummies ) PORT_START("IN.0") // S1 @@ -8331,6 +8531,8 @@ static INPUT_PORTS_START( tdummies ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tdummies_state::tdummies(machine_config &config) { sm510_tiger(config, 1441, 1080); @@ -8370,7 +8572,7 @@ public: void tsfight2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsfight2 ) PORT_START("IN.0") // S1 @@ -8413,6 +8615,8 @@ static INPUT_PORTS_START( tsfight2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsfight2_state::tsfight2(machine_config &config) { sm510_tiger(config, 1444, 1080); @@ -8452,7 +8656,7 @@ public: void twworld(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( twworld ) PORT_START("IN.0") // S1 @@ -8495,6 +8699,8 @@ static INPUT_PORTS_START( twworld ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void twworld_state::twworld(machine_config &config) { sm510_tiger(config, 1429, 1080); @@ -8534,7 +8740,7 @@ public: void tjpark(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tjpark ) PORT_START("IN.0") // S1 @@ -8573,6 +8779,8 @@ static INPUT_PORTS_START( tjpark ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tjpark_state::tjpark(machine_config &config) { sm510_tiger(config, 1454, 1080); @@ -8612,7 +8820,7 @@ public: void tsonic2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsonic2 ) PORT_START("IN.0") // S2 @@ -8650,6 +8858,8 @@ static INPUT_PORTS_START( tsonic2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsonic2_state::tsonic2(machine_config &config) { sm511_tiger2bit(config, 1475, 1080); @@ -8696,7 +8906,7 @@ public: void tsddragon(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsddragon ) PORT_START("IN.0") // S1 @@ -8740,6 +8950,8 @@ static INPUT_PORTS_START( tsddragon ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsddragon_state::tsddragon(machine_config &config) { sm510_tiger(config, 1503, 1080); @@ -8779,7 +8991,7 @@ public: void tdennis(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tdennis ) PORT_START("IN.0") // S1 @@ -8823,6 +9035,8 @@ static INPUT_PORTS_START( tdennis ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tdennis_state::tdennis(machine_config &config) { sm510_tiger(config, 1467, 1080); @@ -8873,7 +9087,7 @@ void tnmarebc_state::input_w(u8 data) hh_sm510_state::input_w((data & 0x1f) | (data >> 1 & 0x10)); } -// config +// inputs static INPUT_PORTS_START( tnmarebc ) PORT_START("IN.0") // S1 @@ -8911,6 +9125,8 @@ static INPUT_PORTS_START( tnmarebc ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tnmarebc_state::tnmarebc(machine_config &config) { sm510_tiger(config, 1456, 1080); @@ -8950,7 +9166,7 @@ public: void ttransf2(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( ttransf2 ) PORT_START("IN.0") // S1 @@ -8993,6 +9209,8 @@ static INPUT_PORTS_START( ttransf2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void ttransf2_state::ttransf2(machine_config &config) { sm510_tiger(config, 1476, 1080); @@ -9032,7 +9250,7 @@ public: void topaliens(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( topaliens ) PORT_START("IN.0") // S1 @@ -9071,6 +9289,8 @@ static INPUT_PORTS_START( topaliens ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void topaliens_state::topaliens(machine_config &config) { sm510_tiger(config, 1450, 1080); @@ -9110,7 +9330,7 @@ public: void tmkombat(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tmkombat ) PORT_START("IN.0") // S1 @@ -9154,6 +9374,8 @@ static INPUT_PORTS_START( tmkombat ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tmkombat_state::tmkombat(machine_config &config) { sm510_tiger(config, 1468, 1080); @@ -9193,7 +9415,7 @@ public: void tshadow(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tshadow ) PORT_START("IN.0") // S1 @@ -9236,6 +9458,8 @@ static INPUT_PORTS_START( tshadow ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tshadow_state::tshadow(machine_config &config) { sm510_tiger(config, 1484, 1080); @@ -9275,7 +9499,7 @@ public: void tskelwarr(machine_config &); }; -// config +// inputs static INPUT_PORTS_START( tskelwarr ) PORT_START("IN.0") // S1 @@ -9318,6 +9542,8 @@ static INPUT_PORTS_START( tskelwarr ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tskelwarr_state::tskelwarr(machine_config &config) { sm510_tiger(config, 1444, 1080); @@ -9357,7 +9583,7 @@ public: void tbatfor(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tbatfor ) PORT_START("IN.0") // S1 @@ -9401,6 +9627,8 @@ static INPUT_PORTS_START( tbatfor ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tbatfor_state::tbatfor(machine_config &config) { sm510_tiger(config, 1493, 1080); @@ -9440,7 +9668,7 @@ public: void tjdredd(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tjdredd ) PORT_START("IN.0") // S1 @@ -9484,6 +9712,8 @@ static INPUT_PORTS_START( tjdredd ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tjdredd_state::tjdredd(machine_config &config) { sm510_tiger(config, 1444, 1080); @@ -9523,7 +9753,7 @@ public: void tapollo13(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tapollo13 ) PORT_START("IN.0") // S1 @@ -9567,6 +9797,8 @@ static INPUT_PORTS_START( tapollo13 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tapollo13_state::tapollo13(machine_config &config) { sm510_tiger(config, 1467, 1080); @@ -9606,7 +9838,7 @@ public: void tgoldeye(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tgoldeye ) PORT_START("IN.0") // S1 @@ -9650,6 +9882,8 @@ static INPUT_PORTS_START( tgoldeye ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgoldeye_state::tgoldeye(machine_config &config) { sm510_tiger(config, 1461, 1080); @@ -9689,7 +9923,7 @@ public: void tkazaam(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tkazaam ) PORT_START("IN.0") // S1 @@ -9733,6 +9967,8 @@ static INPUT_PORTS_START( tkazaam ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tkazaam_state::tkazaam(machine_config &config) { sm510_tiger(config, 1452, 1080); // no external XTAL @@ -9772,7 +10008,7 @@ public: void tsjam(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsjam ) PORT_START("IN.0") // S1 @@ -9811,6 +10047,8 @@ static INPUT_PORTS_START( tsjam ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tsjam_state::tsjam(machine_config &config) { sm510_tiger(config, 1421, 1080); // no external XTAL @@ -9850,7 +10088,7 @@ public: void tinday(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tinday ) PORT_START("IN.0") // S1 @@ -9889,6 +10127,8 @@ static INPUT_PORTS_START( tinday ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tinday_state::tinday(machine_config &config) { sm510_tiger(config, 1463, 1080); @@ -9928,7 +10168,7 @@ public: void tbatmana(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tbatmana ) PORT_START("IN.0") // S2 @@ -9967,6 +10207,8 @@ static INPUT_PORTS_START( tbatmana ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tbatmana_state::tbatmana(machine_config &config) { sm511_tiger2bit(config, 1478, 1080); @@ -10011,7 +10253,7 @@ public: void tgargnf(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tgargnf ) PORT_START("IN.0") // S2 @@ -10051,6 +10293,8 @@ static INPUT_PORTS_START( tgargnf ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void tgargnf_state::tgargnf(machine_config &config) { sm511_tiger2bit(config, 1479, 1080); @@ -10098,7 +10342,7 @@ public: void tsuperman(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( tsuperman ) PORT_INCLUDE( tgargnf ) @@ -10107,6 +10351,8 @@ static INPUT_PORTS_START( tsuperman ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Punch") INPUT_PORTS_END +// config + void tsuperman_state::tsuperman(machine_config &config) { sm511_tiger2bit(config, 1487, 1080); @@ -10151,7 +10397,7 @@ public: void tigarden(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trshutvoy ) PORT_START("IN.0") // S1 @@ -10205,6 +10451,8 @@ static INPUT_PORTS_START( trshutvoy ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_VOLUME_DOWN ) PORT_CHANGED_CB(input_changed) PORT_NAME("Sound") INPUT_PORTS_END +// config + void trshutvoy_state::trshutvoy(machine_config &config) { sm510_common(config, 1496, 1080); // R mask option confirmed @@ -10259,7 +10507,7 @@ public: void trthuball(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( trsrescue ) PORT_START("IN.0") // S1 @@ -10283,6 +10531,8 @@ static INPUT_PORTS_START( trsrescue ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void trsrescue_state::trsrescue(machine_config &config) { sm510_common(config, 1533, 1080); // R mask option confirmed @@ -10343,7 +10593,7 @@ public: void trspider(machine_config & config); }; -// config +// inputs static INPUT_PORTS_START( trspacmis ) PORT_START("IN.0") // R2 @@ -10373,6 +10623,8 @@ static INPUT_PORTS_START( trspacmis ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void trspacmis_state::trspacmis(machine_config &config) { sm5a_common(config, 1601, 1080); // R mask option confirmed @@ -10426,7 +10678,7 @@ public: void auslalom(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( auslalom ) PORT_START("IN.0") // R2 @@ -10448,6 +10700,8 @@ static INPUT_PORTS_START( auslalom ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL") INPUT_PORTS_END +// config + void auslalom_state::auslalom(machine_config &config) { kb1013vk12_common(config, 1732, 1080); // R mask option ? @@ -10485,7 +10739,7 @@ public: void nummunch(machine_config &config); }; -// config +// inputs static INPUT_PORTS_START( nummunch ) PORT_START("IN.0") // S1 @@ -10537,6 +10791,8 @@ static INPUT_PORTS_START( nummunch ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_POWER_ON ) PORT_CHANGED_CB(acl_button) INPUT_PORTS_END +// config + void nummunch_state::nummunch(machine_config &config) { sm511_common(config, 1920, 875); diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp index 2c49ae17e6b..2ab9bfddf72 100644 --- a/src/mame/handheld/hh_tms1k.cpp +++ b/src/mame/handheld/hh_tms1k.cpp @@ -113,7 +113,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm @MP1312 TMS1100 1981, Gakken FX-Micom R-165/Radio Shack Science Fair Microcomputer Trainer @MP1343 TMS1100 1984, Tandy (Micronta) VoxClock 3 *MP1359 TMS1100 1985, Capsela CRC2000 - *MP1362 TMS1100 1985, Technasonic Weight Talker (have dump) + @MP1362 TMS1100 1985, Technasonic Weight Talker @MP1525 TMS1170 1980, Coleco Head to Head: Electronic Baseball @MP1604 TMS1370 1982, Gakken Invader 2000/Tandy Cosmic Fire Away 3000 @MP1801 TMS1700 1981, Tiger Ditto/Tandy Pocket Repeat (model 60-2152) @@ -129,7 +129,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm @MP3200 TMS1000 1978, Parker Brothers Electronic Master Mind @MP3201 TMS1000 1977, Milton Bradley Electronic Battleship (1977, model 4750A) @MP3206 TMS1000 1978, Concept 2000 Mr. Mus-I-Cal (model 560) - *MP3207 TMS1000 1978, Concept 2000 Lite 'n Learn: Electronic Organ (model 554) + @MP3207 TMS1000 1978, Concept 2000 Lite 'n Learn: Electronic Organ (model 554) @MP3208 TMS1000 1978, Milton Bradley Electronic Battleship (1977, model 4750B) @MP3226 TMS1000 1978, Milton Bradley Simon (Rev A) *MP3228 TMS1000 1979, Texas Instruments OEM melody chip @@ -214,15 +214,13 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm #include "cpu/tms1000/tms1000c.h" #include "cpu/tms1000/tms1100.h" #include "cpu/tms1000/tms1400.h" -#include "cpu/tms1000/tms2100.h" #include "cpu/tms1000/tms2400.h" #include "cpu/tms1000/tms0970.h" #include "cpu/tms1000/tms0980.h" -#include "cpu/tms1000/tms0270.h" -#include "cpu/tms1000/tp0320.h" #include "machine/clock.h" #include "machine/ds8874.h" #include "machine/netlist.h" +#include "machine/nvram.h" #include "machine/timer.h" #include "machine/tmc0999.h" #include "machine/tms1024.h" @@ -291,6 +289,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm #include "h2hfootb.lh" #include "h2hhockey.lh" #include "horseran.lh" +#include "litelrn.lh" // clickable #include "liveafb.lh" #include "lostreas.lh" // clickable #include "matchnum.lh" // clickable @@ -570,7 +569,7 @@ u8 matchnum_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( matchnum ) PORT_START("IN.0") // R3 @@ -611,6 +610,8 @@ static INPUT_PORTS_START( matchnum ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_NAME("Square 1") INPUT_PORTS_END +// config + void matchnum_state::matchnum(machine_config &config) { // basic machine hardware @@ -712,7 +713,7 @@ u8 arrball_state::read_k() return read_inputs(1); } -// config +// inputs static INPUT_PORTS_START( arrball ) PORT_START("IN.0") // R8 @@ -724,6 +725,8 @@ static INPUT_PORTS_START( arrball ) PORT_CONFSETTING( 0x08, "Fast" ) INPUT_PORTS_END +// config + void arrball_state::arrball(machine_config &config) { // basic machine hardware @@ -835,7 +838,7 @@ u8 mathmagi_state::read_k() return read_inputs(6); } -// config +// inputs /* physical button layout and labels are like this: @@ -884,6 +887,8 @@ static INPUT_PORTS_START( mathmagi ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + // output PLA is not decapped, this was made by hand static const u16 mathmagi_output_pla[0x20] = { @@ -1003,7 +1008,7 @@ u8 bcheetah_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( bcheetah ) PORT_START("IN.0") // R0 @@ -1033,6 +1038,8 @@ static INPUT_PORTS_START( bcheetah ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4") INPUT_PORTS_END +// config + void bcheetah_state::bcheetah(machine_config &config) { // basic machine hardware @@ -1126,7 +1133,7 @@ u8 racetime_state::read_k() return read_inputs(1); } -// config +// inputs static INPUT_PORTS_START( racetime ) PORT_START("IN.0") // R7 @@ -1136,6 +1143,8 @@ static INPUT_PORTS_START( racetime ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY INPUT_PORTS_END +// config + void racetime_state::racetime(machine_config &config) { // basic machine hardware @@ -1234,7 +1243,7 @@ u8 tc7atc_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( tc7atc ) PORT_START("IN.0") // R0 @@ -1268,6 +1277,8 @@ static INPUT_PORTS_START( tc7atc ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_NAME("80%") INPUT_PORTS_END +// config + void tc7atc_state::tc7atc(machine_config &config) { // basic machine hardware @@ -1368,7 +1379,7 @@ u8 palmf31_state::read_k() return data; } -// config +// inputs static INPUT_PORTS_START( palmf31 ) PORT_START("IN.0") // R0 @@ -1439,6 +1450,8 @@ static INPUT_PORTS_START( palmf31 ) PORT_CONFSETTING( 0x100, DEF_STR( On ) ) INPUT_PORTS_END +// config + void palmf31_state::palmf31(machine_config &config) { // basic machine hardware @@ -1532,7 +1545,7 @@ u8 palmmd8_state::read_k() return read_inputs(11); } -// config +// inputs static INPUT_PORTS_START( palmmd8 ) PORT_START("IN.0") // R0 @@ -1607,6 +1620,8 @@ static INPUT_PORTS_START( palmmd8 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void palmmd8_state::palmmd8(machine_config &config) { // basic machine hardware @@ -1749,7 +1764,7 @@ u8 cchime_state::read_k() return inp; } -// config +// inputs static INPUT_PORTS_START( cchime ) PORT_START("IN.0") // R0-R7 @@ -1780,6 +1795,8 @@ static INPUT_PORTS_START( cchime ) PORT_ADJUSTER(50, "Tone Knob") INPUT_PORTS_END +// config + void cchime_state::cchime(machine_config &config) { // basic machine hardware @@ -1883,7 +1900,7 @@ u8 amaztron_state::read_k() return k & 0xf; } -// config +// inputs static INPUT_PORTS_START( amaztron ) PORT_START("IN.0") // R0 @@ -1927,6 +1944,8 @@ static INPUT_PORTS_START( amaztron ) PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void amaztron_state::amaztron(machine_config &config) { // basic machine hardware @@ -2023,7 +2042,7 @@ u8 zodiac_state::read_k() return read_inputs(6); } -// config +// inputs /* The physical button layout and labels are like this: @@ -2083,6 +2102,8 @@ static INPUT_PORTS_START( zodiac ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void zodiac_state::zodiac(machine_config &config) { // basic machine hardware @@ -2187,7 +2208,7 @@ u8 cqback_state::read_k() return read_rotated_inputs(5); } -// config +// inputs static INPUT_PORTS_START( cqback ) PORT_START("IN.0") // K1 @@ -2212,6 +2233,8 @@ static INPUT_PORTS_START( cqback ) PORT_CONFSETTING( 0x01, DEF_STR( On ) ) // TP1-TP2 INPUT_PORTS_END +// config + void cqback_state::cqback(machine_config &config) { // basic machine hardware @@ -2313,7 +2336,7 @@ u8 h2hfootb_state::read_k() return read_rotated_inputs(9); } -// config +// inputs static INPUT_PORTS_START( h2hfootb ) PORT_START("IN.0") // K1 @@ -2342,6 +2365,8 @@ static INPUT_PORTS_START( h2hfootb ) PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY INPUT_PORTS_END +// config + void h2hfootb_state::h2hfootb(machine_config &config) { // basic machine hardware @@ -2482,7 +2507,7 @@ u8 h2hbaskb_state::read_k() return (read_inputs(4) & 7) | cap_state; } -// config +// inputs static INPUT_PORTS_START( h2hbaskb ) PORT_START("IN.0") // R0 @@ -2518,6 +2543,8 @@ static INPUT_PORTS_START( h2hhockey ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Goalie Left") INPUT_PORTS_END +// config + void h2hbaskb_state::h2hbaskb(machine_config &config) { // basic machine hardware @@ -2654,7 +2681,7 @@ u8 h2hbaseb_state::read_k() return m_inputs[4]->read() | read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( h2hbaseb ) PORT_START("IN.0") // R4 @@ -2685,6 +2712,8 @@ static INPUT_PORTS_START( h2hbaseb ) PORT_CONFSETTING( 0x01, "2" ) INPUT_PORTS_END +// config + void h2hbaseb_state::h2hbaseb(machine_config &config) { // basic machine hardware @@ -2780,7 +2809,7 @@ u8 h2hboxing_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( h2hboxing ) PORT_START("IN.0") // R0 @@ -2812,6 +2841,8 @@ static INPUT_PORTS_START( h2hboxing ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Block") INPUT_PORTS_END +// config + void h2hboxing_state::h2hboxing(machine_config &config) { // basic machine hardware @@ -2961,7 +2992,7 @@ u8 quizwizc_state::read_k() return read_inputs(6) | ((m_r & m_pinout) ? 1 : 0); } -// config +// inputs static INPUT_PORTS_START( quizwizc ) PORT_START("IN.0") // R0 @@ -3001,6 +3032,8 @@ static INPUT_PORTS_START( quizwizc ) PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void quizwizc_state::quizwizc(machine_config &config) { // basic machine hardware @@ -3149,7 +3182,7 @@ u8 tc4_state::read_k() return read_inputs(6) | ((m_r & 0x200) ? m_pinout : 0); } -// config +// inputs static INPUT_PORTS_START( tc4 ) PORT_START("IN.0") // R0 @@ -3189,6 +3222,8 @@ static INPUT_PORTS_START( tc4 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 D/K Button") INPUT_PORTS_END +// config + void tc4_state::tc4(machine_config &config) { // basic machine hardware @@ -3232,10 +3267,162 @@ ROM_END +/*************************************************************************** + + Concept 2000 Lite 'n Learn (model 554) + * PCB label: CONCEPT 2000, SEC 554 + * TMS1000NLL MP3207 (die label: 1000C, MP3207) + * 10 LEDs, 1-bit sound with volume decay + + Two versions are known, one with the tone knob, and one without. The MCU + is the same for both. + +***************************************************************************/ + +class litelrn_state : public hh_tms1k_state +{ +public: + litelrn_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_tms1k_state(mconfig, type, tag), + m_volume(*this, "volume") + { } + + void litelrn(machine_config &config); + +protected: + virtual void machine_start() override; + +private: + required_device m_volume; + + void write_o(u16 data); + void write_r(u32 data); + u8 read_k(); + + TIMER_DEVICE_CALLBACK_MEMBER(speaker_decay_sim); + double m_speaker_volume = 0.0; +}; + +void litelrn_state::machine_start() +{ + hh_tms1k_state::machine_start(); + save_item(NAME(m_speaker_volume)); +} + +// handlers + +TIMER_DEVICE_CALLBACK_MEMBER(litelrn_state::speaker_decay_sim) +{ + m_volume->flt_volume_set_volume(m_speaker_volume); + + // volume decays when speaker is off, rate is determined by tone knob + m_speaker_volume /= 1.002 + (double)(u8)m_inputs[2]->read() * 0.0035; // approximation +} + +void litelrn_state::write_r(u32 data) +{ + // R0: speaker out + m_speaker->level_w(data & 1); + + // R1-R10: input mux, leds + m_inp_mux = data >> 1; + m_display->matrix(1, data >> 1); +} + +void litelrn_state::write_o(u16 data) +{ + // O0: trigger speaker on + if (~data & m_o & 1) + m_volume->flt_volume_set_volume(m_speaker_volume = 1.0); + + // O2: select mode switch + // other: N/C + m_o = data; +} + +u8 litelrn_state::read_k() +{ + // K1: multiplexed inputs + u8 data = read_rotated_inputs(10, 1); + + // K4,K8: mode switch + if (m_o & 4) + data |= m_inputs[1]->read() & 0xc; + + return data; +} + +// inputs + +static INPUT_PORTS_START( litelrn ) + PORT_START("IN.0") // K1 + PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1") + PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2") + PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3") + PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4") + PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5") + PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6") + PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7") + PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8") + PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") + PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("10") + + PORT_START("IN.1") // O2 + PORT_CONFNAME( 0x0c, 0x04, "Mode" ) + PORT_CONFSETTING( 0x00, "Learn" ) + PORT_CONFSETTING( 0x0c, "Auto" ) + PORT_CONFSETTING( 0x04, "Manual" ) + + PORT_START("IN.2") + PORT_CONFNAME( 0x03, 0x00, "Tone" ) + PORT_CONFSETTING( 0x00, "Organ" ) + PORT_CONFSETTING( 0x01, "Harpsichord" ) + PORT_CONFSETTING( 0x03, "Banjo" ) +INPUT_PORTS_END + +// config + +void litelrn_state::litelrn(machine_config &config) +{ + // basic machine hardware + TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=33K, C=100pF + m_maincpu->read_k().set(FUNC(litelrn_state::read_k)); + m_maincpu->write_o().set(FUNC(litelrn_state::write_o)); + m_maincpu->write_r().set(FUNC(litelrn_state::write_r)); + + // video hardware + PWM_DISPLAY(config, m_display).set_size(1, 10); + m_display->set_bri_levels(0.25); + config.set_default_layout(layout_litelrn); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "volume", 0.25); + FILTER_VOLUME(config, m_volume).add_route(ALL_OUTPUTS, "mono", 1.0); + + TIMER(config, "speaker_decay").configure_periodic(FUNC(litelrn_state::speaker_decay_sim), attotime::from_msec(1)); +} + +// roms + +ROM_START( litelrn ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "mp3207", 0x0000, 0x0400, CRC(9fd7bc0b) SHA1(0dd2903bb33833e85103a1d012fda449d92722af) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_common1_micro.pla", 0, 867, CRC(4becec19) SHA1(3c8a9be0f00c88c81f378b76886c39b10304f330) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_litelrn_output.pla", 0, 365, CRC(393d859e) SHA1(2d224a8dee621ee598001ebdac3e57cae52c93e1) ) +ROM_END + + + + + /*************************************************************************** Concept 2000 Mr. Mus-I-Cal (model 560) - * PCB label: CONCEPT 2000 ITE 556 + * PCB label: CONCEPT 2000, ITE 556 * TMS1000NLL MP3206 (die label: 1000C, MP3206) * 9-digit 7seg LED display(one custom digit), 1-bit sound @@ -3252,7 +3439,7 @@ public: void mrmusical(machine_config &config); -protected: +private: void update_display(); void write_o(u16 data); void write_r(u32 data); @@ -3290,7 +3477,7 @@ u8 mrmusical_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( mrmusical ) PORT_START("IN.0") // R0 @@ -3334,10 +3521,12 @@ static INPUT_PORTS_START( mrmusical ) PORT_CONFSETTING( 0x01, DEF_STR( On ) ) INPUT_PORTS_END +// config + void mrmusical_state::mrmusical(machine_config &config) { // basic machine hardware - TMS1000(config, m_maincpu, 300000); // approximation - RC osc. R=33K, C=100pF + TMS1000(config, m_maincpu, 325000); // approximation - RC osc. R=33K, C=100pF m_maincpu->read_k().set(FUNC(mrmusical_state::read_k)); m_maincpu->write_o().set(FUNC(mrmusical_state::write_o)); m_maincpu->write_r().set(FUNC(mrmusical_state::write_r)); @@ -3438,7 +3627,7 @@ u8 cnbaskb_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( cnbaskb ) PORT_START("IN.0") // R0 @@ -3459,6 +3648,8 @@ static INPUT_PORTS_START( cnbaskb ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void cnbaskb_state::cnbaskb(machine_config &config) { // basic machine hardware @@ -3563,7 +3754,7 @@ u8 cmsport_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( cmsport ) PORT_START("IN.0") // R0 @@ -3588,6 +3779,8 @@ static INPUT_PORTS_START( cmsport ) PORT_CONFSETTING( 0x08, "2" ) // professional INPUT_PORTS_END +// config + void cmsport_state::cmsport(machine_config &config) { // basic machine hardware @@ -3709,7 +3902,7 @@ u8 cnfball_state::read_k() return read_inputs(2) | (m_r << 3 & 8); } -// config +// inputs static INPUT_PORTS_START( cnfball ) PORT_START("IN.0") // R9 @@ -3727,6 +3920,8 @@ static INPUT_PORTS_START( cnfball ) PORT_CONFSETTING( 0x00, "2" ) // professional INPUT_PORTS_END +// config + void cnfball_state::cnfball(machine_config &config) { // basic machine hardware @@ -3837,7 +4032,7 @@ u8 cnfball2_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( cnfball2 ) PORT_START("IN.0") // R8 @@ -3863,6 +4058,8 @@ static INPUT_PORTS_START( cnfball2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void cnfball2_state::cnfball2(machine_config &config) { // basic machine hardware @@ -3968,7 +4165,7 @@ u8 eleciq_state::read_k() return read_inputs(7); } -// config +// inputs static INPUT_PORTS_START( eleciq ) PORT_START("IN.0") // R1 @@ -4014,6 +4211,8 @@ static INPUT_PORTS_START( eleciq ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, reset_button, 0) INPUT_PORTS_END +// config + void eleciq_state::eleciq(machine_config &config) { // basic machine hardware @@ -4104,7 +4303,7 @@ u8 qfire_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( qfire ) PORT_START("IN.0") // R1 @@ -4130,6 +4329,8 @@ static INPUT_PORTS_START( qfire ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) // lightgun trigger, also turns on lightgun lamp INPUT_PORTS_END +// config + void qfire_state::qfire(machine_config &config) { // basic machine hardware @@ -4227,7 +4428,7 @@ u8 esoccer_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( esoccer ) PORT_START("IN.0") // R0 @@ -4250,6 +4451,8 @@ static INPUT_PORTS_START( esoccer ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL INPUT_PORTS_END +// config + void esoccer_state::esoccer(machine_config &config) { // basic machine hardware @@ -4368,7 +4571,7 @@ u8 ebball_state::read_k() return m_inputs[5]->read() | read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( ebball ) PORT_START("IN.0") // R1 @@ -4400,6 +4603,8 @@ static INPUT_PORTS_START( ebball ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Batter") INPUT_PORTS_END +// config + void ebball_state::ebball(machine_config &config) { // basic machine hardware @@ -4512,7 +4717,7 @@ u8 ebball2_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( ebball2 ) PORT_START("IN.0") // R3 @@ -4538,6 +4743,8 @@ static INPUT_PORTS_START( ebball2 ) PORT_BIT( 0x0a, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void ebball2_state::ebball2(machine_config &config) { // basic machine hardware @@ -4681,7 +4888,7 @@ u8 ebball3_state::read_k() return read_inputs(3); } -// config +// inputs /* physical button layout and labels are like this: @@ -4722,6 +4929,8 @@ static INPUT_PORTS_START( ebball3 ) PORT_CONFSETTING( 0x01, "2" ) // PRO INPUT_PORTS_END +// config + void ebball3_state::ebball3(machine_config &config) { // basic machine hardware @@ -4831,7 +5040,7 @@ u8 esbattle_state::read_k() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( esbattle ) PORT_START("IN.0") // R0 @@ -4849,6 +5058,8 @@ static INPUT_PORTS_START( esbattle ) PORT_CONFSETTING( 0x00, "2" ) // Manual INPUT_PORTS_END +// config + void esbattle_state::esbattle(machine_config &config) { // basic machine hardware @@ -4942,7 +5153,7 @@ u8 blastit_state::read_k() return read_inputs(1); } -// config +// inputs static INPUT_PORTS_START( blastit ) PORT_START("IN.0") // R3 @@ -4954,6 +5165,8 @@ static INPUT_PORTS_START( blastit ) PORT_CONFSETTING( 0x00, "2" ) // PRO INPUT_PORTS_END +// config + void blastit_state::blastit(machine_config &config) { // basic machine hardware @@ -5061,7 +5274,7 @@ void einvader_state::write_o(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( einvader ) PORT_START("IN.0") @@ -5073,6 +5286,8 @@ static INPUT_PORTS_START( einvader ) PORT_CONFSETTING( 0x08, "2" ) // professional INPUT_PORTS_END +// config + void einvader_state::einvader(machine_config &config) { // basic machine hardware @@ -5176,7 +5391,7 @@ u8 efootb4_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( efootb4 ) PORT_START("IN.0") // R0 @@ -5214,6 +5429,8 @@ static INPUT_PORTS_START( efootb4 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void efootb4_state::efootb4(machine_config &config) { // basic machine hardware @@ -5327,7 +5544,7 @@ u8 ebaskb2_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( ebaskb2 ) PORT_START("IN.0") // R6 @@ -5358,6 +5575,8 @@ static INPUT_PORTS_START( ebaskb2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY INPUT_PORTS_END +// config + void ebaskb2_state::ebaskb2(machine_config &config) { // basic machine hardware @@ -5497,7 +5716,7 @@ u8 raisedvl_state::read_k() return read_inputs(2) & 0xf; } -// config +// inputs static INPUT_PORTS_START( raisedvl ) PORT_START("IN.0") // R0 @@ -5514,6 +5733,8 @@ static INPUT_PORTS_START( raisedvl ) PORT_CONFSETTING( 0x21, "4" ) INPUT_PORTS_END +// config + void raisedvl_state::raisedvl(machine_config &config) { // basic machine hardware @@ -5666,7 +5887,7 @@ u8 mmarvin_state::read_k() return (read_inputs(4) & 7) | (m_speed_timer->enabled() ? 0 : 8); } -// config +// inputs static INPUT_PORTS_START( mmarvin ) PORT_START("IN.0") // R2 @@ -5696,6 +5917,8 @@ static INPUT_PORTS_START( mmarvin ) PORT_ADJUSTER(50, "Tone Knob") INPUT_PORTS_END +// config + void mmarvin_state::mmarvin(machine_config &config) { // basic machine hardware @@ -5818,7 +6041,7 @@ u8 f2pbball_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( f2pbball ) PORT_START("IN.0") // R4 @@ -5845,6 +6068,8 @@ static INPUT_PORTS_START( f2pbball ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("P1 Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, reset_button, 0) INPUT_PORTS_END +// config + void f2pbball_state::f2pbball(machine_config &config) { // basic machine hardware @@ -5965,7 +6190,7 @@ u8 f3in1_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( f3in1 ) PORT_START("IN.0") // R0 @@ -5997,6 +6222,8 @@ static INPUT_PORTS_START( f3in1 ) PORT_CONFSETTING( 0x01, "2" ) // PROF INPUT_PORTS_END +// config + void f3in1_state::f3in1(machine_config &config) { // basic machine hardware @@ -6100,7 +6327,7 @@ u8 gpoker_state::read_k() return read_inputs(7); } -// config +// inputs /* physical button layout and labels are like this: @@ -6153,6 +6380,8 @@ static INPUT_PORTS_START( gpoker ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("Deal") // DL INPUT_PORTS_END +// config + void gpoker_state::gpoker(machine_config &config) { // basic machine hardware @@ -6223,7 +6452,7 @@ void gjackpot_state::write_r(u32 data) m_inp_mux = (data & 0x3f) | (data >> 4 & 0x40); } -// config +// inputs /* physical button layout and labels are like this: (note: on dual-function buttons, upper label=Gin, lower label=Black Jack) @@ -6282,6 +6511,8 @@ static INPUT_PORTS_START( gjackpot ) PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void gjackpot_state::gjackpot(machine_config &config) { gpoker(config); @@ -6380,7 +6611,7 @@ u8 ginv_state::read_k() return m_inputs[2]->read() | read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( ginv ) PORT_START("IN.0") // R9 @@ -6400,6 +6631,8 @@ static INPUT_PORTS_START( ginv ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) INPUT_PORTS_END +// config + void ginv_state::ginv(machine_config &config) { // basic machine hardware @@ -6506,7 +6739,7 @@ u8 ginv1000_state::read_k() return m_inputs[2]->read() | read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( ginv1000 ) PORT_START("IN.0") // R8 @@ -6525,6 +6758,8 @@ static INPUT_PORTS_START( ginv1000 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) INPUT_PORTS_END +// config + void ginv1000_state::ginv1000(machine_config &config) { // basic machine hardware @@ -6645,7 +6880,7 @@ u8 ginv2000_state::read_k() return m_inputs[2]->read() | read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( ginv2000 ) PORT_START("IN.0") // R11 @@ -6663,6 +6898,8 @@ static INPUT_PORTS_START( ginv2000 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) INPUT_PORTS_END +// config + void ginv2000_state::ginv2000(machine_config &config) { // basic machine hardware @@ -6784,7 +7021,7 @@ u8 fxmcr165_state::read_k() return read_inputs(5); } -// config +// inputs /* physical button layout and labels are like this: @@ -6826,6 +7063,8 @@ static INPUT_PORTS_START( fxmcr165 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("Address Set") INPUT_PORTS_END +// config + void fxmcr165_state::fxmcr165(machine_config &config) { // basic machine hardware @@ -6918,7 +7157,7 @@ u8 elecdet_state::read_k() return m_inputs[4]->read() | read_inputs(4); } -// config +// inputs /* physical button layout and labels are like this: @@ -6967,6 +7206,8 @@ static INPUT_PORTS_START( elecdet ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END +// config + void elecdet_state::elecdet(machine_config &config) { // basic machine hardware @@ -7071,7 +7312,7 @@ u8 starwbc_state::read_k() return read_inputs(5); } -// config +// inputs /* physical button layout and labels are like this: @@ -7115,6 +7356,8 @@ static INPUT_PORTS_START( starwbc ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right") INPUT_PORTS_END +// config + void starwbc_state::starwbc(machine_config &config) { // basic machine hardware @@ -7231,7 +7474,7 @@ u8 liveafb_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( liveafb ) PORT_START("IN.0") // R0 @@ -7264,6 +7507,8 @@ static INPUT_PORTS_START( liveafb ) PORT_BIT( 0x7f, 0x00, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) INPUT_PORTS_END +// config + void liveafb_state::liveafb(machine_config &config) { // basic machine hardware @@ -7365,7 +7610,7 @@ u8 astro_state::read_k() return read_inputs(8); } -// config +// inputs static INPUT_PORTS_START( astro ) PORT_START("IN.0") // R0 @@ -7415,10 +7660,12 @@ static INPUT_PORTS_START( astro ) PORT_CONFSETTING( 0x08, "Astro" ) INPUT_PORTS_END +// config + void astro_state::astro(machine_config &config) { // basic machine hardware - TMS1470(config, m_maincpu, 450000); // approximation - RC osc. R=4.7K, C=33pF + TMS1470(config, m_maincpu, 450000); // approximation - RC osc. R=47K, C=33pF m_maincpu->read_k().set(FUNC(astro_state::read_k)); m_maincpu->write_r().set(FUNC(astro_state::write_r)); m_maincpu->write_o().set(FUNC(astro_state::write_o)); @@ -7541,7 +7788,7 @@ u8 elecbowl_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( elecbowl ) PORT_START("IN.0") // R5 @@ -7569,6 +7816,8 @@ static INPUT_PORTS_START( elecbowl ) PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) // 2 players sw? INPUT_PORTS_END +// config + // output PLA is not decapped, this was made by hand static const u16 elecbowl_output_pla[0x20] = { @@ -7683,7 +7932,7 @@ u8 horseran_state::read_k() return read_inputs(8); } -// config +// inputs /* physical button layout and labels are like this: @@ -7746,6 +7995,8 @@ static INPUT_PORTS_START( horseran ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7") INPUT_PORTS_END +// config + void horseran_state::horseran(machine_config &config) { // basic machine hardware @@ -7829,7 +8080,7 @@ u8 mdndclab_state::read_k() return read_inputs(18); } -// config +// inputs static INPUT_PORTS_START( mdndclab ) PORT_START("IN.0") // O0 @@ -7941,6 +8192,8 @@ static INPUT_PORTS_START( mdndclab ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Dragon Attacks / Dragon Wakes") INPUT_PORTS_END +// config + void mdndclab_state::mdndclab(machine_config &config) { // basic machine hardware @@ -8035,7 +8288,7 @@ u8 comp4_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( comp4 ) PORT_START("IN.0") // O1 @@ -8057,6 +8310,8 @@ static INPUT_PORTS_START( comp4 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") INPUT_PORTS_END +// config + void comp4_state::comp4(machine_config &config) { // basic machine hardware @@ -8156,7 +8411,7 @@ u8 bship_state::read_k() return m_inputs[11]->read() | read_inputs(11); } -// config +// inputs static INPUT_PORTS_START( bship ) PORT_START("IN.0") // R0 @@ -8232,7 +8487,9 @@ static INPUT_PORTS_START( bship ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_NAME("P2 Clear Last Entry") INPUT_PORTS_END -void bship_state::bship(machine_config &config) +// config + +void bship_state::bship(machine_config &config) { // basic machine hardware TMS1000(config, m_maincpu, 200000); // approximation - RC osc. R=100K, C=47pF @@ -8351,8 +8608,6 @@ u8 bshipb_state::read_k() // config -// buttons are same as bship set - void bshipb_state::bshipb(machine_config &config) { // basic machine hardware @@ -8456,7 +8711,7 @@ u8 simon_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( simon ) PORT_START("IN.0") // R0 @@ -8492,6 +8747,8 @@ static INPUT_PORTS_START( simon ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, switch_next<3>, 0x0f) INPUT_PORTS_END +// config + void simon_state::simon(machine_config &config) { // basic machine hardware @@ -8605,7 +8862,7 @@ u8 ssimon_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( ssimon ) PORT_START("IN.0") // R0 @@ -8661,6 +8918,8 @@ static INPUT_PORTS_START( ssimon ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, switch_next<6>, 0x03) INPUT_PORTS_END +// config + void ssimon_state::ssimon(machine_config &config) { // basic machine hardware @@ -8766,7 +9025,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bigtrak_state::gearbox_sim_tick) { // the last gear in the gearbox has 12 evenly spaced holes, it is located // between an IR emitter and receiver - static const int speed = 17; + const int speed = 17; if (m_gearbox_pos >= speed) m_gearbox_pos = -speed; @@ -8821,7 +9080,7 @@ u8 bigtrak_state::read_k() return read_inputs(7) | (sensor_state() ? 8 : 0); } -// config +// inputs /* physical button layout and labels are like this: @@ -8878,6 +9137,8 @@ static INPUT_PORTS_START( bigtrak ) PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bigtrak_state::bigtrak(machine_config &config) { // basic machine hardware @@ -9085,7 +9346,7 @@ u8 mbdtower_state::read_k() return read_inputs(3) | ((!m_sensor_blind && sensor_led_on()) ? 8 : 0); } -// config +// inputs /* physical button layout and labels are like this: @@ -9125,6 +9386,8 @@ static INPUT_PORTS_START( mbdtower ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("Tomb/Ruin") INPUT_PORTS_END +// config + void mbdtower_state::mbdtower(machine_config &config) { // basic machine hardware @@ -9215,7 +9478,7 @@ u8 arcmania_state::read_k() return read_inputs(3); } -// config +// inputs /* physical button layout and labels are like this: @@ -9251,6 +9514,8 @@ static INPUT_PORTS_START( arcmania ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void arcmania_state::arcmania(machine_config &config) { // basic machine hardware @@ -9338,7 +9603,7 @@ u8 cnsector_state::read_k() return read_inputs(5); } -// config +// inputs /* physical button layout and labels are like this: @@ -9385,6 +9650,8 @@ static INPUT_PORTS_START( cnsector ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("Teach Mode") INPUT_PORTS_END +// config + void cnsector_state::cnsector(machine_config &config) { // basic machine hardware @@ -9489,7 +9756,7 @@ u8 merlin_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( merlin ) PORT_START("IN.0") // O0 @@ -9517,6 +9784,8 @@ static INPUT_PORTS_START( merlin ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_N) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("New Game") INPUT_PORTS_END +// config + void merlin_state::merlin(machine_config &config) { // basic machine hardware @@ -9587,7 +9856,7 @@ public: // handlers: uses the ones in merlin_state -// config +// inputs static INPUT_PORTS_START( mmerlin ) PORT_INCLUDE( merlin ) @@ -9596,6 +9865,8 @@ static INPUT_PORTS_START( mmerlin ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("Score") // instead of Hit Me INPUT_PORTS_END +// config + void mmerlin_state::mmerlin(machine_config &config) { merlin(config); @@ -9672,7 +9943,7 @@ u8 pbmastm_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( pbmastm ) PORT_START("IN.0") // O0 @@ -9712,6 +9983,8 @@ static INPUT_PORTS_START( pbmastm ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void pbmastm_state::pbmastm(machine_config &config) { // basic machine hardware @@ -9798,7 +10071,7 @@ u8 stopthief_state::read_k() return m_inputs[2]->read() | read_inputs(2); } -// config +// inputs /* physical button layout and labels are like this: @@ -9833,6 +10106,8 @@ static INPUT_PORTS_START( stopthief ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END +// config + void stopthief_state::stopthief(machine_config &config) { // basic machine hardware @@ -9957,7 +10232,7 @@ u8 bankshot_state::read_k() return read_inputs(2); } -// config +// inputs /* physical button layout and labels are like this: (note: remember that you can rotate the display in MAME) @@ -9985,6 +10260,8 @@ static INPUT_PORTS_START( bankshot ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void bankshot_state::bankshot(machine_config &config) { // basic machine hardware @@ -10102,7 +10379,7 @@ u8 splitsec_state::read_k() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( splitsec ) PORT_START("IN.0") // R9 @@ -10118,6 +10395,8 @@ static INPUT_PORTS_START( splitsec ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void splitsec_state::splitsec(machine_config &config) { // basic machine hardware @@ -10204,7 +10483,7 @@ u8 lostreas_state::read_k() return read_inputs(4); } -// config +// inputs /* physical button layout and labels are like this: (note: Canadian version differs slightly to accomodoate dual-language) @@ -10245,6 +10524,8 @@ static INPUT_PORTS_START( lostreas ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_U) PORT_NAME("Up") INPUT_PORTS_END +// config + void lostreas_state::lostreas(machine_config &config) { // basic machine hardware @@ -10347,7 +10628,7 @@ u8 alphie_state::read_k() return read_rotated_inputs(6); } -// config +// inputs static INPUT_PORTS_START( alphie ) PORT_START("IN.0") // K1 @@ -10385,6 +10666,8 @@ static INPUT_PORTS_START( alphie ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, switch_next<3>, 0x0f) PORT_NAME("Activity Selector Right") INPUT_PORTS_END +// config + // output PLA is guessed static const u16 alphie_output_pla[0x20] = { @@ -10493,7 +10776,7 @@ u8 tcfball_state::read_k() return read_inputs(3); } -// config +// inputs static INPUT_PORTS_START( tcfball ) PORT_START("IN.0") // R5 @@ -10515,6 +10798,8 @@ static INPUT_PORTS_START( tcfball ) PORT_CONFSETTING( 0x08, "2" ) // professional INPUT_PORTS_END +// config + void tcfball_state::tcfball(machine_config &config) { // basic machine hardware @@ -10579,7 +10864,7 @@ public: // handlers: uses the ones in tcfball_state -// config +// inputs static INPUT_PORTS_START( tcfballa ) PORT_INCLUDE( tcfball ) @@ -10589,6 +10874,8 @@ static INPUT_PORTS_START( tcfballa ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Display") INPUT_PORTS_END +// config + void tcfballa_state::tcfballa(machine_config &config) { tcfball(config); @@ -10696,7 +10983,7 @@ u8 comparc_state::read_k() return read_inputs(5); } -// config +// inputs /* physical button layout and labels are like this: @@ -10751,6 +11038,8 @@ static INPUT_PORTS_START( comparc ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Button 5") INPUT_PORTS_END +// config + // output PLA is not decapped, this was made by hand static const u16 comparc_output_pla[0x20] = { @@ -10854,7 +11143,7 @@ u8 monkeysee_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( monkeysee ) PORT_START("IN.0") // R0 @@ -10888,6 +11177,8 @@ static INPUT_PORTS_START( monkeysee ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_STOP) PORT_CODE(KEYCODE_DEL_PAD) PORT_NAME(".") INPUT_PORTS_END +// config + void monkeysee_state::monkeysee(machine_config &config) { // basic machine hardware @@ -10991,7 +11282,7 @@ u8 t3in1sa_state::read_k() return read_inputs(6); } -// config +// inputs /* physical button layout and labels are like this: @@ -11053,6 +11344,8 @@ static INPUT_PORTS_START( t3in1sa ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Team-Mate") INPUT_PORTS_END +// config + void t3in1sa_state::t3in1sa(machine_config &config) { // basic machine hardware @@ -11175,7 +11468,26 @@ u8 vclock3_state::read_k() return data; } -// config +// inputs + +/* physical button layout and labels are like this: + + [ ] [ ] [ ] [ ] + CALENDAR-SET-TIME CHIME ANNOUNCE + + [ ] [ ] [ ] [ ] + HOUR FWD↑ MIN FWD↑ SET ALARM 1-ON/OFF + + [ ] [ ] [ ] [ ] + HOUR REV↓ MIN REV↓ SET ALARM 2-ON/OFF + + [ ] --------------- LOW[ ]HIGH + SENTINEL LOW VOLUME HIGH DIMMER + + CALENDAR + [ ] [ ] + SNOOZE/DATE TIME +*/ static INPUT_PORTS_START( vclock3 ) PORT_START("IN.0") // R0 @@ -11223,6 +11535,8 @@ static INPUT_PORTS_START( vclock3 ) PORT_CONFSETTING( 0x00, DEF_STR( Normal ) ) INPUT_PORTS_END +// config + void vclock3_state::vclock3(machine_config &config) { // basic machine hardware @@ -11275,6 +11589,237 @@ ROM_END +/*************************************************************************** + + Technasonic Weight Talker + * PCB label: BHP_8338A8 + * TMS1100 MP1362 (no decap) + * TMS5110AN2L-1 speech chip, 16KB VSM CM62088N2L + * CD40114BE (4x16 RAM, battery-backed) + + There's also an older version (BHP_8338A2 PCB, M34137N2, CM62074). It can + be identified by the missing (unpopulated) language switch. + + It has a normal mechanical scale hidden from view, with a quadrature + encoder. In MAME, it's simulated with a dial control. Turn it left to + increase pressure, right to decrease. After around 0.5s of inactivity, + it will tell your 'weight'. + +***************************************************************************/ + +class wtalker_state : public hh_tms1k_state +{ +public: + wtalker_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_tms1k_state(mconfig, type, tag), + m_nvram(*this, "nvram", 0x10, ENDIANNESS_BIG), + m_tms5100(*this, "tms5100"), + m_tms6100(*this, "tms6100") + { } + + void wtalker(machine_config &config); + + DECLARE_CUSTOM_INPUT_MEMBER(sensor_r) { return m_dial & 1; } + DECLARE_CUSTOM_INPUT_MEMBER(pulse_r) { return (m_pulse > machine().time()) ? 1 : 0; } + +protected: + virtual void machine_start() override; + +private: + memory_share_creator m_nvram; + required_device m_tms5100; + required_device m_tms6100; + + void write_r(u32 data); + void write_o(u16 data); + u8 read_k(); + + TIMER_DEVICE_CALLBACK_MEMBER(sense_weight); + + attotime m_pulse; + u8 m_dial = 0; + u8 m_ram_address = 0; +}; + +void wtalker_state::machine_start() +{ + hh_tms1k_state::machine_start(); + + save_item(NAME(m_pulse)); + save_item(NAME(m_dial)); + save_item(NAME(m_ram_address)); +} + +// handlers + +TIMER_DEVICE_CALLBACK_MEMBER(wtalker_state::sense_weight) +{ + const u8 mask = 3; + u8 inp = m_inputs[7]->read() & mask; + + // short pulse on rising edge or falling edge, depending on direction + if (inp != m_dial && BIT(mask + inp - m_dial, 1) != BIT(inp, 0)) + m_pulse = machine().time() + attotime::from_usec(250); + + m_dial = inp; +} + +void wtalker_state::write_r(u32 data) +{ + // R2,R3,R9: input mux part + m_inp_mux = (m_inp_mux & 7) | (data << 1 & 0x18) | (data >> 4 & 0x20); + + // R8: TMS5100 PDC + m_tms5100->pdc_w(BIT(data, 8)); + + // R10: power off on rising edge + if (data & ~m_r & 0x400) + power_off(); + + // R0: RAM ME + // R1: RAM WE + // R4-R7: RAM D-A + + // latch RAM address + if (data & ~m_r & 1) + m_ram_address = bitswap<4>(data,4,5,6,7); + + // write RAM + if ((data & 3) == 3 && (m_r & 3) != 3) + m_nvram[m_ram_address] = m_o & 0xf; + + m_r = data; +} + +void wtalker_state::write_o(u16 data) +{ + // O4-O6: input mux part + // O7: N/C + m_inp_mux = (m_inp_mux & ~7) | (data >> 4 & 7); + + // O0-O3: TMS5100 CTL, RAM data + m_tms5100->ctl_w(data & 0xf); + m_o = data; +} + +u8 wtalker_state::read_k() +{ + // K2-K8: multiplexed inputs + u8 data = read_inputs(6) << 1 & 0xe; + + // read RAM (complemented) + if ((m_r & 3) == 1) + data |= ~m_nvram[m_ram_address] & 0xf; + + // K1: TMS5100 CTL1 + data |= m_tms5100->ctl_r() & 1; + return data; +} + +// inputs + +static INPUT_PORTS_START( wtalker ) + PORT_START("IN.0") // O4 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5") + + PORT_START("IN.1") // O5 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Guest") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1") + + PORT_START("IN.2") // O6 + PORT_CONFNAME( 0x01, 0x01, "Memory") + PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x01, DEF_STR( On ) ) + PORT_CONFNAME( 0x02, 0x00, "Weight Unit") + PORT_CONFSETTING( 0x02, "Kilogram" ) + PORT_CONFSETTING( 0x00, "Pound" ) + PORT_CONFNAME( 0x04, 0x00, "Shutdown Message") + PORT_CONFSETTING( 0x04, "Good Bye" ) PORT_CONDITION("IN.5", 0x02, NOTEQUALS, 0x02) + PORT_CONFSETTING( 0x00, "Have a Nice Day" ) PORT_CONDITION("IN.5", 0x02, NOTEQUALS, 0x02) + PORT_CONFSETTING( 0x04, "Auf Wiedersehen" ) PORT_CONDITION("IN.5", 0x02, EQUALS, 0x02) + PORT_CONFSETTING( 0x00, "Guten Tag" ) PORT_CONDITION("IN.5", 0x02, EQUALS, 0x02) + + PORT_START("IN.3") // R2 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(wtalker_state, sensor_r) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(wtalker_state, pulse_r) + + PORT_START("IN.4") // R3 + PORT_CONFNAME( 0x01, 0x00, "Battery Status" ) + PORT_CONFSETTING( 0x01, "Low" ) + PORT_CONFSETTING( 0x00, DEF_STR( Normal ) ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.5") // R9 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_CONFNAME( 0x02, 0x00, DEF_STR( Language ) ) // unpopulated switch + PORT_CONFSETTING( 0x00, DEF_STR( English ) ) + PORT_CONFSETTING( 0x02, DEF_STR( German ) ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.6") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_POWER_ON ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, true) + + PORT_START("IN.7") + PORT_BIT( 0x03, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) +INPUT_PORTS_END + +// config + +void wtalker_state::wtalker(machine_config &config) +{ + // basic machine hardware + TMS1100(config, m_maincpu, 550000); // approximation - RC osc. R=36K, C=33pF + m_maincpu->read_k().set(FUNC(wtalker_state::read_k)); + m_maincpu->write_r().set(FUNC(wtalker_state::write_r)); + m_maincpu->write_o().set(FUNC(wtalker_state::write_o)); + + TIMER(config, "sense_weight").configure_periodic(FUNC(wtalker_state::sense_weight), attotime::from_usec(1)); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + + // no visual feedback! + + // sound hardware + SPEAKER(config, "mono").front_center(); + + TMS5110A(config, m_tms5100, 640000); // approximation - trimpot + m_tms5100->m0().set(m_tms6100, FUNC(tms6100_device::m0_w)); + m_tms5100->m1().set(m_tms6100, FUNC(tms6100_device::m1_w)); + m_tms5100->addr().set(m_tms6100, FUNC(tms6100_device::add_w)); + m_tms5100->data().set(m_tms6100, FUNC(tms6100_device::data_line_r)); + m_tms5100->romclk().set(m_tms6100, FUNC(tms6100_device::clk_w)); + m_tms5100->add_route(ALL_OUTPUTS, "mono", 0.25); + + TMS6100(config, m_tms6100, 640000/4); +} + +// roms + +ROM_START( wtalker ) + ROM_REGION( 0x0800, "maincpu", 0 ) + ROM_LOAD( "mp1362", 0x0000, 0x0800, CRC(99247fad) SHA1(30e48f235f821491643554c9e58a72459cf1d834) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified + ROM_REGION( 365, "maincpu:opla", ROMREGION_ERASE00 ) + ROM_LOAD( "tms1100_wtalker_output.pla", 0, 365, NO_DUMP ) + + ROM_REGION16_LE( 0x40, "maincpu:opla_b", ROMREGION_ERASE00 ) // verified, electronic dump + ROM_LOAD16_BYTE( "tms1100_wtalker_output.bin", 0, 0x20, CRC(fb51ad7c) SHA1(5972665fbc154ebb18e4eb2663c6088643651489) ) + + ROM_REGION( 0x4000, "tms6100", 0 ) + ROM_LOAD( "cm62088", 0x0000, 0x4000, CRC(0c7a6d26) SHA1(2dbdc54019d02531adbd3c7515a8995710a4267c) ) +ROM_END + + + + + /*************************************************************************** Telesensory Systems, Inc.(TSI) Speech+ @@ -11343,7 +11888,7 @@ u8 speechp_state::read_k() return m_inputs[10]->read() | (read_inputs(10) & 7); } -// config +// inputs static INPUT_PORTS_START( speechp ) PORT_START("IN.0") // R0 @@ -11404,6 +11949,8 @@ static INPUT_PORTS_START( speechp ) PORT_CONFSETTING( 0x00, DEF_STR( Normal ) ) INPUT_PORTS_END +// config + void speechp_state::speechp(machine_config &config) { // basic machine hardware @@ -11502,7 +12049,7 @@ u8 tisr16_state::read_k() return read_inputs(11); } -// config +// inputs static INPUT_PORTS_START( tisr16 ) PORT_START("IN.0") // R0 @@ -11640,6 +12187,8 @@ static INPUT_PORTS_START( tisr16ii ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("9") INPUT_PORTS_END +// config + void tisr16_state::tisr16(machine_config &config) { // basic machine hardware @@ -11745,7 +12294,7 @@ u8 ti1250_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( ti1250 ) PORT_START("IN.0") // O1 @@ -11803,6 +12352,8 @@ static INPUT_PORTS_START( ti1270 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("+/-") INPUT_PORTS_END +// config + void ti1250_state::ti1250(machine_config &config) { // basic machine hardware @@ -11936,7 +12487,7 @@ u8 ti25502_state::read_k() return read_inputs(8); } -// config +// inputs static INPUT_PORTS_START( ti25502 ) PORT_START("IN.0") // R0 @@ -11989,6 +12540,8 @@ static INPUT_PORTS_START( ti25502 ) PORT_CONFSETTING( 0x04, "4" ) // " INPUT_PORTS_END +// config + void ti25502_state::ti25502(machine_config &config) { // basic machine hardware @@ -12076,7 +12629,7 @@ u8 ti25503_state::read_k() return read_inputs(7); } -// config +// inputs static INPUT_PORTS_START( ti25503 ) PORT_START("IN.0") // R0 @@ -12122,6 +12675,8 @@ static INPUT_PORTS_START( ti25503 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_X) PORT_NAME("1/x") INPUT_PORTS_END +// config + void ti25503_state::ti25503(machine_config &config) { // basic machine hardware @@ -12210,7 +12765,7 @@ u8 ti5100_state::read_k() return read_inputs(11); } -// config +// inputs static INPUT_PORTS_START( ti5100 ) PORT_START("IN.0") // R0 @@ -12274,6 +12829,8 @@ static INPUT_PORTS_START( ti5100 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(u8"÷") INPUT_PORTS_END +// config + void ti5100_state::ti5100(machine_config &config) { // basic machine hardware @@ -12360,7 +12917,7 @@ u8 ti5200_state::read_k() return read_inputs(8); } -// config +// inputs static INPUT_PORTS_START( ti5200 ) PORT_START("IN.0") // R0 @@ -12412,6 +12969,8 @@ static INPUT_PORTS_START( ti5200 ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void ti5200_state::ti5200(machine_config &config) { // basic machine hardware @@ -12502,7 +13061,7 @@ u8 ti30_state::read_k() return m_inputs[7]->read() | read_inputs(7); } -// config +// inputs static INPUT_PORTS_START( ti30 ) PORT_START("IN.0") // O0 @@ -12682,6 +13241,8 @@ static INPUT_PORTS_START( tibusan ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2) PORT_NAME("Off") PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, power_button, false) INPUT_PORTS_END +// config + void ti30_state::ti30(machine_config &config) { // basic machine hardware @@ -12796,7 +13357,7 @@ u8 ti1000_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( ti1000 ) PORT_START("IN.0") // O0 @@ -12831,6 +13392,8 @@ static INPUT_PORTS_START( ti1000 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=") INPUT_PORTS_END +// config + void ti1000_state::ti1000(machine_config &config) { // basic machine hardware @@ -12921,7 +13484,7 @@ u8 wizatron_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( wizatron ) PORT_START("IN.0") // O1 @@ -12949,6 +13512,8 @@ static INPUT_PORTS_START( wizatron ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_SLASH_PAD) PORT_NAME(u8"÷") INPUT_PORTS_END +// config + void wizatron_state::wizatron(machine_config &config) { // basic machine hardware @@ -13027,7 +13592,7 @@ u8 lilprof_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( lilprof ) PORT_INCLUDE( wizatron ) @@ -13044,6 +13609,8 @@ static INPUT_PORTS_START( lilprof ) PORT_CONFSETTING( 0x08, "4" ) INPUT_PORTS_END +// config + void lilprof_state::lilprof(machine_config &config) { wizatron(config); @@ -13130,7 +13697,7 @@ u8 lilprofa_state::read_k() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( lilprofa ) PORT_START("IN.0") // O0 @@ -13165,6 +13732,8 @@ static INPUT_PORTS_START( lilprofa ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("+") INPUT_PORTS_END +// config + void lilprofa_state::lilprofa(machine_config &config) { // basic machine hardware @@ -13271,7 +13840,7 @@ u8 ti1680_state::read_k() return read_inputs(6) | m_ram->do_r(); } -// config +// inputs static INPUT_PORTS_START( ti1680 ) PORT_START("IN.0") // R3 @@ -13311,6 +13880,8 @@ static INPUT_PORTS_START( ti1680 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("=") INPUT_PORTS_END +// config + void ti1680_state::ti1680(machine_config &config) { // basic machine hardware @@ -13402,7 +13973,7 @@ u8 dataman_state::read_k() return m_inputs[5]->read() | read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( dataman ) PORT_START("IN.0") // R0 @@ -13443,6 +14014,8 @@ static INPUT_PORTS_START( dataman ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("Electro Flash") INPUT_PORTS_END +// config + void dataman_state::dataman(machine_config &config) { // basic machine hardware @@ -13512,7 +14085,7 @@ void mathmarv_state::write_r(u32 data) dataman_state::write_r(data); } -// config +// inputs static INPUT_PORTS_START( mathmarv ) PORT_INCLUDE( dataman ) @@ -13528,6 +14101,8 @@ static INPUT_PORTS_START( mathmarv ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_F) PORT_NAME("Flash") INPUT_PORTS_END +// config + void mathmarv_state::mathmarv(machine_config &config) { dataman(config); @@ -13612,7 +14187,7 @@ u8 timaze_state::read_k() return read_inputs(1); } -// config +// inputs static INPUT_PORTS_START( timaze ) PORT_START("IN.0") // R0 @@ -13622,6 +14197,8 @@ static INPUT_PORTS_START( timaze ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY INPUT_PORTS_END +// config + void timaze_state::timaze(machine_config &config) { // basic machine hardware @@ -13720,7 +14297,7 @@ u8 tithermos_state::read_k() return data; } -// config +// inputs static INPUT_PORTS_START( tithermos ) PORT_START("IN.0") // SA @@ -13778,6 +14355,8 @@ static INPUT_PORTS_START( tithermos ) PORT_CONFSETTING( 0x01, "Auto" ) // same output as heat/cool INPUT_PORTS_END +// config + void tithermos_state::tithermos(machine_config &config) { // basic machine hardware @@ -13870,7 +14449,7 @@ void subwars_state::write_o(u16 data) m_speaker->level_w(BIT(data, 7)); } -// config +// inputs static INPUT_PORTS_START( subwars ) PORT_START("IN.0") @@ -13880,6 +14459,8 @@ static INPUT_PORTS_START( subwars ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void subwars_state::subwars(machine_config &config) { // basic machine hardware @@ -14014,7 +14595,7 @@ u8 playmaker_state::read_k() return read_inputs(3) | ((m_inp_mux & 8) ? m_notch : 0); } -// config +// inputs static INPUT_PORTS_START( playmaker ) PORT_START("IN.0") // R0 @@ -14036,6 +14617,8 @@ static INPUT_PORTS_START( playmaker ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pass / P2 Skill") INPUT_PORTS_END +// config + void playmaker_state::playmaker(machine_config &config) { // basic machine hardware @@ -14147,7 +14730,7 @@ u8 dxfootb_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( dxfootb ) PORT_START("IN.0") // R3 @@ -14174,6 +14757,8 @@ static INPUT_PORTS_START( dxfootb ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) INPUT_PORTS_END +// config + void dxfootb_state::dxfootb(machine_config &config) { // basic machine hardware @@ -14265,7 +14850,7 @@ u8 copycat_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( copycat ) PORT_START("IN.0") // R4 @@ -14295,6 +14880,8 @@ static INPUT_PORTS_START( copycat ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void copycat_state::copycat(machine_config &config) { // basic machine hardware @@ -14377,7 +14964,7 @@ void copycata_state::write_o(u16 data) m_speaker->level_w((data & 1) | (data >> 5 & 2)); } -// config +// inputs static INPUT_PORTS_START( copycata ) PORT_START("IN.0") @@ -14387,6 +14974,8 @@ static INPUT_PORTS_START( copycata ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Green Button") INPUT_PORTS_END +// config + void copycata_state::copycata(machine_config &config) { // basic machine hardware @@ -14464,7 +15053,7 @@ void ditto_state::write_o(u16 data) m_speaker->level_w(data >> 5 & 3); } -// config +// inputs static INPUT_PORTS_START( ditto ) PORT_START("IN.0") @@ -14474,6 +15063,8 @@ static INPUT_PORTS_START( ditto ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Red Button") INPUT_PORTS_END +// config + void ditto_state::ditto(machine_config &config) { // basic machine hardware @@ -14576,7 +15167,7 @@ u8 t7in1ss_state::read_k() return read_inputs(4); } -// config +// inputs static INPUT_PORTS_START( t7in1ss ) PORT_START("IN.0") // R0 @@ -14605,6 +15196,8 @@ static INPUT_PORTS_START( t7in1ss ) PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +// config + void t7in1ss_state::t7in1ss(machine_config &config) { // basic machine hardware @@ -14778,7 +15371,7 @@ u8 tbreakup_state::read_k() return (m_inputs[2]->read() & 4) | (read_inputs(2) & 8); } -// config +// inputs static INPUT_PORTS_START( tbreakup ) PORT_START("IN.0") // R7 K8 @@ -14798,6 +15391,8 @@ static INPUT_PORTS_START( tbreakup ) PORT_CONFSETTING( 0x01, "Pro 2" ) INPUT_PORTS_END +// config + void tbreakup_state::tbreakup(machine_config &config) { // basic machine hardware @@ -14927,7 +15522,7 @@ u8 phpball_state::read_k() return m_inputs[1]->read() | read_inputs(1); } -// config +// inputs static INPUT_PORTS_START( phpball ) PORT_START("IN.0") // R9 @@ -14940,6 +15535,8 @@ static INPUT_PORTS_START( phpball ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Left Flipper") PORT_CHANGED_MEMBER(DEVICE_SELF, phpball_state, flipper_button, 0) INPUT_PORTS_END +// config + void phpball_state::phpball(machine_config &config) { // basic machine hardware @@ -15040,7 +15637,7 @@ u8 tdracula_state::read_k() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( tdracula ) PORT_START("IN.0") // R20 @@ -15060,6 +15657,8 @@ static INPUT_PORTS_START( tdracula ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) INPUT_PORTS_END +// config + void tdracula_state::tdracula(machine_config &config) { // basic machine hardware @@ -15175,7 +15774,7 @@ void slepachi_state::write_o(u16 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( slepachi ) PORT_START("IN.0") // K @@ -15193,6 +15792,8 @@ static INPUT_PORTS_START( slepachi ) PORT_CONFSETTING( 0x08, "2" ) INPUT_PORTS_END +// config + void slepachi_state::slepachi(machine_config &config) { // basic machine hardware @@ -15318,7 +15919,7 @@ u8 scruiser_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( scruiser ) PORT_START("IN.0") // R0 @@ -15361,6 +15962,8 @@ static INPUT_PORTS_START( scruiser ) PORT_CONFSETTING( 0x00, "Slow" ) // S INPUT_PORTS_END +// config + void scruiser_state::scruiser(machine_config &config) { // basic machine hardware @@ -15476,7 +16079,7 @@ u8 ssports4_state::read_k() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( ssports4 ) PORT_START("IN.0") // R0 @@ -15521,6 +16124,8 @@ static INPUT_PORTS_START( ssports4 ) PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END +// config + void ssports4_state::ssports4(machine_config &config) { // basic machine hardware @@ -15641,7 +16246,7 @@ u8 xl25_state::read_k() return read_inputs(10); } -// config +// inputs static INPUT_PORTS_START( xl25 ) PORT_START("IN.0") // R0 @@ -15705,6 +16310,8 @@ static INPUT_PORTS_START( xl25 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void xl25_state::xl25(machine_config &config) { // basic machine hardware @@ -15771,6 +16378,7 @@ CONS( 1981, h2hboxing, 0, 0, h2hboxing, h2hboxing, h2hboxing_state, emp CONS( 1981, quizwizc, 0, 0, quizwizc, quizwizc, quizwizc_state, empty_init, "Coleco", "Quiz Wiz Challenger", MACHINE_SUPPORTS_SAVE ) // *** CONS( 1981, tc4, 0, 0, tc4, tc4, tc4_state, empty_init, "Coleco", "Total Control 4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1978, litelrn, 0, 0, litelrn, litelrn, litelrn_state, empty_init, "Concept 2000", "Lite 'n Learn: Electronic Organ", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) COMP( 1978, mrmusical, 0, 0, mrmusical, mrmusical, mrmusical_state, empty_init, "Concept 2000", "Mr. Mus-I-Cal", MACHINE_SUPPORTS_SAVE ) CONS( 1979, cnbaskb, 0, 0, cnbaskb, cnbaskb, cnbaskb_state, empty_init, "Conic", "Electronic Basketball (Conic)", MACHINE_SUPPORTS_SAVE ) @@ -15846,6 +16454,8 @@ CONS( 1982, monkeysee, 0, 0, monkeysee, monkeysee, monkeysee_state, emp CONS( 1984, t3in1sa, 0, 0, t3in1sa, t3in1sa, t3in1sa_state, empty_init, "Tandy Corporation", "3 in 1 Sports Arena", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) SYST( 1984, vclock3, 0, 0, vclock3, vclock3, vclock3_state, empty_init, "Tandy Corporation", "VoxClock 3", MACHINE_SUPPORTS_SAVE ) +SYST( 1985, wtalker, 0, 0, wtalker, wtalker, wtalker_state, empty_init, "Technasonic", "Weight Talker", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_CONTROLS ) + COMP( 1976, speechp, 0, 0, speechp, speechp, speechp_state, empty_init, "Telesensory Systems, Inc.", "Speech+", MACHINE_SUPPORTS_SAVE ) COMP( 1974, tisr16, 0, 0, tisr16, tisr16, tisr16_state, empty_init, "Texas Instruments", "SR-16", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/handheld/hh_ucom4.cpp b/src/mame/handheld/hh_ucom4.cpp index 7b22f665d4b..ee5245950b0 100644 --- a/src/mame/handheld/hh_ucom4.cpp +++ b/src/mame/handheld/hh_ucom4.cpp @@ -305,7 +305,7 @@ void ufombs_state::speaker_w(u8 data) m_speaker->level_w(data & 3); } -// config +// inputs static INPUT_PORTS_START( ufombs ) PORT_START("IN.0") // port A @@ -322,6 +322,8 @@ static INPUT_PORTS_START( ufombs ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void ufombs_state::ufombs(machine_config &config) { // basic machine hardware @@ -439,7 +441,7 @@ u8 ssfball_state::input_b_r() return m_inputs[2]->read() | read_inputs(2); } -// config +// inputs /* physical button layout and labels are like this: @@ -476,6 +478,8 @@ static INPUT_PORTS_START( ssfball ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Pass") INPUT_PORTS_END +// config + void ssfball_state::ssfball(machine_config &config) { // basic machine hardware @@ -599,7 +603,7 @@ u8 bmsoccer_state::input_a_r() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( bmsoccer ) PORT_START("IN.0") // C0 port A @@ -624,6 +628,8 @@ static INPUT_PORTS_START( bmsoccer ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Shoot") INPUT_PORTS_END +// config + void bmsoccer_state::bmsoccer(machine_config &config) { // basic machine hardware @@ -726,7 +732,7 @@ void bmsafari_state::speaker_w(u8 data) m_speaker->level_w(data & 1); } -// config +// inputs static INPUT_PORTS_START( bmsafari ) PORT_START("IN.0") // port A @@ -743,6 +749,8 @@ static INPUT_PORTS_START( bmsafari ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY INPUT_PORTS_END +// config + void bmsafari_state::bmsafari(machine_config &config) { // basic machine hardware @@ -854,7 +862,7 @@ u8 splasfgt_state::input_b_r() return read_inputs(4); } -// config +// inputs /* physical button layout and labels are like this: @@ -903,6 +911,8 @@ static INPUT_PORTS_START( splasfgt ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void splasfgt_state::splasfgt(machine_config &config) { // basic machine hardware @@ -1021,7 +1031,7 @@ u8 bgunf_state::input_r() return read_inputs(2); } -// config +// inputs static INPUT_PORTS_START( bgunf ) PORT_START("IN.0") // G0 port A @@ -1044,6 +1054,8 @@ static INPUT_PORTS_START( bgunf ) PORT_CONFSETTING( 0x08, "Manual" ) INPUT_PORTS_END +// config + void bgunf_state::bgunf(machine_config &config) { // basic machine hardware @@ -1145,7 +1157,7 @@ void bgalaxn_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( bgalaxn ) PORT_START("IN.0") // port A @@ -1162,6 +1174,8 @@ static INPUT_PORTS_START( bgalaxn ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_ucom4_state, single_interrupt_line, 0) INPUT_PORTS_END +// config + void bgalaxn_state::bgalaxn(machine_config &config) { // basic machine hardware @@ -1261,7 +1275,7 @@ void bcclimbr_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( bcclimbr ) PORT_START("IN.0") // port A @@ -1279,6 +1293,8 @@ static INPUT_PORTS_START( bcclimbr ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT ) INPUT_PORTS_END +// config + void bcclimbr_state::bcclimbr(machine_config &config) { // basic machine hardware @@ -1380,7 +1396,7 @@ u8 tactix_state::input_r() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( tactix ) PORT_START("IN.0") // C0 port A @@ -1414,6 +1430,8 @@ static INPUT_PORTS_START( tactix ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void tactix_state::tactix(machine_config &config) { // basic machine hardware @@ -1520,7 +1538,7 @@ u8 ctntune_state::input_r() return read_inputs(6); } -// config +// inputs static INPUT_PORTS_START( ctntune ) PORT_START("IN.0") // C0 port A @@ -1556,6 +1574,8 @@ static INPUT_PORTS_START( ctntune ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void ctntune_state::ctntune(machine_config &config) { // basic machine hardware @@ -1645,7 +1665,7 @@ void invspace_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( invspace ) PORT_START("IN.0") // port A @@ -1660,6 +1680,8 @@ static INPUT_PORTS_START( invspace ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void invspace_state::invspace(machine_config &config) { // basic machine hardware @@ -1757,7 +1779,7 @@ void efball_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( efball ) PORT_START("IN.0") // port A @@ -1783,6 +1805,8 @@ static INPUT_PORTS_START( efball ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Kick") INPUT_PORTS_END +// config + void efball_state::efball(machine_config &config) { // basic machine hardware @@ -1877,7 +1901,7 @@ void galaxy2_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( galaxy2 ) PORT_START("IN.0") // port A @@ -1892,6 +1916,8 @@ static INPUT_PORTS_START( galaxy2 ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void galaxy2_state::galaxy2(machine_config &config) { // basic machine hardware @@ -2015,7 +2041,7 @@ void astrocmd_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( astrocmd ) PORT_START("IN.0") // port A @@ -2031,6 +2057,8 @@ static INPUT_PORTS_START( astrocmd ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END +// config + void astrocmd_state::astrocmd(machine_config &config) { // basic machine hardware @@ -2129,7 +2157,7 @@ void edracula_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( edracula ) PORT_START("IN.0") // port A @@ -2145,6 +2173,8 @@ static INPUT_PORTS_START( edracula ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) INPUT_PORTS_END +// config + void edracula_state::edracula(machine_config &config) { // basic machine hardware @@ -2230,7 +2260,7 @@ void mcompgin_state::lcd_w(u8 data) m_lcd->clock_w(data >> 1 & 1); } -// config +// inputs static INPUT_PORTS_START( mcompgin ) PORT_START("IN.0") // port A @@ -2245,6 +2275,8 @@ static INPUT_PORTS_START( mcompgin ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void mcompgin_state::mcompgin(machine_config &config) { // basic machine hardware @@ -2334,7 +2366,7 @@ void mvbfree_state::speaker_w(u8 data) m_speaker->level_w(data & 1); } -// config +// inputs static INPUT_PORTS_START( mvbfree ) PORT_START("IN.0") // port A @@ -2351,6 +2383,8 @@ static INPUT_PORTS_START( mvbfree ) PORT_CONFSETTING( 0x08, "3" ) INPUT_PORTS_END +// config + void mvbfree_state::mvbfree(machine_config &config) { // basic machine hardware @@ -2449,7 +2483,7 @@ u8 grobot9_state::input_r() return read_inputs(5); } -// config +// inputs static INPUT_PORTS_START( grobot9 ) PORT_START("IN.0") // C0 port A @@ -2480,6 +2514,8 @@ static INPUT_PORTS_START( grobot9 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_V) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_ucom4_state, single_interrupt_line, 0) PORT_NAME("Start-Pitch") INPUT_PORTS_END +// config + void grobot9_state::grobot9(machine_config &config) { // basic machine hardware @@ -2570,7 +2606,7 @@ void tccombat_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( tccombat ) PORT_START("IN.0") // port A @@ -2582,6 +2618,8 @@ static INPUT_PORTS_START( tccombat ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY INPUT_PORTS_END +// config + void tccombat_state::tccombat(machine_config &config) { // basic machine hardware @@ -2714,7 +2752,7 @@ u8 tmtennis_state::input_r(offs_t offset) return ~read_inputs(2) >> (offset*4); } -// config +// inputs /* Pro-Tennis physical button layout and labels are like this: @@ -2753,6 +2791,8 @@ static INPUT_PORTS_START( tmtennis ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 Button 6") INPUT_PORTS_END +// config + void tmtennis_state::tmtennis(machine_config &config) { // basic machine hardware @@ -2857,7 +2897,7 @@ void tmpacman_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( tmpacman ) PORT_START("IN.0") // port A @@ -2873,6 +2913,8 @@ static INPUT_PORTS_START( tmpacman ) PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void tmpacman_state::tmpacman(machine_config &config) { // basic machine hardware @@ -2972,7 +3014,7 @@ void tmscramb_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( tmscramb ) PORT_START("IN.0") // port A @@ -2987,6 +3029,8 @@ static INPUT_PORTS_START( tmscramb ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void tmscramb_state::tmscramb(machine_config &config) { // basic machine hardware @@ -3085,7 +3129,7 @@ void tcaveman_state::plate_w(offs_t offset, u8 data) update_display(); } -// config +// inputs static INPUT_PORTS_START( tcaveman ) PORT_START("IN.0") // port A @@ -3097,6 +3141,8 @@ static INPUT_PORTS_START( tcaveman ) PORT_CONFSETTING( 0x08, "2" ) // PRO INPUT_PORTS_END +// config + void tcaveman_state::tcaveman(machine_config &config) { // basic machine hardware @@ -3203,7 +3249,7 @@ u8 alnchase_state::input_r() return read_inputs(2); } -// config +// inputs /* physical button layout and labels are like this: @@ -3242,6 +3288,8 @@ static INPUT_PORTS_START( alnchase ) PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END +// config + void alnchase_state::alnchase(machine_config &config) { // basic machine hardware diff --git a/src/mame/layout/comparc.lay b/src/mame/layout/comparc.lay index aabde4bbca9..4f086e7537f 100644 --- a/src/mame/layout/comparc.lay +++ b/src/mame/layout/comparc.lay @@ -36,11 +36,11 @@ license:CC0-1.0 - + - + @@ -50,11 +50,11 @@ license:CC0-1.0 - + - + diff --git a/src/mame/layout/litelrn.lay b/src/mame/layout/litelrn.lay new file mode 100644 index 00000000000..d350b39b13a --- /dev/null +++ b/src/mame/layout/litelrn.lay @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 2110e128575..c56ead32648 100755 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18897,6 +18897,7 @@ h2hhockey // Coleco horseran // Mattel lilprof // Texas Instruments lilprofa // Texas Instruments +litelrn // Concept 2000 liveafb // Kenner lostreas // Parker Bros matchnum // A-One LSI @@ -18957,6 +18958,7 @@ tisr16ii // Texas Instruments tithermos // Texas Instruments vclock3 // Tandy Corporation wizatron // Texas Instruments +wtalker // Technasonic xl25 // Vulcan zodiac // Coleco diff --git a/src/mame/namco/namcos10.cpp b/src/mame/namco/namcos10.cpp index f1a38a3f65d..ffb7a790fa6 100644 --- a/src/mame/namco/namcos10.cpp +++ b/src/mame/namco/namcos10.cpp @@ -2125,14 +2125,14 @@ ROM_END // MEM(M) -GAME( 2000, mrdrilr2, 0, ns10_mrdrilr2, mrdrilr2, namcos10_memm_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (World, DR22 Ver.A)", 0 ) -GAME( 2000, mrdrilr2j, mrdrilr2, ns10_mrdrilr2, mrdrilr2, namcos10_memm_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", 0 ) +GAME( 2000, mrdrilr2, 0, ns10_mrdrilr2, mrdrilr2, namcos10_memm_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (World, DR22 Ver.A)", 0 ) +GAME( 2000, mrdrilr2j, mrdrilr2, ns10_mrdrilr2, mrdrilr2, namcos10_memm_state, init_mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", 0 ) // MEM(N) GAME( 2000, ptblank3, 0, ns10_ptblank3, namcos10, namcos10_memn_state, init_gunbalina, ROT0, "Namco", "Point Blank 3 (World, GNN2 Ver.A)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) // needs to hookup gun IO GAME( 2000, gunbalina, ptblank3, ns10_ptblank3, namcos10, namcos10_memn_state, init_gunbalina, ROT0, "Namco", "Gunbalina (Japan, GNN1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) // "" GAME( 2001, gjspace, 0, ns10_gjspace, namcos10, namcos10_memn_state, init_gjspace, ROT0, "Namco / Metro", "Gekitoride-Jong Space (10011 Ver.A)", MACHINE_NOT_WORKING ) // broken decrypter? -GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, init_mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) +GAME( 2001, mrdrilrg, 0, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, init_mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A, set 1)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) GAME( 2001, mrdrilrga, mrdrilrg, ns10_mrdrilrg, mrdrilr2, namcos10_memn_state, init_mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A, set 2)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) GAME( 2001, knpuzzle, 0, ns10_knpuzzle, namcos10, namcos10_memn_state, init_knpuzzle, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", MACHINE_NOT_WORKING ) GAME( 2001, kd2001, 0, ns10_kd2001, namcos10, namcos10_memn_state, empty_init, ROT0, "Namco", "Knock Down 2001 (Japan, KD11 Ver. B)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) diff --git a/src/mame/neogeo/neogeo.cpp b/src/mame/neogeo/neogeo.cpp index 2649493b11c..b91efd30fc7 100644 --- a/src/mame/neogeo/neogeo.cpp +++ b/src/mame/neogeo/neogeo.cpp @@ -30,7 +30,6 @@ * Graphical Glitches caused by incorrect timing? - Some raster effects are imperfect (off by a couple of lines) * 68000 waitstates on ROM region access, determined by jumpers on cart - (garou train stage 3 background bug is probably related to this) * AES Input clock is incorrect (24.167829MHz for NTSC systems, PAL is same?) * PAL region AES behavior is not verified diff --git a/src/mame/snk/miconkit.cpp b/src/mame/snk/miconkit.cpp index d7032dea07b..09b75598ef7 100644 --- a/src/mame/snk/miconkit.cpp +++ b/src/mame/snk/miconkit.cpp @@ -17,6 +17,9 @@ adds moving obstacles. The 3rd game in the series, Space Micon Kit, adds a 2nd row of bricks. Hardware notes: + +Micon-Kit (1/2): +- 2 PCBs: one with CPU and video hardware, one with RAM, ROM, PPI - NEC D8080A-C, 18.432MHz XTAL, NEC uPB8224C (/9 divider) - NEC uPB8228C, NEC D8255C - 4KB ROM (4*MB8518), 256 bytes RAM (2*D2111AL-4) @@ -24,6 +27,12 @@ Hardware notes: - video timing: 10MHz XTAL, h/v: ? - beeper +Space Micon Kit: +- PCB label: OKAYA ELECTRIC IND.CO.,LTD., SHIN NIHON KIKAKU +- 5KB ROM (room for 8KB), 1KB RAM (2*TMM314APL) +- 4KB VRAM (8*TMM314APL) +- same CPU/divider/PPI but Mitsubishi brand, rest is same as above + TODO: - correct video timing, maybe 10MHz / 2 / (262*320) - there's a 2-player start button on the cocktail cabinet, but where is it @@ -302,11 +311,11 @@ ROM_END ROM_START( smiconk ) ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD( "1.1a", 0x000000, 0x000400, CRC(927dfbb8) SHA1(a73e7352ddcc3409701a9037ac32868c1a2592bd) ) - ROM_LOAD( "2.1b", 0x000400, 0x000400, CRC(1d0f1474) SHA1(2ead9a60ef1770f8704fff951caba31ad06a38c7) ) - ROM_LOAD( "3.1c", 0x000800, 0x000400, CRC(b89cb388) SHA1(6ec6af0c4e809e8b0b9544eb7007a3e483f921f2) ) - ROM_LOAD( "4.1d", 0x000c00, 0x000400, CRC(a5897e6e) SHA1(5ecc65bfbecb6e1b10d272693309be827fdb3ef7) ) - ROM_LOAD( "5.1e", 0x001000, 0x000400, CRC(98db7810) SHA1(32d6b828bb22145ae1b4e70d6f69baba1d5aad6b) ) + ROM_LOAD( "1.1a", 0x0000, 0x0400, CRC(927dfbb8) SHA1(a73e7352ddcc3409701a9037ac32868c1a2592bd) ) + ROM_LOAD( "2.1b", 0x0400, 0x0400, CRC(1d0f1474) SHA1(2ead9a60ef1770f8704fff951caba31ad06a38c7) ) + ROM_LOAD( "3.1c", 0x0800, 0x0400, CRC(b89cb388) SHA1(6ec6af0c4e809e8b0b9544eb7007a3e483f921f2) ) + ROM_LOAD( "4.1d", 0x0c00, 0x0400, CRC(a5897e6e) SHA1(5ecc65bfbecb6e1b10d272693309be827fdb3ef7) ) + ROM_LOAD( "5.1e", 0x1000, 0x0400, CRC(98db7810) SHA1(32d6b828bb22145ae1b4e70d6f69baba1d5aad6b) ) ROM_END } // anonymous namespace @@ -319,4 +328,4 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT SCREEN COMPANY, FULLNAME, FLAGS GAMEL(1978, micon2, 0, micon2, micon2, miconkit_state, empty_init, ROT90, "SNK", "Micon-Kit Part II", MACHINE_SUPPORTS_SAVE, layout_micon2 ) -GAMEL(1978, smiconk, 0, smiconk, smiconk, miconkit_state, empty_init, ROT90, "SNK", "Space Micon Kit", MACHINE_SUPPORTS_SAVE, layout_micon2 ) +GAME (1978, smiconk, 0, smiconk, smiconk, miconkit_state, empty_init, ROT90, "SNK", "Space Micon Kit", MACHINE_SUPPORTS_SAVE ) // no color overlay diff --git a/src/mame/taito/taito_en.cpp b/src/mame/taito/taito_en.cpp index bfda6b59aef..50e534d421a 100644 --- a/src/mame/taito/taito_en.cpp +++ b/src/mame/taito/taito_en.cpp @@ -117,7 +117,7 @@ void taito_en_device::en_sound_map(address_map &map) map(0xc00000, 0xc1ffff).bankr("cpubank1"); map(0xc20000, 0xc3ffff).bankr("cpubank2"); map(0xc40000, 0xc7ffff).bankr("cpubank3"); - map(0xff0000, 0xffffff).ram().share("osram"); // mirror + map(0xff0000, 0xffffff).ram().share("osram"); // mirror } void taito_en_device::fc7_map(address_map &map) @@ -213,6 +213,7 @@ void taito_en_device::duart_output(uint8_t data) } } + //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- diff --git a/src/mame/taito/taito_f3.cpp b/src/mame/taito/taito_f3.cpp index 58c63a66249..6c81b91df4c 100644 --- a/src/mame/taito/taito_f3.cpp +++ b/src/mame/taito/taito_f3.cpp @@ -128,7 +128,6 @@ void taito_f3_state::sound_bankswitch_w(offs_t offset, u32 data, u32 mem_mask) /* Banks are 0x20000 bytes each, divide by two to get data16 pointer rather than byte pointer */ m_taito_en->set_bank(1, idx); - } else { diff --git a/src/mame/ti/cc40.cpp b/src/mame/ti/cc40.cpp index f7732c720e4..880de4afd26 100644 --- a/src/mame/ti/cc40.cpp +++ b/src/mame/ti/cc40.cpp @@ -415,7 +415,7 @@ void cc40_state::cc40_map(address_map &map) map(0x0111, 0x0111).rw(FUNC(cc40_state::power_r), FUNC(cc40_state::power_w)); map(0x0112, 0x0112).noprw(); // d0-d3: Hexbus data map(0x0113, 0x0113).noprw(); // d0: Hexbus available - map(0x0114, 0x0114).noprw(); // d0,d1: Hexbus handshake + map(0x0114, 0x0114).noprw(); // d1: Hexbus handshake map(0x0115, 0x0115).w("dac", FUNC(dac_bit_interface::data_w)); map(0x0116, 0x0116).portr("BATTERY"); map(0x0119, 0x0119).rw(FUNC(cc40_state::bankswitch_r), FUNC(cc40_state::bankswitch_w)); diff --git a/src/mame/ti/snspell.cpp b/src/mame/ti/snspell.cpp index 1f5e378f973..ce33f514c81 100644 --- a/src/mame/ti/snspell.cpp +++ b/src/mame/ti/snspell.cpp @@ -121,6 +121,27 @@ Italian: ================================================================================ +Speak & Math: + +Speak & Math (US), 1980 (renamed to "Speak & Maths" in UK, but is the same product) +- MCU: CD2704, label CD2704B-N2L (die label: TMC0270F, 2704B) - 2nd revision?(mid-1982) +- TMS51xx: CD2801 +- VSM(1/2): 16KB CD2392 +- VSM(2/2): 16KB CD2393 +- VFD: Futaba 9SY -02Z 7E +- notes: As with the Speak & Spell, the voice actor was a radio announcer. + However, the phrase "is greater than or less than" had to be added by one + of the TI employees in a hurry, the day before a demo. Apparently QA + never found out and it ended up in the final product. + +Speak & Math (US), 1984 +- MCU: CD2708, label CD2708N2L (die label: TMC0270F, 2708A) +- TMS51xx: CD2801 +- VSM(1/2): 16KB CD2381 +- VSM(2/2): 4KB CD2614 + +================================================================================ + Speak & Read: Speak & Read (US), 1980 @@ -144,27 +165,6 @@ English: ================================================================================ -Speak & Math: - -Speak & Math (US), 1980 (renamed to "Speak & Maths" in UK, but is the same product) -- MCU: CD2704, label CD2704B-N2L (die label: TMC0270F, 2704B) - 2nd revision?(mid-1982) -- TMS51xx: CD2801 -- VSM(1/2): 16KB CD2392 -- VSM(2/2): 16KB CD2393 -- VFD: Futaba 9SY -02Z 7E -- notes: As with the Speak & Spell, the voice actor was a radio announcer. - However, the phrase "is greater than or less than" had to be added by one - of the TI employees in a hurry, the day before a demo. Apparently QA - never found out and it ended up in the final product. - -Speak & Math (US), 1984 -- MCU: CD2708, label CD2708N2L (die label: TMC0270F, 2708A) -- TMS51xx: CD2801 -- VSM(1/2): 16KB CD2381 -- VSM(2/2): 4KB CD2614 - -================================================================================ - Language Translator/Tutor: Initially sold as Language Translator, renamed to Language Tutor a year later. @@ -820,18 +820,6 @@ void snspell_state::snspellsp(machine_config &config) } -void snspell_state::snread(machine_config &config) -{ - sns_cd2801(config); - - config.set_default_layout(layout_snread); - - // cartridge - m_cart->set_interface("snread"); - m_softlist->set_original("snread"); -} - - void snspell_state::snmath(machine_config &config) { sns_cd2801(config); @@ -847,6 +835,18 @@ void snspell_state::snmath(machine_config &config) } +void snspell_state::snread(machine_config &config) +{ + sns_cd2801(config); + + config.set_default_layout(layout_snread); + + // cartridge + m_cart->set_interface("snread"); + m_softlist->set_original("snread"); +} + + void snspell_state::lantrans(machine_config &config) { sns_cd2801(config); -- cgit v1.2.3