micropin.c : pentacup can coin up & start, but no inputs.

This commit is contained in:
Robbbert 2014-09-25 14:26:14 +00:00
parent 3430a8d853
commit 67b323374c
2 changed files with 380 additions and 187 deletions

View File

@ -6,12 +6,19 @@
Micropin : Pentacup
First version used a 6800, but a later revision used a 8085A.
ToDo:
- Rev.2 no work done as yet; no manuals or schematics available
- Rev.1 can insert coin and start a game, but no inputs
- Rev.1 check sound; pinmame sound is higher pitched
- Mechanical sounds
**************************************************************************************/
#include "machine/genpin.h"
#include "cpu/m6800/m6800.h"
#include "cpu/i8085/i8085.h"
#include "machine/6821pia.h"
#include "sound/beep.h"
#include "micropin.lh"
class micropin_state : public genpin_class
@ -22,30 +29,43 @@ public:
, m_v1cpu(*this, "v1cpu")
, m_v2cpu(*this, "v2cpu")
, m_pia51(*this, "pia51")
, m_beep(*this, "beeper")
{ }
DECLARE_READ8_MEMBER(pia51_r);
DECLARE_WRITE8_MEMBER(pia51_w);
DECLARE_READ8_MEMBER(p51b_r);
DECLARE_WRITE8_MEMBER(sol_w);
DECLARE_READ8_MEMBER(sw_r);
DECLARE_WRITE_LINE_MEMBER(p50ca2_w);
DECLARE_WRITE8_MEMBER(sw_w);
DECLARE_WRITE8_MEMBER(lamp_w);
DECLARE_WRITE8_MEMBER(p50a_w);
DECLARE_WRITE8_MEMBER(p50b_w);
DECLARE_WRITE8_MEMBER(p51a_w);
DECLARE_DRIVER_INIT(micropin);
TIMER_DEVICE_CALLBACK_MEMBER(timer_a);
private:
UINT8 m_row;
UINT8 m_counter;
UINT8 m_beep_time;
UINT8 m_led_time[8];
virtual void machine_reset();
optional_device<m6800_cpu_device> m_v1cpu;
optional_device<i8085a_cpu_device> m_v2cpu;
optional_device<pia6821_device> m_pia51;
optional_device<beep_device> m_beep;
};
static ADDRESS_MAP_START( micropin_map, AS_PROGRAM, 8, micropin_state )
ADDRESS_MAP_GLOBAL_MASK(0x7fff) // A10,11,15 not used
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x01ff) AM_RAM AM_SHARE("nvram") // 4x 6561 RAM
AM_RANGE(0x4000, 0x4005) AM_READWRITE(sw_r,sw_w)
AM_RANGE(0x4000, 0x4005) AM_WRITE(sw_w)
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("X1")
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("X2")
AM_RANGE(0x4002, 0x4002) AM_READ_PORT("X3")
AM_RANGE(0x4003, 0x4003) AM_READ_PORT("X4")
AM_RANGE(0x4004, 0x4004) AM_READ_PORT("X5")
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("pia50", pia6821_device, read, write)
AM_RANGE(0x5100, 0x5103) AM_READWRITE(pia51_r,pia51_w)
AM_RANGE(0x5200, 0x5200) AM_WRITE(sol_w);
@ -67,6 +87,60 @@ static ADDRESS_MAP_START( pentacup2_io, AS_IO, 8, micropin_state )
ADDRESS_MAP_END
static INPUT_PORTS_START( micropin )
PORT_START("X0")
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNUSED ) // 20=volume-up; 40=volume-down button
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_TILT ) PORT_NAME("Tilt Alarm")
PORT_START("X1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Tilt 1")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Tilt 2")
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Tilt 3")
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Tilt 4")
PORT_START("X2")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K)
PORT_START("X3")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_W)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_I)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_O)
PORT_START("X4")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
PORT_START("X5")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD)
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD)
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD)
INPUT_PORTS_END
READ8_MEMBER( micropin_state::pia51_r )
@ -79,42 +153,113 @@ WRITE8_MEMBER( micropin_state::pia51_w )
m_pia51->write(space, offset, data ^ 0xff);
}
// lamps and disp strobes
WRITE8_MEMBER( micropin_state::lamp_w )
{
m_row = data & 15;
m_counter = 0;
// lamps
}
// solenoids
WRITE8_MEMBER( micropin_state::sol_w )
{
}
READ8_MEMBER( micropin_state::sw_r )
{
return 0xff;
}
// offs 0,5 = solenoids; else lamps
WRITE8_MEMBER( micropin_state::sw_w )
{
}
WRITE8_MEMBER( micropin_state::p50a_w )
{
static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7448
output_set_digit_value(m_row, patterns[data&15]);
output_set_digit_value(m_row+20, patterns[data>>4]);
m_counter++;
if (m_counter == 1)
{
static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7448
output_set_digit_value(m_row, patterns[data&15]);
output_set_digit_value(m_row+20, patterns[data>>4]);
}
}
WRITE8_MEMBER( micropin_state::p50b_w )
{
static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7448
output_set_digit_value(m_row+40, patterns[data&15]);
output_set_digit_value(m_row+60, patterns[data>>4]);
m_counter++;
if (m_counter == 2)
{
static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7448
output_set_digit_value(m_row+40, patterns[data&15]);
output_set_digit_value(m_row+60, patterns[data>>4]);
}
}
// round LEDs on score panel
WRITE_LINE_MEMBER( micropin_state::p50ca2_w )
{
if ((!state) && (m_row < 8))
{
char wordnum[8];
sprintf(wordnum,"led%d", m_row);
m_led_time[m_row] = 48; // 12 gives blinking leds; they blink in pinmame but is it correct?
output_set_value(wordnum, 0); // turn on
}
}
// sound & volume
// Sound consists of a 16-resistor chain controlling the frequency of a NE555.
// The sound never gets muted, but is turned down with an electronic volume control,
// which must be the most complex circuit in this machine. We use a beeper to
// make the tones, and turn it off if no new commands arrive within .1 second.
WRITE8_MEMBER( micropin_state::p51a_w )
{
static UINT16 frequency[16] = { 387, 435, 488, 517, 581, 652, 691, 775, 870, 977, 1035, 1161, 1304, 1381, 1550, 1740 };
m_beep->set_frequency(frequency[data & 15]);
m_beep_time = 10; // number of 10ms intervals before it is silenced
m_beep->set_state(1);
}
READ8_MEMBER( micropin_state::p51b_r )
{
return ioport("X0")->read();
}
TIMER_DEVICE_CALLBACK_MEMBER( micropin_state::timer_a )
{
// turn off beeper if it has timed out
if (m_beep_time)
{
m_beep_time--;
if (m_beep_time == 0)
m_beep->set_state(0);
}
// turn off round leds that aren't being refreshed
UINT8 i;
char wordnum[8];
for (i = 0; i < 8; i++)
{
if (m_led_time[i])
{
m_led_time[i]--;
if (m_led_time[i] == 0)
{
sprintf(wordnum,"led%d", i);
output_set_value(wordnum, 1); // turn off
}
}
}
}
void micropin_state::machine_reset()
{
UINT8 i;
m_row = 0;
m_beep_time = 5;
for (i = 0; i < 8; i++)
m_led_time[i] = 5;
}
DRIVER_INIT_MEMBER( micropin_state, micropin )
@ -125,32 +270,37 @@ static MACHINE_CONFIG_START( micropin, micropin_state )
/* basic machine hardware */
MCFG_CPU_ADD("v1cpu", M6800, XTAL_2MHz / 2)
MCFG_CPU_PROGRAM_MAP(micropin_map)
MCFG_CPU_PERIODIC_INT_DRIVER(micropin_state, irq0_line_hold, 500)
MCFG_CPU_PERIODIC_INT_DRIVER(micropin_state, irq0_line_hold, 500)
MCFG_NVRAM_ADD_0FILL("nvram")
/* Sound */
MCFG_FRAGMENT_ADD( genpin_audio )
/* Video */
MCFG_DEFAULT_LAYOUT(layout_micropin)
/* Sound */
MCFG_FRAGMENT_ADD( genpin_audio )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* Devices */
MCFG_DEVICE_ADD("pia50", PIA6821, 0)
//MCFG_PIA_READPA_HANDLER(READ8(micropin_state, p50a_r))
MCFG_PIA_WRITEPA_HANDLER(WRITE8(micropin_state, p50a_w))
//MCFG_PIA_READPB_HANDLER(READ8(micropin_state, p50b_r))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(micropin_state, p50b_w))
//MCFG_PIA_CA2_HANDLER(WRITELINE(micropin_state, p50ca2_w))
MCFG_PIA_CA2_HANDLER(WRITELINE(micropin_state, p50ca2_w))
//MCFG_PIA_CB2_HANDLER(WRITELINE(micropin_state, p50cb2_w))
MCFG_DEVICE_ADD("pia51", PIA6821, 0)
//MCFG_PIA_READPA_HANDLER(READ8(micropin_state, p51a_r))
//MCFG_PIA_WRITEPA_HANDLER(WRITE8(micropin_state, p51a_w))
//MCFG_PIA_READPB_HANDLER(READ8(micropin_state, p51b_r))
MCFG_PIA_WRITEPA_HANDLER(WRITE8(micropin_state, p51a_w))
MCFG_PIA_READPB_HANDLER(READ8(micropin_state, p51b_r))
//MCFG_PIA_WRITEPB_HANDLER(WRITE8(micropin_state, p51b_w))
//MCFG_PIA_CA2_HANDLER(WRITELINE(micropin_state, p51ca2_w))
//MCFG_PIA_CB2_HANDLER(WRITELINE(micropin_state, p51cb2_w))
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_a", micropin_state, timer_a, attotime::from_hz(100))
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( pentacup2, micropin_state )
@ -189,5 +339,5 @@ ROM_START(pentacup2)
ROM_END
GAME(1978, pentacup, 0, micropin, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 1)", GAME_IS_SKELETON_MECHANICAL)
GAME(1980, pentacup2, pentacup, pentacup2, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 2)", GAME_IS_SKELETON_MECHANICAL)
GAME(1978, pentacup, 0, micropin, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 1)", GAME_MECHANICAL | GAME_NOT_WORKING )
GAME(1980, pentacup2, pentacup, pentacup2, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 2)", GAME_IS_SKELETON_MECHANICAL)

