mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
New working machines
-------------------- Basketball 2 (Mattel) [hap, Sean Riddle] Soccer 2 (Mattel) [hap, Sean Riddle]
This commit is contained in:
parent
1ba26d7b78
commit
2b1dec62d8
@ -43,7 +43,9 @@ TODO:
|
||||
#include "lafootb.lh"
|
||||
#include "lchicken.lh" // clickable
|
||||
#include "lightfgt.lh" // clickable
|
||||
#include "mbaskb2.lh"
|
||||
#include "mdallas.lh"
|
||||
#include "msoccer2.lh"
|
||||
#include "qkracer.lh"
|
||||
#include "scat.lh"
|
||||
#include "unkeinv.lh"
|
||||
@ -274,6 +276,7 @@ public:
|
||||
void write_g(u8 data);
|
||||
void write_l(u8 data);
|
||||
u8 read_in();
|
||||
|
||||
void h2hsoccerc(machine_config &config);
|
||||
void h2hbaskbc(machine_config &config);
|
||||
void h2hhockeyc(machine_config &config);
|
||||
@ -561,7 +564,6 @@ public:
|
||||
void write_d(u8 data);
|
||||
void write_l(u8 data);
|
||||
u8 read_l();
|
||||
|
||||
void unkeinv(machine_config &config);
|
||||
};
|
||||
|
||||
@ -815,7 +817,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Funtronics: Jacks (model 1603)
|
||||
* COP410L MCU bonded directly to PCB (die label COP410L/B NGS)
|
||||
* COP410L MCU die bonded directly to PCB (die label COP410L/B NGS)
|
||||
* 8 LEDs, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
@ -936,7 +938,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Funtronics: Red Light Green Light (model 1604)
|
||||
* COP410L MCU bonded directly to PCB (die label COP410L/B NHZ)
|
||||
* COP410L MCU die bonded directly to PCB (die label COP410L/B NHZ)
|
||||
* 14 LEDs, 1-bit sound
|
||||
|
||||
known releases:
|
||||
@ -1037,7 +1039,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Funtronics: Tag (model 1497)
|
||||
* COP410L MCU bonded directly to PCB (die label COP410L/B GTJ)
|
||||
* COP410L MCU die bonded directly to PCB (die label COP410L/B GTJ)
|
||||
* 7 LEDs, 7 buttons, 1-bit sound
|
||||
|
||||
***************************************************************************/
|
||||
@ -1154,10 +1156,208 @@ ROM_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Basketball 2 (model 1645), Soccer 2 (model 1642)
|
||||
* PCB label: MA6037/38
|
||||
* dual COP420L MCUs, dies bonded to PCB (see romdefs for rom serials)
|
||||
* 4001, die also bonded to PCB
|
||||
* 2-digit 7seg display, 36 other leds, 1-bit sound
|
||||
|
||||
The clock generator was measured ~527kHz for mbaskb2, ~483kHz for msoccer2,
|
||||
meaning that the internal divider is 8. Main MCU SK connects to the other
|
||||
MCU CKO pin, probably for syncing serial I/O.
|
||||
|
||||
These two are on the same hardware, see patents US4341383 and US4372556
|
||||
for detailed descriptions of the games.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class mbaskb2_state : public hh_cop400_state
|
||||
{
|
||||
public:
|
||||
mbaskb2_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_cop400_state(mconfig, type, tag),
|
||||
m_subcpu(*this, "subcpu"),
|
||||
m_on_timer(*this, "on_timer")
|
||||
{ }
|
||||
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(switch_r);
|
||||
|
||||
required_device<cop400_cpu_device> m_subcpu;
|
||||
required_device<timer_device> m_on_timer;
|
||||
|
||||
void update_display();
|
||||
void shared_write_l(u8 data);
|
||||
void main_write_g(u8 data);
|
||||
void sub_write_g(u8 data);
|
||||
void sub_write_d(u8 data);
|
||||
u8 sub_read_in();
|
||||
|
||||
void mbaskb2(machine_config &config);
|
||||
void msoccer2(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_reset() override;
|
||||
};
|
||||
|
||||
void mbaskb2_state::machine_reset()
|
||||
{
|
||||
hh_cop400_state::machine_reset();
|
||||
m_on_timer->adjust(attotime::from_msec(5));
|
||||
}
|
||||
|
||||
// handlers
|
||||
|
||||
void mbaskb2_state::update_display()
|
||||
{
|
||||
m_display->matrix(~(m_d << 4 | m_g), m_l);
|
||||
}
|
||||
|
||||
void mbaskb2_state::shared_write_l(u8 data)
|
||||
{
|
||||
// L: led data (though it's unlikely that maincpu will write valid led data to it)
|
||||
m_l = m_maincpu->l_r() | m_subcpu->l_r();
|
||||
update_display();
|
||||
}
|
||||
|
||||
void mbaskb2_state::main_write_g(u8 data)
|
||||
{
|
||||
// G1: speaker out
|
||||
m_speaker->level_w(data >> 1 & 1);
|
||||
}
|
||||
|
||||
void mbaskb2_state::sub_write_g(u8 data)
|
||||
{
|
||||
// G: led select (low), input mux
|
||||
m_g = m_inp_mux = data & 0xf;
|
||||
update_display();
|
||||
}
|
||||
|
||||
void mbaskb2_state::sub_write_d(u8 data)
|
||||
{
|
||||
// D: led select (high)
|
||||
m_d = data & 0xf;
|
||||
update_display();
|
||||
}
|
||||
|
||||
u8 mbaskb2_state::sub_read_in()
|
||||
{
|
||||
// IN: multiplexed inputs
|
||||
return read_inputs(3, 0xf);
|
||||
}
|
||||
|
||||
// config
|
||||
|
||||
CUSTOM_INPUT_MEMBER(mbaskb2_state::switch_r)
|
||||
{
|
||||
// The power switch is off-1-2, and the game relies on power-on starting at 1,
|
||||
// otherwise msoccer2 boots up to what looks like a factory test mode.
|
||||
return (m_inputs[3]->read() & 1) | (m_on_timer->enabled() ? 1 : 0);
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START( mbaskb2 )
|
||||
PORT_START("IN.0") // G0 port IN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_16WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_16WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_16WAY
|
||||
|
||||
PORT_START("IN.1") // G1 port IN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Pass")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Shoot")
|
||||
PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.2") // G2 port IN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("Defense: Man")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("Defense: Zone")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("Defense: Press")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(mbaskb2_state, switch_r)
|
||||
|
||||
PORT_START("IN.3")
|
||||
PORT_CONFNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
|
||||
PORT_CONFSETTING( 0x01, "1" )
|
||||
PORT_CONFSETTING( 0x00, "2" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( msoccer2 )
|
||||
PORT_INCLUDE( mbaskb2 )
|
||||
|
||||
PORT_MODIFY("IN.2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("Low/High Kick")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("Score")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("Teammate")
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mbaskb2_state::mbaskb2(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
COP420(config, m_maincpu, 500000); // approximation
|
||||
m_maincpu->set_config(COP400_CKI_DIVISOR_8, COP400_CKO_SYNC_INPUT, false); // guessed
|
||||
m_maincpu->write_g().set(FUNC(mbaskb2_state::main_write_g));
|
||||
m_maincpu->write_l().set(FUNC(mbaskb2_state::shared_write_l));
|
||||
m_maincpu->read_l().set(m_subcpu, FUNC(cop400_cpu_device::l_r));
|
||||
m_maincpu->read_l_tristate().set_constant(0x80);
|
||||
m_maincpu->read_si().set(m_subcpu, FUNC(cop400_cpu_device::so_r));
|
||||
|
||||
COP420(config, m_subcpu, 500000); // same as maincpu
|
||||
m_subcpu->set_config(COP400_CKI_DIVISOR_8, COP400_CKO_SYNC_INPUT, false); // guessed
|
||||
m_subcpu->write_d().set(FUNC(mbaskb2_state::sub_write_d));
|
||||
m_subcpu->write_g().set(FUNC(mbaskb2_state::sub_write_g));
|
||||
m_subcpu->write_l().set(FUNC(mbaskb2_state::shared_write_l));
|
||||
m_subcpu->read_l().set(m_maincpu, FUNC(cop400_cpu_device::l_r));
|
||||
m_subcpu->read_l_tristate().set_constant(0x80);
|
||||
m_subcpu->read_in().set(FUNC(mbaskb2_state::sub_read_in));
|
||||
m_subcpu->read_si().set(m_maincpu, FUNC(cop400_cpu_device::so_r));
|
||||
m_subcpu->read_cko().set(m_maincpu, FUNC(cop400_cpu_device::sk_r));
|
||||
|
||||
config.set_perfect_quantum(m_maincpu);
|
||||
|
||||
TIMER(config, "on_timer").configure_generic(nullptr);
|
||||
|
||||
/* video hardware */
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 7);
|
||||
m_display->set_segmask(0xc0, 0x7f);
|
||||
m_display->set_bri_levels(0.008, 0.04); // offense is brighter
|
||||
config.set_default_layout(layout_mbaskb2);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
}
|
||||
|
||||
void mbaskb2_state::msoccer2(machine_config &config)
|
||||
{
|
||||
mbaskb2(config);
|
||||
config.set_default_layout(layout_msoccer2);
|
||||
}
|
||||
|
||||
// roms
|
||||
|
||||
ROM_START( mbaskb2 )
|
||||
ROM_REGION( 0x0400, "maincpu", 0 )
|
||||
ROM_LOAD( "cop420l_nmp", 0x0000, 0x0400, CRC(afc44378) SHA1(e96435bd1d0b2bea5140efdfe21f4684f2525075) )
|
||||
|
||||
ROM_REGION( 0x0400, "subcpu", 0 )
|
||||
ROM_LOAD( "cop420l_nmq", 0x0000, 0x0400, CRC(70943f6f) SHA1(3f711d8b7c7c5dd13c68bf1ef980d2f784b748f4) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( msoccer2 )
|
||||
ROM_REGION( 0x0400, "maincpu", 0 )
|
||||
ROM_LOAD( "cop420l_nnm", 0x0000, 0x0400, CRC(c9169aca) SHA1(525486e8a18ec6132e53f9be582b2667172230a9) )
|
||||
|
||||
ROM_REGION( 0x0400, "subcpu", 0 )
|
||||
ROM_LOAD( "cop420l_nnk", 0x0000, 0x0400, CRC(a84dd5f4) SHA1(5d269816248319a2bca1708d5022af455d52682d) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Look Alive! Football (model 1998)
|
||||
* COP421L MCU bonded directly to PCB (rom serial HCJ)
|
||||
* COP421L MCU die bonded directly to PCB (rom serial HCJ)
|
||||
* 2 7seg LEDs, LED matrix and overlay mask, 1-bit sound
|
||||
|
||||
For a detailed description, see patent US4582323. 1st-person view versions
|
||||
@ -1256,8 +1456,8 @@ void lafootb_state::lafootb(machine_config &config)
|
||||
// roms
|
||||
|
||||
ROM_START( lafootb )
|
||||
ROM_REGION( 0x0800, "maincpu", 0 )
|
||||
ROM_LOAD( "cop421l-hcj", 0x0000, 0x0400, CRC(a9cc1e94) SHA1(7a39f5a5f10b8a2bd72da3ff3f3fcfaad35ead5f) )
|
||||
ROM_REGION( 0x0400, "maincpu", 0 )
|
||||
ROM_LOAD( "cop421l_hcj", 0x0000, 0x0400, CRC(a9cc1e94) SHA1(7a39f5a5f10b8a2bd72da3ff3f3fcfaad35ead5f) )
|
||||
|
||||
ROM_REGION( 38608, "mask", 0)
|
||||
ROM_LOAD( "lafootb.svg", 0, 38608, CRC(35387445) SHA1(7cd9db170820fc84d47545c3db8d991b2c5f4f7f) )
|
||||
@ -2194,6 +2394,8 @@ CONS( 1980, lchicken, 0, 0, lchicken, lchicken, lchicken_state, e
|
||||
CONS( 1979, funjacks, 0, 0, funjacks, funjacks, funjacks_state, empty_init, "Mattel", "Funtronics: Jacks", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1979, funrlgl, 0, 0, funrlgl, funrlgl, funrlgl_state, empty_init, "Mattel", "Funtronics: Red Light Green Light", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1980, funtag, 0, 0, funtag, funtag, funtag_state, empty_init, "Mattel", "Funtronics: Tag", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1979, mbaskb2, 0, 0, mbaskb2, mbaskb2, mbaskb2_state, empty_init, "Mattel", "Basketball 2 (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1979, msoccer2, 0, 0, msoccer2, msoccer2, mbaskb2_state, empty_init, "Mattel", "Soccer 2 (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1980, lafootb, 0, 0, lafootb, lafootb, lafootb_state, empty_init, "Mattel", "Look Alive! Football", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1981, mdallas, 0, 0, mdallas, mdallas, mdallas_state, empty_init, "Mattel", "Dalla$ (J.R. handheld)", MACHINE_SUPPORTS_SAVE ) // ***
|
||||
|
||||
@ -2203,7 +2405,7 @@ CONS( 1982, bship82, bship, 0, bship82, bship82, bship82_state, e
|
||||
|
||||
CONS( 1979, qkracer, 0, 0, qkracer, qkracer, qkracer_state, empty_init, "National Semiconductor", "QuizKid Racer (COP420 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
|
||||
CONS( 1984, solution, 0, 0, scat, solution, scat_state, empty_init, "SCAT", "The Solution", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
COMP( 1984, solution, 0, 0, scat, solution, scat_state, empty_init, "SCAT", "The Solution", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
|
||||
CONS( 1987, vidchal, 0, 0, vidchal, vidchal, vidchal_state, empty_init, "Select Merchandise", "Video Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
|
||||
|
@ -124,7 +124,7 @@ namespace {
|
||||
|
||||
Mattel Basketball (model 2437)
|
||||
* PCB label: MA 6017/18/19
|
||||
* MM5799 MCU bonded directly to PCB (die label MM4799 C NCX)
|
||||
* MM5799 MCU die bonded directly to PCB (die label MM4799 C NCX)
|
||||
* 4001 and 74145, also bonded to PCB
|
||||
* 2-digit 7seg led display, 21 leds, 2-bit sound
|
||||
|
||||
@ -333,7 +333,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
National Semiconductor QuizKid Racer (MM5799 version)
|
||||
* MM5799 MCU bonded directly to PCB (die label MM4799 C DUZ)
|
||||
* MM5799 MCU die bonded directly to PCB (die label MM4799 C DUZ)
|
||||
* DS8874 LED driver, die bonded to PCB as well
|
||||
* 8-digit 7seg led display(1 custom digit), 1 green led, no sound
|
||||
* optional link cable to compete with another player (see patent US4051605)
|
||||
@ -488,7 +488,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
National Semiconductor QuizKid Speller
|
||||
* MM5799 MCU bonded directly to PCB (die label MM4799 C NDF)
|
||||
* MM5799 MCU die bonded directly to PCB (die label MM4799 C NDF)
|
||||
* 2-digit 7seg led display, green led, red led, no sound
|
||||
|
||||
The manual included 99 pictures for matching the words, with increased
|
||||
|
@ -107,7 +107,7 @@ BF-803 cs SM511 Balloon Fight "
|
||||
YM-901-S* x SM511 Super Mario Bros. "
|
||||
|
||||
RGW-001 (2010 Ball remake) is on different hardware, ATmega169PV MCU.
|
||||
The "Mini Classics" keychains are by Nelsonic, not Nintendo.
|
||||
The "Mini Classics" keychains are by Stadlbauer, not Nintendo.
|
||||
|
||||
Bassmate Computer (BM-501) is on identical hardware as G&W Multi Screen,
|
||||
but it's not part of the game series.
|
||||
|
115
src/mame/layout/mbaskb2.lay
Normal file
115
src/mame/layout/mbaskb2.lay
Normal file
@ -0,0 +1,115 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
|
||||
<element name="blackd"><disk><color red="0" green="0" blue="0" /></disk></element>
|
||||
<element name="white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
<element name="whited"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element>
|
||||
<element name="red"><rect><color red="0.7" green="0.25" blue="0.05" /></rect></element>
|
||||
<element name="blue"><rect><color red="0.15" green="0.6" blue="0.8" /></rect></element>
|
||||
<element name="blued"><disk><color red="0.15" green="0.6" blue="0.8" /></disk></element>
|
||||
<element name="orange"><rect><color red="0.6" green="0.35" blue="0.1" /></rect></element>
|
||||
|
||||
<element name="line30">
|
||||
<image><data><![CDATA[
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100" height="100">
|
||||
<rect width="200" height="20" x="0" y="0" transform="rotate(30.0)" fill="#000000" />
|
||||
</svg>
|
||||
]]></data></image>
|
||||
</element>
|
||||
|
||||
<element name="text_l1">
|
||||
<rect><color red="0" green="0" blue="0" /></rect>
|
||||
<text string="VISITOR"><color red="0.8" green="0.8" blue="0.8" /></text>
|
||||
</element>
|
||||
<element name="text_l2">
|
||||
<rect><color red="0" green="0" blue="0" /></rect>
|
||||
<text string="HOME"><color red="0.8" green="0.8" blue="0.8" /></text>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect state="0"><color red="0.1" green="0.01" blue="0.015" /></rect>
|
||||
<rect state="1"><color red="0.5" green="0.05" blue="0.075" /></rect>
|
||||
<rect state="2"><color red="1.0" green="0.1" blue="0.15" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="12" right="128" top="3.5" bottom="104" />
|
||||
|
||||
<!-- bezel -->
|
||||
<element ref="blue"><bounds x="33" y="8" width="74" height="37" /></element>
|
||||
<element ref="blued"><bounds x="33" y="8" width="74" height="74" /></element>
|
||||
<element ref="black"><bounds x="34" y="8" width="72" height="37" /></element>
|
||||
<element ref="blackd"><bounds x="34" y="9" width="72" height="72" /></element>
|
||||
|
||||
<element ref="red"><bounds x="50" y="19" width="40" height="46.5" /></element>
|
||||
<element ref="black"><bounds x="51" y="19" width="38" height="47" /></element>
|
||||
<element ref="whited"><bounds x="58" y="54" width="24" height="24" /></element>
|
||||
<element ref="blackd"><bounds x="59" y="55" width="22" height="22" /></element>
|
||||
<element ref="black"><bounds x="52" y="64.6" width="36" height="1.8" /></element>
|
||||
<element ref="red"><bounds x="50" y="65" width="40" height="1" /></element>
|
||||
|
||||
<element ref="black"><bounds x="69.5" y="52" width="1" height="5" /></element>
|
||||
<element ref="line30"><bounds x="62" y="52.75" width="5" height="5" /><orientation rotate="90" flipx="yes" /></element>
|
||||
<element ref="line30"><bounds x="73" y="52.75" width="5" height="5" /><orientation rotate="90" /></element>
|
||||
<element ref="line30"><bounds x="58" y="58" width="5" height="5" /></element>
|
||||
<element ref="line30"><bounds x="77" y="58" width="5" height="5" /><orientation flipx="yes" /></element>
|
||||
|
||||
<element ref="white"><bounds x="10" y="10" width="10" height="100" /></element>
|
||||
<element ref="white"><bounds x="120" y="10" width="10" height="100" /></element>
|
||||
<element ref="white"><bounds x="10" y="10" width="120" height="10" /></element>
|
||||
<element ref="white"><bounds x="10" y="96" width="120" height="10" /></element>
|
||||
|
||||
<element ref="text_l1"><bounds x="20" y="97" width="20" height="4" /></element>
|
||||
<element ref="text_l2"><bounds x="100" y="97" width="20" height="4" /></element>
|
||||
|
||||
<element ref="orange"><bounds x="41" y="97" width="58" height="15" /></element>
|
||||
<element ref="orange"><bounds x="5" y="102" width="130" height="15" /></element>
|
||||
<element ref="orange"><bounds x="5" y="0" width="14" height="115" /></element>
|
||||
<element ref="orange"><bounds x="121" y="0" width="14" height="115" /></element>
|
||||
<element ref="orange"><bounds x="5" y="0" width="130" height="19" /></element>
|
||||
|
||||
<element ref="white"><bounds x="59" y="0" width="22" height="19.5" /></element>
|
||||
<element ref="black"><bounds x="60" y="0" width="20" height="19" /></element>
|
||||
|
||||
<element ref="whited"><bounds x="64.5" y="16" width="11" height="7" /></element>
|
||||
<element ref="blackd"><bounds x="65.5" y="17" width="9" height="5" /></element>
|
||||
|
||||
<element ref="black"><bounds x="0" y="0" width="52" height="12" /></element>
|
||||
<element ref="black"><bounds x="88" y="0" width="52" height="12" /></element>
|
||||
<element ref="black"><bounds x="0" y="0" width="12" height="120" /></element>
|
||||
<element ref="black"><bounds x="128" y="0" width="12" height="120" /></element>
|
||||
<element ref="black"><bounds x="0" y="104" width="140" height="120" /></element>
|
||||
<element ref="black"><bounds x="-1" y="-1" width="150" height="4.5" /></element>
|
||||
|
||||
<!-- leds -->
|
||||
<element name="digit6" ref="digit"><bounds x="63.25" y="6" width="6" height="8" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="70.75" y="6" width="6" height="8" /></element>
|
||||
|
||||
<element name="5.3" ref="led"><bounds x="69" y="19.125" width="2" height="0.75" /></element>
|
||||
|
||||
<repeat count="5">
|
||||
<param name="y" start="30" increment="13.8125" />
|
||||
<param name="i1" start="4" increment="-1" />
|
||||
|
||||
<repeat count="7">
|
||||
<param name="x" start="27" increment="14" />
|
||||
<param name="i2" start="0" increment="1" />
|
||||
<element name="~i1~.~i2~" ref="led"><bounds x="~x~" y="~y~" width="2" height="0.75" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
115
src/mame/layout/msoccer2.lay
Normal file
115
src/mame/layout/msoccer2.lay
Normal file
@ -0,0 +1,115 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
|
||||
<element name="blackd"><disk><color red="0" green="0" blue="0" /></disk></element>
|
||||
<element name="white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
<element name="whited"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element>
|
||||
<element name="dark"><rect><color red="0.10" green="0.11" blue="0.10" /></rect></element>
|
||||
<element name="darkd"><disk><color red="0.10" green="0.11" blue="0.10" /></disk></element>
|
||||
<element name="green"><rect><color red="0.2" green="0.55" blue="0.1" /></rect></element>
|
||||
|
||||
<element name="text_l1">
|
||||
<rect><color red="0" green="0" blue="0" /></rect>
|
||||
<text string="VISITOR"><color red="0.8" green="0.8" blue="0.8" /></text>
|
||||
</element>
|
||||
<element name="text_l2">
|
||||
<rect><color red="0" green="0" blue="0" /></rect>
|
||||
<text string="HOME"><color red="0.8" green="0.8" blue="0.8" /></text>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect state="0"><color red="0.1" green="0.01" blue="0.015" /></rect>
|
||||
<rect state="1"><color red="0.5" green="0.05" blue="0.075" /></rect>
|
||||
<rect state="2"><color red="1.0" green="0.1" blue="0.15" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="10" right="130" top="0" bottom="105" />
|
||||
|
||||
<!-- bezel -->
|
||||
<element ref="darkd"><bounds x="34" y="48" width="19" height="19" /></element>
|
||||
<element ref="blackd"><bounds x="35" y="49" width="17" height="17" /></element>
|
||||
<element ref="darkd"><bounds x="60.5" y="48" width="19" height="19" /></element>
|
||||
<element ref="blackd"><bounds x="61.5" y="49" width="17" height="17" /></element>
|
||||
<element ref="darkd"><bounds x="87" y="48" width="19" height="19" /></element>
|
||||
<element ref="blackd"><bounds x="88" y="49" width="17" height="17" /></element>
|
||||
|
||||
<element ref="dark"><bounds x="19" y="31" width="27" height="53" /></element>
|
||||
<element ref="black"><bounds x="19" y="32" width="26" height="51" /></element>
|
||||
<element ref="dark"><bounds x="94" y="31" width="27" height="53" /></element>
|
||||
<element ref="black"><bounds x="95" y="32" width="26" height="51" /></element>
|
||||
|
||||
<element ref="dark"><bounds x="19" y="45.5" width="12" height="24" /></element>
|
||||
<element ref="black"><bounds x="19" y="46.5" width="11" height="22" /></element>
|
||||
<element ref="dark"><bounds x="109" y="45.5" width="12" height="24" /></element>
|
||||
<element ref="black"><bounds x="110" y="46.5" width="11" height="22" /></element>
|
||||
|
||||
<element ref="whited"><bounds x="14.5" y="14.5" width="10" height="10" /></element>
|
||||
<element ref="blackd"><bounds x="15.5" y="15.5" width="8" height="8" /></element>
|
||||
<element ref="whited"><bounds x="115.5" y="14.5" width="10" height="10" /></element>
|
||||
<element ref="blackd"><bounds x="116.5" y="15.5" width="8" height="8" /></element>
|
||||
<element ref="whited"><bounds x="14.5" y="90.5" width="10" height="10" /></element>
|
||||
<element ref="blackd"><bounds x="15.5" y="91.5" width="8" height="8" /></element>
|
||||
<element ref="whited"><bounds x="115.5" y="90.5" width="10" height="10" /></element>
|
||||
<element ref="blackd"><bounds x="116.5" y="91.5" width="8" height="8" /></element>
|
||||
|
||||
<element ref="white"><bounds x="18" y="18" width="104" height="2" /></element>
|
||||
<element ref="white"><bounds x="18" y="18" width="2" height="79" /></element>
|
||||
<element ref="white"><bounds x="120" y="18" width="2" height="79" /></element>
|
||||
<element ref="white"><bounds x="18" y="95" width="104" height="2" /></element>
|
||||
|
||||
<element ref="green"><bounds x="1" y="1" width="138" height="18" /></element>
|
||||
<element ref="green"><bounds x="1" y="1" width="18" height="115" /></element>
|
||||
<element ref="green"><bounds x="1" y="96" width="138" height="18" /></element>
|
||||
<element ref="green"><bounds x="121" y="1" width="18" height="115" /></element>
|
||||
|
||||
<element ref="text_l1"><bounds x="25" y="98.5" width="20" height="4" /></element>
|
||||
<element ref="text_l2"><bounds x="95" y="98.5" width="20" height="4" /></element>
|
||||
|
||||
<element ref="white"><bounds x="13" y="48.5" width="6.5" height="18" /></element>
|
||||
<element ref="green"><bounds x="14" y="49.5" width="5" height="16" /></element>
|
||||
<element ref="white"><bounds x="120.5" y="48.5" width="6.5" height="18" /></element>
|
||||
<element ref="green"><bounds x="121" y="49.5" width="5" height="16" /></element>
|
||||
|
||||
<element ref="black"><bounds x="0" y="0" width="140" height="10" /></element>
|
||||
<element ref="black"><bounds x="0" y="0" width="10" height="120" /></element>
|
||||
<element ref="black"><bounds x="0" y="105" width="140" height="20" /></element>
|
||||
<element ref="black"><bounds x="130" y="0" width="10" height="120" /></element>
|
||||
|
||||
<element ref="white"><bounds x="54" y="-9.5" width="32" height="29" /></element>
|
||||
<element ref="black"><bounds x="55" y="13" width="30" height="6" /></element>
|
||||
<element ref="black"><bounds x="55" y="-10" width="30" height="22" /></element>
|
||||
<element ref="black"><bounds x="0" y="-10" width="140" height="10" /></element>
|
||||
|
||||
<!-- leds -->
|
||||
<element name="digit6" ref="digit"><bounds x="63.25" y="2" width="6" height="8" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="70.75" y="2" width="6" height="8" /></element>
|
||||
|
||||
<element name="5.3" ref="led"><bounds x="69" y="15.625" width="2" height="0.75" /></element>
|
||||
|
||||
<repeat count="5">
|
||||
<param name="y" start="25" increment="16.0625" />
|
||||
<param name="i1" start="4" increment="-1" />
|
||||
|
||||
<repeat count="7">
|
||||
<param name="x" start="25" increment="14.6666" />
|
||||
<param name="i2" start="0" increment="1" />
|
||||
<element name="~i1~.~i2~" ref="led"><bounds x="~x~" y="~y~" width="2" height="0.75" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -16408,7 +16408,9 @@ h2hsoccerc // Coleco
|
||||
lafootb // Mattel
|
||||
lchicken // LJN
|
||||
lightfgt // Milton Bradley
|
||||
mbaskb2 // Mattel
|
||||
mdallas // Mattel
|
||||
msoccer2 // Mattel
|
||||
plus1 // Milton Bradley
|
||||
qkracer // National Semiconductor
|
||||
solution // SCAT
|
||||
|
Loading…
Reference in New Issue
Block a user