summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-03-19 02:47:48 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2022-03-19 02:47:48 +1100
commita6b8f21977fbd7e6bc13be0681534197b8ee76a5 (patch)
tree1cbacd7aad8a1f4354e088ae4d8d24c73c9fb6f4
parentf3cf2eb70eb4fc310801435f3694f4bc58d60d6f (diff)
zac_2.cpp: got 43 out of 45 games to work (but no sound yet).
-rw-r--r--src/mame/drivers/zac_1.cpp39
-rw-r--r--src/mame/drivers/zac_2.cpp246
-rw-r--r--src/mame/drivers/zac_proto.cpp10
-rw-r--r--src/mame/layout/zac_2.lay113
4 files changed, 265 insertions, 143 deletions
diff --git a/src/mame/drivers/zac_1.cpp b/src/mame/drivers/zac_1.cpp
index a67d6ddea07..e98b5b8daef 100644
--- a/src/mame/drivers/zac_1.cpp
+++ b/src/mame/drivers/zac_1.cpp
@@ -20,6 +20,19 @@ If at any time you 'clock' the machine (ie exceed 999,990), the last digit will
The ball number is how many balls are left. 1 = last ball.
+Games:
+- Combat
+- Winter Sports
+- House of Diamonds
+- Future World
+- Shooting the Rapids
+- Hot Wheels
+- Fire Mountain
+- Star God
+- Space Shuttle
+- Earth Wind Fire
+- Locomotion
+
Sound - there's 5 sound boards
1. 4 audio oscillators which can be switched on and off independently. It's shown
on the schematic of all machines, but only works for (hod, wsports, and futurwld).
@@ -453,7 +466,6 @@ WRITE_LINE_MEMBER( zac_1_state::serial_w )
void zac_1_state::machine_reset()
{
- genpin_class::machine_reset();
for (u8 i = 0; i < m_io_outputs.size(); i++)
m_io_outputs[i] = 0;
@@ -480,7 +492,6 @@ void zac_1_state::machine_reset()
void zac_1_state::machine_start()
{
- genpin_class::machine_start();
m_digits.resolve();
m_io_outputs.resolve();
@@ -885,23 +896,23 @@ ROM_END
} // anonymous namespace
// Basic audio
-GAME(1978, futurwld, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Future World", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1978, hod, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "House of Diamonds", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1978, wsports, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Winter Sports", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1978, futurwld, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Future World", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1978, hod, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "House of Diamonds", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1978, wsports, 0, zac1, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Winter Sports", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
// 1B1125 audio (SN76477, NE555)
-GAME(1980, firemntn, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Fire Mountain", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1979, hotwheel, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Hot Wheels", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1979, strapids, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Shooting the Rapids", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1980, stargod, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1980, stargodb, stargod, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (variable replay score)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1980, firemntn, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Fire Mountain", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1979, hotwheel, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Hot Wheels", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1979, strapids, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Shooting the Rapids", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1980, stargod, 0, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1980, stargodb, stargod, zac3, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (variable replay score)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
// 1B1346 audio (i8035, MC1408)
-GAME(1981, ewf, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Earth Wind Fire", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1980, sshtlzac, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1981, ewf, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Earth Wind Fire", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1980, sshtlzac, 0, zac2, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
// 1B1146 audio (i8035, MC1408, SN76477, NE555, MM5837)
-GAME(1981, locomotp, 0, locomotp, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Locomotion", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1981, locomotp, 0, locomotp, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Locomotion", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
// unknown audio
-GAME(1980, stargoda, stargod, zac4, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (alternate sound)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1980, stargoda, stargod, zac4, zac_1, zac_1_state, empty_init, ROT0, "Zaccaria", "Star God (alternate sound)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zac_2.cpp b/src/mame/drivers/zac_2.cpp
index bb9268710fa..9ec3df6676c 100644
--- a/src/mame/drivers/zac_2.cpp
+++ b/src/mame/drivers/zac_2.cpp
@@ -5,11 +5,44 @@
PINBALL
Zaccaria Generation 2
+All games (except where noted below)
+- To start, press 1
+- Wait for score to flash before you can score (first ball can take a while, jiggle XZ to push
+ things along)
+- Press X to end ball
+- Ball counter runs backwards, so 1 = last ball.
+- When on the last ball, scoring points racks up a bonus counter. At the end, you get
+ an extra timed part, with infinite balls until the time runs out. Then press X.
+
+Games:
+- Pinball Champ '82
+- Soccer Kings
+- Pinball Champ
+- Time Machine
+- Farfalla
+- Devil Riders
+- Magic Castle
+- Robot
+- Clown
+- Pool Champion
+- Mystic Star
+- Black Belt
+- Mexico 86 (not working)
+- Zankor
+- Spooky
+- Star's Phoenix (Multiball game: To start, hit 1, then jiggle ABX. To end ball, press AB)
+- New Star's Phoenix (same as Star's Phoenix)
+**** Other Manufacturer ****
+- Scramble (not working)
+- Thunder Man
+
Status:
-- Shows all 0 then no response
+- Most games are playable
ToDo:
-- Make them work
+- Fix scram_tp, mexico
+- Sound
+- Mechanical sounds
****************************************************************************************************/
@@ -18,27 +51,31 @@ ToDo:
#include "machine/genpin.h"
#include "cpu/s2650/s2650.h"
#include "machine/timer.h"
+#include "speaker.h"
#include "zac_2.lh"
namespace {
-class zac_2_state : public driver_device
+class zac_2_state : public genpin_class
{
public:
zac_2_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
+ : genpin_class(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_p_ram(*this, "ram")
, m_io_keyboard(*this, "X%d", 0U)
, m_digits(*this, "digit%d", 0U)
+ , m_io_outputs(*this, "out%d", 0U)
{ }
void zac_2(machine_config &config);
+ void init_1() { m_game = 1; } // 7 digits
private:
- uint8_t ctrl_r();
- void ctrl_w(uint8_t data);
- void data_w(uint8_t data);
+ u8 ctrl_r();
+ u8 data_r();
+ void ctrl_w(u8 data);
+ void data_w(u8 data);
DECLARE_READ_LINE_MEMBER(serial_r);
DECLARE_WRITE_LINE_MEMBER(serial_w);
TIMER_DEVICE_CALLBACK_MEMBER(zac_2_inttimer);
@@ -47,15 +84,17 @@ private:
void zac_2_io(address_map &map);
void zac_2_map(address_map &map);
- uint8_t m_row = 0U;
- uint8_t m_t_c = 0U;
- uint8_t m_out_offs = 0U;
+ u8 m_row = 0U;
+ u8 m_t_c = 0U;
+ u8 m_out_offs = 0U;
+ u8 m_game = 0U;
virtual void machine_reset() override;
virtual void machine_start() override;
required_device<s2650_device> m_maincpu;
- required_shared_ptr<uint8_t> m_p_ram;
+ required_shared_ptr<u8> m_p_ram;
required_ioport_array<8> m_io_keyboard;
output_finder<78> m_digits;
+ output_finder<128> m_io_outputs; // 24 solenoids + 80 lamps
};
@@ -78,13 +117,11 @@ void zac_2_state::zac_2_io(address_map &map)
void zac_2_state::zac_2_data(address_map &map)
{
map(S2650_CTRL_PORT, S2650_CTRL_PORT).rw(FUNC(zac_2_state::ctrl_r), FUNC(zac_2_state::ctrl_w));
- map(S2650_DATA_PORT, S2650_DATA_PORT).portr("DSW").w(FUNC(zac_2_state::data_w));
+ map(S2650_DATA_PORT, S2650_DATA_PORT).rw(FUNC(zac_2_state::data_r), FUNC(zac_2_state::data_w));
}
static INPUT_PORTS_START( zac_2 )
PORT_START("DSW")
- PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) // sound board lets cpu know when sound has finished playing
-
PORT_DIPNAME( 0x01, 0x01, "Switch A") PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR(Off))
PORT_DIPSETTING( 0x00, DEF_STR(On))
@@ -169,22 +206,34 @@ static INPUT_PORTS_START( zac_2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("INP55")
PORT_START("X7")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_DEL) PORT_NAME("INP56")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_HOME) PORT_NAME("INP57")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_END) PORT_NAME("INP58")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("INP59")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_UP) PORT_NAME("INP60")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_LEFT) PORT_NAME("INP61")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("INP62")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD ) PORT_CODE(KEYCODE_DOWN) PORT_NAME("INP63")
INPUT_PORTS_END
-uint8_t zac_2_state::ctrl_r()
+u8 zac_2_state::ctrl_r()
{
return m_io_keyboard[m_row]->read();
}
-void zac_2_state::ctrl_w(uint8_t data)
+void zac_2_state::ctrl_w(u8 data)
{
m_row = data & 7;
}
-void zac_2_state::data_w(uint8_t data)
+u8 zac_2_state::data_r()
+{
+ return ioport("DSW")->read(); // and sound card status
+}
+
+void zac_2_state::data_w(u8 data)
{
-// writes to lines HS0-7, no idea what they do
+// writes to sound card
}
READ_LINE_MEMBER( zac_2_state::serial_r )
@@ -201,6 +250,7 @@ WRITE_LINE_MEMBER( zac_2_state::serial_w )
void zac_2_state::machine_start()
{
m_digits.resolve();
+ m_io_outputs.resolve();
save_item(NAME(m_row));
save_item(NAME(m_t_c));
@@ -209,6 +259,9 @@ void zac_2_state::machine_start()
void zac_2_state::machine_reset()
{
+ for (u8 i = 0; i < m_io_outputs.size(); i++)
+ m_io_outputs[i] = 0;
+
m_t_c = 0;
}
@@ -223,22 +276,63 @@ TIMER_DEVICE_CALLBACK_MEMBER(zac_2_state::zac_2_inttimer)
TIMER_DEVICE_CALLBACK_MEMBER(zac_2_state::zac_2_outtimer)
{
- static const uint8_t patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0, 0, 0, 0, 0, 0 };
+ static const u8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0, 0, 0, 0, 0, 0 };
m_out_offs++;
+ u8 data = m_p_ram[m_out_offs] & 15;
+
// displays, solenoids, lamps
if (m_out_offs < 0x40)
+ return;
+
+ if (m_out_offs < 0xc0)
{
- uint8_t display = (m_out_offs >> 3) & 7;
- uint8_t digit = m_out_offs & 7;
- m_digits[display * 10 + digit] = patterns[m_p_ram[m_out_offs]&15];
+ m_io_outputs[m_out_offs-0x40] = data;
+
+ // These addresses yet to be ascertained
+ if (m_out_offs == 0x4a) // outhole
+ {
+ //if (BIT(data, 0))
+ //m_samples->start(0, 5);
+ }
+ else
+ if (m_out_offs == 0x4b) // knocker
+ {
+ //if (BIT(data, 0))
+ //m_samples->start(0, 6);
+ }
}
+ else
+ if (m_out_offs < 0xf0)
+ {
+ u8 display = BIT(m_out_offs, 3, 3);
+ u8 digit = m_out_offs & 7;
+ u16 segment = patterns[data];
+ // fix g segment
+ if (BIT(segment, 6))
+ segment |= 0x80;
+ // add commas
+ if ((digit == 3) || (digit == 6))
+ {
+ if (display < 4)
+ segment |= 0xc000;
+ else
+ if (m_digits[42] && m_digits[44])
+ segment |= 0xc000;
+ }
+ // if 7-digit display, blank unwanted 8th digit
+ if (m_game && (digit == 7))
+ segment = 0;
+ m_digits[display * 10 + digit] = segment;
+ }
+ else
+ m_out_offs = 0x3f;
}
void zac_2_state::zac_2(machine_config &config)
{
/* basic machine hardware */
- S2650(config, m_maincpu, 6000000/2);
+ S2650(config, m_maincpu, 6000000/2); // according to sch the speed is half this, but then the last ball timer runs far too slowly
m_maincpu->set_addrmap(AS_PROGRAM, &zac_2_state::zac_2_map);
m_maincpu->set_addrmap(AS_IO, &zac_2_state::zac_2_io);
m_maincpu->set_addrmap(AS_DATA, &zac_2_state::zac_2_data);
@@ -248,11 +342,15 @@ void zac_2_state::zac_2(machine_config &config)
NVRAM(config, "ram", nvram_device::DEFAULT_ALL_0);
- TIMER(config, "zac_2_inttimer").configure_periodic(FUNC(zac_2_state::zac_2_inttimer), attotime::from_hz(200));
- TIMER(config, "zac_2_outtimer").configure_periodic(FUNC(zac_2_state::zac_2_outtimer), attotime::from_hz(187500));
+ TIMER(config, "zac_2_inttimer").configure_periodic(FUNC(zac_2_state::zac_2_inttimer), attotime::from_hz(6'000'000/(8*512)));
+ TIMER(config, "zac_2_outtimer").configure_periodic(FUNC(zac_2_state::zac_2_outtimer), attotime::from_hz((6'000'000/4)/32));
/* Video */
config.set_default_layout(layout_zac_2);
+
+ /* Sound */
+ genpin_audio(config);
+ //SPEAKER(config, "mono").front_center();
}
/*--------------------------------
@@ -549,9 +647,9 @@ ROM_START(mexico)
ROM_LOAD("mex86_f.snd", 0xc000, 0x4000, CRC(301c2b63) SHA1(df4a4cb48d28d53c3728066d3e3fa9eac17c78c5))
ROM_END
-/*--------------------------------
-/ New Star's Phoenix (08/87)
-/-------------------------------*/
+/*------------------------------------------------------------------------------------
+/ New Star's Phoenix (08/87) same roms as Star's Phoenix, playboard slightly changed
+/------------------------------------------------------------------------------------*/
ROM_START(nstrphnx)
ROM_REGION(0x8000, "maincpu", 0)
ROM_LOAD ( "strphnx1.cpu", 0x0000, 0x0800, CRC(2a31b7da) SHA1(05f2173783e686cc8774bed6eb59b41f7af88d11))
@@ -1088,48 +1186,48 @@ ROM_END
} // anonymous namespace
-GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1986, bbeltzaci, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1986, bbeltzacg, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1986, bbeltzacf, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, clown, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Clown", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlriderf, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, farfalla, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Farfalla", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Farfalla (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Farfalla (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastle, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1986, mexico, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, nstrphnxf, nstrphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (7 digits)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, poolcham, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, robot, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, roboti, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, robotg, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1985, robotf, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Tecnoplay", "Scramble (Pinball)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1982, socrking, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1982, socrkinga, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (alternate set)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, spookyp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, strsphnxf, strsphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1987, thndrman, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Apple Time", "Thunder Man", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Time Machine (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Time Machine (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Time Machine (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL)
-GAME(1986, zankor, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1986, bbeltzaci, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1986, bbeltzacg, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1986, bbeltzacf, bbeltzac, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Black Belt (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, clown, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Clown", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Devil Riders (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, dvlriderf, dvlrider, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Devil Riders (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, farfalla, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Farfalla (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, mcastle, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Magic Castle (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1986, mexico, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Mexico 86 (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, nstrphnxf, nstrphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "New Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, poolcham, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Pool Champion (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, robot, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, roboti, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, robotg, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1985, robotf, robot, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Robot (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Tecnoplay", "Scramble (Pinball)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1982, socrking, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1982, socrkinga, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (alternate set)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Soccer Kings (German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, spookyp, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Spooky (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, strsphnxf, strsphnx, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Star's Phoenix (French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1987, thndrman, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Apple Time", "Thunder Man", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, German speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2_state, init_1, ROT0, "Zaccaria", "Time Machine (Zaccaria, French speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1986, zankor, 0, zac_2, zac_2, zac_2_state, empty_init, ROT0, "Zaccaria", "Zankor (Italian speech)", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/zac_proto.cpp b/src/mame/drivers/zac_proto.cpp
index 10b43b9ebf1..7496898ed2d 100644
--- a/src/mame/drivers/zac_proto.cpp
+++ b/src/mame/drivers/zac_proto.cpp
@@ -13,6 +13,10 @@ After starting a game, press X, wait for the sound of the ball
The ball number is how many balls are left. 1 = last ball.
+Games:
+- Strike
+- Ski Jump
+- Space City
Status:
- All games are working.
@@ -362,6 +366,6 @@ ROM_END
} // anonymous namespace
-GAME(1978, skijump, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Ski Jump", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1979, spacecty, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Space City", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME(1978, strike, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Strike", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME(1978, skijump, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Ski Jump", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1979, spacecty, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Space City", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
+GAME(1978, strike, 0, zac_proto, zac_proto, zac_proto_state, empty_init, ROT0, "Zaccaria", "Strike", MACHINE_IS_SKELETON_MECHANICAL | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/layout/zac_2.lay b/src/mame/layout/zac_2.lay
index 2e0f6d726c1..ab98c27ece9 100644
--- a/src/mame/layout/zac_2.lay
+++ b/src/mame/layout/zac_2.lay
@@ -10,13 +10,11 @@ copyright-holders:Robbbert
<mamelayout version="2">
<element name="digit" defstate="0">
- <led7seg>
+ <led14segsc>
<color red="1.0" green="0.0" blue="0.0" />
- </led7seg>
+ </led14segsc>
</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>
@@ -24,128 +22,139 @@ copyright-holders:Robbbert
<element name="P7"><text string="High Score"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<view name="Default Layout">
- <bounds left="0" top="20" right="274" bottom="394" />
-
- <!-- LEDs -->
+ <bounds left="0" top="20" right="362" bottom="334" />
<!-- Player 1 Score -->
- <element name="digit5" ref="digit">
+ <element name="digit7" ref="digit">
<bounds left="10" top="45" right="44" bottom="84" />
</element>
- <element name="digit4" ref="digit">
+ <element name="digit6" ref="digit">
<bounds left="54" top="45" right="88" bottom="84" />
</element>
- <element name="digit3" ref="digit">
+ <element name="digit5" ref="digit">
<bounds left="98" top="45" right="132" bottom="84" />
</element>
- <element name="digit2" ref="digit">
+ <element name="digit4" ref="digit">
<bounds left="142" top="45" right="176" bottom="84" />
</element>
- <element name="digit1" ref="digit">
+ <element name="digit3" ref="digit">
<bounds left="186" top="45" right="220" bottom="84" />
</element>
- <element name="digit0" ref="digit">
+ <element name="digit2" ref="digit">
<bounds left="230" top="45" right="264" bottom="84" />
</element>
+ <element name="digit1" ref="digit">
+ <bounds left="274" top="45" right="308" bottom="84" />
+ </element>
+ <element name="digit0" ref="digit">
+ <bounds left="318" top="45" right="352" bottom="84" />
+ </element>
<!-- Player 2 Score -->
- <element name="digit15" ref="digit">
+ <element name="digit17" ref="digit">
<bounds left="10" top="105" right="44" bottom="144" />
</element>
- <element name="digit14" ref="digit">
+ <element name="digit16" ref="digit">
<bounds left="54" top="105" right="88" bottom="144" />
</element>
- <element name="digit13" ref="digit">
+ <element name="digit15" ref="digit">
<bounds left="98" top="105" right="132" bottom="144" />
</element>
- <element name="digit12" ref="digit">
+ <element name="digit14" ref="digit">
<bounds left="142" top="105" right="176" bottom="144" />
</element>
- <element name="digit11" ref="digit">
+ <element name="digit13" ref="digit">
<bounds left="186" top="105" right="220" bottom="144" />
</element>
- <element name="digit10" ref="digit">
+ <element name="digit12" ref="digit">
<bounds left="230" top="105" right="264" bottom="144" />
</element>
+ <element name="digit11" ref="digit">
+ <bounds left="274" top="105" right="308" bottom="144" />
+ </element>
+ <element name="digit10" ref="digit">
+ <bounds left="318" top="105" right="352" bottom="144" />
+ </element>
<!-- Player 3 Score -->
- <element name="digit25" ref="digit">
+ <element name="digit27" ref="digit">
<bounds left="10" top="165" right="44" bottom="204" />
</element>
- <element name="digit24" ref="digit">
+ <element name="digit26" ref="digit">
<bounds left="54" top="165" right="88" bottom="204" />
</element>
- <element name="digit23" ref="digit">
+ <element name="digit25" ref="digit">
<bounds left="98" top="165" right="132" bottom="204" />
</element>
- <element name="digit22" ref="digit">
+ <element name="digit24" ref="digit">
<bounds left="142" top="165" right="176" bottom="204" />
</element>
- <element name="digit21" ref="digit">
+ <element name="digit23" ref="digit">
<bounds left="186" top="165" right="220" bottom="204" />
</element>
- <element name="digit20" ref="digit">
+ <element name="digit22" ref="digit">
<bounds left="230" top="165" right="264" bottom="204" />
</element>
+ <element name="digit21" ref="digit">
+ <bounds left="274" top="165" right="308" bottom="204" />
+ </element>
+ <element name="digit20" ref="digit">
+ <bounds left="318" top="165" right="352" bottom="204" />
+ </element>
<!-- Player 4 Score -->
- <element name="digit35" ref="digit">
+ <element name="digit37" ref="digit">
<bounds left="10" top="225" right="44" bottom="264" />
</element>
- <element name="digit34" ref="digit">
+ <element name="digit36" ref="digit">
<bounds left="54" top="225" right="88" bottom="264" />
</element>
- <element name="digit33" ref="digit">
+ <element name="digit35" ref="digit">
<bounds left="98" top="225" right="132" bottom="264" />
</element>
- <element name="digit32" ref="digit">
+ <element name="digit34" ref="digit">
<bounds left="142" top="225" right="176" bottom="264" />
</element>
- <element name="digit31" ref="digit">
+ <element name="digit33" ref="digit">
<bounds left="186" top="225" right="220" bottom="264" />
</element>
- <element name="digit30" ref="digit">
+ <element name="digit32" ref="digit">
<bounds left="230" top="225" right="264" bottom="264" />
</element>
+ <element name="digit31" ref="digit">
+ <bounds left="274" top="225" right="308" bottom="264" />
+ </element>
+ <element name="digit30" ref="digit">
+ <bounds left="318" top="225" right="352" bottom="264" />
+ </element>
<!-- High Score -->
- <element name="digit45" ref="digit">
+ <element name="digit47" ref="digit">
<bounds left="10" top="285" right="44" bottom="324" />
</element>
- <element name="digit44" ref="digit">
+ <element name="digit46" ref="digit">
<bounds left="54" top="285" right="88" bottom="324" />
</element>
- <element name="digit43" ref="digit">
+ <element name="digit45" ref="digit">
<bounds left="98" top="285" right="132" bottom="324" />
</element>
- <element name="digit42" ref="digit">
+ <element name="digit44" ref="digit">
<bounds left="142" top="285" right="176" bottom="324" />
</element>
- <element name="digit41" ref="digit">
+ <element name="digit43" ref="digit">
<bounds left="186" top="285" right="220" bottom="324" />
</element>
- <element name="digit40" ref="digit">
+ <element name="digit42" ref="digit">
<bounds left="230" top="285" right="264" bottom="324" />
</element>
-
- <!-- Credits -->
- <element name="digit55" ref="digit">
- <bounds left="10" top="345" right="44" bottom="384" />
+ <element name="digit41" ref="digit">
+ <bounds left="274" top="285" right="308" bottom="324" />
</element>
- <element name="digit54" ref="digit">
- <bounds left="54" top="345" right="88" bottom="384" />
+ <element name="digit40" ref="digit">
+ <bounds left="318" top="285" right="352" bottom="324" />
</element>
- <!-- Match / Balls Left -->
- <element name="digit51" ref="digit">
- <bounds left="186" top="345" right="220" bottom="384" />
- </element>
- <element name="digit50" ref="digit">
- <bounds left="230" top="345" right="264" bottom="384" />
- </element>
- <element ref="P0"><bounds left="200" right="258" top="330" bottom="342" /></element>
- <element ref="P1"><bounds left="30" right="88" top="330" bottom="342" /></element>
<element ref="P3"><bounds left="100" right="180" top="30" bottom="42" /></element>
<element ref="P4"><bounds left="100" right="180" top="90" bottom="102" /></element>
<element ref="P5"><bounds left="100" right="180" top="150" bottom="162" /></element>