diff options
-rw-r--r-- | src/mame/drivers/hh_cop400.cpp | 24 | ||||
-rw-r--r-- | src/mame/drivers/hh_pic16.cpp | 196 | ||||
-rw-r--r-- | src/mame/drivers/hh_sm510.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 2 | ||||
-rw-r--r-- | src/mame/layout/matchme.lay | 135 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
6 files changed, 335 insertions, 25 deletions
diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp index 143eff54e51..4658204ac7f 100644 --- a/src/mame/drivers/hh_cop400.cpp +++ b/src/mame/drivers/hh_cop400.cpp @@ -72,7 +72,7 @@ public: int m_sk; // MCU SK line state u16 m_inp_mux; // multiplexed inputs mask - u16 read_inputs(int columns); + u16 read_inputs(int columns, u16 colmask = ~0); // display common int m_display_wait; // led/lamp off-delay in milliseconds (default 33ms) @@ -221,10 +221,10 @@ void hh_cop400_state::display_matrix(int maxx, int maxy, u32 setx, u32 sety, boo // generic input handlers -u16 hh_cop400_state::read_inputs(int columns) +u16 hh_cop400_state::read_inputs(int columns, u16 colmask) { // active low - u16 ret = ~0; + u16 ret = ~0 & colmask; // read selected input rows for (int i = 0; i < columns; i++) @@ -282,7 +282,7 @@ WRITE8_MEMBER(ctstein_state::write_l) READ8_MEMBER(ctstein_state::read_l) { // L4-L7: multiplexed inputs - return read_inputs(3) << 4 | 0xf; + return read_inputs(3, 0xf) << 4 | 0xf; } // config @@ -393,7 +393,7 @@ WRITE8_MEMBER(h2hbaskb_state::write_l) READ8_MEMBER(h2hbaskb_state::read_in) { // IN: multiplexed inputs - return (read_inputs(4) & 7) | (m_inp_matrix[4]->read() & 8); + return read_inputs(4, 7) | (m_inp_matrix[4]->read() & 8); } // config @@ -795,7 +795,7 @@ WRITE8_MEMBER(lchicken_state::write_g) READ8_MEMBER(lchicken_state::read_g) { // G0-G3: multiplexed inputs - return read_inputs(4) & m_g; + return read_inputs(4, m_g); } WRITE_LINE_MEMBER(lchicken_state::write_so) @@ -928,7 +928,7 @@ WRITE8_MEMBER(funjacks_state::write_g) READ8_MEMBER(funjacks_state::read_l) { // L4,L5: multiplexed inputs - return (read_inputs(3) & 0x30) | m_l; + return read_inputs(3, 0x30) | m_l; } READ8_MEMBER(funjacks_state::read_g) @@ -1138,7 +1138,7 @@ WRITE8_MEMBER(mdallas_state::write_g) READ8_MEMBER(mdallas_state::read_in) { // IN: multiplexed inputs - return read_inputs(6) & 0xf; + return read_inputs(6, 0xf); } // config @@ -1364,7 +1364,7 @@ READ8_MEMBER(lightfgt_state::read_g) { // G: multiplexed inputs m_inp_mux = m_d << 1 | m_so; - return read_inputs(5); + return read_inputs(5, 0xf); } // config @@ -1458,13 +1458,13 @@ WRITE8_MEMBER(bship82_state::write_d) READ8_MEMBER(bship82_state::read_l) { // L: multiplexed inputs - return read_inputs(4) & 0xff; + return read_inputs(4, 0xff); } READ8_MEMBER(bship82_state::read_in) { // IN: multiplexed inputs - return read_inputs(4) >> 8 & 0xf; + return read_inputs(4, 0xf00) >> 8; } WRITE_LINE_MEMBER(bship82_state::write_so) @@ -1641,7 +1641,7 @@ WRITE8_MEMBER(qkracer_state::write_l) READ8_MEMBER(qkracer_state::read_in) { // IN: multiplexed inputs - return read_inputs(5) & 0xf; + return read_inputs(5, 0xf); } WRITE_LINE_MEMBER(qkracer_state::write_sk) diff --git a/src/mame/drivers/hh_pic16.cpp b/src/mame/drivers/hh_pic16.cpp index 8607192872f..1bd057aa97d 100644 --- a/src/mame/drivers/hh_pic16.cpp +++ b/src/mame/drivers/hh_pic16.cpp @@ -13,6 +13,7 @@ @033 1655A 1979, Toytronic Football (newer) @036 1655A 1979, Ideal Maniac @043 1655A 1979, Caprice Pro-Action Baseball + @049 1655A 1980, Kingsford Match Me(?)/Mini Match Me @051 1655A 1979, Tandy Electronic Basketball @053 1655A 1979, Atari Touch Me @0?? 1655A 1979, Tiger Half Court Computer Basketball/Sears Electronic Basketball (custom label) @@ -20,6 +21,7 @@ *081 1655A 19??, Ramtex Space Invaders/Block Buster @094 1655A 1980, GAF Melody Madness @110 1650A 1979, Tiger/Tandy Rocket Pinball + *123 1655A? 1980, Kingsford Match Me/Mini Match Me @133 1650A 1981, U.S. Games Programmable Baseball/Tandy 2-Player Baseball @144 1650A 1981, U.S. Games/Tandy 2-Player Football *192 1650 19??, <unknown> phone dialer (have dump) @@ -55,6 +57,7 @@ #include "leboom.lh" // clickable #include "maniac.lh" // clickable #include "melodym.lh" // clickable +#include "matchme.lh" // clickable #include "rockpin.lh" #include "tbaskb.lh" #include "touchme.lh" // clickable @@ -95,7 +98,8 @@ public: u8 m_d; // " D u16 m_inp_mux; // multiplexed inputs mask - u16 read_inputs(int columns); + u16 read_inputs(int columns, u16 colmask = ~0); + u8 read_rotated_inputs(int columns, u8 rowmask = ~0); // display common int m_display_wait; // led/lamp off-delay in milliseconds (default 33ms) @@ -242,10 +246,10 @@ void hh_pic16_state::display_matrix(int maxx, int maxy, u32 setx, u32 sety, bool // generic input handlers -u16 hh_pic16_state::read_inputs(int columns) +u16 hh_pic16_state::read_inputs(int columns, u16 colmask) { // active low - u16 ret = ~0; + u16 ret = ~0 & colmask; // read selected input rows for (int i = 0; i < columns; i++) @@ -255,6 +259,20 @@ u16 hh_pic16_state::read_inputs(int columns) return ret; } +u8 hh_pic16_state::read_rotated_inputs(int columns, u8 rowmask) +{ + u8 ret = 0; + u16 colmask = (1 << columns) - 1; + + // read selected input columns + for (int i = 0; i < 8; i++) + if (1 << i & rowmask && ~m_inp_matrix[i]->read() & ~m_inp_mux & colmask) + ret |= 1 << i; + + // active low + return ~ret & rowmask; +} + /*************************************************************************** @@ -307,7 +325,7 @@ void touchme_state::update_speaker() READ8_MEMBER(touchme_state::read_a) { // A: multiplexed inputs - return read_inputs(3) & 0xf; + return read_inputs(3, 0xf); } WRITE8_MEMBER(touchme_state::write_b) @@ -350,7 +368,7 @@ static INPUT_PORTS_START( touchme ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Green Button") PORT_START("IN.2") // B2 port A - PORT_CONFNAME( 0x07, 0x01^0x07, "Game Select") + PORT_CONFNAME( 0x07, 0x01^0x07, "Game Select" ) PORT_CONFSETTING( 0x01^0x07, "1" ) PORT_CONFSETTING( 0x02^0x07, "2" ) PORT_CONFSETTING( 0x04^0x07, "3" ) @@ -523,7 +541,7 @@ WRITE8_MEMBER(melodym_state::write_b) READ8_MEMBER(melodym_state::read_c) { // C0-C4: multiplexed inputs - return read_inputs(5) | 0xe0; + return read_inputs(5, 0x1f) | 0xe0; } WRITE8_MEMBER(melodym_state::write_c) @@ -704,6 +722,154 @@ MACHINE_CONFIG_END /*************************************************************************** + Kingsford Match Me + * PIC 1655A-049 + * 8 lamps, 1-bit sound + + Known releases: + - USA(1): Match Me/Mini Match Me(latter is the handheld version, same game) + - USA(2): Me Too, published by Talbot + + Known revisions: + - PIC 1655A-049 (this one, dumped from a Mini Match Me) + - PIC 1655A-123 (seen in Match Me and Mini Match Me) + +***************************************************************************/ + +class matchme_state : public hh_pic16_state +{ +public: + matchme_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_pic16_state(mconfig, type, tag) + { } + + DECLARE_WRITE8_MEMBER(write_b); + DECLARE_WRITE8_MEMBER(write_c); + DECLARE_READ8_MEMBER(read_c); + + void set_clock(); + DECLARE_INPUT_CHANGED_MEMBER(speed_switch); + +protected: + virtual void machine_reset() override; +}; + +// handlers + +WRITE8_MEMBER(matchme_state::write_b) +{ + // B0-B7: lamps + display_matrix(8, 1, data, 1); +} + +READ8_MEMBER(matchme_state::read_c) +{ + // C0-C3: multiplexed inputs from C4-C6 + m_inp_mux = m_c >> 4 & 7; + u8 lo = read_inputs(3, 0xf); + + // C4-C6: multiplexed inputs from C0-C3 + m_inp_mux = m_c & 0xf; + u8 hi = read_rotated_inputs(4, 7); + + return lo | hi << 4 | 0x80; +} + +WRITE8_MEMBER(matchme_state::write_c) +{ + // C0-C6: input mux + m_c = data; + + // C7: speaker out + RTCC pin + m_speaker->level_w(data >> 7 & 1); + m_maincpu->set_input_line(PIC16C5x_RTCC, data >> 7 & 1); +} + +// config + +static INPUT_PORTS_START( matchme ) + PORT_START("IN.0") // C4 port C + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // purple + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) // pink + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) // yellow + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) // blue + + PORT_START("IN.1") // C5 port C + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) // red + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) // cyan + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) // orange + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) // green + + PORT_START("IN.2") // C6 port C + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START ) + PORT_BIT( 0x02, 0x02, IPT_SPECIAL ) PORT_CONDITION("FAKE", 0x03, EQUALS, 0x03) // Last/Auto + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Long") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("IN.3") // port A + PORT_CONFNAME( 0x07, 0x00^0x07, "Game" ) + PORT_CONFSETTING( 0x00^0x07, "1" ) + PORT_CONFSETTING( 0x01^0x07, "2" ) + PORT_CONFSETTING( 0x02^0x07, "3" ) + PORT_CONFSETTING( 0x04^0x07, "4" ) + PORT_CONFNAME( 0x08, 0x08, DEF_STR( Difficulty ) ) + PORT_CONFSETTING( 0x08, "Amateur" ) // AMR + PORT_CONFSETTING( 0x00, "Professional" ) // PRO + + PORT_START("IN.4") // another fake + PORT_CONFNAME( 0x01, 0x00, "Speed" ) PORT_CHANGED_MEMBER(DEVICE_SELF, matchme_state, speed_switch, nullptr) + PORT_CONFSETTING( 0x00, DEF_STR( Low ) ) + PORT_CONFSETTING( 0x01, DEF_STR( High ) ) + + PORT_START("FAKE") // Last/Auto are electronically the same button + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Last") + PORT_CONFNAME( 0x02, 0x02, "Music" ) + PORT_CONFSETTING( 0x02, "Manual" ) + PORT_CONFSETTING( 0x00, "Auto" ) +INPUT_PORTS_END + +INPUT_CHANGED_MEMBER(matchme_state::speed_switch) +{ + set_clock(); +} + +void matchme_state::set_clock() +{ + // MCU clock is ~1.2MHz by default (R=18K, C=15pF), high speed setting adds a + // 10pF cap to speed it up by about 7.5%. + m_maincpu->set_unscaled_clock((m_inp_matrix[4]->read() & 1) ? 1300000 : 1200000); +} + +void matchme_state::machine_reset() +{ + hh_pic16_state::machine_reset(); + set_clock(); +} + +static MACHINE_CONFIG_START( matchme ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", PIC1655, 1200000) // see set_clock + MCFG_PIC16C5x_READ_A_CB(IOPORT("IN.3")) + MCFG_PIC16C5x_WRITE_B_CB(WRITE8(matchme_state, write_b)) + MCFG_PIC16C5x_READ_C_CB(READ8(matchme_state, read_c)) + MCFG_PIC16C5x_WRITE_C_CB(WRITE8(matchme_state, write_c)) + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_matchme) + + /* 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 + + + + + +/*************************************************************************** + Lakeside Le Boom * PIC 1655A-061 * 1 led, 1-bit sound with RC circuit for volume decay @@ -764,7 +930,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(leboom_state::speaker_decay_sim) READ8_MEMBER(leboom_state::read_a) { // A: multiplexed inputs - return read_inputs(6) & 0xf; + return read_inputs(6, 0xf); } WRITE8_MEMBER(leboom_state::write_b) @@ -894,7 +1060,7 @@ void tbaskb_state::prepare_display() READ8_MEMBER(tbaskb_state::read_a) { // A2: skill switch, A3: multiplexed inputs - return m_inp_matrix[5]->read() | read_inputs(5) | 3; + return m_inp_matrix[5]->read() | read_inputs(5, 8) | 3; } WRITE8_MEMBER(tbaskb_state::write_b) @@ -1119,7 +1285,7 @@ void hccbaskb_state::prepare_display() READ8_MEMBER(hccbaskb_state::read_a) { // A2: skill switch, A3: multiplexed inputs - return m_inp_matrix[5]->read() | read_inputs(5) | 3; + return m_inp_matrix[5]->read() | read_inputs(5, 8) | 3; } WRITE8_MEMBER(hccbaskb_state::write_b) @@ -1237,7 +1403,7 @@ void ttfball_state::prepare_display() READ8_MEMBER(ttfball_state::read_a) { // A3: multiplexed inputs, A0-A2: other inputs - return m_inp_matrix[5]->read() | read_inputs(5); + return m_inp_matrix[5]->read() | read_inputs(5, 8); } WRITE8_MEMBER(ttfball_state::write_b) @@ -1490,7 +1656,7 @@ void us2pfball_state::prepare_display() READ8_MEMBER(us2pfball_state::read_a) { // A0,A1: multiplexed inputs, A4-A7: other inputs - return (read_inputs(4) & 3) | (m_inp_matrix[4]->read() & 0xf0) | 0x0c; + return read_inputs(4, 3) | (m_inp_matrix[4]->read() & 0xf0) | 0x0c; } WRITE8_MEMBER(us2pfball_state::write_a) @@ -1616,6 +1782,12 @@ ROM_START( maniac ) ROM_END +ROM_START( matchme ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "pic_1655a-049", 0x0000, 0x0400, CRC(fa3f4805) SHA1(57cbac18baa201927e99cd69cc2ffda4d2e642bb) ) +ROM_END + + ROM_START( leboom ) ROM_REGION( 0x0400, "maincpu", 0 ) ROM_LOAD( "pic_1655a-061", 0x0000, 0x0400, CRC(5880eea1) SHA1(e3795b347fd5df9de084da36e33f6b70fbc0b0ae) ) @@ -1673,6 +1845,8 @@ CONS( 1980, melodym, 0, 0, melodym, melodym, melodym_state, 0, "GA CONS( 1979, maniac, 0, 0, maniac, maniac, maniac_state, 0, "Ideal", "Maniac", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1980, matchme, 0, 0, matchme, matchme, matchme_state, 0, "Kingsford", "Match Me", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) + CONS( 1980, leboom, 0, 0, leboom, leboom, leboom_state, 0, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK ) CONS( 1979, tbaskb, 0, 0, tbaskb, tbaskb, tbaskb_state, 0, "Tandy Radio Shack", "Electronic Basketball (Tandy)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index b6f1b0a3b51..006a46dd5a6 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -4795,7 +4795,7 @@ CONS( 1983, gnw_mario, 0, 0, gnw_mario, gnw_mario, gnw_mario_stat CONS( 1982, gnw_dkjr, 0, 0, gnw_dkjr, gnw_dkjr, gnw_dkjr_state, 0, "Nintendo", "Game & Watch: Donkey Kong Jr. (new wide screen)", MACHINE_SUPPORTS_SAVE ) CONS( 1983, gnw_mariocm, 0, 0, gnw_mariocm, gnw_mariocm, gnw_mariocm_state, 0, "Nintendo", "Game & Watch: Mario's Cement Factory (new wide screen)", MACHINE_SUPPORTS_SAVE ) -CONS( 1986, gnw_smb, 0, 0, gnw_smb, gnw_smb, gnw_smb_state, 0, "Nintendo", "Game & Watch: Super Mario Bros.", MACHINE_SUPPORTS_SAVE ) +CONS( 1986, gnw_smb, 0, 0, gnw_smb, gnw_smb, gnw_smb_state, 0, "Nintendo", "Game & Watch: Super Mario Bros.", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) CONS( 1984, gnw_boxing, 0, 0, gnw_boxing, gnw_boxing, gnw_boxing_state, 0, "Nintendo", "Game & Watch: Boxing", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 4e0b71b436f..c4b2df63e62 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -1848,7 +1848,7 @@ static INPUT_PORTS_START( quizwizc ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Slow Forward") PORT_START("IN.5") // R5 - PORT_CONFNAME( 0x02, 0x00, "Game Select") + PORT_CONFNAME( 0x02, 0x00, "Game Select" ) PORT_CONFSETTING( 0x00, "1" ) PORT_CONFSETTING( 0x02, "2" ) PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) diff --git a/src/mame/layout/matchme.lay b/src/mame/layout/matchme.lay new file mode 100644 index 00000000000..e420abefe7e --- /dev/null +++ b/src/mame/layout/matchme.lay @@ -0,0 +1,135 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="disk_grey"><disk><color red="0.6" green="0.6" blue="0.6" /></disk></element> + + <element name="mask" defstate="0"><disk state="0"><color red="0" green="0" blue="0" /></disk></element> + <element name="dummy"><text string=" "></text></element> + + <element name="disk_1"><disk><color red="0.9" green="0.3" blue="1.0" /></disk></element> + <element name="disk_2"><disk><color red="1.0" green="0.4" blue="0.4" /></disk></element> + <element name="disk_3"><disk><color red="1.0" green="1.0" blue="0.4" /></disk></element> + <element name="disk_4"><disk><color red="0.3" green="0.3" blue="1.0" /></disk></element> + <element name="disk_5"><disk><color red="1.0" green="0.1" blue="0.15" /></disk></element> + <element name="disk_6"><disk><color red="0.3" green="0.9" blue="1.0" /></disk></element> + <element name="disk_7"><disk><color red="1.0" green="0.7" blue="0.3" /></disk></element> + <element name="disk_8"><disk><color red="0.1" green="1.0" blue="0.5" /></disk></element> + + <element name="button" defstate="0"> + <disk><color red="0.0" green="0.0" blue="0.0" /></disk> + <disk state="0"> + <color red="0.8" green="0.5" blue="0.1" /> + <bounds x="0.2" y="0.2" width="0.6" height="0.6" /> + </disk> + <disk state="1"> + <color red="0.8" green="0.45" blue="0.1" /> + <bounds x="0.28" y="0.28" width="0.44" height="0.44" /> + </disk> + </element> + + <element name="text_last"> + <rect><color red="0.6" green="0.6" blue="0.6" /></rect> + <text string="LAST"><color red="0.1" green="0.1" blue="0.1" /></text> + </element> + <element name="text_start"> + <rect><color red="0.6" green="0.6" blue="0.6" /></rect> + <text string="START"><color red="0.1" green="0.1" blue="0.1" /></text> + </element> + <element name="text_long"> + <rect><color red="0.6" green="0.6" blue="0.6" /></rect> + <text string="LONG"><color red="0.1" green="0.1" blue="0.1" /></text> + </element> + + <element name="text_1"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_2"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_3"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_4"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_5"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_6"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_7"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_8"> + <disk><color red="0.6" green="0.6" blue="0.6" /></disk> + <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="4" right="16" top="4" bottom="16" /> + + <!-- middle part --> + + <bezel element="disk_grey"><bounds x="6.75" y="6.75" width="6.5" height="6.5" /></bezel> + + <bezel element="text_1"><bounds x="8.6785" y="12.3369" width="0.5" height="0.5" /></bezel> + <bezel element="text_2"><bounds x="7.1631" y="10.8215" width="0.5" height="0.5" /></bezel> + <bezel element="text_3"><bounds x="7.1631" y="8.6785" width="0.5" height="0.5" /></bezel> + <bezel element="text_4"><bounds x="8.6785" y="7.1631" width="0.5" height="0.5" /></bezel> + <bezel element="text_5"><bounds x="10.8215" y="7.1631" width="0.5" height="0.5" /></bezel> + <bezel element="text_6"><bounds x="12.3369" y="8.6785" width="0.5" height="0.5" /></bezel> + <bezel element="text_7"><bounds x="12.3369" y="10.8215" width="0.5" height="0.5" /></bezel> + <bezel element="text_8"><bounds x="10.8215" y="12.3369" width="0.5" height="0.5" /></bezel> + + <bezel element="button" inputtag="FAKE" inputmask="0x01"><bounds x="8.0" y="11" width="0.5" height="0.5" /></bezel> + <bezel element="button" inputtag="IN.2" inputmask="0x01"><bounds x="9.75" y="11.9" width="0.5" height="0.5" /></bezel> + <bezel element="button" inputtag="IN.2" inputmask="0x04"><bounds x="11.5" y="11" width="0.5" height="0.5" /></bezel> + + <bezel element="text_last"><bounds x="7.6" y="11.55" width="1.3" height="0.29" /></bezel> + <bezel element="text_start"><bounds x="9.35" y="12.45" width="1.3" height="0.29" /></bezel> + <bezel element="text_long"><bounds x="11.1" y="11.55" width="1.3" height="0.29" /></bezel> + + <!-- button lamps --> + + <bezel element="disk_1"><bounds x="6.8366" y="13.3694" width="2.5" height="2.5" /></bezel> + <bezel element="disk_2"><bounds x="4.1306" y="10.6634" width="2.5" height="2.5" /></bezel> + <bezel element="disk_3"><bounds x="4.1306" y="6.8366" width="2.5" height="2.5" /></bezel> + <bezel element="disk_4"><bounds x="6.8366" y="4.1306" width="2.5" height="2.5" /></bezel> + <bezel element="disk_5"><bounds x="10.6634" y="4.1306" width="2.5" height="2.5" /></bezel> + <bezel element="disk_6"><bounds x="13.3694" y="6.8366" width="2.5" height="2.5" /></bezel> + <bezel element="disk_7"><bounds x="13.3694" y="10.6634" width="2.5" height="2.5" /></bezel> + <bezel element="disk_8"><bounds x="10.6634" y="13.3694" width="2.5" height="2.5" /></bezel> + + <bezel element="dummy" inputtag="IN.0" inputmask="0x01"><bounds x="6.8366" y="13.3694" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.0" inputmask="0x02"><bounds x="4.1306" y="10.6634" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.0" inputmask="0x04"><bounds x="4.1306" y="6.8366" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.0" inputmask="0x08"><bounds x="6.8366" y="4.1306" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.1" inputmask="0x01"><bounds x="10.6634" y="4.1306" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.1" inputmask="0x02"><bounds x="13.3694" y="6.8366" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.1" inputmask="0x04"><bounds x="13.3694" y="10.6634" width="2.5" height="2.5" /></bezel> + <bezel element="dummy" inputtag="IN.1" inputmask="0x08"><bounds x="10.6634" y="13.3694" width="2.5" height="2.5" /></bezel> + + <bezel name="0.0" element="mask"><bounds x="6.8366" y="13.3694" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.1" element="mask"><bounds x="4.1306" y="10.6634" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.2" element="mask"><bounds x="4.1306" y="6.8366" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.3" element="mask"><bounds x="6.8366" y="4.1306" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.4" element="mask"><bounds x="10.6634" y="4.1306" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.5" element="mask"><bounds x="13.3694" y="6.8366" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.6" element="mask"><bounds x="13.3694" y="10.6634" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + <bezel name="0.7" element="mask"><bounds x="10.6634" y="13.3694" width="2.5" height="2.5" /><color alpha="0.4" /></bezel> + + </view> +</mamelayout> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 20f88313214..a20d03faabf 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14726,6 +14726,7 @@ hccbaskb // Tiger Electronics leboom // Lakeside maniac // Ideal melodym // GAF +matchme // Kingsford pabball // Caprice rockpin // Tiger Electronics tbaskb // Tandy Radio Shack |