View File

@ -10,229 +10,272 @@
</led7seg>
</element>
<element name="red_led">
<disk><color red="1.0" green="0.0" blue="0.0" /></disk>
</element>
<element name="background">
<rect>
<bounds left="0" top="0" right="1" bottom="1" />
<color red="0.0" green="0.0" blue="0.0" />
</rect>
</element>
<element name="P0"><text string="Balls"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P7"><text string="High Score"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P0"><text string="BALL"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P1"><text string="CREDIT"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P2"><text string="BONUS"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P3"><text string="PLAYER 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P4"><text string="PLAYER 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P5"><text string="PLAYER 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P6"><text string="PLAYER 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P7"><text string="HIGH PLAYER TODAY"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P8"><text string="HIGH TEAM TODAY"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P9"><text string="TEAM 1&amp;3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P10"><text string="TEAM 2&amp;4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P11"><text string="SAME PLAYER"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P12"><text string="TILT"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P13"><text string="PAY ATTENDANT"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P14"><text string="GAME OVER"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<view name="Default Layout">
<!-- Background -->
<backdrop element="background">
<bounds left="0" top="20" right="626" bottom="394" />
<bounds left="0" top="20" right="1200" bottom="305" />
</backdrop>
<!-- LEDs -->
<!-- Text -->
<bezel element="P0"><bounds left="128" right="198" top="86" bottom="120" /></bezel>
<bezel element="P1"><bounds left="5" right="100" top="86" bottom="120" /></bezel>
<bezel element="P2"><bounds left="368" right="500" top="86" bottom="120" /></bezel>
<bezel element="P3"><bounds left="620" right="790" top="86" bottom="120" /></bezel>
<bezel element="P4"><bounds left="940" right="1110" top="86" bottom="120" /></bezel>
<bezel element="P5"><bounds left="620" right="790" top="171" bottom="205" /></bezel>
<bezel element="P6"><bounds left="940" right="1110" top="171" bottom="205" /></bezel>
<bezel element="P7"><bounds left="256" right="560" top="171" bottom="205" /></bezel>
<bezel element="P8"><bounds left="256" right="560" top="256" bottom="290" /></bezel>
<bezel element="P9"><bounds left="620" right="790" top="256" bottom="290" /></bezel>
<bezel element="P10"><bounds left="940" right="1110" top="256" bottom="290" /></bezel>
<bezel element="P11"><bounds left="50" right="180" top="132" bottom="158" /></bezel>
<bezel element="P12"><bounds left="50" right="100" top="173" bottom="199" /></bezel>
<bezel element="P13"><bounds left="50" right="200" top="214" bottom="240" /></bezel>
<bezel element="P14"><bounds left="50" right="170" top="255" bottom="281" /></bezel>
<!-- Player 1 Score -->
<bezel name="digit0" element="digit">
<bounds x="10" y="45" width="35" height="40" />
<!-- LEDs -->
<bezel name="led0" element="red_led">
<bounds left="600" right="620" top="93" bottom="113" /></bezel>
<bezel name="led1" element="red_led">
<bounds left="920" right="940" top="93" bottom="113" /></bezel>
<bezel name="led2" element="red_led">
<bounds left="600" right="620" top="178" bottom="198" /></bezel>
<bezel name="led3" element="red_led">
<bounds left="920" right="940" top="178" bottom="198" /></bezel>
<bezel name="led4" element="red_led">
<bounds left="15" right="35" top="176" bottom="196" /></bezel>
<bezel name="led5" element="red_led">
<bounds left="15" right="35" top="217" bottom="237" /></bezel>
<bezel name="led6" element="red_led">
<bounds left="15" right="35" top="258" bottom="278" /></bezel>
<bezel name="led7" element="red_led">
<bounds left="15" right="35" top="135" bottom="155" /></bezel>
<!-- Credits -->
<bezel name="digit54" element="digit">
<bounds x="14" y="45" width="35" height="40" />
</bezel>
<bezel name="digit1" element="digit">
<bounds x="54" y="45" width="35" height="40" />
<bezel name="digit53" element="digit">
<bounds x="58" y="45" width="35" height="40" />
</bezel>
<bezel name="digit2" element="digit">
<bounds x="98" y="45" width="35" height="40" />
<!-- Match / Balls Left -->
<bezel name="digit52" element="digit">
<bounds x="148" y="45" width="35" height="40" />
</bezel>
<bezel name="digit3" element="digit">
<bounds x="142" y="45" width="35" height="40" />
<!-- Bonus -->
<bezel name="digit34" element="digit">
<bounds x="300" y="45" width="35" height="40" />
</bezel>
<bezel name="digit4" element="digit">
<bounds x="186" y="45" width="35" height="40" />
<bezel name="digit33" element="digit">
<bounds x="344" y="45" width="35" height="40" />
</bezel>
<bezel name="digit5" element="digit">
<bounds x="230" y="45" width="35" height="40" />
</bezel>
<bezel name="digit6" element="digit">
<bounds x="274" y="45" width="35" height="40" />
</bezel>
<bezel name="digit7" element="digit">
<bounds x="318" y="45" width="35" height="40" />
</bezel>
<bezel name="digit8" element="digit">
<bounds x="352" y="45" width="35" height="40" />
</bezel>
<bezel name="digit9" element="digit">
<bounds x="396" y="45" width="35" height="40" />
</bezel>
<bezel name="digit10" element="digit">
<bounds x="440" y="45" width="35" height="40" />
</bezel>
<bezel name="digit11" element="digit">
<bounds x="484" y="45" width="35" height="40" />
</bezel>
<bezel name="digit12" element="digit">
<bounds x="528" y="45" width="35" height="40" />
</bezel>
<bezel name="digit13" element="digit">
<bounds x="572" y="45" width="35" height="40" />
<bezel name="digit32" element="digit">
<bounds x="388" y="45" width="35" height="40" />
</bezel>
<bezel name="digit14" element="digit">
<bounds x="616" y="45" width="35" height="40" />
<bounds x="432" y="45" width="35" height="40" />
</bezel>
<bezel name="digit13" element="digit">
<bounds x="476" y="45" width="35" height="40" />
</bezel>
<bezel name="digit12" element="digit">
<bounds x="520" y="45" width="35" height="40" />
</bezel>
<!-- Player 1 Score -->
<bezel name="digit5" element="digit">
<bounds x="620" y="45" width="35" height="40" />
</bezel>
<bezel name="digit4" element="digit">
<bounds x="664" y="45" width="35" height="40" />
</bezel>
<bezel name="digit3" element="digit">
<bounds x="708" y="45" width="35" height="40" />
</bezel>
<bezel name="digit2" element="digit">
<bounds x="752" y="45" width="35" height="40" />
</bezel>
<bezel name="digit1" element="digit">
<bounds x="796" y="45" width="35" height="40" />
</bezel>
<bezel name="digit0" element="digit">
<bounds x="840" y="45" width="35" height="40" />
</bezel>
<!-- Player 2 Score -->
<bezel name="digit20" element="digit">
<bounds x="10" y="105" width="35" height="40" />
</bezel>
<bezel name="digit21" element="digit">
<bounds x="54" y="105" width="35" height="40" />
</bezel>
<bezel name="digit22" element="digit">
<bounds x="98" y="105" width="35" height="40" />
</bezel>
<bezel name="digit23" element="digit">
<bounds x="142" y="105" width="35" height="40" />
<bezel name="digit25" element="digit">
<bounds x="940" y="45" width="35" height="40" />
</bezel>
<bezel name="digit24" element="digit">
<bounds x="186" y="105" width="35" height="40" />
<bounds x="984" y="45" width="35" height="40" />
</bezel>
<bezel name="digit25" element="digit">
<bounds x="230" y="105" width="35" height="40" />
<bezel name="digit23" element="digit">
<bounds x="1028" y="45" width="35" height="40" />
</bezel>
<bezel name="digit26" element="digit">
<bounds x="274" y="105" width="35" height="40" />
<bezel name="digit22" element="digit">
<bounds x="1072" y="45" width="35" height="40" />
</bezel>
<bezel name="digit27" element="digit">
<bounds x="318" y="105" width="35" height="40" />
<bezel name="digit21" element="digit">
<bounds x="1116" y="45" width="35" height="40" />
</bezel>
<bezel name="digit28" element="digit">
<bounds x="352" y="105" width="35" height="40" />
<bezel name="digit20" element="digit">
<bounds x="1160" y="45" width="35" height="40" />
</bezel>
<bezel name="digit29" element="digit">
<bounds x="396" y="105" width="35" height="40" />
<!-- High Player Today -->
<bezel name="digit66" element="digit">
<bounds x="256" y="130" width="35" height="40" />
</bezel>
<bezel name="digit30" element="digit">
<bounds x="440" y="105" width="35" height="40" />
<bezel name="digit65" element="digit">
<bounds x="300" y="130" width="35" height="40" />
</bezel>
<bezel name="digit31" element="digit">
<bounds x="484" y="105" width="35" height="40" />
<bezel name="digit64" element="digit">
<bounds x="344" y="130" width="35" height="40" />
</bezel>
<bezel name="digit32" element="digit">
<bounds x="528" y="105" width="35" height="40" />
<bezel name="digit63" element="digit">
<bounds x="388" y="130" width="35" height="40" />
</bezel>
<bezel name="digit33" element="digit">
<bounds x="572" y="105" width="35" height="40" />
<bezel name="digit62" element="digit">
<bounds x="432" y="130" width="35" height="40" />
</bezel>
<bezel name="digit34" element="digit">
<bounds x="616" y="105" width="35" height="40" />
<bezel name="digit61" element="digit">
<bounds x="476" y="130" width="35" height="40" />
</bezel>
<bezel name="digit60" element="digit">
<bounds x="520" y="130" width="35" height="40" />
</bezel>
<!-- Player 3 Score -->
<bezel name="digit40" element="digit">
<bounds x="10" y="165" width="35" height="40" />
<bezel name="digit11" element="digit">
<bounds x="620" y="130" width="35" height="40" />
</bezel>
<bezel name="digit41" element="digit">
<bounds x="54" y="165" width="35" height="40" />
<bezel name="digit10" element="digit">
<bounds x="664" y="130" width="35" height="40" />
</bezel>
<bezel name="digit42" element="digit">
<bounds x="98" y="165" width="35" height="40" />
<bezel name="digit9" element="digit">
<bounds x="708" y="130" width="35" height="40" />
</bezel>
<bezel name="digit43" element="digit">
<bounds x="142" y="165" width="35" height="40" />
<bezel name="digit8" element="digit">
<bounds x="752" y="130" width="35" height="40" />
</bezel>
<bezel name="digit44" element="digit">
<bounds x="186" y="165" width="35" height="40" />
<bezel name="digit7" element="digit">
<bounds x="796" y="130" width="35" height="40" />
</bezel>
<bezel name="digit45" element="digit">
<bounds x="230" y="165" width="35" height="40" />
</bezel>
<bezel name="digit46" element="digit">
<bounds x="274" y="165" width="35" height="40" />
</bezel>
<bezel name="digit47" element="digit">
<bounds x="318" y="165" width="35" height="40" />
</bezel>
<bezel name="digit48" element="digit">
<bounds x="352" y="165" width="35" height="40" />
</bezel>
<bezel name="digit49" element="digit">
<bounds x="396" y="165" width="35" height="40" />
</bezel>
<bezel name="digit50" element="digit">
<bounds x="440" y="165" width="35" height="40" />
</bezel>
<bezel name="digit51" element="digit">
<bounds x="484" y="165" width="35" height="40" />
</bezel>
<bezel name="digit52" element="digit">
<bounds x="528" y="165" width="35" height="40" />
</bezel>
<bezel name="digit53" element="digit">
<bounds x="572" y="165" width="35" height="40" />
</bezel>
<bezel name="digit54" element="digit">
<bounds x="616" y="165" width="35" height="40" />
<bezel name="digit6" element="digit">
<bounds x="840" y="130" width="35" height="40" />
</bezel>
<!-- Player 4 Score -->
<bezel name="digit60" element="digit">
<bounds x="10" y="225" width="35" height="40" />
<bezel name="digit31" element="digit">
<bounds x="940" y="130" width="35" height="40" />
</bezel>
<bezel name="digit61" element="digit">
<bounds x="54" y="225" width="35" height="40" />
<bezel name="digit30" element="digit">
<bounds x="984" y="130" width="35" height="40" />
</bezel>
<bezel name="digit62" element="digit">
<bounds x="98" y="225" width="35" height="40" />
<bezel name="digit29" element="digit">
<bounds x="1028" y="130" width="35" height="40" />
</bezel>
<bezel name="digit63" element="digit">
<bounds x="142" y="225" width="35" height="40" />
<bezel name="digit28" element="digit">
<bounds x="1072" y="130" width="35" height="40" />
</bezel>
<bezel name="digit64" element="digit">
<bounds x="186" y="225" width="35" height="40" />
<bezel name="digit27" element="digit">
<bounds x="1116" y="130" width="35" height="40" />
</bezel>
<bezel name="digit65" element="digit">
<bounds x="230" y="225" width="35" height="40" />
<bezel name="digit26" element="digit">
<bounds x="1160" y="130" width="35" height="40" />
</bezel>
<bezel name="digit66" element="digit">
<bounds x="274" y="225" width="35" height="40" />
</bezel>
<bezel name="digit67" element="digit">
<bounds x="318" y="225" width="35" height="40" />
</bezel>
<bezel name="digit68" element="digit">
<bounds x="352" y="225" width="35" height="40" />
</bezel>
<bezel name="digit69" element="digit">
<bounds x="396" y="225" width="35" height="40" />
</bezel>
<bezel name="digit70" element="digit">
<bounds x="440" y="225" width="35" height="40" />
</bezel>
<bezel name="digit71" element="digit">
<bounds x="484" y="225" width="35" height="40" />
<!-- High Team Today -->
<bezel name="digit73" element="digit">
<bounds x="256" y="215" width="35" height="40" />
</bezel>
<bezel name="digit72" element="digit">
<bounds x="528" y="225" width="35" height="40" />
<bounds x="300" y="215" width="35" height="40" />
</bezel>
<bezel name="digit73" element="digit">
<bounds x="572" y="225" width="35" height="40" />
<bezel name="digit71" element="digit">
<bounds x="344" y="215" width="35" height="40" />
</bezel>
<bezel name="digit74" element="digit">
<bounds x="616" y="225" width="35" height="40" />
<bezel name="digit70" element="digit">
<bounds x="388" y="215" width="35" height="40" />
</bezel>
<bezel name="digit69" element="digit">
<bounds x="432" y="215" width="35" height="40" />
</bezel>
<bezel name="digit68" element="digit">
<bounds x="476" y="215" width="35" height="40" />
</bezel>
<bezel name="digit67" element="digit">
<bounds x="520" y="215" width="35" height="40" />
</bezel>
<!-- High Score -->
<!-- Team 1&3 -->
<bezel name="digit45" element="digit">
<bounds x="620" y="215" width="35" height="40" />
</bezel>
<bezel name="digit44" element="digit">
<bounds x="664" y="215" width="35" height="40" />
</bezel>
<bezel name="digit43" element="digit">
<bounds x="708" y="215" width="35" height="40" />
</bezel>
<bezel name="digit42" element="digit">
<bounds x="752" y="215" width="35" height="40" />
</bezel>
<bezel name="digit41" element="digit">
<bounds x="796" y="215" width="35" height="40" />
</bezel>
<bezel name="digit40" element="digit">
<bounds x="840" y="215" width="35" height="40" />
</bezel>
<!-- Credits -->
<!-- Match / Balls Left -->
<bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
<bezel element="P1"><bounds left="30" right="88" top="330" bottom="342" /></bezel>
<bezel element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
<bezel element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
<bezel element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
<bezel element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
<bezel element="P7"><bounds left="100" right="180" top="270" bottom="282" /></bezel>
<!-- Team 2&4 -->
<bezel name="digit51" element="digit">
<bounds x="940" y="215" width="35" height="40" />
</bezel>
<bezel name="digit50" element="digit">
<bounds x="984" y="215" width="35" height="40" />
</bezel>
<bezel name="digit49" element="digit">
<bounds x="1028" y="215" width="35" height="40" />
</bezel>
<bezel name="digit48" element="digit">
<bounds x="1072" y="215" width="35" height="40" />
</bezel>
<bezel name="digit47" element="digit">
<bounds x="1116" y="215" width="35" height="40" />
</bezel>
<bezel name="digit46" element="digit">
<bounds x="1160" y="215" width="35" height="40" />
</bezel>
</view>
</mamelayout>