From a5217a691781c7be2531c1830f97dc5de9865f2f Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 29 May 2023 23:59:02 +0200 Subject: New working clones ------------------ Computerized Arcade (COP421 version, model 60-2159A) [hap, Sean Riddle] --- src/mame/handheld/hh_cop400.cpp | 186 +++++++++++++++--- src/mame/handheld/hh_melps4.cpp | 18 +- src/mame/handheld/hh_tms1k.cpp | 11 +- src/mame/handheld/hh_ucom4.cpp | 2 +- src/mame/layout/comparca.lay | 419 ++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 6 files changed, 586 insertions(+), 51 deletions(-) create mode 100644 src/mame/layout/comparca.lay diff --git a/src/mame/handheld/hh_cop400.cpp b/src/mame/handheld/hh_cop400.cpp index 4a919249ae6..e71d13b68ea 100644 --- a/src/mame/handheld/hh_cop400.cpp +++ b/src/mame/handheld/hh_cop400.cpp @@ -31,6 +31,7 @@ TODO: // internal artwork #include "bshipg.lh" // clickable +#include "comparca.lh" // clickable #include "ctstein.lh" // clickable #include "einvaderc.lh" #include "funjacks.lh" // clickable @@ -302,14 +303,14 @@ private: void h2hbaskbc_state::write_d(u8 data) { // D: led select - m_d = data & 0xf; + m_d = data; } void h2hbaskbc_state::write_g(u8 data) { // G: led select, input mux m_inp_mux = data; - m_g = data & 0xf; + m_g = data; } void h2hbaskbc_state::write_l(u8 data) @@ -453,8 +454,8 @@ private: void update_display(); void write_d(u8 data); void write_g(u8 data); - DECLARE_WRITE_LINE_MEMBER(write_sk); - DECLARE_WRITE_LINE_MEMBER(write_so); + void write_sk(int state); + void write_so(int state); void write_l(u8 data); }; @@ -482,7 +483,7 @@ void einvaderc_state::write_g(u8 data) update_display(); } -WRITE_LINE_MEMBER(einvaderc_state::write_sk) +void einvaderc_state::write_sk(int state) { // SK: speaker out + led grid 8 m_speaker->level_w(state); @@ -490,7 +491,7 @@ WRITE_LINE_MEMBER(einvaderc_state::write_sk) update_display(); } -WRITE_LINE_MEMBER(einvaderc_state::write_so) +void einvaderc_state::write_so(int state) { // SO: led grid 9 m_so = state; @@ -708,7 +709,7 @@ public: void lchicken(machine_config &config); - DECLARE_READ_LINE_MEMBER(motor_switch_r); + int motor_switch_r(); protected: virtual void machine_start() override; @@ -739,7 +740,7 @@ void lchicken_state::machine_start() // handlers -READ_LINE_MEMBER(lchicken_state::motor_switch_r) +int lchicken_state::motor_switch_r() { return m_motor_pos > 0xe8; // approximation } @@ -765,7 +766,7 @@ void lchicken_state::write_d(u8 data) { // D0-D3: input mux // D3: motor on - m_inp_mux = data & 0xf; + m_inp_mux = data; m_motor_on_out = ~data >> 3 & 1; } @@ -1280,7 +1281,7 @@ void mbaskb2_state::sub_write_g(u8 data) void mbaskb2_state::sub_write_d(u8 data) { // D: led select (high) - m_d = data & 0xf; + m_d = data; update_display(); } @@ -1443,7 +1444,7 @@ void lafootb_state::write_l(u8 data) void lafootb_state::write_d(u8 data) { // D: led select, D2,D3: input mux - m_d = data & 0xf; + m_d = data; m_inp_mux = data >> 2 & 3; update_display(); } @@ -1561,7 +1562,7 @@ void mdallas_state::write_d(u8 data) { // D: select digit, input mux high m_inp_mux = (m_inp_mux & 0xf) | (data << 4 & 0x30); - m_d = data & 0xf; + m_d = data; update_display(); } @@ -1569,7 +1570,7 @@ void mdallas_state::write_g(u8 data) { // G: select digit, input mux low m_inp_mux = (m_inp_mux & 0x30) | (data & 0xf); - m_g = data & 0xf; + m_g = data; update_display(); } @@ -1786,7 +1787,7 @@ public: private: void update_display(); - DECLARE_WRITE_LINE_MEMBER(write_so); + void write_so(int state); void write_d(u8 data); void write_l(u8 data); u8 read_g(); @@ -1800,7 +1801,7 @@ void lightfgt_state::update_display() m_display->matrix(grid, m_l); } -WRITE_LINE_MEMBER(lightfgt_state::write_so) +void lightfgt_state::write_so(int state) { // SO: led grid 0 (and input mux) m_so = state; @@ -1902,7 +1903,7 @@ ROM_END * PCB label: 7924750G02 REV A * COP420 MCU label COP420-JWE/N - see hh_tms1k.cpp bship driver for more information + This is the COP420 version, see hh_tms1k.cpp bship driver for more information. *******************************************************************************/ @@ -1923,7 +1924,7 @@ private: void write_g(u8 data); u8 read_l(); u8 read_in(); - DECLARE_WRITE_LINE_MEMBER(write_so); + void write_so(int state); }; // handlers @@ -1953,7 +1954,7 @@ u8 bshipg_state::read_in() return read_inputs(4, 0xf00) >> 8; } -WRITE_LINE_MEMBER(bshipg_state::write_so) +void bshipg_state::write_so(int state) { // SO: led m_display->matrix(1, state); @@ -2082,7 +2083,7 @@ private: void write_g(u8 data); void write_l(u8 data); u8 read_in(); - DECLARE_WRITE_LINE_MEMBER(write_sk); + void write_sk(int state); }; // handlers @@ -2096,7 +2097,7 @@ void qkracer_state::write_d(u8 data) { // D: select digit, D3: input mux low bit m_inp_mux = (m_inp_mux & ~1) | (data >> 3 & 1); - m_d = data & 0xf; + m_d = data; update_display(); } @@ -2104,7 +2105,7 @@ void qkracer_state::write_g(u8 data) { // G: select digit, input mux m_inp_mux = (m_inp_mux & 1) | (data << 1 & 0x1e); - m_g = data & 0xf; + m_g = data; update_display(); } @@ -2121,7 +2122,7 @@ u8 qkracer_state::read_in() return read_inputs(5, 0xf); } -WRITE_LINE_MEMBER(qkracer_state::write_sk) +void qkracer_state::write_sk(int state) { // SK: green led m_sk = state; @@ -2309,7 +2310,7 @@ void scat_state::write_d(u8 data) { // D: select digit, input mux (low) m_inp_mux = (m_inp_mux & 0x30) | (data & 0xf); - m_d = data & 0xf; + m_d = data; update_display(); } @@ -2317,7 +2318,7 @@ void scat_state::write_g(u8 data) { // G: select digit, input mux (high) m_inp_mux = (m_inp_mux & 0xf) | (data << 4 & 0x30); - m_g = data & 0xf; + m_g = data; update_display(); } @@ -2441,7 +2442,7 @@ private: void update_display(); void write_d(u8 data); void write_l(u8 data); - DECLARE_WRITE_LINE_MEMBER(write_sk); + void write_sk(int state); }; // handlers @@ -2465,7 +2466,7 @@ void vidchal_state::write_l(u8 data) update_display(); } -WRITE_LINE_MEMBER(vidchal_state::write_sk) +void vidchal_state::write_sk(int state) { // SK: hit led m_sk = state; @@ -2516,6 +2517,133 @@ ROM_END +/******************************************************************************* + + Tandy Computerized Arcade (model 60-2159A) + * PCB label: 60-2159A + * COP421 MCU label -B9112 COP421-UPG/N + * 12 lamps behind buttons, 1-bit sound + + This is the COP421 version, see hh_tms1k.cpp comparc driver for more information. + +*******************************************************************************/ + +class comparca_state : public hh_cop400_state +{ +public: + comparca_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_cop400_state(mconfig, type, tag) + { } + + void comparca(machine_config &config); + +private: + void write_d(u8 data); + void write_l(u8 data); + u8 read_l(); + u8 read_g(); + int read_si(); +}; + +// handlers + +void comparca_state::write_d(u8 data) +{ + // D: input mux + m_d = m_inp_mux = data; +} + +void comparca_state::write_l(u8 data) +{ + // L0-L3: lamp data + // L4-L6: lamp select + m_l = data; + m_display->matrix(~m_l >> 4 & 7, m_l); +} + +u8 comparca_state::read_l() +{ + // L7: Repeat-2 button + return m_inputs[4]->read() << 7 | m_l; +} + +u8 comparca_state::read_g() +{ + // G: multiplexed inputs + return read_inputs(4, 0xf); +} + +int comparca_state::read_si() +{ + // SI: D3 + return BIT(m_d, 3); +} + +// inputs + +static INPUT_PORTS_START( comparca ) + PORT_START("IN.0") // D0 port G + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Button 1") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Button 2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Button 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Button 4") + + PORT_START("IN.1") // D1 port G + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Button 5") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Button 6") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("Button 7") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Button 8") + + PORT_START("IN.2") // D2 port G + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("Button 9") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("Button 10") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("Button 11") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("Button 12") + + PORT_START("IN.3") // D3 port G + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("Space-2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("Select") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("Play-2/Hit-7") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_Q) PORT_NAME("Start") + + PORT_START("IN.4") // L7 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Repeat-2") +INPUT_PORTS_END + +// config + +void comparca_state::comparca(machine_config &config) +{ + // basic machine hardware + COP421(config, m_maincpu, 550000); // approximation - RC osc. R=33K, C=56pF + m_maincpu->set_config(COP400_CKI_DIVISOR_4, COP400_CKO_OSCILLATOR_OUTPUT, false); // guessed + m_maincpu->write_d().set(FUNC(comparca_state::write_d)); + m_maincpu->write_l().set(FUNC(comparca_state::write_l)); + m_maincpu->read_l().set(FUNC(comparca_state::read_l)); + m_maincpu->read_g().set(FUNC(comparca_state::read_g)); + m_maincpu->write_so().set(m_speaker, FUNC(speaker_sound_device::level_w)); + m_maincpu->read_si().set(FUNC(comparca_state::read_si)); + + // video hardware + PWM_DISPLAY(config, m_display).set_size(3, 4); + config.set_default_layout(layout_comparca); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( comparca ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "cop421-upg_n.ic1", 0x0000, 0x0400, CRC(dcaf8655) SHA1(68bc84a108476c41f91b882d24cb516ba72a8d99) ) +ROM_END + + + + + /******************************************************************************* Texas Instruments My Little Computer @@ -2548,7 +2676,7 @@ private: void write_l(u8 data); void write_g(u8 data); u8 read_g(); - DECLARE_WRITE_LINE_MEMBER(write_sk); + void write_sk(int state); TIMER_DEVICE_CALLBACK_MEMBER(power_off) { set_power(false); } }; @@ -2589,7 +2717,7 @@ u8 lilcomp_state::read_g() return read_inputs(3, m_g); } -WRITE_LINE_MEMBER(lilcomp_state::write_sk) +void lilcomp_state::write_sk(int state) { if (state == m_sk) return; @@ -2698,6 +2826,8 @@ SYST( 1984, solution, 0, 0, scat, solution, scat_state, SYST( 1987, vidchal, 0, 0, vidchal, vidchal, vidchal_state, empty_init, "Select Merchandise", "Video Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +SYST( 1981, comparca, comparc, 0, comparca, comparca, comparca_state, empty_init, "Tandy Corporation", "Computerized Arcade (COP421 version, model 60-2159A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the games: *** + SYST( 1989, lilcomp, 0, 0, lilcomp, lilcomp, lilcomp_state, empty_init, "Texas Instruments", "My Little Computer", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) // ***: As far as MAME is concerned, the game is emulated fine. But for it to be playable, it requires interaction diff --git a/src/mame/handheld/hh_melps4.cpp b/src/mame/handheld/hh_melps4.cpp index e3e670d4d29..33efb636cc9 100644 --- a/src/mame/handheld/hh_melps4.cpp +++ b/src/mame/handheld/hh_melps4.cpp @@ -137,7 +137,6 @@ private: void update_display(); void plate_w(offs_t offset, u8 data); void grid_w(u16 data); - DECLARE_WRITE_LINE_MEMBER(speaker_w); u16 input_r(); }; @@ -168,12 +167,6 @@ void cfrogger_state::grid_w(u16 data) update_display(); } -WRITE_LINE_MEMBER(cfrogger_state::speaker_w) -{ - // T: speaker out - m_speaker->level_w(state); -} - u16 cfrogger_state::input_r() { // K0,K1: multiplexed inputs @@ -213,7 +206,7 @@ void cfrogger_state::cfrogger(machine_config &config) m_maincpu->write_f().set(FUNC(cfrogger_state::plate_w)); m_maincpu->write_g().set(FUNC(cfrogger_state::plate_w)); m_maincpu->write_d().set(FUNC(cfrogger_state::grid_w)); - m_maincpu->write_t().set(FUNC(cfrogger_state::speaker_w)); + m_maincpu->write_t().set(m_speaker, FUNC(speaker_sound_device::level_w)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); @@ -265,7 +258,6 @@ private: void update_display(); void plate_w(offs_t offset, u8 data); void grid_w(u16 data); - DECLARE_WRITE_LINE_MEMBER(speaker_w); u16 input_r(); }; @@ -296,12 +288,6 @@ void gjungler_state::grid_w(u16 data) update_display(); } -WRITE_LINE_MEMBER(gjungler_state::speaker_w) -{ - // T: speaker out - m_speaker->level_w(state); -} - u16 gjungler_state::input_r() { // K0,K1: multiplexed inputs @@ -342,7 +328,7 @@ void gjungler_state::gjungler(machine_config &config) m_maincpu->write_g().set(FUNC(gjungler_state::plate_w)); m_maincpu->write_u().set(FUNC(gjungler_state::plate_w)); m_maincpu->write_d().set(FUNC(gjungler_state::grid_w)); - m_maincpu->write_t().set(FUNC(gjungler_state::speaker_w)); + m_maincpu->write_t().set(m_speaker, FUNC(speaker_sound_device::level_w)); // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG)); diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp index d9f0edafe12..43a53dc2239 100644 --- a/src/mame/handheld/hh_tms1k.cpp +++ b/src/mame/handheld/hh_tms1k.cpp @@ -11041,7 +11041,8 @@ ROM_END - World: Computerized Arcade, Radio Shack brand, also model 60-2159 and same hardware as above. "Tandy-12" on the side of the handheld was changed to "Radio Shack-12", but there's no title prefix on the box. - - World: Computerized Arcade, Radio Shack brand, model 60-2159A, COP421 MCU. + - World: Computerized Arcade, Radio Shack brand, model 60-2159A, COP421 MCU, + see hh_cop400.cpp driver - World: Computerized Arcade, Radio Shack brand, model 60-2495, hardware unknown. - Mexico: Fabuloso Fred, published by EnsueƱo Toys (also released as 9-button version, a clone of Mego Fabulous Fred) @@ -11145,9 +11146,7 @@ static INPUT_PORTS_START( comparc ) PORT_START("IN.2") // R7 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Repeat-2") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.3") // R8 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Button 4") @@ -16844,7 +16843,7 @@ SYST( 1978, alphie, 0, 0, alphie, alphie, alphie_state, SYST( 1980, tcfball, 0, 0, tcfball, tcfball, tcfball_state, empty_init, "Tandy Corporation", "Championship Football (model 60-2150)", MACHINE_SUPPORTS_SAVE ) SYST( 1980, tcfballa, tcfball, 0, tcfballa, tcfballa, tcfballa_state, empty_init, "Tandy Corporation", "Championship Football (model 60-2151)", MACHINE_SUPPORTS_SAVE ) -SYST( 1981, comparc, 0, 0, comparc, comparc, comparc_state, empty_init, "Tandy Corporation", "Computerized Arcade (TMS1100 version, model 60-2159)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the minigames: *** +SYST( 1981, comparc, 0, 0, comparc, comparc, comparc_state, empty_init, "Tandy Corporation", "Computerized Arcade (TMS1100 version, model 60-2159)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the games: *** SYST( 1982, monkeysee, 0, 0, monkeysee, monkeysee, monkeysee_state, empty_init, "Tandy Corporation", "Monkey See (1982 version)", MACHINE_SUPPORTS_SAVE ) SYST( 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 ) @@ -16881,7 +16880,7 @@ SYST( 1980, dxfootb, 0, 0, dxfootb, dxfootb, dxfootb_state, SYST( 1979, copycat, 0, 0, copycat, copycat, copycat_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) SYST( 1989, copycata, copycat, 0, copycata, copycata, copycata_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) SYST( 1981, ditto, 0, 0, ditto, ditto, ditto_state, empty_init, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -SYST( 1981, fingbowl, 0, 0, fingbowl, fingbowl, fingbowl_state, empty_init, "Tiger Electronics", "Finger Bowl", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) // *** +SYST( 1981, fingbowl, 0, 0, fingbowl, fingbowl, fingbowl_state, empty_init, "Tiger Electronics", "Finger Bowl", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING ) // some of the games: *** SYST( 1982, t7in1ss, 0, 0, t7in1ss, t7in1ss, t7in1ss_state, empty_init, "Tiger Electronics", "7 in 1 Sports Stadium", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) SYST( 1979, tmvolleyb, 0, 0, tmvolleyb, tmvolleyb, tmvolleyb_state, empty_init, "Tomy", "Volleyball (Tomy)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/handheld/hh_ucom4.cpp b/src/mame/handheld/hh_ucom4.cpp index 20b7a497fa8..6a6823f8bdf 100644 --- a/src/mame/handheld/hh_ucom4.cpp +++ b/src/mame/handheld/hh_ucom4.cpp @@ -3365,7 +3365,7 @@ SYST( 1979, mcompgin, 0, 0, mcompgin, mcompgin, mcompgin_state, empt SYST( 1979, mvbfree, 0, 0, mvbfree, mvbfree, mvbfree_state, empty_init, "Mego", "Mini-Vid: Break Free", MACHINE_SUPPORTS_SAVE ) -SYST( 1980, grobot9, 0, 0, grobot9, grobot9, grobot9_state, empty_init, "Takatoku Toys", "Game Robot 9", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the minigames: *** +SYST( 1980, grobot9, 0, 0, grobot9, grobot9, grobot9_state, empty_init, "Takatoku Toys", "Game Robot 9", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the games: *** SYST( 1980, tccombat, 0, 0, tccombat, tccombat, tccombat_state, empty_init, "Tomy", "Cosmic Combat", MACHINE_SUPPORTS_SAVE ) SYST( 1980, tmtennis, 0, 0, tmtennis, tmtennis, tmtennis_state, empty_init, "Tomy", "Tennis (Tomy)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/layout/comparca.lay b/src/mame/layout/comparca.lay new file mode 100644 index 00000000000..45d6874aa3b --- /dev/null +++ b/src/mame/layout/comparca.lay @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index d7821c26b55..0f87fdccb58 100755 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18637,6 +18637,7 @@ gmaster // Hartung Gamemaster @source:handheld/hh_cop400.cpp bshipg // Milton Bradley +comparca // Tandy Corporation copspa // National Semiconductor ctstein // Castle Toy einvaderc // Entex -- cgit v1.2.3