diff options
| author | 2015-07-29 23:41:17 +0200 | |
|---|---|---|
| committer | 2015-07-29 23:41:17 +0200 | |
| commit | 331ab05a4ed0408f77def298089f3ba36269ad84 (patch) | |
| tree | 8c3315d385a32b126d3239ef1e9fe2d70e11a396 | |
| parent | 9526556bf80a81de44d5065630ebf1a6f751a478 (diff) | |
added Bandai Pair Match with internal artwork, and promoted VTech Invaders to working after kevtris redumped the rom
Games added or promoted to working
------------
Bandai Pair Match [hap, Kevin Horton, Rik]
VTech Invaders [Kevin Horton]
| -rw-r--r-- | src/mame/mess.lst | 1 | ||||
| -rw-r--r-- | src/mess/drivers/hh_hmcs40.c | 251 | ||||
| -rw-r--r-- | src/mess/drivers/hh_ucom4.c | 4 | ||||
| -rw-r--r-- | src/mess/layout/pairmtch.lay | 201 |
4 files changed, 416 insertions, 41 deletions
diff --git a/src/mame/mess.lst b/src/mame/mess.lst index 40748282b20..d43d941981e 100644 --- a/src/mame/mess.lst +++ b/src/mame/mess.lst @@ -2160,6 +2160,7 @@ bbtime // Bandai bdoramon // Bandai bultrman // Bandai machiman // Bandai +pairmtch // Bandai alnattck // Coleco cdkong // Coleco cgalaxn // Coleco diff --git a/src/mess/drivers/hh_hmcs40.c b/src/mess/drivers/hh_hmcs40.c index 202ecf6a4d7..21b1b182d2b 100644 --- a/src/mess/drivers/hh_hmcs40.c +++ b/src/mess/drivers/hh_hmcs40.c @@ -55,21 +55,20 @@ @69 HD38820A 1983, Gakken Dig Dug @70 HD38820A 1983, Parker Brothers Q*Bert @85 HD38820A 1984, Bandai Machine Man (PT-438) - *88 HD38820A 1984, Bandai Pair Match (1/2) - *89 HD38820A 1984, Bandai Pair Match (2/2) + @88 HD38820A 1984, Bandai Pair Match (PT-460) (1/2) + @89 HD38820A 1984, Bandai Pair Match (PT-460) (2/2) *75 HD44801A 1982, Alpha 8201 protection MCU (have dump) *35 HD44801B 1983, Alpha 8302 protection MCU (have dump) *42 HD44801B 1984, Alpha 8303 protection MCU (have dump) - (* denotes not yet emulated by MESS, @ denotes it's in this driver) + (* denotes not yet emulated by MAME, @ denotes it's in this driver) TODO: - cdkong discrete sound (simple volume decay, simulated for now) - cgalaxn discrete sound (alien attacking sound effect) - - vinvader locks up at boot - gckong random lockups (tap the jump button repeatedly): mcu stack overflow, works ok if stack levels is increased, 38800 B rev. has more stack levels? Or it could be a race condition: irq happening too late/early. @@ -86,6 +85,9 @@ #include "cpu/cop400/cop400.h" #include "sound/speaker.h" +// internal artwork +#include "pairmtch.lh" + #include "hh_hmcs40_test.lh" // common test-layout - use external artwork @@ -332,7 +334,7 @@ INPUT_CHANGED_MEMBER(hh_hmcs40_state::single_interrupt_line) * Hitachi HD38750A08 MCU * green VFD display Emix-106, with bezel overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -444,7 +446,7 @@ MACHINE_CONFIG_END * Hitachi HD38750A07 MCU * cyan VFD display Emix-103, with blue or green color overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -580,7 +582,7 @@ MACHINE_CONFIG_END * Hitachi HD38800A77 MCU * cyan/red/green VFD display Futaba DM-43ZK 2E - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -710,7 +712,7 @@ MACHINE_CONFIG_END - USA/Canada: Hungry Monster, published by Tandy - other: Gobble Man/Ogre Monster, published by Tandy - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -821,7 +823,7 @@ MACHINE_CONFIG_END - Japan: ? - USA: Star Hawk, published by Mattel - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -949,7 +951,7 @@ MACHINE_CONFIG_END * cyan/red/blue VFD display NEC FIP11BM24T no. 4-8, half of it reflected with a one-way mirror to give the illusion of a 3D display - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1069,7 +1071,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A49 MCU * cyan/red/yellow VFD display Futaba DM-53Z 3E, with color overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1188,7 +1190,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A63 MCU * cyan/red/blue VFD display Futaba DM-68ZK 3D DM-63 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1316,7 +1318,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A65 MCU * cyan/red/green VFD display NEC FIP6AM25T no. 21-21 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1440,7 +1442,7 @@ MACHINE_CONFIG_END * Hitachi HD38800B43 MCU * cyan/red/blue VFD display Futaba DM-71 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1538,7 +1540,7 @@ MACHINE_CONFIG_END * Hitachi HD38800B52 MCU * cyan/red/blue VFD display NEC FIP8BM25T no. 21-8 2 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1587,9 +1589,9 @@ static INPUT_PORTS_START( bultrman ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)0) PORT_START("IN.1") // port D - PORT_CONFNAME( 0x10, 0x00, "Factory Test" ) - PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) - PORT_CONFSETTING( 0x10, DEF_STR( On ) ) + PORT_CONFNAME( 0x0010, 0x0000, "Factory Test" ) + PORT_CONFSETTING( 0x0000, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x0010, DEF_STR( On ) ) PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_BIT( 0xff8f, IP_ACTIVE_HIGH, IPT_UNUSED ) @@ -1628,7 +1630,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A85 MCU * cyan/red/green VFD display NEC FIP5CM33T no. 4 21 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1712,6 +1714,161 @@ MACHINE_CONFIG_END /*************************************************************************** + Bandai Pair Match (manufactured in Japan) + * PCB label Kaken Corp. PT-460 + * Hitachi QFP HD38820A88 MCU(main), HD38820A89(audio) + * cyan/red VFD display + + This is a memory game, the difference is instead of pictures, the player + needs to match sound effects. It has an extra MCU for sound. The case is + shaped like a glossy black pyramid. Star Trek fans will recognize it as + a prop used in TNG Ten Forward. + + note: MAME external artwork is not needed for this game + +***************************************************************************/ + +class pairmtch_state : public hh_hmcs40_state +{ +public: + pairmtch_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_hmcs40_state(mconfig, type, tag) + { } + + DECLARE_WRITE8_MEMBER(plate_w); + DECLARE_WRITE16_MEMBER(grid_w); + DECLARE_READ8_MEMBER(input_r); + + DECLARE_WRITE8_MEMBER(sound_w); + DECLARE_WRITE8_MEMBER(sound2_w); + DECLARE_WRITE16_MEMBER(speaker_w); +}; + +// handlers: maincpu side + +WRITE8_MEMBER(pairmtch_state::plate_w) +{ + // R2x,R3x,R6x: vfd matrix plate + int shift = (offset == HMCS40_PORT_R6X) ? 8 : (offset-2) * 4; + m_plate = (m_plate & ~(0xf << shift)) | (data << shift); + display_matrix(12, 6, m_plate, m_grid); +} + +WRITE16_MEMBER(pairmtch_state::grid_w) +{ + // D7: sound reset (to audiocpu reset line) + m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE); + + // D9: sound start (to audiocpu INT0) + m_audiocpu->set_input_line(0, (data & 0x200) ? ASSERT_LINE : CLEAR_LINE); + + // D10,D15: input mux + m_inp_mux = (data >> 10 & 1) | (data >> 14 & 2); + + // D0-D5: vfd matrix grid + m_grid = data & 0x3f; + display_matrix(12, 6, m_plate, m_grid); +} + +READ8_MEMBER(pairmtch_state::input_r) +{ + // R4x: multiplexed inputs + return read_inputs(2); +} + +WRITE8_MEMBER(pairmtch_state::sound_w) +{ + // R5x: soundlatch (to audiocpu R2x) + soundlatch_byte_w(space, 0, BITSWAP8(data,7,6,5,4,0,1,2,3)); +} + + +// handlers: audiocpu side + +WRITE8_MEMBER(pairmtch_state::sound2_w) +{ + // R2x: soundlatch (to maincpu R5x) + soundlatch2_byte_w(space, 0, BITSWAP8(data,7,6,5,4,0,1,2,3)); +} + +WRITE16_MEMBER(pairmtch_state::speaker_w) +{ + // D0: speaker out + m_speaker->level_w(data & 1); + + // D1: sound ack (to maincpu INT0) + m_maincpu->set_input_line(0, (data & 2) ? ASSERT_LINE : CLEAR_LINE); +} + + +// config + +static INPUT_PORTS_START( pairmtch ) + PORT_START("IN.0") // D10 port R4x + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY + + PORT_START("IN.1") // D15 port R4x + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY + + PORT_START("IN.2") // port D + PORT_CONFNAME( 0x0040, 0x0000, "Factory Test" ) + PORT_CONFSETTING( 0x0000, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x0040, DEF_STR( On ) ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_CONFNAME( 0x0800, 0x0800, "Players" ) + PORT_CONFSETTING( 0x0800, "1" ) + PORT_CONFSETTING( 0x0000, "2" ) + PORT_CONFNAME( 0x3000, 0x2000, "Skill Level" ) + PORT_CONFSETTING( 0x2000, "1" ) + PORT_CONFSETTING( 0x1000, "2" ) + PORT_CONFSETTING( 0x0000, "3" ) + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x86bf, IP_ACTIVE_HIGH, IPT_UNUSED ) +INPUT_PORTS_END + +static MACHINE_CONFIG_START( pairmtch, pairmtch_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation + MCFG_HMCS40_WRITE_R_CB(2, WRITE8(pairmtch_state, plate_w)) + MCFG_HMCS40_WRITE_R_CB(3, WRITE8(pairmtch_state, plate_w)) + MCFG_HMCS40_READ_R_CB(4, READ8(pairmtch_state, input_r)) + MCFG_HMCS40_WRITE_R_CB(5, WRITE8(pairmtch_state, sound_w)) + MCFG_HMCS40_READ_R_CB(5, READ8(driver_device, soundlatch2_byte_r)) + MCFG_HMCS40_WRITE_R_CB(6, WRITE8(pairmtch_state, plate_w)) + MCFG_HMCS40_WRITE_D_CB(WRITE16(pairmtch_state, grid_w)) + MCFG_HMCS40_READ_D_CB(IOPORT("IN.2")) + + MCFG_CPU_ADD("audiocpu", HD38820, 400000) // approximation + MCFG_HMCS40_WRITE_R_CB(2, WRITE8(pairmtch_state, sound2_w)) + MCFG_HMCS40_READ_R_CB(2, READ8(driver_device, soundlatch_byte_r)) + MCFG_HMCS40_WRITE_D_CB(WRITE16(pairmtch_state, speaker_w)) + + MCFG_QUANTUM_PERFECT_CPU("maincpu") + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_pairmtch) + + /* no video! */ + + /* 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 + + + + + +/*************************************************************************** + Coleco Alien Attack (manufactured in Taiwan) * Hitachi HD38800A25 MCU * cyan/red VFD display Futaba DM-19Z 1J @@ -1719,7 +1876,7 @@ MACHINE_CONFIG_END It looks like Coleco took Gakken's Heiankyo Alien and turned it into a more action-oriented game. - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1830,7 +1987,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A45 MCU * cyan/red VFD display Futaba DM-47ZK 2K, with color overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -1964,7 +2121,7 @@ MACHINE_CONFIG_END - P2 Left: Head-to-Head Galaxian (2-player mode, short) - P2 Right: Head-to-Head Galaxian (2-player mode, long) - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2097,7 +2254,7 @@ MACHINE_CONFIG_END BTANB note: 1st version doesn't show the whole maze on power-on - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2213,7 +2370,7 @@ MACHINE_CONFIG_END BTANB note: in demo-mode, she hardly ever walks to the upper two rows - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2322,7 +2479,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A13 MCU * cyan/red/green VFD display Futaba DM-20 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2446,7 +2603,7 @@ MACHINE_CONFIG_END 2 VFD revisions are known, the difference is Pac-Man's color: cyan or red. - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ #if 0 @@ -2504,7 +2661,7 @@ INPUT_PORTS_END * COP411L sub MCU, labeled COP411L-KED/N * cyan/red/green VFD display NEC FIP15BM32T - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2533,7 +2690,7 @@ protected: virtual void machine_start(); }; -// handlers (maincpu side first) +// handlers: maincpu side void eturtles_state::prepare_display() { @@ -2578,7 +2735,7 @@ void eturtles_state::update_int() } -// COP side +// handlers: COP side WRITE_LINE_MEMBER(eturtles_state::speaker_w) { @@ -2697,7 +2854,7 @@ MACHINE_CONFIG_END * COP411L sub MCU, labeled ~/B8236 COP411L-KEC/N * cyan/red/green VFD display NEC FIP15AM32T (EL628-003) no. 2-421, with partial color overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2712,7 +2869,7 @@ public: DECLARE_READ8_MEMBER(cop_data_r); }; -// handlers (most of it is handled in eturtles_state above) +// handlers (most of it is in eturtles_state above) void estargte_state::prepare_display() { @@ -2807,7 +2964,7 @@ MACHINE_CONFIG_END - Japan: Heiankyo Alien - USA: Earth Invaders, published by CGL - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -2923,7 +3080,7 @@ MACHINE_CONFIG_END - Japan: Crazy Kong - USA: Super Kong, published by CGL - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3046,7 +3203,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A69 MCU * cyan/red/green VFD display Futaba DM-69Z 3F, with color overlay - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3171,7 +3328,7 @@ MACHINE_CONFIG_END turn the game on while holding the 1-key and use the visitor's side keypad to play offsense. - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3329,7 +3486,7 @@ MACHINE_CONFIG_END * Hitachi QFP HD38820A70 MCU * cyan/red/green/darkgreen VFD display Itron CP5137 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3417,7 +3574,7 @@ MACHINE_CONFIG_END * Hitachi HD38800B23 MCU * cyan/red/blue VFD display Futaba DM-65ZK 3A - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3538,7 +3695,7 @@ MACHINE_CONFIG_END * Hitachi HD38800A88 MCU * cyan/red/green VFD display NEC FIP10AM24T no. 2-8 1 - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3663,7 +3820,7 @@ MACHINE_CONFIG_END - UK: Cosmic Invader, published by Grandstand - UK: Galactic Invaders, published by Prinztronic - NOTE!: MESS external artwork is recommended + NOTE!: MAME external artwork is recommended ***************************************************************************/ @@ -3836,6 +3993,17 @@ ROM_START( machiman ) ROM_END +ROM_START( pairmtch ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "hd38820a88", 0x0000, 0x1000, CRC(ffa35730) SHA1(5a80b9025aaad2ac0ab0b1436a1355ae8cd3f868) ) + ROM_CONTINUE( 0x1e80, 0x0100 ) + + ROM_REGION( 0x2000, "audiocpu", ROMREGION_ERASE00 ) + ROM_LOAD( "hd38820a89", 0x0000, 0x1000, CRC(3533ec56) SHA1(556d69e78a0ee1bf766fce16ed58992d7272d57f) ) + ROM_CONTINUE( 0x1e80, 0x0100 ) +ROM_END + + ROM_START( alnattck ) ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD( "hd38800a25", 0x0000, 0x1000, CRC(18b50869) SHA1(11e9d5f7b4ae818b077b0ee14a3b43190e20bff3) ) @@ -3962,7 +4130,7 @@ ROM_END ROM_START( vinvader ) ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 ) - ROM_LOAD( "hd38750a45", 0x0000, 0x0800, CRC(e02d94d9) SHA1(d4679abbb9c6778e5e853aa6c2b90dee1d21c9dd) ) + ROM_LOAD( "hd38750a45", 0x0000, 0x0800, CRC(32de6056) SHA1(70238c6c40c3d513f8eced1cb81bdd4dbe12f16c) ) ROM_CONTINUE( 0x0f00, 0x0080 ) ROM_END @@ -3982,6 +4150,7 @@ CONS( 1983, bbtime, 0, 0, bbtime, bbtime, driver_device, 0, "Banda CONS( 1983, bdoramon, 0, 0, bdoramon, bdoramon, driver_device, 0, "Bandai", "Dokodemo Dorayaki Doraemon", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1983, bultrman, 0, 0, bultrman, bultrman, driver_device, 0, "Bandai", "Ultra Man (Bandai)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) CONS( 1984, machiman, 0, 0, machiman, machiman, driver_device, 0, "Bandai", "Machine Man", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1984, pairmtch, 0, 0, pairmtch, pairmtch, driver_device, 0, "Bandai", "Pair Match", MACHINE_SUPPORTS_SAVE ) CONS( 1981, alnattck, 0, 0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1982, cdkong, 0, 0, cdkong, cdkong, driver_device, 0, "Coleco", "Donkey Kong (Coleco)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_IMPERFECT_SOUND ) @@ -4006,4 +4175,4 @@ CONS( 1983, pbqbert, 0, 0, pbqbert, pbqbert, driver_device, 0, "Parke CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1984, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) -CONS( 1981, vinvader, 0, 0, vinvader, vinvader, driver_device, 0, "VTech", "Invaders (VTech)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) +CONS( 1981, vinvader, 0, 0, vinvader, vinvader, driver_device, 0, "VTech", "Invaders (VTech)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) diff --git a/src/mess/drivers/hh_ucom4.c b/src/mess/drivers/hh_ucom4.c index 96fbb0d3874..b1f016fa194 100644 --- a/src/mess/drivers/hh_ucom4.c +++ b/src/mess/drivers/hh_ucom4.c @@ -1067,6 +1067,8 @@ MACHINE_CONFIG_END known releases: - USA: Electronic Football (aka Pro-Bowl Football) - Japan: American Football + + note: MAME external artwork is not needed for this game ***************************************************************************/ @@ -1480,6 +1482,8 @@ MACHINE_CONFIG_END * NEC uCOM-43 MCU, labeled D553C 049 * cyan VFD display Futaba DM-4.5 91 + note: MAME external artwork is not needed for this game + ***************************************************************************/ class mvbfree_state : public hh_ucom4_state diff --git a/src/mess/layout/pairmtch.lay b/src/mess/layout/pairmtch.lay new file mode 100644 index 00000000000..81282cbe448 --- /dev/null +++ b/src/mess/layout/pairmtch.lay @@ -0,0 +1,201 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element> + + <element name="segc" defstate="0"> + <rect state="0"><color red="0.1" green="0.1" blue="0.1" /></rect> + <rect state="1"><color red="0.2" green="1.0" blue="0.8" /></rect> + </element> + <element name="segr2" defstate="0"> + <rect state="0"><color red="0.1" green="0.1" blue="0.01" /></rect> + <rect state="1"><color red="1.0" green="0.33" blue="0.2" /></rect> + </element> + + <element name="segr" defstate="0"> + <rect> + <bounds x="0" y="0" width="1" height="1" /> + <color red="0.0" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.1" green="0.1" blue="0.01" /> + </rect> + <rect state="1"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="1.0" green="0.33" blue="0.2" /> + </rect> + </element> + + <element name="c1" defstate="0"> + <text state="0" string="1"><color red="0.1" green="0.1" blue="0.1" /></text> + <text state="1" string="1"><color red="0.2" green="1.0" blue="0.8" /></text> + </element> + <element name="c2" defstate="0"> + <text state="0" string="2"><color red="0.1" green="0.1" blue="0.1" /></text> + <text state="1" string="2"><color red="0.2" green="1.0" blue="0.8" /></text> + </element> + <element name="c3" defstate="0"> + <text state="0" string="3"><color red="0.1" green="0.1" blue="0.1" /></text> + <text state="1" string="3"><color red="0.2" green="1.0" blue="0.8" /></text> + </element> + <element name="c4" defstate="0"> + <text state="0" string="4"><color red="0.1" green="0.1" blue="0.1" /></text> + <text state="1" string="4"><color red="0.2" green="1.0" blue="0.8" /></text> + </element> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="-15" right="600" top="-11" bottom="805" /> + <bezel element="static_black"> + <bounds left="-15" right="600" top="-11" bottom="805" /> + </bezel> + + <!-- 5 --> + + <bezel name="5.10" element="segc"><bounds x="0" y="0" width="75" height="32" /></bezel> + <bezel name="5.10" element="segc"><bounds x="102" y="0" width="75" height="32" /></bezel> + <bezel name="5.10" element="segc"><bounds x="204" y="0" width="75" height="32" /></bezel> + <bezel name="5.10" element="segc"><bounds x="306" y="0" width="75" height="32" /></bezel> + <bezel name="5.10" element="segc"><bounds x="408" y="0" width="75" height="32" /></bezel> + <bezel name="5.10" element="segc"><bounds x="510" y="0" width="75" height="32" /></bezel> + + <bezel element="static_black"><bounds x="-1" y="8.666" width="587" height="3" /></bezel> + <bezel element="static_black"><bounds x="-1" y="20.333" width="587" height="3" /></bezel> + + <bezel name="5.11" element="c1"><bounds x="0" y="42" width="75" height="95" /></bezel> + + <bezel name="5.8" element="segc"><bounds x="102" y="42" width="75" height="95" /></bezel> + <bezel name="5.9" element="segr"><bounds x="109.9" y="52" width="59.2" height="75" /></bezel> + + <bezel name="5.6" element="segc"><bounds x="204" y="42" width="75" height="95" /></bezel> + <bezel name="5.7" element="segr"><bounds x="211.9" y="52" width="59.2" height="75" /></bezel> + + <bezel name="5.4" element="segc"><bounds x="306" y="42" width="75" height="95" /></bezel> + <bezel name="5.5" element="segr"><bounds x="313.9" y="52" width="59.2" height="75" /></bezel> + + <bezel name="5.2" element="segc"><bounds x="408" y="42" width="75" height="95" /></bezel> + <bezel name="5.3" element="segr"><bounds x="415.9" y="52" width="59.2" height="75" /></bezel> + + <bezel name="5.1" element="c2"><bounds x="510" y="42" width="75" height="95" /></bezel> + + + <!-- 4 --> + + <bezel name="4.10" element="segc"><bounds x="0" y="165" width="75" height="95" /></bezel> + <bezel name="4.11" element="segr"><bounds x="7.9" y="175" width="59.2" height="75" /></bezel> + + <bezel name="4.8" element="segc"><bounds x="102" y="165" width="75" height="95" /></bezel> + <bezel name="4.9" element="segr"><bounds x="109.9" y="175" width="59.2" height="75" /></bezel> + + <bezel name="4.6" element="segc"><bounds x="204" y="165" width="75" height="95" /></bezel> + <bezel name="4.7" element="segr"><bounds x="211.9" y="175" width="59.2" height="75" /></bezel> + + <bezel name="4.4" element="segc"><bounds x="306" y="165" width="75" height="95" /></bezel> + <bezel name="4.5" element="segr"><bounds x="313.9" y="175" width="59.2" height="75" /></bezel> + + <bezel name="4.2" element="segc"><bounds x="408" y="165" width="75" height="95" /></bezel> + <bezel name="4.3" element="segr"><bounds x="415.9" y="175" width="59.2" height="75" /></bezel> + + <bezel name="4.0" element="segc"><bounds x="510" y="165" width="75" height="95" /></bezel> + <bezel name="4.1" element="segr"><bounds x="517.9" y="175" width="59.2" height="75" /></bezel> + + + <!-- 3 --> + + <bezel name="3.10" element="segc"><bounds x="0" y="288" width="75" height="95" /></bezel> + <bezel name="3.11" element="segr"><bounds x="7.9" y="298" width="59.2" height="75" /></bezel> + + <bezel name="3.8" element="segc"><bounds x="102" y="288" width="75" height="95" /></bezel> + <bezel name="3.9" element="segr"><bounds x="109.9" y="298" width="59.2" height="75" /></bezel> + + <bezel name="3.6" element="segc"><bounds x="204" y="288" width="75" height="95" /></bezel> + <bezel name="3.7" element="segr"><bounds x="211.9" y="298" width="59.2" height="75" /></bezel> + + <bezel name="3.4" element="segc"><bounds x="306" y="288" width="75" height="95" /></bezel> + <bezel name="3.5" element="segr"><bounds x="313.9" y="298" width="59.2" height="75" /></bezel> + + <bezel name="3.2" element="segc"><bounds x="408" y="288" width="75" height="95" /></bezel> + <bezel name="3.3" element="segr"><bounds x="415.9" y="298" width="59.2" height="75" /></bezel> + + <bezel name="3.0" element="segc"><bounds x="510" y="288" width="75" height="95" /></bezel> + <bezel name="3.1" element="segr"><bounds x="517.9" y="298" width="59.2" height="75" /></bezel> + + + <!-- 2 --> + + <bezel name="2.10" element="segc"><bounds x="0" y="411" width="75" height="95" /></bezel> + <bezel name="2.11" element="segr"><bounds x="7.9" y="421" width="59.2" height="75" /></bezel> + + <bezel name="2.8" element="segc"><bounds x="102" y="411" width="75" height="95" /></bezel> + <bezel name="2.9" element="segr"><bounds x="109.9" y="421" width="59.2" height="75" /></bezel> + + <bezel name="2.6" element="segc"><bounds x="204" y="411" width="75" height="95" /></bezel> + <bezel name="2.7" element="segr"><bounds x="211.9" y="421" width="59.2" height="75" /></bezel> + + <bezel name="2.4" element="segc"><bounds x="306" y="411" width="75" height="95" /></bezel> + <bezel name="2.5" element="segr"><bounds x="313.9" y="421" width="59.2" height="75" /></bezel> + + <bezel name="2.2" element="segc"><bounds x="408" y="411" width="75" height="95" /></bezel> + <bezel name="2.3" element="segr"><bounds x="415.9" y="421" width="59.2" height="75" /></bezel> + + <bezel name="2.0" element="segc"><bounds x="510" y="411" width="75" height="95" /></bezel> + <bezel name="2.1" element="segr"><bounds x="517.9" y="421" width="59.2" height="75" /></bezel> + + + <!-- 1 --> + + <bezel name="1.10" element="segc"><bounds x="0" y="534" width="75" height="95" /></bezel> + <bezel name="1.11" element="segr"><bounds x="7.9" y="544" width="59.2" height="75" /></bezel> + + <bezel name="1.8" element="segc"><bounds x="102" y="534" width="75" height="95" /></bezel> + <bezel name="1.9" element="segr"><bounds x="109.9" y="544" width="59.2" height="75" /></bezel> + + <bezel name="1.6" element="segc"><bounds x="204" y="534" width="75" height="95" /></bezel> + <bezel name="1.7" element="segr"><bounds x="211.9" y="544" width="59.2" height="75" /></bezel> + + <bezel name="1.4" element="segc"><bounds x="306" y="534" width="75" height="95" /></bezel> + <bezel name="1.5" element="segr"><bounds x="313.9" y="544" width="59.2" height="75" /></bezel> + + <bezel name="1.2" element="segc"><bounds x="408" y="534" width="75" height="95" /></bezel> + <bezel name="1.3" element="segr"><bounds x="415.9" y="544" width="59.2" height="75" /></bezel> + + <bezel name="1.0" element="segc"><bounds x="510" y="534" width="75" height="95" /></bezel> + <bezel name="1.1" element="segr"><bounds x="517.9" y="544" width="59.2" height="75" /></bezel> + + + <!-- 0 --> + + <bezel name="0.11" element="c3"><bounds x="0" y="657" width="75" height="95" /></bezel> + + <bezel name="0.8" element="segc"><bounds x="102" y="657" width="75" height="95" /></bezel> + <bezel name="0.9" element="segr"><bounds x="109.9" y="667" width="59.2" height="75" /></bezel> + + <bezel name="0.6" element="segc"><bounds x="204" y="657" width="75" height="95" /></bezel> + <bezel name="0.7" element="segr"><bounds x="211.9" y="667" width="59.2" height="75" /></bezel> + + <bezel name="0.4" element="segc"><bounds x="306" y="657" width="75" height="95" /></bezel> + <bezel name="0.5" element="segr"><bounds x="313.9" y="667" width="59.2" height="75" /></bezel> + + <bezel name="0.2" element="segc"><bounds x="408" y="657" width="75" height="95" /></bezel> + <bezel name="0.3" element="segr"><bounds x="415.9" y="667" width="59.2" height="75" /></bezel> + + <bezel name="0.1" element="c4"><bounds x="510" y="657" width="75" height="95" /></bezel> + + <bezel name="0.10" element="segr2"><bounds x="0" y="762" width="75" height="32" /></bezel> + <bezel name="0.10" element="segr2"><bounds x="102" y="762" width="75" height="32" /></bezel> + <bezel name="0.10" element="segr2"><bounds x="204" y="762" width="75" height="32" /></bezel> + <bezel name="0.10" element="segr2"><bounds x="306" y="762" width="75" height="32" /></bezel> + <bezel name="0.10" element="segr2"><bounds x="408" y="762" width="75" height="32" /></bezel> + <bezel name="0.10" element="segr2"><bounds x="510" y="762" width="75" height="32" /></bezel> + + <bezel element="static_black"><bounds x="-1" y="770.666" width="587" height="3" /></bezel> + <bezel element="static_black"><bounds x="-1" y="782.333" width="587" height="3" /></bezel> + + + </view> +</mamelayout> |
