New working clones

------------------
Computerized Arcade (COP421 version, model 60-2159A) [hap, Sean Riddle]
This commit is contained in:
hap 2023-05-29 23:59:02 +02:00
parent f85946fbdf
commit a5217a6917
6 changed files with 586 additions and 51 deletions

View File

@ -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

View File

@ -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));

View File

@ -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 )

View File

@ -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 )

View File

@ -0,0 +1,419 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<!-- define elements -->
<element name="white"><rect><color red="0.8" green="0.8" blue="0.81" /></rect></element>
<element name="text_repeat">
<rect><color red="0.8" green="0.8" blue="0.81" /></rect>
<text string="REPEAT-2"><color red="0.6" green="0.6" blue="0.6" /></text>
</element>
<element name="text_space">
<rect><color red="0.8" green="0.8" blue="0.81" /></rect>
<text string="SPACE-2"><color red="0.6" green="0.6" blue="0.6" /></text>
</element>
<element name="text_start">
<rect><color red="0.8" green="0.8" blue="0.81" /></rect>
<text string="START"><color red="0.6" green="0.6" blue="0.6" /></text>
</element>
<element name="text_select">
<rect><color red="0.8" green="0.8" blue="0.81" /></rect>
<text string="SELECT"><color red="0.6" green="0.6" blue="0.6" /></text>
</element>
<element name="text_play">
<rect><color red="0.8" green="0.8" blue="0.81" /></rect>
<text string="PLAY-2/HIT-7"><color red="0.6" green="0.6" blue="0.6" /></text>
</element>
<element name="buto" defstate="0">
<rect>
<bounds xc="0" yc="0" width="10" height="10" />
<color red="0.1" green="0.1" blue="0.1" />
</rect>
<rect state="0">
<bounds xc="0" yc="0" width="8.5" height="8.5" />
<color red="0.9" green="0.65" blue="0.3" />
</rect>
<rect state="1">
<bounds xc="0" yc="0" width="8.5" height="8.5" />
<color red="0.77" green="0.55" blue="0.26" />
</rect>
</element>
<element name="butb">
<rect>
<bounds xc="0" yc="0" width="10" height="10" />
<color red="0.1" green="0.1" blue="0.1" />
</rect>
<rect state="0">
<bounds xc="0" yc="0" width="8.5" height="8.5" />
<color red="0.25" green="0.25" blue="0.26" />
</rect>
<rect state="1">
<bounds xc="0" yc="0" width="8.5" height="8.5" />
<color red="0.42" green="0.42" blue="0.44" />
</rect>
</element>
<element name="mask1" defstate="0">
<rect state="0"><color red="0" green="0" blue="0" /></rect>
<rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect>
</element>
<element name="mask2" defstate="0">
<rect state="0">
<color red="0" green="0" blue="0" />
<bounds x="0.94" y="0.0" width="0.06" height="1.0" />
</rect>
<rect state="0">
<color red="0" green="0" blue="0" />
<bounds x="0.0" y="0.94" width="1.0" height="0.06" />
</rect>
</element>
<element name="mask3" defstate="0">
<rect state="0">
<color red="0" green="0" blue="0" />
<bounds x="0.94" y="0.0" width="0.06" height="0.06" />
</rect>
<rect state="0">
<color red="0" green="0" blue="0" />
<bounds x="0.0" y="0.94" width="0.06" height="0.06" />
</rect>
</element>
<element name="mask4" defstate="0">
<rect state="1">
<color red="0" green="0" blue="0" />
<bounds x="0.0" y="0.0" width="0.06" height="1.0" />
</rect>
<rect state="1">
<color red="0" green="0" blue="0" />
<bounds x="0.0" y="0.0" width="1.0" height="0.06" />
</rect>
</element>
<element name="button1"><rect state="0"><color red="0.5" green="0.1" blue="1.0" /></rect></element>
<element name="button2"><rect state="0"><color red="1.0" green="0.75" blue="0.2" /></rect></element>
<element name="button3"><rect state="0"><color red="1.0" green="0.2" blue="0.8" /></rect></element>
<element name="button4"><rect state="0"><color red="0.1" green="0.7" blue="0.1" /></rect></element>
<element name="button5"><rect state="0"><color red="0.25" green="0.25" blue="1.0" /></rect></element>
<element name="button6"><rect state="0"><color red="0.2" green="0.9" blue="1.0" /></rect></element>
<element name="button7"><rect state="0"><color red="0.9" green="0.9" blue="0.2" /></rect></element>
<element name="button8"><rect state="0"><color red="1.0" green="0.42" blue="0.2" /></rect></element>
<element name="button9"><rect state="0"><color red="0.53" green="1.0" blue="0.5" /></rect></element>
<element name="button10"><rect state="0"><color red="1.0" green="0.23" blue="0.25" /></rect></element>
<element name="button11"><rect state="0"><color red="0.7" green="0.5" blue="1.0" /></rect></element>
<element name="button12"><rect state="0"><color red="0.66" green="0.25" blue="0.1" /></rect></element>
<element name="text_g1"><text string="ORGAN" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g2"><text string="SONG WRITER" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g3"><text string="REPEAT" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g4"><text string="TORPEDO" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g5"><text string="TAG-IT" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g6"><text string="ROULETTE" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g7"><text string="BASEBALL" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g8"><text string="REPEAT PLUS" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g9"><text string="TREASURE HUNT" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g10"><text string="COMPETE" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g11"><text string="FIRE AWAY" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_g12"><text string="HIDE 'N SEEK" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_b1"><text string="1"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b2"><text string="2"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b3"><text string="3"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b4"><text string="4"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b5"><text string="5"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b6"><text string="6"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b7"><text string="7"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b8"><text string="8"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b9"><text string="9"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b10"><text string="10"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b11"><text string="11"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<element name="text_b12"><text string="12"><color red="0.94" green="0.94" blue="0.94" /></text></element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="0" right="42" top="0" bottom="75" />
<element ref="white"><bounds x="0" y="0" width="42" height="6" /></element>
<element ref="white"><bounds x="0" y="69" width="42" height="6" /></element>
<!-- misc buttons -->
<element ref="buto" inputtag="IN.4" inputmask="0x01"><bounds x="12" y="2" width="2" height="2" /></element>
<element ref="buto" inputtag="IN.3" inputmask="0x01"><bounds x="28" y="2" width="2" height="2" /></element>
<element ref="text_repeat"><bounds x="8" y="0.2" width="10" height="1.4" /></element>
<element ref="text_space"><bounds x="24" y="0.2" width="10" height="1.4" /></element>
<element ref="butb" inputtag="IN.3" inputmask="0x08"><bounds x="12" y="71" width="2" height="2" /></element>
<element ref="butb" inputtag="IN.3" inputmask="0x02"><bounds x="20" y="71" width="2" height="2" /></element>
<element ref="butb" inputtag="IN.3" inputmask="0x04"><bounds x="28" y="71" width="2" height="2" /></element>
<element ref="text_start"><bounds x="8" y="73.2" width="10" height="1.4" /></element>
<element ref="text_select"><bounds x="16" y="73.2" width="10" height="1.4" /></element>
<element ref="text_play"><bounds x="24" y="73.2" width="10" height="1.4" /></element>
<!-- coloured lighted buttons -->
<!-- row 1 5 9 -->
<element ref="button1">
<bounds x="3" y="9" width="10" height="12" />
</element>
<element name="0.0" ref="mask1">
<bounds x="3" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.0" inputmask="0x01">
<bounds x="3" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.0" inputmask="0x01">
<bounds x="3" y="9" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.0" inputmask="0x01">
<bounds x="3" y="9" width="10" height="12" />
</element>
<element ref="button5">
<bounds x="16" y="9" width="10" height="12" />
</element>
<element name="1.0" ref="mask1">
<bounds x="16" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.1" inputmask="0x01">
<bounds x="16" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.1" inputmask="0x01">
<bounds x="16" y="9" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.1" inputmask="0x01">
<bounds x="16" y="9" width="10" height="12" />
</element>
<element ref="button9">
<bounds x="29" y="9" width="10" height="12" />
</element>
<element name="2.0" ref="mask1">
<bounds x="29" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.2" inputmask="0x01">
<bounds x="29" y="9" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.2" inputmask="0x01">
<bounds x="29" y="9" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.2" inputmask="0x01">
<bounds x="29" y="9" width="10" height="12" />
</element>
<!-- row 2 6 10 -->
<element ref="button2">
<bounds x="3" y="24" width="10" height="12" />
</element>
<element name="0.1" ref="mask1">
<bounds x="3" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.0" inputmask="0x02">
<bounds x="3" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.0" inputmask="0x02">
<bounds x="3" y="24" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.0" inputmask="0x02">
<bounds x="3" y="24" width="10" height="12" />
</element>
<element ref="button6">
<bounds x="16" y="24" width="10" height="12" />
</element>
<element name="1.1" ref="mask1">
<bounds x="16" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.1" inputmask="0x02">
<bounds x="16" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.1" inputmask="0x02">
<bounds x="16" y="24" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.1" inputmask="0x02">
<bounds x="16" y="24" width="10" height="12" />
</element>
<element ref="button10">
<bounds x="29" y="24" width="10" height="12" />
</element>
<element name="2.1" ref="mask1">
<bounds x="29" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.2" inputmask="0x02">
<bounds x="29" y="24" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.2" inputmask="0x02">
<bounds x="29" y="24" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.2" inputmask="0x02">
<bounds x="29" y="24" width="10" height="12" />
</element>
<!-- row 3 7 11 -->
<element ref="button3">
<bounds x="3" y="39" width="10" height="12" />
</element>
<element name="0.2" ref="mask1">
<bounds x="3" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.0" inputmask="0x04">
<bounds x="3" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.0" inputmask="0x04">
<bounds x="3" y="39" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.0" inputmask="0x04">
<bounds x="3" y="39" width="10" height="12" />
</element>
<element ref="button7">
<bounds x="16" y="39" width="10" height="12" />
</element>
<element name="1.2" ref="mask1">
<bounds x="16" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.1" inputmask="0x04">
<bounds x="16" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.1" inputmask="0x04">
<bounds x="16" y="39" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.1" inputmask="0x04">
<bounds x="16" y="39" width="10" height="12" />
</element>
<element ref="button11">
<bounds x="29" y="39" width="10" height="12" />
</element>
<element name="2.2" ref="mask1">
<bounds x="29" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.2" inputmask="0x04">
<bounds x="29" y="39" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.2" inputmask="0x04">
<bounds x="29" y="39" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.2" inputmask="0x04">
<bounds x="29" y="39" width="10" height="12" />
</element>
<!-- row 4 8 12 -->
<element ref="button4">
<bounds x="3" y="54" width="10" height="12" />
</element>
<element name="0.3" ref="mask1">
<bounds x="3" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.0" inputmask="0x08">
<bounds x="3" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.0" inputmask="0x08">
<bounds x="3" y="54" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.0" inputmask="0x08">
<bounds x="3" y="54" width="10" height="12" />
</element>
<element ref="button8">
<bounds x="16" y="54" width="10" height="12" />
</element>
<element name="1.3" ref="mask1">
<bounds x="16" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.1" inputmask="0x08">
<bounds x="16" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.1" inputmask="0x08">
<bounds x="16" y="54" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.1" inputmask="0x08">
<bounds x="16" y="54" width="10" height="12" />
</element>
<element ref="button12">
<bounds x="29" y="54" width="10" height="12" />
</element>
<element name="2.3" ref="mask1">
<bounds x="29" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask2" inputtag="IN.2" inputmask="0x08">
<bounds x="29" y="54" width="10" height="12" />
<color alpha="0.4" />
</element>
<element ref="mask3" inputtag="IN.2" inputmask="0x08">
<bounds x="29" y="54" width="10" height="12" />
</element>
<element ref="mask4" inputtag="IN.2" inputmask="0x08">
<bounds x="29" y="54" width="10" height="12" />
</element>
<!-- gamename labels -->
<element ref="text_g1"><bounds x="3.8" y="21.8" width="12" height="1.4" /></element>
<element ref="text_g5"><bounds x="16.8" y="21.8" width="12" height="1.4" /></element>
<element ref="text_g9"><bounds x="29.8" y="21.8" width="12" height="1.4" /></element>
<element ref="text_g2"><bounds x="3.8" y="36.8" width="12" height="1.4" /></element>
<element ref="text_g6"><bounds x="16.8" y="36.8" width="12" height="1.4" /></element>
<element ref="text_g10"><bounds x="29.8" y="36.8" width="12" height="1.4" /></element>
<element ref="text_g3"><bounds x="3.8" y="51.8" width="12" height="1.4" /></element>
<element ref="text_g7"><bounds x="16.8" y="51.8" width="12" height="1.4" /></element>
<element ref="text_g11"><bounds x="29.8" y="51.8" width="12" height="1.4" /></element>
<element ref="text_g4"><bounds x="3.8" y="66.8" width="12" height="1.4" /></element>
<element ref="text_g8"><bounds x="16.8" y="66.8" width="12" height="1.4" /></element>
<element ref="text_g12"><bounds x="29.8" y="66.8" width="12" height="1.4" /></element>
<!-- number labels -->
<element ref="text_b1"><bounds x="12.8" y="20.8" width="2" height="2" /></element>
<element ref="text_b5"><bounds x="25.8" y="20.8" width="2" height="2" /></element>
<element ref="text_b9"><bounds x="38.8" y="20.8" width="2" height="2" /></element>
<element ref="text_b2"><bounds x="12.8" y="35.8" width="2" height="2" /></element>
<element ref="text_b6"><bounds x="25.8" y="35.8" width="2" height="2" /></element>
<element ref="text_b10"><bounds x="38.8" y="35.8" width="2" height="2" /></element>
<element ref="text_b3"><bounds x="12.8" y="50.8" width="2" height="2" /></element>
<element ref="text_b7"><bounds x="25.8" y="50.8" width="2" height="2" /></element>
<element ref="text_b11"><bounds x="38.8" y="50.8" width="2" height="2" /></element>
<element ref="text_b4"><bounds x="12.8" y="65.8" width="2" height="2" /></element>
<element ref="text_b8"><bounds x="25.8" y="65.8" width="2" height="2" /></element>
<element ref="text_b12"><bounds x="38.8" y="65.8" width="2" height="2" /></element>
</view>
</mamelayout>

View File

@ -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