diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp index d7578b8e173..8c4bab84e3b 100644 --- a/src/mame/drivers/hh_ucom4.cpp +++ b/src/mame/drivers/hh_ucom4.cpp @@ -46,7 +46,7 @@ @512 uPD557LC 1980, Castle Toy Tactix - *060 uPD650C 1979, Mattel Computer Gin + @060 uPD650C 1979, Mattel Computer Gin *085 uPD650C 1980, Roland TR-808 *127 uPD650C 198?, Sony OA-S1100 Typecorder (subcpu, have dump) 128 uPD650C 1981, Roland TR-606 -> tr606.cpp @@ -65,6 +65,7 @@ TODO: // internal artwork #include "efball.lh" +#include "mcompgin.lh" #include "mvbfree.lh" #include "tactix.lh" // clickable @@ -1578,6 +1579,60 @@ MACHINE_CONFIG_END +/*************************************************************************** + + Mattel Computer Gin + * NEC uCOM-43 MCU, labeled D650C 060 + +***************************************************************************/ + +class mcompgin_state : public hh_ucom4_state +{ +public: + mcompgin_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_ucom4_state(mconfig, type, tag) + { } + + void prepare_display(); + DECLARE_WRITE8_MEMBER(grid_w); + DECLARE_WRITE8_MEMBER(plate_w); + DECLARE_WRITE8_MEMBER(speaker_w); +}; + +// handlers + +void mcompgin_state::prepare_display() +{ +} + +WRITE8_MEMBER(mcompgin_state::speaker_w) +{ +} + + +// config + +static INPUT_PORTS_START( mcompgin ) +INPUT_PORTS_END + +static MACHINE_CONFIG_START( mcompgin, mcompgin_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", NEC_D650, 400000) // approximation + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_mcompgin) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) +MACHINE_CONFIG_END + + + + + /*************************************************************************** Mego Mini-Vid Break Free (manufactured in Japan) @@ -2444,6 +2499,12 @@ ROM_START( edracula ) ROM_END +ROM_START( mcompgin ) + ROM_REGION( 0x0800, "maincpu", 0 ) + ROM_LOAD( "d650c-060", 0x0000, 0x0800, CRC(92a4d8be) SHA1(d67f14a2eb53b79a7d9eb08103325299bc643781) ) +ROM_END + + ROM_START( mvbfree ) ROM_REGION( 0x0800, "maincpu", 0 ) ROM_LOAD( "d553c-049", 0x0000, 0x0800, CRC(d64a8399) SHA1(97887e486fa29b1fc4a5a40cacf3c960f67aacbf) ) @@ -2504,6 +2565,8 @@ CONS( 1981, galaxy2, 0, 0, galaxy2, galaxy2, driver_device, 0, "Epoch" CONS( 1982, astrocmd, 0, 0, astrocmd, astrocmd, driver_device, 0, "Epoch", "Astro Command", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1979, mcompgin, 0, 0, mcompgin, mcompgin, driver_device, 0, "Mattel", "Computer Gin", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) + CONS( 1979, mvbfree, 0, 0, mvbfree, mvbfree, driver_device, 0, "Mego", "Mini-Vid Break Free", MACHINE_SUPPORTS_SAVE ) CONS( 1980, tccombat, 0, 0, tccombat, tccombat, driver_device, 0, "Tomy", "Cosmic Combat", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mame/layout/mcompgin.lay b/src/mame/layout/mcompgin.lay new file mode 100644 index 00000000000..9d3e4d2766a --- /dev/null +++ b/src/mame/layout/mcompgin.lay @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/mess.lst b/src/mame/mess.lst index d43909d9e41..a13d6f81c9b 100644 --- a/src/mame/mess.lst +++ b/src/mame/mess.lst @@ -2261,7 +2261,6 @@ gckong // Gakken gdigdug // Gakken mwcbaseb // Mattel pbqbert // Parker Brothers -mvbfree // Mego kingman // Tomy tmtron // Tomy vinvader // VTech @@ -2374,6 +2373,8 @@ efball // Epoch galaxy2 // Epoch astrocmd // Epoch edracula // Epoch +mcompgin // Mattel +mvbfree // Mego tccombat // Tomy tmpacman // Tomy tmtennis // Tomy