summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author davidhay <davidhay@localhost>2009-02-25 22:46:15 +0000
committer davidhay <davidhay@localhost>2009-02-25 22:46:15 +0000
commitca96cfadad7bc2bc75becdec76dd3e468d5b6201 (patch)
treedcb45e45681e9272c5ef9dc0e453ce4f63cca325
parent178a191866fccdce02e17cf59423ac58509ddd71 (diff)
Agemame Integration [James Wallace]
(I haven't verified this works, just checking it in for now)
-rw-r--r--.gitattributes4
-rw-r--r--src/mame/drivers/bfm_sc1.c1413
-rw-r--r--src/mame/drivers/bfm_sc2.c83
-rw-r--r--src/mame/drivers/bfmsys85.c487
-rw-r--r--src/mame/drivers/maygay1b.c818
-rw-r--r--src/mame/drivers/maygayv1.c1106
-rw-r--r--src/mame/drivers/mpu4.c426
-rw-r--r--src/mame/drivers/mpu4drvr.c5
-rw-r--r--src/mame/drivers/mpu5.c3
-rw-r--r--src/mame/layout/bfm_sc1.lay2092
-rw-r--r--src/mame/layout/gamball.lay2073
-rw-r--r--src/mame/mame.mak15
-rw-r--r--src/mame/mamedriv.c21
-rw-r--r--src/mame/video/awpvid.c8
-rw-r--r--src/mame/video/bfm_dm01.c12
15 files changed, 8459 insertions, 107 deletions
diff --git a/.gitattributes b/.gitattributes
index 3c0ea980ea1..a1fd3c9e39c 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1283,7 +1283,9 @@ src/mame/drivers/beezer.c svneol=native#text/plain
src/mame/drivers/berzerk.c svneol=native#text/plain
src/mame/drivers/bestleag.c svneol=native#text/plain
src/mame/drivers/bfcobra.c svneol=native#text/plain
+src/mame/drivers/bfm_sc1.c svneol=native#text/plain
src/mame/drivers/bfm_sc2.c svneol=native#text/plain
+src/mame/drivers/bfmsys85.c svneol=native#text/plain
src/mame/drivers/big10.c svneol=native#text/plain
src/mame/drivers/bigevglf.c svneol=native#text/plain
src/mame/drivers/bigfghtr.c svneol=native#text/plain
@@ -1708,6 +1710,8 @@ src/mame/drivers/markham.c svneol=native#text/plain
src/mame/drivers/mastboy.c svneol=native#text/plain
src/mame/drivers/matmania.c svneol=native#text/plain
src/mame/drivers/maxaflex.c svneol=native#text/plain
+src/mame/drivers/maygay1b.c svneol=native#text/plain
+src/mame/drivers/maygayv1.c svneol=native#text/plain
src/mame/drivers/mayumi.c svneol=native#text/plain
src/mame/drivers/mazerbla.c svneol=native#text/plain
src/mame/drivers/mcatadv.c svneol=native#text/plain
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
new file mode 100644
index 00000000000..391e5759522
--- /dev/null
+++ b/src/mame/drivers/bfm_sc1.c
@@ -0,0 +1,1413 @@
+/*****************************************************************************************
+
+ Bellfruit scorpion1 driver, (under heavy construction !!!)
+
+ A.G.E Code Copyright J. Wallace and the AGEMAME Development Team.
+ Visit http://www.mameworld.net/agemame/ for more information.
+
+ M.A.M.E Core Copyright Nicola Salmoria and the MAME Team,
+ used under license from http://mamedev.org
+
+******************************************************************************************
+
+ 20-01-2007: J Wallace: Tidy up of coding
+ 30-12-2006: J Wallace: Fixed init routines.
+ 07-03-2006: El Condor: Recoded to more accurately represent the hardware setup.
+ 19-08-2005: Re-Animator
+ 16-08-2005: Converted to MAME protocol for when Viper board is completed.
+ 25-08-2005: Added support for adder2 (Toppoker), added support for NEC upd7759 soundcard
+
+Standard scorpion1 memorymap
+___________________________________________________________________________________
+ hex |r/w| D D D D D D D D |
+ location | | 7 6 5 4 3 2 1 0 | function
+-----------+---+-----------------+-------------------------------------------------
+0000-1FFF |R/W| D D D D D D D D | RAM (8k) battery backed up
+-----------+---+-----------------+-------------------------------------------------
+2000-21FF | W | D D D D D D D D | Reel 3 + 4 stepper latch
+-----------+---+-----------------+-------------------------------------------------
+2200-23FF | W | D D D D D D D D | Reel 1 + 2 stepper latch
+-----------+---+-----------------+-------------------------------------------------
+2400-25FF | W | D D D D D D D D | vfd + coin inhibits
+-----------+---+-----------------+-------------------------------------------------
+2600-27FF | W | D D D D D D D D | electro mechanical meters
+-----------+---+-----------------+-------------------------------------------------
+2800-28FF | W | D D D D D D D D | triacs used for payslides/hoppers
+-----------+---+-----------------+-------------------------------------------------
+2A00 |R/W| D D D D D D D D | MUX1 control reg (IN: mux inputs, OUT:lamps)
+-----------+---+-----------------+-------------------------------------------------
+2A01 | W | D D D D D D D D | MUX1 low data bits
+-----------+---+-----------------+-------------------------------------------------
+2A02 | W | D D D D D D D D | MUX1 hi data bits
+-----------+---+-----------------+-------------------------------------------------
+2E00 | R | ? ? ? ? ? ? D D | IRQ status
+-----------+---+-----------------+-------------------------------------------------
+3001 | | D D D D D D D D | AY-8912 data
+-----------+---+-----------------+-------------------------------------------------
+3101 | W | D D D D D D D D | AY-8912 address
+-----------+---+-----------------+-------------------------------------------------
+3406 |R/W| D D D D D D D D | MC6850
+-----------+---+-----------------+-------------------------------------------------
+3407 |R/W| D D D D D D D D | MC6850
+-----------+---+-----------------+-------------------------------------------------
+3408 |R/W| D D D D D D D D | MUX2 control reg (IN: reel optos, OUT: lamps)
+-----------+---+-----------------+-------------------------------------------------
+3409 | W | D D D D D D D D | MUX2 low data bits
+-----------+---+-----------------+-------------------------------------------------
+340A | W | D D D D D D D D | MUX2 hi data bits
+-----------+---+-----------------+-------------------------------------------------
+3600 | W | ? ? ? ? ? ? D D | ROM page select (select page 3 after reset)
+-----------+---+-----------------+-------------------------------------------------
+4000-5FFF | R | D D D D D D D D | ROM (8k)
+-----------+---+-----------------+-------------------------------------------------
+6000-7FFF | R | D D D D D D D D | Paged ROM (8k)
+ | | | page 0 : rom area 0x0000 - 0x1FFF
+ | | | page 1 : rom area 0x2000 - 0x3FFF
+ | | | page 2 : rom area 0x4000 - 0x5FFF
+ | | | page 3 : rom area 0x6000 - 0x7FFF
+-----------+---+-----------------+-------------------------------------------------
+8000-FFFF | R | D D D D D D D D | ROM (32k)
+-----------+---+-----------------+-------------------------------------------------
+
+Optional (on expansion card) (Viper)
+-----------+---+-----------------+-------------------------------------------------
+3404 | R | D D D D D D D D | Coin acceptor, direct input
+-----------+---+-----------------+-------------------------------------------------
+3800-38FF |R/W| D D D D D D D D | NEC uPD7759 soundchip W:control R:status
+ | | | normally 0x3801 is used can conflict with reel5+6
+-----------+---+-----------------+-------------------------------------------------
+3800-38FF | W | D D D D D D D D | Reel 5 + 6 stepper latch (normally 0x3800 used)
+-----------+---+-----------------+-------------------------------------------------
+
+***************************************************************************/
+
+#include "driver.h"
+#include "cpu/m6809/m6809.h"
+#include "cpu/z80/z80.h"
+#include "video/awpvid.h"
+#include "video/bfm_adr2.h"
+#include "machine/steppers.h" // stepper motor
+#include "machine/bfm_bd1.h" // vfd
+#include "machine/meters.h"
+#include "sound/ay8910.h"
+#include "sound/upd7759.h"
+#include "bfm_sc1.lh"
+#define VFD_RESET 0x20
+#define VFD_CLOCK1 0x80
+#define VFD_DATA 0x40
+
+#define MASTER_CLOCK (XTAL_4MHz)
+#define ADDER_CLOCK (XTAL_8MHz)
+
+// local vars /////////////////////////////////////////////////////////////
+
+static int mmtr_latch; // mechanical meter latch
+static int triac_latch; // payslide triac latch
+static int vfd_latch; // vfd latch
+static int irq_status; // custom chip IRQ status
+static int optic_pattern; // reel optics
+static int acia_status; // MC6850 status
+static int locked; // hardware lock/unlock status (0=unlocked)
+static int is_timer_enabled;
+static int reel_changed;
+static int coin_inhibits;
+static int mux1_outputlatch;
+static int mux1_datalo;
+static int mux1_datahi;
+static int mux1_input;
+
+static int mux2_outputlatch;
+static int mux2_datalo;
+static int mux2_datahi;
+static int mux2_input;
+
+static int watchdog_cnt;
+static int watchdog_kicked;
+
+// user interface stuff ///////////////////////////////////////////////////
+
+static UINT8 Lamps[256]; // 256 multiplexed lamps
+static UINT8 sc1_Inputs[64]; // 64? multiplexed inputs
+
+///////////////////////////////////////////////////////////////////////////
+
+static void Scorpion1_SetSwitchState(int strobe, int data, int state)
+{
+ if ( state ) sc1_Inputs[strobe] |= (1<<data);
+ else sc1_Inputs[strobe] &= ~(1<<data);
+}
+
+///////////////////////////////////////////////////////////////////////////
+#ifdef UNUSED_FUNCTION
+static int Scorpion1_GetSwitchState(int strobe, int data)
+{
+ int state = 0;
+
+ if ( strobe < 7 && data < 8 ) state = (sc1_Inputs[strobe] & (1<<data))?1:0;
+
+ return state;
+}
+#endif
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( bankswitch_w )
+{
+ memory_set_bank(space->machine,1,data & 0x03);
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static INTERRUPT_GEN( timer_irq )
+{
+ if ( watchdog_kicked )
+ {
+ watchdog_cnt = 0;
+ watchdog_kicked = 0;
+ }
+ else
+ {
+ watchdog_cnt++;
+ if ( watchdog_cnt > 2 ) // this is a hack, i don't know what the watchdog timeout is, 3 IRQ's works fine
+ { // reset board
+ mame_schedule_soft_reset(device->machine);// reset entire machine. CPU 0 should be enough, but that doesn't seem to work !!
+ return;
+ }
+ }
+
+ if ( is_timer_enabled )
+ {
+ irq_status = 0x01 |0x02; //0xff;
+
+ sc1_Inputs[2] = input_port_read(device->machine,"STROBE0");
+
+ generic_pulse_irq_line(device->machine->cpu[0], M6809_IRQ_LINE);
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( irqlatch_r )
+{
+ int result = irq_status | 0x02;
+
+ irq_status = 0;
+
+ return result;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( reel12_w )
+{
+ if ( locked & 0x01 )
+ { // hardware is still locked,
+ if ( data == 0x46 ) locked &= ~0x01;
+ }
+ else
+ {
+ if ( stepper_update(0, data>>4) ) reel_changed |= 0x01;
+ if ( stepper_update(1, data ) ) reel_changed |= 0x02;
+
+ if ( stepper_optic_state(0) ) optic_pattern |= 0x01;
+ else optic_pattern &= ~0x01;
+ if ( stepper_optic_state(1) ) optic_pattern |= 0x02;
+ else optic_pattern &= ~0x02;
+ }
+ awp_draw_reel(0);
+ awp_draw_reel(1);
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( reel34_w )
+{
+ if ( locked & 0x02 )
+ { // hardware is still locked,
+ if ( data == 0x42 ) locked &= ~0x02;
+ }
+ else
+ {
+ if ( stepper_update(2, data>>4) ) reel_changed |= 0x04;
+ if ( stepper_update(3, data ) ) reel_changed |= 0x08;
+
+ if ( stepper_optic_state(2) ) optic_pattern |= 0x04;
+ else optic_pattern &= ~0x04;
+ if ( stepper_optic_state(3) ) optic_pattern |= 0x08;
+ else optic_pattern &= ~0x08;
+ }
+ awp_draw_reel(2);
+ awp_draw_reel(3);
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( reel56_w )
+{
+ if ( stepper_update(4, data>>4) ) reel_changed |= 0x10;
+ if ( stepper_update(5, data ) ) reel_changed |= 0x20;
+
+ if ( stepper_optic_state(4) ) optic_pattern |= 0x10;
+ else optic_pattern &= ~0x10;
+ if ( stepper_optic_state(5) ) optic_pattern |= 0x20;
+ else optic_pattern &= ~0x20;
+ awp_draw_reel(5);
+ awp_draw_reel(6);
+}
+
+///////////////////////////////////////////////////////////////////////////
+// mechanical meters //////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mmtr_w )
+{
+ int i;
+ if ( locked & 0x04 )
+ { // hardware is still locked,
+ locked &= ~0x04;
+ }
+ else
+ {
+ int changed = mmtr_latch ^ data;
+ UINT64 cycles = cpu_get_total_cycles(space->cpu);
+
+ mmtr_latch = data;
+
+ for (i=0; i<8; i++)
+ {
+ if ( changed & (1 << i) )
+ {
+ Mechmtr_update(i, cycles, data & (1 << i) );
+ generic_pulse_irq_line(space->machine->cpu[0], M6809_FIRQ_LINE);
+ }
+ }
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mmtr_r )
+{
+ return mmtr_latch;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( dipcoin_r )
+{
+ return input_port_read(space->machine,"STROBE0") & 0x1F;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_DEVICE_HANDLER( nec_r )
+{
+ return 1;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( vfd_w )
+{
+ int changed = vfd_latch ^ data;
+
+ vfd_latch = data;
+
+ if ( changed )
+ {
+ if ( changed & VFD_RESET )
+ { // vfd reset line changed
+ if ( !(data & VFD_RESET) )
+ { // reset the vfd
+ BFM_BD1_reset(0);
+ BFM_BD1_reset(1);
+ BFM_BD1_reset(2);
+ }
+ }
+ if ( changed & VFD_CLOCK1 )
+ { // clock line changed
+ if ( !(data & VFD_CLOCK1) && (data & VFD_RESET) )
+ { // new data clocked into vfd
+ BFM_BD1_shift_data(0, data & VFD_DATA );
+ }
+ }
+ BFM_BD1_draw(0);
+ BFM_BD1_draw(1);
+ BFM_BD1_draw(2);
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// input / output multiplexers //////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+// conversion table BFM strobe data to internal lamp numbers
+
+static const UINT8 BFM_strcnv[] =
+{
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
+
+ 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
+ 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
+ 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
+ 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, 0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
+ 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, 0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
+ 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, 0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
+ 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
+ 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF
+};
+
+//ACIA helper functions
+
+static void send_to_adder(running_machine *machine, int data)
+{
+ adder2_data_from_sc2 = 1; // set flag, data from scorpion2 board available
+ adder2_sc2data = data; // store data
+
+ adder2_acia_triggered = 1; // set flag, acia IRQ triggered
+ cpu_set_input_line(machine->cpu[1], M6809_IRQ_LINE, ASSERT_LINE );//HOLD_LINE);// trigger IRQ
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static int receive_from_adder(void)
+{
+ int data = adder2_data;
+ adder2_data_to_sc2 = 0; // clr flag, data from adder available
+
+ return data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux1latch_r )
+{
+ return mux1_input;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux1datlo_r )
+{
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux1dathi_r )
+{
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux1latch_w )
+{
+ int changed = mux1_outputlatch ^ data;
+ static const char *const portnames[] = { "STROBE0", "STROBE1", "STROBE2", "STROBE3", "STROBE4", "STROBE5", "STROBE6", "STROBE7" };
+ mux1_outputlatch = data;
+
+ if ( changed & 0x08 )
+ { // clock changed
+
+ int input_strobe = data & 0x07;
+ if ( !(data & 0x08) )
+ { // clock changed to low
+ int strobe, offset, pattern, i;
+
+ strobe = data & 0x07;
+ offset = strobe<<4;
+ pattern = 0x01;
+
+ for ( i = 0; i < 8; i++ )
+ {
+ Lamps[ BFM_strcnv[offset ] ] = mux1_datalo & pattern?1:0;
+ Lamps[ BFM_strcnv[offset+8] ] = mux1_datahi & pattern?1:0;
+ pattern<<=1;
+ offset++;
+ }
+
+ if (strobe == 0)
+ {
+ for ( i = 0; i < 256; i++ )
+ {
+ output_set_lamp_value(i, Lamps[i]);
+ }
+ }
+ }
+
+ if ( !(data & 0x08) )
+ {
+ sc1_Inputs[ input_strobe ] = input_port_read(space->machine,portnames[input_strobe]);
+
+ mux1_input = sc1_Inputs[ input_strobe ];
+ }
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux1datlo_w )
+{
+ mux1_datalo = data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux1dathi_w )
+{
+ mux1_datahi = data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux2latch_r )
+{
+ return mux2_input;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux2datlo_r )
+{
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mux2dathi_r )
+{
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux2latch_w )
+{
+ int changed = mux2_outputlatch ^ data;
+
+ mux2_outputlatch = data;
+
+ if ( changed & 0x08 )
+ { // clock changed
+
+ if ( (!data & 0x08) )
+ { // clock changed to low
+ int strobe, offset, pattern, i;
+
+ strobe = data & 0x07;
+ offset = 128+(strobe<<4);
+ pattern = 0x01;
+
+ for ( i = 0; i < 8; i++ )
+ {
+ Lamps[ BFM_strcnv[offset ] ] = mux2_datalo & pattern?1:0;
+ Lamps[ BFM_strcnv[offset+8] ] = mux2_datahi & pattern?1:0;
+ pattern<<=1;
+ offset++;
+ }
+ }
+
+ if ( !(data & 0x08) )
+ {
+ mux2_input = 0x3F ^ optic_pattern;
+ }
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux2datlo_w )
+{
+ mux2_datalo = data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux2dathi_w )
+{
+ mux2_datahi = data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( watchdog_w )
+{
+ watchdog_kicked = 1;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// serial port //////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( aciactrl_w )
+{
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( aciadata_w )
+{
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( aciastat_r )
+{
+ return acia_status;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( aciadata_r )
+{
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// payslide triacs //////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( triac_w )
+{
+ triac_latch = data;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( triac_r )
+{
+ return triac_latch;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+#ifdef UNUSED_FUNCTION
+static WRITE8_DEVICE_HANDLER( nec_reset_w )
+{
+ upd7759_start_w(device, 0);
+ upd7759_reset_w(device, data);
+}
+#endif
+/////////////////////////////////////////////////////////////////////////////////////
+static WRITE8_DEVICE_HANDLER( nec_latch_w )
+{
+ upd7759_port_w (device, 0, data&0x3F); // setup sample
+ upd7759_start_w(device, 0);
+ upd7759_start_w(device, 1); // start
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( vid_uart_tx_w )
+{
+ send_to_adder(space->machine,data);
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( vid_uart_ctrl_w )
+{
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( vid_uart_rx_r )
+{
+ int data = receive_from_adder();
+
+ return data;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( vid_uart_ctrl_r )
+{
+ int status = 0;
+
+ if ( adder2_data_to_sc2 ) status |= 0x01; // receive buffer full
+ if ( !adder2_data_from_sc2) status |= 0x02; // transmit buffer empty
+
+ return status;
+}
+
+// scorpion1 board init ///////////////////////////////////////////////////
+
+static const UINT16 AddressDecode[]=
+{
+ 0x0800,0x1000,0x0001,0x0004,0x0008,0x0020,0x0080,0x0200,
+ 0x0100,0x0040,0x0002,0x0010,0x0400,0x2000,0x4000,0x8000,
+
+ 0
+};
+
+static const UINT8 DataDecode[]=
+{
+ 0x02,0x08,0x20,0x40,0x10,0x04,0x01,0x80,
+
+ 0
+};
+
+static UINT8 codec_data[256];
+
+
+static void decode_sc1(running_machine *machine,const char *rom_region)
+{
+ UINT8 *tmp, *rom;
+
+ rom = memory_region(machine,rom_region);
+
+ tmp = malloc_or_die(0x10000);
+
+ {
+ int i;
+ long address;
+
+ memcpy(tmp, rom, 0x10000);
+
+ for ( i = 0; i < 256; i++ )
+ {
+ UINT8 data, pattern, newdata, *tab;
+ data = i;
+
+ tab = (UINT8*)DataDecode;
+ pattern = 0x01;
+ newdata = 0;
+
+ do
+ {
+ newdata |= data & pattern ? *tab : 0;
+ pattern <<= 1;
+ } while ( *(++tab) );
+
+ codec_data[i] = newdata;
+ }
+
+ for ( address = 0; address < 0x10000; address++)
+ {
+ int newaddress,pattern;
+ UINT16 *tab;
+
+ tab = (UINT16*)AddressDecode;
+ pattern = 0x0001;
+ newaddress = 0;
+ do
+ {
+ newaddress |= address & pattern ? *tab : 0;
+ pattern <<= 1;
+ } while ( *(++tab) );
+
+ rom[newaddress] = codec_data[ tmp[address] ];
+ }
+ free( tmp );
+ }
+}
+// machine start (called only once) /////////////////////////////////////////////////
+
+static MACHINE_RESET( bfm_sc1 )
+{
+ BFM_BD1_init(0);
+ vfd_latch = 0;
+ mmtr_latch = 0;
+ triac_latch = 0;
+ irq_status = 0;
+ is_timer_enabled = 1;
+ coin_inhibits = 0;
+ mux1_outputlatch = 0x08; // clock HIGH
+ mux1_datalo = 0;
+ mux1_datahi = 0;
+ mux1_input = 0;
+ mux2_outputlatch = 0x08; // clock HIGH
+ mux2_datalo = 0;
+ mux2_datahi = 0;
+ mux2_input = 0;
+
+ BFM_BD1_reset(0); // reset display1
+ BFM_BD1_reset(1); // reset display2
+ BFM_BD1_reset(2); // reset display3
+
+// reset stepper motors /////////////////////////////////////////////////////////////
+ {
+ int pattern =0, i;
+
+ for ( i = 0; i < 6; i++)
+ {
+ stepper_reset_position(i);
+ if ( stepper_optic_state(i) ) pattern |= 1<<i;
+ }
+
+ optic_pattern = pattern;
+
+ }
+
+ acia_status = 0x02; // MC6850 transmit buffer empty !!!
+ locked = 0x07; // hardware is locked
+
+// init rom bank ////////////////////////////////////////////////////////////////////
+ {
+ UINT8 *rom = memory_region(machine, "main");
+
+ memory_configure_bank(machine,1, 0, 1, &rom[0x10000], 0);
+ memory_configure_bank(machine,1, 1, 3, &rom[0x02000], 0x02000);
+
+ memory_set_bank(machine,1,3);
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// scorpion1 board memory map ///////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
+
+ AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) //8k RAM
+ AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 2+3 latch
+ AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w) // reel 1+2 latch
+ AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w) // vfd latch
+
+ AM_RANGE(0x2600, 0x27FF) AM_READWRITE(mmtr_r,mmtr_w) // mechanical meters
+ AM_RANGE(0x2800, 0x2800) AM_READWRITE(triac_r,triac_w) // payslide triacs
+
+ AM_RANGE(0x2A00, 0x2A00) AM_READWRITE(mux1latch_r,mux1latch_w) // mux1
+ AM_RANGE(0x2A01, 0x2A01) AM_READWRITE(mux1datlo_r,mux1datlo_w)
+ AM_RANGE(0x2A02, 0x2A02) AM_READWRITE(mux1dathi_r,mux1dathi_w)
+
+ AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch
+
+ AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_r)
+ AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(SOUND, "ay", ay8910_data_w)
+ AM_RANGE(0x3101, 0x3201) AM_DEVWRITE(SOUND, "ay", ay8910_address_w)
+
+ AM_RANGE(0x3406, 0x3406) AM_READWRITE(aciastat_r,aciactrl_w) // MC6850 status register
+ AM_RANGE(0x3407, 0x3407) AM_READWRITE(aciadata_r,aciadata_w) // MC6850 data register
+
+ AM_RANGE(0x3408, 0x3408) AM_READWRITE(mux2latch_r,mux2latch_w) // mux2
+ AM_RANGE(0x3409, 0x3409) AM_READWRITE(mux2datlo_r,mux2datlo_w)
+ AM_RANGE(0x340A, 0x340A) AM_READWRITE(mux2dathi_r,mux2dathi_w)
+
+ AM_RANGE(0x3404, 0x3404) AM_READ(dipcoin_r ) // coin input on gamecard
+ AM_RANGE(0x3801, 0x3801) AM_READNOP // uPD5579 status on soundcard (not installed)
+
+ AM_RANGE(0x3600, 0x3600) AM_WRITE(bankswitch_w) // write bank
+ AM_RANGE(0x3800, 0x39FF) AM_WRITE(reel56_w) // reel 5+6 latch
+
+ AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM
+ AM_RANGE(0x6000, 0x7FFF) AM_READ(SMH_BANK1) // 8k paged ROM (4 pages)
+ AM_RANGE(0x8000, 0xFFFF) AM_READWRITE(SMH_ROM,watchdog_w) // 32k ROM
+
+ADDRESS_MAP_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+// scorpion1 board + adder2 expansion memory map ////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static ADDRESS_MAP_START( memmap_adder2, ADDRESS_SPACE_PROGRAM, 8 )
+
+ AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) //8k RAM
+ AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 2+3 latch
+ AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w) // reel 1+2 latch
+ AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w) // vfd latch
+
+ AM_RANGE(0x2600, 0x27FF) AM_READWRITE(mmtr_r,mmtr_w) // mechanical meters
+
+ AM_RANGE(0x2800, 0x2800) AM_READ(triac_r) // payslide triacs
+ AM_RANGE(0x2800, 0x29FF) AM_WRITE(triac_w)
+
+ AM_RANGE(0x2A00, 0x2A00) AM_READWRITE(mux1latch_r,mux1latch_w) // mux1
+ AM_RANGE(0x2A01, 0x2A01) AM_READWRITE(mux1datlo_r,mux1datlo_w)
+ AM_RANGE(0x2A02, 0x2A02) AM_READWRITE(mux1dathi_r,mux1dathi_w)
+
+ AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch
+
+ AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_r)
+ AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(SOUND, "ay", ay8910_data_w)
+ AM_RANGE(0x3101, 0x3201) AM_DEVWRITE(SOUND, "ay", ay8910_address_w)
+
+ AM_RANGE(0x3406, 0x3406) AM_READWRITE(aciastat_r,aciactrl_w) // MC6850 status register
+ AM_RANGE(0x3407, 0x3407) AM_READWRITE(aciadata_r,aciadata_w) // MC6850 data register
+
+ AM_RANGE(0x3408, 0x3408) AM_READWRITE(mux2latch_r,mux2latch_w) // mux2
+ AM_RANGE(0x3409, 0x3409) AM_READWRITE(mux2datlo_r,mux2datlo_w)
+ AM_RANGE(0x340A, 0x340A) AM_READWRITE(mux2dathi_r,mux2dathi_w)
+
+// AM_RANGE(0x3404, 0x3404) AM_READ(dipcoin_r ) // coin input on gamecard
+ AM_RANGE(0x3801, 0x3801) AM_READNOP // uPD5579 status on soundcard (not installed)
+
+ AM_RANGE(0x3600, 0x3600) AM_WRITE(bankswitch_w) // write bank
+ AM_RANGE(0x3800, 0x39FF) AM_WRITE(reel56_w) // reel 5+6 latch
+
+ AM_RANGE(0x3E00, 0x3E00) AM_READWRITE(vid_uart_ctrl_r,vid_uart_ctrl_w) // video uart control reg read
+ AM_RANGE(0x3E01, 0x3E01) AM_READWRITE(vid_uart_rx_r,vid_uart_tx_w) // video uart receive reg
+
+ AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM
+ AM_RANGE(0x6000, 0x7FFF) AM_READ(SMH_BANK1) // 8k paged ROM (4 pages)
+ AM_RANGE(0x8000, 0xFFFF) AM_READWRITE(SMH_ROM,watchdog_w) // 32k ROM
+
+ADDRESS_MAP_END
+
+
+/////////////////////////////////////////////////////////////////////////////////////
+// scorpion1 board + upd7759 soundcard memory map ///////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static ADDRESS_MAP_START( sc1_nec_uk, ADDRESS_SPACE_PROGRAM, 8 )
+
+ AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) //8k RAM
+ AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 2+3 latch
+ AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w) // reel 1+2 latch
+ AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w) // vfd latch
+
+ AM_RANGE(0x2600, 0x27FF) AM_READWRITE(mmtr_r,mmtr_w) // mechanical meters
+
+ AM_RANGE(0x2800, 0x2800) AM_READ(triac_r) // payslide triacs
+ AM_RANGE(0x2800, 0x29FF) AM_WRITE(triac_w)
+
+ AM_RANGE(0x2A00, 0x2A00) AM_READWRITE(mux1latch_r,mux1latch_w) // mux1
+ AM_RANGE(0x2A01, 0x2A01) AM_READWRITE(mux1datlo_r,mux1datlo_w)
+ AM_RANGE(0x2A02, 0x2A02) AM_READWRITE(mux1dathi_r,mux1dathi_w)
+
+ AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch
+
+ AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_r)
+ AM_RANGE(0x3001, 0x3001) AM_DEVWRITE(SOUND, "ay", ay8910_data_w)
+ AM_RANGE(0x3101, 0x3201) AM_DEVWRITE(SOUND, "ay", ay8910_address_w)
+
+ AM_RANGE(0x3406, 0x3406) AM_READWRITE(aciastat_r,aciactrl_w) // MC6850 status register
+ AM_RANGE(0x3407, 0x3407) AM_READWRITE(aciadata_r,aciadata_w) // MC6850 data register
+
+ AM_RANGE(0x3408, 0x3408) AM_READWRITE(mux2latch_r,mux2latch_w) // mux2
+ AM_RANGE(0x3409, 0x3409) AM_READWRITE(mux2datlo_r,mux2datlo_w)
+ AM_RANGE(0x340A, 0x340A) AM_READWRITE(mux2dathi_r,mux2dathi_w)
+
+ AM_RANGE(0x3600, 0x3600) AM_WRITE(bankswitch_w) // write bank
+
+ AM_RANGE(0x3801, 0x3801) AM_DEVREAD(SOUND, "upd", nec_r)
+ AM_RANGE(0x3800, 0x39FF) AM_DEVWRITE(SOUND, "upd", nec_latch_w)
+
+ AM_RANGE(0x4000, 0x5FFF) AM_ROM // 8k ROM
+ AM_RANGE(0x6000, 0x7FFF) AM_READ(SMH_BANK1) // 8k paged ROM (4 pages)
+ AM_RANGE(0x8000, 0xFFFF) AM_READWRITE(SMH_ROM,watchdog_w) // 32k ROM
+
+ADDRESS_MAP_END
+
+// input ports for scorpion1 board //////////////////////////////////////////////////
+
+static INPUT_PORTS_START( scorpion1 )
+
+ PORT_START("STROBE0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(3)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(3)
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(3)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(3)
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN5 ) PORT_IMPULSE(3)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Green Test")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Red Test")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE3")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE4")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE5")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE6")
+ PORT_DIPNAME( 0x01, 0x00, "DIL01" )PORT_DIPLOCATION("DIL:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "DIL02" )PORT_DIPLOCATION("DIL:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL03" )PORT_DIPLOCATION("DIL:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "Coin Acceptor" )PORT_DIPLOCATION("DIL:04")
+ PORT_DIPSETTING( 0x00, "Mars" )
+ PORT_DIPSETTING( 0x08, "Sentinel" )
+ PORT_DIPNAME( 0x10, 0x00, "DIL05" )PORT_DIPLOCATION("DIL:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "Coin Lockout" )PORT_DIPLOCATION("DIL:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "Cashpot Frequency?" )PORT_DIPLOCATION("DIL:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( High ))
+ PORT_DIPSETTING( 0x40, DEF_STR( Low ))
+ PORT_DIPNAME( 0x80, 0x00, "DIL08" )PORT_DIPLOCATION("DIL:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("STROBE7")
+ PORT_DIPNAME( 0x01, 0x00, "DIL09" )PORT_DIPLOCATION("DIL:09")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "Coin Jam Alarm" )PORT_DIPLOCATION("DIL:10")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL11" )PORT_DIPLOCATION("DIL:11")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "DIL12" )PORT_DIPLOCATION("DIL:12")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "DIL13" )PORT_DIPLOCATION("DIL:13")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0xe0, 0x00, "Payout Percentage?" )PORT_DIPLOCATION("DIL:14,15,16")
+ PORT_DIPSETTING( 0x60, "72%")
+ PORT_DIPSETTING( 0x20, "75%")
+ PORT_DIPSETTING( 0x00, "78%")
+ PORT_DIPSETTING( 0x80, "81%")
+ PORT_DIPSETTING( 0xc0, "85%")
+
+INPUT_PORTS_END
+
+// input ports for scorpion1 board ////////////////////////////////////////
+
+INPUT_PORTS_START( clatt )
+ PORT_START("STROBE0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("10p")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(3) PORT_NAME("20p")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(3) PORT_NAME("50p")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(3) PORT_NAME("1 Pound")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Green Test")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Red Test")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Cancel")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Hold 1")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Hold 2")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Hold 3")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Hold 4")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Exchange")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Stop/Gamble")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_INTERLOCK ) PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_INTERLOCK ) PORT_NAME("Front Door") PORT_CODE(KEYCODE_W) PORT_TOGGLE
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE3")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE4")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE5")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE6")
+ PORT_DIPNAME( 0x01, 0x00, "DIL01" ) PORT_DIPLOCATION("DIL:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "DIL02" )PORT_DIPLOCATION("DIL:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL03" )PORT_DIPLOCATION("DIL:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "Coin Acceptor" )PORT_DIPLOCATION("DIL:04")
+ PORT_DIPSETTING( 0x00, "Mars" )
+ PORT_DIPSETTING( 0x08, "Sentinel" )
+ PORT_DIPNAME( 0x10, 0x00, "DIL05" )PORT_DIPLOCATION("DIL:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "Coin Lockout" )PORT_DIPLOCATION("DIL:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "Cashpot Frequency?" )PORT_DIPLOCATION("DIL:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( High ))
+ PORT_DIPSETTING( 0x40, DEF_STR( Low ))
+ PORT_DIPNAME( 0x80, 0x00, "DIL08" )PORT_DIPLOCATION("DIL:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("STROBE7")
+ PORT_DIPNAME( 0x01, 0x00, "DIL09" )PORT_DIPLOCATION("DIL:09")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "Coin Jam Alarm" )PORT_DIPLOCATION("DIL:10")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL11" )PORT_DIPLOCATION("DIL:11")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "DIL12" )PORT_DIPLOCATION("DIL:12")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "DIL13" )PORT_DIPLOCATION("DIL:13")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0xe0, 0x00, "Payout Percentage?" )PORT_DIPLOCATION("DIL:14,15,16")
+ PORT_DIPSETTING( 0x60, "72%")
+ PORT_DIPSETTING( 0x20, "75%")
+ PORT_DIPSETTING( 0x00, "78%")
+ PORT_DIPSETTING( 0x80, "81%")
+ PORT_DIPSETTING( 0xc0, "85%")
+
+INPUT_PORTS_END
+
+INPUT_PORTS_START( toppoker )
+ PORT_START("STROBE0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("Fl 5.00")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(3) PORT_NAME("Fl 2.50")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(3) PORT_NAME("Fl 1.00")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(3) PORT_NAME("Fl 0.25")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Green Test")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Red Test")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("STROBE1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Vast 1")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Vast 2/Kop")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Vast 3/Munt")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Herstellen/Neem Win")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Verander/Inzet")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Neem Club Win")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Narr Club/Deal")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
+
+ PORT_START("STROBE2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON8) PORT_NAME("Neem Feature")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_NAME("Neem Club Meter")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_NAME("Neem Win Bank")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_NAME("Uitbetalen")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_NAME("Vast Monitor 1")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("STROBE3")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_INTERLOCK)PORT_NAME("Back Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Slide Dump") PORT_CODE(KEYCODE_W) PORT_TOGGLE
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Meter Key") PORT_CODE(KEYCODE_E) PORT_TOGGLE
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("STROBE4")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )//Tube status Low switch for 1 Pound
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON13) PORT_NAME("Vast Monitor 2")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_NAME("Vast Monitor 3")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON15) PORT_NAME("Vast Monitor 4")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_INTERLOCK)PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_W) PORT_TOGGLE
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON16) PORT_NAME("Vast Monitor 5")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("STROBE5")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
+ 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( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
+
+ PORT_START("STROBE6")
+ PORT_DIPNAME( 0x01, 0x00, "DIL01" ) PORT_DIPLOCATION("DIL:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "DIL02" )PORT_DIPLOCATION("DIL:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL03" )PORT_DIPLOCATION("DIL:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "Coin Acceptor" )PORT_DIPLOCATION("DIL:04")
+ PORT_DIPSETTING( 0x00, "Mars" )
+ PORT_DIPSETTING( 0x08, "Sentinel" )
+ PORT_DIPNAME( 0x10, 0x00, "DIL05" )PORT_DIPLOCATION("DIL:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "Coin Lockout" )PORT_DIPLOCATION("DIL:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "Cashpot Frequency?" )PORT_DIPLOCATION("DIL:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( High ))
+ PORT_DIPSETTING( 0x40, DEF_STR( Low ))
+ PORT_DIPNAME( 0x80, 0x00, "DIL08" )PORT_DIPLOCATION("DIL:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("STROBE7")
+ PORT_DIPNAME( 0x01, 0x00, "DIL09" )PORT_DIPLOCATION("DIL:09")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "Coin Jam Alarm" )PORT_DIPLOCATION("DIL:10")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL11" )PORT_DIPLOCATION("DIL:11")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "DIL12" )PORT_DIPLOCATION("DIL:12")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "DIL13" )PORT_DIPLOCATION("DIL:13")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0xe0, 0x00, "Payout Percentage?" )PORT_DIPLOCATION("DIL:14,15,16")
+ PORT_DIPSETTING( 0x60, "72%")
+ PORT_DIPSETTING( 0x20, "75%")
+ PORT_DIPSETTING( 0x00, "78%")
+ PORT_DIPSETTING( 0x80, "81%")
+ PORT_DIPSETTING( 0xc0, "85%")
+
+INPUT_PORTS_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+// machine driver for scorpion1 board ///////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static MACHINE_DRIVER_START( scorpion1 )
+ MDRV_MACHINE_RESET(bfm_sc1) // main scorpion1 board initialisation
+ MDRV_CPU_ADD("main", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
+ MDRV_CPU_PROGRAM_MAP(memmap,0) // setup read and write memorymap
+ MDRV_CPU_PERIODIC_INT(timer_irq, 1000 ) // generate 1000 IRQ's per second
+
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay",AY8912, MASTER_CLOCK/4)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+
+ MDRV_NVRAM_HANDLER(generic_0fill)
+ MDRV_DEFAULT_LAYOUT(layout_awpvid14)
+MACHINE_DRIVER_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+// machine driver for scorpion1 board + adder2 extension ////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static MACHINE_DRIVER_START( scorpion1_adder2 )
+ MDRV_IMPORT_FROM( scorpion1 )
+
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(memmap_adder2,0) // setup read and write memorymap
+
+ MDRV_DEFAULT_LAYOUT(layout_bfm_sc1)
+ MDRV_SCREEN_ADD("adder", RASTER)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_REFRESH_RATE(50)
+ MDRV_SCREEN_SIZE( 400, 300)
+ MDRV_SCREEN_VISIBLE_AREA( 0, 400-1, 0, 300-1)
+
+ MDRV_VIDEO_START( adder2)
+ MDRV_VIDEO_RESET( adder2)
+ MDRV_VIDEO_UPDATE(adder2)
+
+ MDRV_PALETTE_LENGTH(16)
+
+ MDRV_PALETTE_INIT(adder2)
+ MDRV_GFXDECODE(adder2)
+
+ MDRV_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
+ MDRV_CPU_PROGRAM_MAP(adder2_memmap,0) // setup adder2 board memorymap
+ MDRV_CPU_VBLANK_INT("adder",adder2_vbl) // board has a VBL IRQ
+MACHINE_DRIVER_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+// machine driver for scorpion1 board ///////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////
+
+static MACHINE_DRIVER_START( scorpion1_nec_uk )
+ MDRV_IMPORT_FROM( scorpion1 )
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(sc1_nec_uk,0) // setup read and write memorymap
+
+ MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+MACHINE_DRIVER_END
+
+// ROM definition ///////////////////////////////////////////////////////////////////
+
+ROM_START( m_lotsse )
+ ROM_REGION( 0x12000, "main", 0 )
+ ROM_LOAD( "lotusse.bin", 0x0000, 0x10000, CRC(636dadc4) SHA1(85bad5d76dac028fe9f3303dd09e8266aba7db4d))
+ROM_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+ROM_START( m_roulet )
+ ROM_REGION( 0x12000, "main", 0 )
+ ROM_LOAD( "rou029.bin", 0x8000, 0x08000, CRC(31723f0A) SHA1(e220976116a0aaf24dc0c4af78a9311a360e8104))
+ROM_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+ROM_START( m_clattr )
+ ROM_REGION( 0x12000, "main", 0 )
+ ROM_LOAD( "39370196.1", 0x8000, 0x08000, CRC(4c2e465f) SHA1(101939d37d9c033f6d1dfb83b4beb54e4061aec2))
+ ROM_LOAD( "39370196.2", 0x0000, 0x08000, CRC(c809c22d) SHA1(fca7515bc84d432150ffe5e32fccc6aed458b8b0))
+ROM_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+ROM_START( m_tppokr )
+ ROM_REGION( 0x12000, "main", 0 )
+ ROM_LOAD( "95750899.bin", 0x0000, 0x10000, CRC(639d1d62) SHA1(80620c14bf9f953588555510fc2e6e930140923f))
+
+ ROM_REGION( 0x20000, "adder2", 0 )
+ ROM_LOAD( "tpk010.vid", 0x0000, 0x20000, CRC(ea4eddca) SHA1(5fb805d35376ec7ee8d58684e584621dbb2b2a9c))
+
+ ROM_REGION( 0x40000, "gfx1", ROMREGION_DISPOSE | ROMREGION_ERASEFF )
+ ROM_LOAD( "tpk011.chr", 0x00000, 0x20000, CRC(4dc23ad8) SHA1(8e8cc699412dbb092e16e14518f407353f477ee1))
+ROM_END
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+static void sc1_common_init(running_machine *machine, int reels, int decrypt)
+{
+ UINT8 *rom, i;
+
+ rom = memory_region(machine, "main");
+ if ( rom )
+ {
+ memcpy(&rom[0x10000], &rom[0x00000], 0x2000);
+ }
+
+ memset(sc1_Inputs, 0, sizeof(sc1_Inputs));
+
+ // setup n default 96 half step reels ///////////////////////////////////////////
+ for ( i = 0; i < reels; i++ )
+ {
+ stepper_config(machine, i, &starpoint_interface_48step);
+ }
+ if (decrypt) decode_sc1(machine,"main"); // decode main rom
+ if (reels)
+ {
+ awp_reel_setup();
+ }
+}
+
+DRIVER_INIT(toppoker)
+{
+ sc1_common_init(machine,3,1);
+ adder2_decode_char_roms(machine); // decode GFX roms
+ Mechmtr_init(8);
+
+ BFM_BD1_init(0);
+}
+
+DRIVER_INIT(lotse)
+{
+ sc1_common_init(machine,6,1);
+ Mechmtr_init(8);
+
+ BFM_BD1_init(0);
+ BFM_BD1_init(1);
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+DRIVER_INIT(rou029)
+{
+ sc1_common_init(machine,6,0);
+ Mechmtr_init(8);
+
+ BFM_BD1_init(0);
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+DRIVER_INIT(clatt)
+{
+ sc1_common_init(machine,6,1);
+ Mechmtr_init(8);
+
+ BFM_BD1_init(0);
+
+ Scorpion1_SetSwitchState(3,2,1);
+ Scorpion1_SetSwitchState(3,3,1);
+ Scorpion1_SetSwitchState(3,6,1);
+ Scorpion1_SetSwitchState(4,1,1);
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+
+// year, name, parent, machine, input, init, monitor, company, fullname, flags
+GAME( 1988, m_lotsse, 0, scorpion1, scorpion1, lotse, 0, "BFM/ELAM", "Lotus SE (Dutch)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1988, m_roulet, 0, scorpion1, scorpion1, rou029, 0, "BFM/ELAM", "Roulette (Dutch, Game Card 39-360-129?)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1990, m_clattr, 0, scorpion1_nec_uk, clatt, clatt, 0, "BFM", "Club attraction (UK, Game Card 39-370-196)",GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+
+//Adder
+GAME( 1996, m_tppokr, 0, scorpion1_adder2, toppoker, toppoker, 0, "BFM/ELAM", "Toppoker (Dutch, Game Card 95-750-899)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 06b6666a8ad..61ed6fd521c 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -145,6 +145,7 @@ Adder hardware:
#include "sound/upd7759.h"
/* fruit machines only */
+#include "video/awpvid.h"
#include "machine/steppers.h" // stepper motor
#include "machine/bfm_bd1.h" // vfd
@@ -171,12 +172,6 @@ Adder hardware:
#define UART_LOG(x) do { if (VERBOSE) logerror x; } while (0)
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
-#ifndef AWP_VIDEO //Defined for fruit machines with mechanical reels
-#define draw_reel(x)
-#else
-#define draw_reel(x) awp_draw_reel x
-#endif
-
#define MASTER_CLOCK (XTAL_8MHz)
// local prototypes ///////////////////////////////////////////////////////
@@ -383,7 +378,7 @@ send data to them, although obviously there's no response. */
///////////////////////////////////////////////////////////////////////////
-static void Scorpion2_SetSwitchState(int strobe, int data, int state)
+extern void Scorpion2_SetSwitchState(int strobe, int data, int state)
{
if ( strobe < 11 && data < 8 )
{
@@ -416,7 +411,7 @@ static void Scorpion2_SetSwitchState(int strobe, int data, int state)
///////////////////////////////////////////////////////////////////////////
-static int Scorpion2_GetSwitchState(int strobe, int data)
+extern int Scorpion2_GetSwitchState(int strobe, int data)
{
int state = 0;
@@ -575,8 +570,8 @@ static WRITE8_HANDLER( reel34_w )
if ( stepper_optic_state(3) ) optic_pattern |= 0x08;
else optic_pattern &= ~0x08;
- draw_reel((2));
- draw_reel((3));
+ awp_draw_reel(2);
+ awp_draw_reel(3);
}
///////////////////////////////////////////////////////////////////////////
@@ -593,8 +588,8 @@ static WRITE8_HANDLER( reel56_w )
if ( stepper_optic_state(5) ) optic_pattern |= 0x20;
else optic_pattern &= ~0x20;
- draw_reel((4));
- draw_reel((5));
+ awp_draw_reel(4);
+ awp_draw_reel(5);
}
///////////////////////////////////////////////////////////////////////////
@@ -2638,72 +2633,12 @@ GAMEL( 1997, gldncrwn, 0, scorpion2_vid, gldncrwn, gldncrwn, 0, "BFM
***************************************************************************/
/* fruit machines only */
-#include "video/awpvid.h"
#include "video/bfm_dm01.h"
#include "awpdmd.lh"
#include "drwho.lh"
#include "awpvid14.lh"
#include "awpvid16.lh"
-/* Dot Matrix input override */
-extern void Scorpion2_DMSetSwitchState(int strobe, int data, int state)
-{
- if ( strobe < 11 && data < 8 )
- {
- if ( strobe < 8 )
- {
- input_override[strobe] |= (1<<data);
-
- if ( state ) sc2_Inputs[strobe] |= (1<<data);
- else sc2_Inputs[strobe] &= ~(1<<data);
- }
- else
- {
- if ( data > 2 )
- {
- input_override[strobe-8+4] |= (1<<(data+2));
-
- if ( state ) sc2_Inputs[strobe-8+4] |= (1<<(data+2));
- else sc2_Inputs[strobe-8+4] &= ~(1<<(data+2));
- }
- else
- {
- input_override[strobe-8] |= (1<<(data+5));
-
- if ( state ) sc2_Inputs[strobe-8] |= (1 << (data+5));
- else sc2_Inputs[strobe-8] &= ~(1 << (data+5));
- }
- }
- }
-}
-
-
-extern int Scorpion2_DMGetSwitchState(int strobe, int data)
-{
- int state = 0;
-
- if ( strobe < 11 && data < 8 )
- {
- if ( strobe < 8 )
- {
- state = (sc2_Inputs[strobe] & (1<<data) ) ? 1 : 0;
- }
- else
- {
- if ( data > 2 )
- {
- state = (sc2_Inputs[strobe-8+4] & (1<<(data+2)) ) ? 1 : 0;
- }
- else
- {
- state = (sc2_Inputs[strobe-8] & (1 << (data+5)) ) ? 1 : 0;
- }
- }
- }
- return state;
-}
-
-
/* Reels 1 and 2 */
static WRITE8_HANDLER( reel12_w )
{
@@ -2717,8 +2652,8 @@ static WRITE8_HANDLER( reel12_w )
if ( stepper_optic_state(1) ) optic_pattern |= 0x02;
else optic_pattern &= ~0x02;
- draw_reel((0));
- draw_reel((1));
+ awp_draw_reel(0);
+ awp_draw_reel(1);
}
diff --git a/src/mame/drivers/bfmsys85.c b/src/mame/drivers/bfmsys85.c
new file mode 100644
index 00000000000..bebcced7889
--- /dev/null
+++ b/src/mame/drivers/bfmsys85.c
@@ -0,0 +1,487 @@
+/***************************************************************************
+
+ Bellfruit system85 driver, (under heavy construction !!!)
+
+ A.G.E Code Copyright J. Wallace and the AGEMAME Development Team.
+ Visit http://www.mameworld.net/agemame/ for more information.
+
+ M.A.M.E Core Copyright Nicola Salmoria and the MAME Team,
+ used under license from http://mamedev.org
+
+
+******************************************************************************************
+
+ 19-08-2005: Re-Animator
+
+Standard system85 memorymap
+___________________________________________________________________________
+ hex |r/w| D D D D D D D D |
+ location | | 7 6 5 4 3 2 1 0 | function
+-----------+---+-----------------+-----------------------------------------
+0000-1FFF |R/W| D D D D D D D D | RAM (8k) battery backed up
+-----------+---+-----------------+-----------------------------------------
+2000-21FF | W | D D D D D D D D | Reel 3 + 4 stepper latch
+-----------+---+-----------------+-----------------------------------------
+2200-23FF | W | D D D D D D D D | Reel 1 + 2 stepper latch
+-----------+---+-----------------+-----------------------------------------
+2400-25FF | W | D D D D D D D D | vfd + coin inhibits
+-----------+---+-----------------+-----------------------------------------
+2600-27FF | W | D D D D D D D D | electro mechanical meters
+-----------+---+-----------------+-----------------------------------------
+2800-28FF | W | D D D D D D D D | triacs used for payslides/hoppers
+-----------+---+-----------------+-----------------------------------------
+2A00 |R/W| D D D D D D D D | MUX data
+-----------+---+-----------------+-----------------------------------------
+2A01 | W | D D D D D D D D | MUX control
+-----------+---+-----------------+-----------------------------------------
+2E00 | R | ? ? ? ? ? ? D D | IRQ status
+-----------+---+-----------------+-----------------------------------------
+3000 | W | D D D D D D D D | AY8912 data
+-----------+---+-----------------+-----------------------------------------
+3200 | W | D D D D D D D D | AY8912 address reg
+-----------+---+-----------------+-----------------------------------------
+3402 |R/W| D D D D D D D D | MC6850 control reg
+-----------+---+-----------------+-----------------------------------------
+3403 |R/W| D D D D D D D D | MC6850 data
+-----------+---+-----------------+-----------------------------------------
+3600 | W | ? ? ? ? ? ? D D | MUX enable
+-----------+---+-----------------+-----------------------------------------
+4000-5FFF | R | D D D D D D D D | ROM (8k)
+-----------+---+-----------------+-----------------------------------------
+6000-7FFF | R | D D D D D D D D | ROM (8k)
+-----------+---+-----------------+-----------------------------------------
+8000-FFFF | R | D D D D D D D D | ROM (32k)
+-----------+---+-----------------+-----------------------------------------
+
+ TODO: - change this
+
+***************************************************************************/
+
+#include "driver.h"
+#include "cpu/m6809/m6809.h"
+#include "video/awpvid.h"
+#include "machine/6850acia.h"
+#include "machine/meters.h"
+#include "machine/roc10937.h" // vfd
+#include "machine/steppers.h" // stepper motor
+#include "sound/ay8910.h"
+
+#define VFD_RESET 0x20
+#define VFD_CLOCK1 0x80
+#define VFD_DATA 0x40
+
+#define MASTER_CLOCK (XTAL_4MHz)
+
+// local prototypes ///////////////////////////////////////////////////////
+
+
+// local vars /////////////////////////////////////////////////////////////
+
+static int mmtr_latch; // mechanical meter latch
+static int triac_latch; // payslide triac latch
+static int vfd_latch; // vfd latch
+static int irq_status; // custom chip IRQ status
+static int optic_pattern; // reel optics
+static int locked; // hardware lock/unlock status (0=unlocked)
+static int is_timer_enabled;
+static int reel_changed;
+static int coin_inhibits;
+static int mux_output_strobe;
+static int mux_input_strobe;
+static int mux_input;
+
+// user interface stuff ///////////////////////////////////////////////////
+
+static UINT8 Lamps[128]; // 128 multiplexed lamps
+static UINT8 Inputs[64]; // ?? multiplexed inputs
+
+///////////////////////////////////////////////////////////////////////////
+// Serial Communications (Where does this go?) ////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+UINT8 sys85_data_line_r;
+UINT8 sys85_data_line_t;
+
+static READ_LINE_DEVICE_HANDLER( sys85_data_r )
+{
+ return sys85_data_line_r;
+}
+
+static WRITE_LINE_DEVICE_HANDLER( sys85_data_w )
+{
+ sys85_data_line_t = state;
+}
+
+static ACIA6850_INTERFACE( m6809_acia_if )
+{
+ 500000,
+ 500000,
+ DEVCB_LINE(sys85_data_r),
+ DEVCB_LINE(sys85_data_w),
+ DEVCB_NULL
+};
+
+///////////////////////////////////////////////////////////////////////////
+// called if board is reset ///////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+static MACHINE_RESET( bfm_sys85 )
+{
+ vfd_latch = 0;
+ mmtr_latch = 0;
+ triac_latch = 0;
+ irq_status = 0;
+ is_timer_enabled = 1;
+ coin_inhibits = 0;
+ mux_output_strobe = 0;
+ mux_input_strobe = 0;
+ mux_input = 0;
+
+ ROC10937_reset(0); // reset display1
+
+// reset stepper motors ///////////////////////////////////////////////////
+ {
+ int pattern =0, i;
+
+ for ( i = 0; i < 6; i++)
+ {
+ stepper_reset_position(i);
+ if ( stepper_optic_state(i) ) pattern |= 1<<i;
+ }
+ optic_pattern = pattern;
+ }
+ locked = 0x00; // hardware is NOT locked
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( watchdog_w )
+{
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static INTERRUPT_GEN( timer_irq )
+{
+ if ( is_timer_enabled )
+ {
+ irq_status = 0x01 |0x02; //0xff;
+ generic_pulse_irq_line(device, M6809_IRQ_LINE);
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( irqlatch_r )
+{
+ int result = irq_status | 0x02;
+
+ irq_status = 0;
+
+ return result;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( reel12_w )
+{
+ if ( stepper_update(0, data>>4) ) reel_changed |= 0x01;
+ if ( stepper_update(1, data ) ) reel_changed |= 0x02;
+
+ if ( stepper_optic_state(0) ) optic_pattern |= 0x01;
+ else optic_pattern &= ~0x01;
+ if ( stepper_optic_state(1) ) optic_pattern |= 0x02;
+ else optic_pattern &= ~0x02;
+ awp_draw_reel(0);
+ awp_draw_reel(1);
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( reel34_w )
+{
+ if ( stepper_update(2, data>>4) ) reel_changed |= 0x04;
+ if ( stepper_update(3, data ) ) reel_changed |= 0x08;
+
+ if ( stepper_optic_state(2) ) optic_pattern |= 0x04;
+ else optic_pattern &= ~0x04;
+ if ( stepper_optic_state(3) ) optic_pattern |= 0x08;
+ else optic_pattern &= ~0x08;
+ awp_draw_reel(2);
+ awp_draw_reel(3);
+}
+
+///////////////////////////////////////////////////////////////////////////
+// mechanical meters //////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mmtr_w )
+{
+ int i;
+ int changed = mmtr_latch ^ data;
+ UINT64 cycles = cpu_get_total_cycles(space->cpu);
+
+ mmtr_latch = data;
+
+ for (i=0; i<8; i++)
+ if ( changed & (1 << i) ) Mechmtr_update(i, cycles, data & (1 << i) );
+
+ if ( data ) generic_pulse_irq_line(space->machine->cpu[0], M6809_FIRQ_LINE);
+}
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( mmtr_r )
+{
+ return mmtr_latch;
+}
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( vfd_w )
+{
+ int changed = vfd_latch ^ data;
+
+ vfd_latch = data;
+
+ if ( changed )
+ {
+ if ( changed & VFD_RESET )
+ { // vfd reset line changed
+ if ( !(data & VFD_RESET) )
+ { // reset the vfd
+ ROC10937_reset(0);
+ ROC10937_reset(1);
+ ROC10937_reset(2);
+ }
+ }
+
+ if ( changed & VFD_CLOCK1 )
+ { // clock line changed
+ if ( !(data & VFD_CLOCK1) && (data & VFD_RESET) )
+ { // new data clocked into vfd //////////////////////////////////////
+ ROC10937_shift_data(0, data & VFD_DATA );
+ }
+ }
+ ROC10937_draw_16seg(0);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////////
+// input / output multiplexers ///////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////
+// conversion table BFM strobe data to internal lamp numbers
+static const UINT8 BFM_strcnv85[] =
+{
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+ 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
+ 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
+ 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
+ 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
+ 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
+ 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
+ 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
+
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
+ 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
+ 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7, 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
+ 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7, 0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
+ 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7, 0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
+ 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7, 0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
+ 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7, 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
+ 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7, 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF
+};
+
+///////////////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux_ctrl_w )
+{
+ switch ( data & 0xF0 )
+ {
+ case 0x10:
+ //logerror(" sys85 mux: left entry matrix scan %02X\n", data & 0x0F);
+ break;
+
+ case 0x20:
+ //logerror(" sys85 mux: set scan rate %02X\n", data & 0x0F);
+ break;
+
+ case 0x40:
+ //logerror(" sys85 mux: read strobe");
+ mux_input_strobe = data & 0x07;
+
+ if ( mux_input_strobe == 5 ) Inputs[5] = 0xFF ^ optic_pattern;
+
+ mux_input = ~Inputs[mux_input_strobe];
+ break;
+
+ case 0x80:
+ mux_output_strobe = data & 0x0F;
+ break;
+
+ case 0xC0:
+ //logerror(" sys85 mux: clear all outputs\n");
+ break;
+
+ case 0xE0: // End of interrupt
+ break;
+
+ }
+}
+
+static READ8_HANDLER( mux_ctrl_r )
+{
+ // software waits for bit7 to become low
+
+ return 0;
+}
+
+static WRITE8_HANDLER( mux_data_w )
+{
+ int pattern = 0x01, i,
+ off = mux_output_strobe<<4;
+
+ for ( i = 0; i < 8; i++ )
+ {
+ Lamps[BFM_strcnv85[off]] = data & pattern ? 1 : 0;
+ pattern <<= 1;
+ off++;
+ }
+
+ if (mux_output_strobe == 0)
+ {
+ for ( i = 0; i < 128; i++ )
+ {
+ output_set_lamp_value(i, Lamps[i]);
+ }
+ }
+}
+
+static READ8_HANDLER( mux_data_r )
+{
+ return mux_input;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( mux_enable_w )
+{
+}
+
+///////////////////////////////////////////////////////////////////////////
+// payslide triacs ////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+static WRITE8_HANDLER( triac_w )
+{
+ triac_latch = data;
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static READ8_HANDLER( triac_r )
+{
+ return triac_latch;
+}
+
+// machine start (called only once) ////////////////////////////////////////
+
+static MACHINE_START( bfm_sys85 )
+{
+ int i;
+ for ( i = 0; i < 4; i++ )
+ {
+ stepper_config(machine, i, &starpoint_interface_48step);
+ }
+
+ ROC10937_init(0,MSC1937,1);//?
+
+ awp_reel_setup();
+}
+
+// memory map for bellfruit system85 board ////////////////////////////////
+
+static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
+
+ AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) //8k RAM
+ AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w) // reel 3+4 latch
+ AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w) // reel 1+2 latch
+ AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w) // vfd latch
+
+ AM_RANGE(0x2600, 0x27FF) AM_READWRITE(mmtr_r,mmtr_w)// mechanical meter latch
+ AM_RANGE(0x2800, 0x2800) AM_READ(triac_r) // payslide triacs
+ AM_RANGE(0x2800, 0x29FF) AM_WRITE(triac_w) // triacs
+
+ AM_RANGE(0x2A00, 0x2A00) AM_READWRITE(mux_data_r,mux_data_w)// mux
+ AM_RANGE(0x2A01, 0x2A01) AM_READWRITE(mux_ctrl_r,mux_ctrl_w)// mux status register
+ AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch ( MC6850 / timer )
+
+ AM_RANGE(0x3000, 0x3000) AM_DEVWRITE(SOUND, "ay", ay8910_data_w)
+ AM_RANGE(0x3001, 0x3001) AM_READNOP //sound latch
+ AM_RANGE(0x3200, 0x3200) AM_DEVWRITE(SOUND, "ay", ay8910_address_w)
+
+ AM_RANGE(0x3402, 0x3402) AM_DEVWRITE(ACIA6850, "acia6850_0", acia6850_ctrl_w)
+ AM_RANGE(0x3403, 0x3403) AM_DEVWRITE(ACIA6850, "acia6850_0", acia6850_data_w)
+
+ AM_RANGE(0x3406, 0x3406) AM_DEVREAD(ACIA6850, "acia6850_0", acia6850_stat_r)
+ AM_RANGE(0x3407, 0x3407) AM_DEVREAD(ACIA6850, "acia6850_0", acia6850_data_r)
+
+ AM_RANGE(0x3600, 0x3600) AM_WRITE(mux_enable_w) // mux enable
+
+ AM_RANGE(0x4000, 0xffff) AM_READ(SMH_ROM) // 48K ROM
+ AM_RANGE(0x8000, 0xFFFF) AM_WRITE(watchdog_w) // kick watchdog
+
+ADDRESS_MAP_END
+
+// machine driver for system85 board //////////////////////////////////////
+
+static MACHINE_DRIVER_START( bfmsys85 )
+ MDRV_MACHINE_START(bfm_sys85) // main system85 board initialisation
+ MDRV_MACHINE_RESET(bfm_sys85)
+ MDRV_CPU_ADD("main", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
+ MDRV_CPU_PROGRAM_MAP(memmap,0) // setup read and write memorymap
+ MDRV_CPU_PERIODIC_INT(timer_irq, 1000 ) // generate 1000 IRQ's per second
+
+ MDRV_ACIA6850_ADD("acia6850_0", m6809_acia_if)
+
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay",AY8912, MASTER_CLOCK/4) // add AY8912 soundchip
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+
+ MDRV_NVRAM_HANDLER(generic_0fill) // load/save nv RAM
+
+ MDRV_DEFAULT_LAYOUT(layout_awpvid16)
+MACHINE_DRIVER_END
+
+// input ports for system85 board /////////////////////////////////////////
+
+static INPUT_PORTS_START( bfmsys85 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(3) PORT_NAME("Fl 5.00")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(3) PORT_NAME("Fl 2.50")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_IMPULSE(3) PORT_NAME("Fl 1.00")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_IMPULSE(3) PORT_NAME("Fl 0.25")
+ PORT_BIT( 0xF0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN1")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("10")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("11")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("12")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("13")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("14")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("15")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("16")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_BUTTON8) PORT_NAME("17")
+
+ //PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE
+ //PORT_BIT( 0x02, IP_ACTIVE_HIGH,IPT_SERVICE) PORT_NAME("Bookkeeping") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
+INPUT_PORTS_END
+
+
+// ROM definition /////////////////////////////////////////////////////////
+
+ROM_START( m_supcrd )
+ ROM_REGION( 0x10000, "main", 0 )
+ ROM_LOAD( "sc271.bin", 0x8000, 0x8000, CRC(58e9c9df) SHA1(345c5aa279327d7142edc6823aad0cfd40cbeb73))
+ROM_END
+
+// year,name, parent, machine, input, init, monitor, company, fullname, flags
+GAME( 1985,m_supcrd, 0, bfmsys85, bfmsys85, 0, 0, "BFM/ELAM", "Supercards (Dutch, Game Card 39-340-271?)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c
new file mode 100644
index 00000000000..47a4e54c9ad
--- /dev/null
+++ b/src/mame/drivers/maygay1b.c
@@ -0,0 +1,818 @@
+/*****************************************************************************************
+
+ Maygay M1 A/B driver, (under heavy construction !!!)
+
+ A.G.E Code Copyright J. Wallace and the AGEMAME Development Team.
+ Visit http://www.mameworld.net/agemame/ for more information.
+
+ M.A.M.E Core Copyright Nicola Salmoria and the MAME Team,
+ used under license from http://mamedev.org
+
+ This only loads the basic stuff - there needs to be more done to make this run.
+******************************************************************************************/
+#include "driver.h"
+#include "cpu/m6809/m6809.h"
+#include "video/awpvid.h" //Fruit Machines Only
+#include "machine/6821pia.h"
+#include "machine/68681.h"
+#include "machine/meters.h"
+#include "machine/roc10937.h" // vfd
+#include "machine/steppers.h" // stepper motor
+#include "sound/ay8910.h"
+#include "sound/2413intf.h"
+#include "sound/okim6376.h"
+#include "timer.h"
+
+#define VERBOSE 1
+#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
+
+#define M1_MASTER_CLOCK (8000000)
+#define M1_DUART_CLOCK (3680000)
+
+static struct
+{
+ const device_config *duart68681;
+} maygaym1_devices;
+
+static UINT8 lamppos;
+static int alpha_clock;
+static int RAMEN;
+static int ALARMEN;
+//static int m1_enable;
+static int PSUrelay;
+static int WDOG;
+static int SRSEL;
+
+static UINT8 Lamps[256]; // 256 multiplexed lamps
+static int optic_pattern;
+
+typedef struct _i8279_state i8279_state;
+struct _i8279_state
+{
+ UINT8 command;
+ UINT8 mode;
+ UINT8 prescale;
+ UINT8 inhibit;
+ UINT8 clear;
+ UINT8 ram[16];
+ UINT8 read_sensor;
+ UINT8 write_display;
+ UINT8 sense_address;
+ UINT8 sense_auto_inc;
+ UINT8 disp_address;
+ UINT8 disp_auto_inc;
+};
+
+static i8279_state i8279[2];
+
+static void m1_draw_lamps(int data,int strobe, int col)
+{
+ int i;
+ int scramble[8] = { 0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08 };
+
+ lamppos = strobe + col * 8;
+
+ for ( i = 0; i < 8; i++ )
+ {
+ Lamps[lamppos] = ( data & scramble[i] );
+ output_set_lamp_value(lamppos, Lamps[lamppos]);
+ }
+ lamppos++;
+}
+
+
+/*************************************
+ *
+ * 8279 display/keyboard driver
+ *
+ *************************************/
+
+static void update_outputs(i8279_state *chip, UINT16 which)
+{
+ static const UINT8 ls48_map[16] =
+ { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0x00 };
+ int i;
+
+ /* update the items in the bitmask */
+ for (i = 0; i < 16; i++)
+ if (which & (1 << i))
+ {
+ int val;
+
+ val = chip->ram[i] & 0x0f;
+ if (chip->inhibit & 0x01)
+ val = chip->clear & 0x0f;
+ output_set_digit_value(i * 2 + 0, ls48_map[val]);
+
+ val = chip->ram[i] >> 4;
+ if (chip->inhibit & 0x02)
+ val = chip->clear >> 4;
+ output_set_digit_value(i * 2 + 1, ls48_map[val]);
+ }
+}
+
+static READ8_HANDLER( m1_8279_r )
+{
+ i8279_state *chip = i8279 + 0;
+ static const char *portnames[] = { "SW1","STROBE5","STROBE7","STROBE3","SW2","STROBE4","STROBE6","STROBE2" };
+ UINT8 result = 0xff;
+ UINT8 addr;
+
+ /* read data */
+ if ((offset & 1) == 0)
+ {
+ switch (chip->command & 0xe0)
+ {
+ /* read sensor RAM */
+ case 0x40:
+ addr = chip->command & 0x07;
+ result = input_port_read(space->machine,"SW1");
+ /* handle autoincrement */
+ if (chip->command & 0x10)
+ chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
+
+ break;
+
+
+ /* read display RAM */
+ case 0x60:
+
+ /* set the value of the corresponding outputs */
+ addr = chip->command & 0x0f;
+ result = chip->ram[addr];
+
+ /* handle autoincrement */
+ if (chip->command & 0x10)
+ chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+
+ /* read status word */
+ else
+ {
+ if ( chip->read_sensor )
+ {
+ result = input_port_read(space->machine,portnames[chip->sense_address]);
+// break
+ }
+ if ( chip->sense_auto_inc )
+ {
+ chip->sense_address = (chip->sense_address + 1 ) & 7;
+ }
+ else
+ {
+ result = chip->ram[chip->disp_address];
+ if ( chip->disp_auto_inc )
+ chip->disp_address++;
+ }
+ }
+ return result;
+}
+
+static WRITE8_HANDLER( m1_8279_w )
+{
+ i8279_state *chip = i8279 + 0;
+ UINT8 addr;
+
+ /* write data */
+ if ((offset & 1) == 0)
+ {
+ switch (chip->command & 0xe0)
+ {
+ /* write display RAM */
+ case 0x80:
+
+ /* set the value of the corresponding outputs */
+ addr = chip->command & 0x0f;
+ if (!(chip->inhibit & 0x04))
+ chip->ram[addr] = (chip->ram[addr] & 0xf0) | (data & 0x0f);
+ if (!(chip->inhibit & 0x08))
+ chip->ram[addr] = (chip->ram[addr] & 0x0f) | (data & 0xf0);
+ update_outputs(chip, 1 << addr);
+
+ /* handle autoincrement */
+ if (chip->command & 0x10)
+ chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+
+ /* write command */
+ else
+ {
+ chip->command = data;
+
+ switch (data & 0xe0)
+ {
+ /* command 0: set mode */
+ /*
+ Display modes:
+
+ 00 = 8 x 8-bit character display -- left entry
+ 01 = 16 x 8-bit character display -- left entry
+ 10 = 8 x 8-bit character display -- right entry
+ 11 = 16 x 8-bit character display -- right entry
+
+ Keyboard modes:
+
+ 000 = Encoded scan keyboard -- 2 key lockout
+ 001 = Decoded scan keyboard -- 2 key lockout
+ 010 = Encoded scan keyboard -- N-key rollover
+ 011 = Decoded scan keyboard -- N-key rollover
+ 100 = Encoded scan sensor matrix
+ 101 = Decoded scan sensor matrix
+ 110 = Strobed input, encoded display scan
+ 111 = Strobed input, decoded display scan
+ */
+ case 0x00:
+ logerror("8279A: display mode = %d, keyboard mode = %d\n", (data >> 3) & 3, data & 7);
+ chip->mode = data & 0x1f;
+ break;
+
+ /* command 1: program clock */
+ case 0x20:
+ logerror("8279A: clock prescaler set to %02X\n", data & 0x1f);
+ chip->prescale = data & 0x1f;
+ break;
+
+ /* command 2: read FIFO/sensor RAM */
+ case 0x40:
+ chip->sense_address = data & 0x07;
+ chip->sense_auto_inc = data & 0x10;
+ chip->read_sensor = 1;
+ break;
+ /* command 3: read display RAM */
+ case 0x60:
+ chip->disp_address = data & 0x0f;
+ chip->disp_auto_inc = data & 0x10;
+ chip->read_sensor = 0;
+ break;
+ /* command 4: write display RAM */
+ case 0x80:
+ chip->disp_address = data & 0x0f;
+ chip->disp_auto_inc = data & 0x10;
+ chip->write_display = 1;
+ break;
+
+ /* command 5: display write inhibit/blanking */
+ case 0xa0:
+ chip->inhibit = data & 0x0f;
+ update_outputs(chip, 0);
+ logerror("8279: clock prescaler set to %02X\n", data & 0x1f);
+ break;
+
+ break;
+
+ /* command 6: clear */
+ case 0xc0:
+ chip->clear = (data & 0x08) ? ((data & 0x04) ? 0xff : 0x20) : 0x00;
+ if (data & 0x11)
+ memset(chip->ram, chip->clear, sizeof(chip->ram));
+ break;
+
+ /* command 7: end interrupt/error mode set */
+ case 0xe0:
+ break;
+ }
+ }
+ if ( chip->write_display )
+ { // Data
+ if ( chip->ram[chip->disp_address] != data )
+ {
+ m1_draw_lamps(chip->ram[chip->disp_address],chip->disp_address, 0);
+ }
+ chip->ram[chip->disp_address] = data;
+ if ( chip->disp_auto_inc )
+ chip->disp_address ++;
+ }
+}
+
+static READ8_HANDLER( m1_8279_2_r )
+{
+ i8279_state *chip = i8279 + 1;
+ UINT8 result = 0xff;
+ UINT8 addr;
+
+ /* read data */
+ if ((offset & 1) == 0)
+ {
+ switch (chip->command & 0xe0)
+ {
+ /* read sensor RAM */
+ case 0x40:
+ //result = ~input_port_read(machine,"DSW1"); /* DSW 1 - inverted! */
+ break;
+
+ /* read display RAM */
+ case 0x60:
+
+ /* set the value of the corresponding outputs */
+ addr = chip->command & 0x0f;
+ result = chip->ram[addr];
+
+ /* handle autoincrement */
+ if (chip->command & 0x10)
+ chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+
+ /* read status word */
+ else
+ {
+ logerror("read 0xfc%02x\n", offset);
+ result = 0x10;
+ }
+ return result;
+}
+
+
+static WRITE8_HANDLER( m1_8279_2_w )
+{
+ i8279_state *chip = i8279 + 1;
+ UINT8 addr;
+
+ /* write data */
+ if ((offset & 1) == 0)
+ {
+ switch (chip->command & 0xe0)
+ {
+ /* write display RAM */
+ case 0x80:
+
+ /* set the value of the corresponding outputs */
+ addr = chip->command & 0x0f;
+ if (!(chip->inhibit & 0x04))
+ chip->ram[addr] = (chip->ram[addr] & 0xf0) | (data & 0x0f);
+ if (!(chip->inhibit & 0x08))
+ chip->ram[addr] = (chip->ram[addr] & 0x0f) | (data & 0xf0);
+ update_outputs(chip, 1 << addr);
+
+ /* handle autoincrement */
+ if (chip->command & 0x10)
+ chip->command = (chip->command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+
+ /* write command */
+ else
+ {
+ chip->command = data;
+
+ switch (data & 0xe0)
+ {
+ /* command 0: set mode */
+ /*
+ Display modes:
+
+ 00 = 8 x 8-bit character display -- left entry
+ 01 = 16 x 8-bit character display -- left entry
+ 10 = 8 x 8-bit character display -- right entry
+ 11 = 16 x 8-bit character display -- right entry
+
+ Keyboard modes:
+
+ 000 = Encoded scan keyboard -- 2 key lockout
+ 001 = Decoded scan keyboard -- 2 key lockout
+ 010 = Encoded scan keyboard -- N-key rollover
+ 011 = Decoded scan keyboard -- N-key rollover
+ 100 = Encoded scan sensor matrix
+ 101 = Decoded scan sensor matrix
+ 110 = Strobed input, encoded display scan
+ 111 = Strobed input, decoded display scan
+ */
+ case 0x00:
+ logerror("8279A: display mode = %d, keyboard mode = %d\n", (data >> 3) & 3, data & 7);
+ chip->mode = data & 0x1f;
+ break;
+
+ /* command 1: program clock */
+ case 0x20:
+ logerror("8279A: clock prescaler set to %02X\n", data & 0x1f);
+ chip->prescale = data & 0x1f;
+ break;
+
+ /* command 2: read FIFO/sensor RAM */
+ case 0x40:
+ chip->sense_address = data & 0x07;
+ chip->sense_auto_inc = data & 0x10;
+ chip->read_sensor = 1;
+ break;
+ /* command 3: read display RAM */
+ case 0x60:
+ chip->disp_address = data & 0x0f;
+ chip->disp_auto_inc = data & 0x10;
+ chip->read_sensor = 0;
+ break;
+ /* command 4: write display RAM */
+ case 0x80:
+ chip->disp_address = data & 0x0f;
+ chip->disp_auto_inc = data & 0x10;
+ chip->write_display = 1;
+ break;
+
+ /* command 5: display write inhibit/blanking */
+ case 0xa0:
+ break;
+
+ /* command 6: clear */
+ case 0xc0:
+ break;
+
+ /* command 7: end interrupt/error mode set */
+ case 0xe0:
+ break;
+ }
+ }
+ if ( chip->write_display )
+ { // Data
+ if ( chip->ram[chip->disp_address] != data )
+ {
+ m1_draw_lamps(chip->ram[chip->disp_address],chip->disp_address, 128);
+ }
+ chip->ram[chip->disp_address] = data;
+ if ( chip->disp_auto_inc )
+ chip->disp_address ++;
+ }
+
+}
+
+///////////////////////////////////////////////////////////////////////////
+// called if board is reset ///////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////
+
+static void m1_stepper_reset(void)
+{
+ int pattern = 0,i;
+ for ( i = 0; i < 6; i++)
+ {
+ stepper_reset_position(i);
+ if ( stepper_optic_state(i) ) pattern |= 1<<i;
+ }
+ optic_pattern = pattern;
+}
+
+static MACHINE_RESET( m1 )
+{
+ ROC10937_reset(0); // reset display1
+ maygaym1_devices.duart68681 = device_list_find_by_tag( machine->config->devicelist, DUART68681, "duart68681" );
+ m1_stepper_reset();
+}
+
+///////////////////////////////////////////////////////////////////////////
+
+static void duart_irq_handler(const device_config *device, UINT8 state)
+{
+ cpu_set_input_line(device->machine->cpu[0], M6809_IRQ_LINE, state?ASSERT_LINE:CLEAR_LINE);
+ LOG(("6809 irq%d \n",state));
+}
+
+#if 0
+static void cpu0_firq(int state)
+{
+ cpunum_set_input_line(Machine, 0, M6809_FIRQ_LINE, state?ASSERT_LINE:CLEAR_LINE);
+ LOG(("6809 firq%d \n",state));
+}
+
+static void cpu0_nmi(int state)
+{
+ cpunum_set_input_line(Machine, 0, INPUT_LINE_NMI, state?ASSERT_LINE:CLEAR_LINE);
+ LOG(("6809 nmi%d \n",state));
+}
+#endif
+
+/***************************************************************************
+ 6821 PIA
+***************************************************************************/
+
+static WRITE8_HANDLER( m1_pia_porta_w )
+{
+ if ( data & 0x40 ) ROC10937_reset(0);
+
+ if ( !alpha_clock && (data & 0x20) )
+ {
+ ROC10937_shift_data(0, ( data & 0x10 )?0:1);
+ }
+
+ alpha_clock = data & 0x20;
+
+ ROC10937_draw_16seg(0);
+}
+
+static WRITE8_HANDLER( m1_pia_portb_w )
+{
+ int i;
+ for (i=0; i<8; i++)
+ if ( data & (1 << i) ) output_set_indexed_value("triac", i, data & (1 << i));
+}
+
+static const pia6821_interface m1_pia_intf =
+{
+ /*inputs : A/B,CA/B1,CA/B2 */ 0, 0, 0, 0, 0, 0,
+ /*outputs: A/B,CA/B2 */ m1_pia_porta_w, m1_pia_portb_w, 0, 0,
+ /*irqs : A/B */ 0,0
+};
+
+// input ports for M1 board ////////////////////////////////////////
+
+static INPUT_PORTS_START( m1 )
+ PORT_START("SW1")
+ PORT_DIPNAME( 0x01, 0x00, "SW101" ) PORT_DIPLOCATION("SW1:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "SW102" ) PORT_DIPLOCATION("SW1:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "SW103" ) PORT_DIPLOCATION("SW1:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "SW104" ) PORT_DIPLOCATION("SW1:04")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "SW105" ) PORT_DIPLOCATION("SW1:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "SW106" ) PORT_DIPLOCATION("SW1:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "SW107" ) PORT_DIPLOCATION("SW1:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "AntiFraud Protection" ) PORT_DIPLOCATION("SW1:08")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW2")
+ PORT_DIPNAME( 0x01, 0x00, "SW201" ) PORT_DIPLOCATION("SW2:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "SW202" ) PORT_DIPLOCATION("SW2:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "SW203" ) PORT_DIPLOCATION("SW2:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "SW204" ) PORT_DIPLOCATION("SW2:04")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "SW205" ) PORT_DIPLOCATION("SW2:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "SW206" ) PORT_DIPLOCATION("SW2:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "SW207" ) PORT_DIPLOCATION("SW2:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "SW208" ) PORT_DIPLOCATION("SW2:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("STROBE2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("17")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("18")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("19")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("20")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("21")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("22")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("23")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("24")
+
+ PORT_START("STROBE3")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("25")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Hi")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Lo")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("28")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("29")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("30")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Rear Door") PORT_TOGGLE
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE
+
+ PORT_START("STROBE4")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hi")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_SPECIAL)//50p Tube
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_SPECIAL)//100p Tube rear
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_SPECIAL)//100p Tube front
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED)
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
+
+ PORT_START("STROBE5")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("49")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("50")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Cancel")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 1")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hold 2")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Hold 3")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Hold 4")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1)
+
+ PORT_START("STROBE6")
+ PORT_SERVICE_NO_TOGGLE(0x01,IP_ACTIVE_HIGH)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("58")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("59")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("60")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("61")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("62")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("63")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("64")
+
+ PORT_START("STROBE7")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("65")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("66")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("67")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("68")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("69")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("70")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("72")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("73")
+
+INPUT_PORTS_END
+
+static MACHINE_START( m1 )
+{
+ int i;
+ pia_config(machine, 0,&m1_pia_intf);
+ pia_reset();
+
+// setup 8 mechanical meters ////////////////////////////////////////////
+ Mechmtr_init(8);
+
+// setup 6 default 96 half step reels ///////////////////////////////////
+ for ( i = 0; i < 6; i++ )
+ {
+ stepper_config(machine, i, &starpoint_interface_48step);
+ }
+
+// setup the standard oki MSC1937 display ///////////////////////////////
+ ROC10937_init(0, MSC1937,0);
+}
+static WRITE8_HANDLER( reel12_w )
+{
+ stepper_update(0, data & 0x0F );
+ stepper_update(1, (data>>4) & 0x0F );
+
+ if ( stepper_optic_state(0) ) optic_pattern |= 0x01;
+ else optic_pattern &= ~0x01;
+ if ( stepper_optic_state(1) ) optic_pattern |= 0x02;
+ else optic_pattern &= ~0x02;
+
+ awp_draw_reel(0);
+ awp_draw_reel(1);
+}
+
+static WRITE8_HANDLER( reel34_w )
+{
+ stepper_update(2, data & 0x0F );
+ stepper_update(3, (data>>4) & 0x0F );
+
+ if ( stepper_optic_state(2) ) optic_pattern |= 0x04;
+ else optic_pattern &= ~0x04;
+ if ( stepper_optic_state(3) ) optic_pattern |= 0x08;
+ else optic_pattern &= ~0x08;
+
+ awp_draw_reel(2);
+ awp_draw_reel(3);
+}
+
+static WRITE8_HANDLER( reel56_w )
+{
+ stepper_update(4, data & 0x0F );
+ stepper_update(5, (data>>4) & 0x0F );
+
+ if ( stepper_optic_state(4) ) optic_pattern |= 0x10;
+ else optic_pattern &= ~0x10;
+ if ( stepper_optic_state(5) ) optic_pattern |= 0x20;
+ else optic_pattern &= ~0x20;
+
+ awp_draw_reel(4);
+ awp_draw_reel(5);
+}
+
+static UINT8 m1_duart_r (const device_config *device)
+{
+ return (optic_pattern);
+}
+
+static WRITE8_DEVICE_HANDLER( m1_meter_w )
+{
+ int i;
+ UINT64 cycles = cpu_get_total_cycles(device->machine->cpu[0]);
+
+ for (i=0; i<8; i++)
+ if ( data & (1 << i) ) Mechmtr_update(i, cycles, data & (1 << i) );
+}
+
+static WRITE8_HANDLER( m1_latch_w )
+{
+ switch ( offset )
+ {
+ case 0: // RAMEN
+ RAMEN = (data & 1);
+ break;
+ case 1: // AlarmEn
+ ALARMEN = (data & 1);
+ break;
+ case 2: // Enable
+// if ( m1_enable == 0 && ( data & 1 ) && Vmm )
+// {
+ // cpu0_nmi(1)
+ // m1_enable = (data & 1);
+// }
+ break;
+ case 3: // RTS
+ {
+ }
+ break;
+ case 4: // PSURelay
+ PSUrelay = (data & 1);
+ break;
+ case 5: // WDog
+ WDOG = (data & 1);
+ break;
+ case 6: // Srsel
+ SRSEL = (data & 1);
+ break;
+ }
+}
+
+
+static ADDRESS_MAP_START( m1_memmap, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+
+ AM_RANGE(0x2000, 0x2000) AM_WRITE(reel12_w)
+ AM_RANGE(0x2010, 0x2010) AM_WRITE(reel34_w)
+ AM_RANGE(0x2020, 0x2020) AM_WRITE(reel56_w)
+
+ AM_RANGE(0x2030, 0x2031) AM_READWRITE(m1_8279_r,m1_8279_w)
+ AM_RANGE(0x2040, 0x2041) AM_READWRITE(m1_8279_2_r,m1_8279_2_w)
+ AM_RANGE(0x2050, 0x2050)// SCAN on M1B
+
+ AM_RANGE(0x2070, 0x207f) AM_DEVREADWRITE( DUART68681, "duart68681", duart68681_r, duart68681_w )
+
+ AM_RANGE(0x2090, 0x2091) AM_DEVWRITE(SOUND, "ay", ay8910_address_data_w)
+ AM_RANGE(0x20B0, 0x20B0) AM_DEVREAD(SOUND, "ay", ay8910_r)
+
+ AM_RANGE(0x20A0, 0x20A3) AM_WRITE(pia_0_w)
+ AM_RANGE(0x20A0, 0x20A3) AM_READ( pia_0_r)
+
+ AM_RANGE(0x20C0, 0x20C7) AM_WRITE(m1_latch_w)
+
+ AM_RANGE(0x2400, 0x2401) AM_DEVWRITE( SOUND, "ym", ym2413_w )
+
+ AM_RANGE(0x2800, 0xffff) AM_ROM
+ADDRESS_MAP_END
+
+static const ay8910_interface ay8910_config =
+{
+ AY8910_LEGACY_OUTPUT,
+ AY8910_DEFAULT_LOADS,
+ DEVCB_NULL,
+ DEVCB_NULL,
+ DEVCB_HANDLER(m1_meter_w),
+ DEVCB_NULL,
+};
+
+static const duart68681_config maygaym1_duart68681_config =
+{
+ duart_irq_handler,
+ NULL,
+ m1_duart_r,
+ NULL
+};
+
+// machine driver for maygay m1 board /////////////////////////////////
+
+static MACHINE_DRIVER_START( m1 )
+
+ MDRV_MACHINE_START(m1)
+ MDRV_MACHINE_RESET(m1)
+ MDRV_CPU_ADD("main", M6809, M1_MASTER_CLOCK/2)
+ MDRV_CPU_PROGRAM_MAP(m1_memmap,0)
+
+ MDRV_DUART68681_ADD("duart68681", M1_DUART_CLOCK, maygaym1_duart68681_config)
+
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay",AY8913, M1_MASTER_CLOCK)
+ MDRV_SOUND_CONFIG(ay8910_config)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+
+ MDRV_SOUND_ADD("ym", YM2413, M1_MASTER_CLOCK/4)
+
+ MDRV_SOUND_ADD("msm6376", OKIM6376, M1_MASTER_CLOCK/4) //?
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+
+ MDRV_NVRAM_HANDLER(generic_0fill)
+
+ MDRV_DEFAULT_LAYOUT(layout_awpvid16)
+MACHINE_DRIVER_END
+
+ROM_START( m_sptlgt )
+ ROM_REGION( 0x10000, "main", ROMREGION_ERASE00 )
+ ROM_LOAD( "sa2-412.bin",0x0000, 0x10000, CRC(17531aad) SHA1(decec517b89be9019913be59c5fC2aa2ee6e3f8f))
+ROM_END
+
+GAME( 199?, m_sptlgt,0, m1,m1,0, ROT0, "Maygay Machines Ltd.", "Spotlight",GAME_NOT_WORKING|GAME_NO_SOUND|GAME_REQUIRES_ARTWORK )
diff --git a/src/mame/drivers/maygayv1.c b/src/mame/drivers/maygayv1.c
new file mode 100644
index 00000000000..1792d23ea2c
--- /dev/null
+++ b/src/mame/drivers/maygayv1.c
@@ -0,0 +1,1106 @@
+/***************************************************************************
+
+ MAYGAY MV1 hardware
+
+ preliminary driver by Phil Bennett
+
+ Games supported:
+ * Screen Play
+
+ Other games on this hardware:
+ * Believe it or not?
+ * Caesar's Palace (reel to video)
+ * Crossword Quiz
+ * Give us a Clue
+ * Special Effects (reel to video)
+ * World Cup (reel to video)
+
+
+Main MV1 board:
+
+U1 ST 8901 TS68000CP12
+U2 ST M74HC04B1 99135R
+U3 ST 16S25HB1 9235 (think this is the gal chip)
+U4 ST M74HC138B1 99131R
+U5 P8948G MM74HC05N
+U6 ST M74HC74B1 99144R
+U7 ST M74HC08B1 99135R
+U8 ST NE556N 99135
+U9 ST M74HC259B1 99148R
+U10 ST M74HC237B1 99148R
+U11 ULN2803A 9135
+U12 ST M74HC74B1 99144R
+U13 ST M74HC32B1 99041R
+U14 ST M74HCO4B1 99135R
+U15 27C010 (Game Rom)
+U16 27C010 (Game Rom)
+U17 27C010 (Game Rom)
+U18 27C010 (Game Rom)
+U19 HYUNDAI HY6264ALP- 10 9147T
+U20 HYUNDAI HY6264ALP- 10 9147T
+U21 NEC IRELAND D8279C- 2 9135X8006]
+U22 ULN2803A 9135
+U23 ULN2803A 9135
+U24 TEXAS INSTRUMENT F 9140 AN SN74HC148N
+U25 ST 2 9148 EF68B21P
+U26 Can't see one on the board!
+U27 MOTOROLA MC68681P 14PT18715
+U28 ST MC1488P 99136
+U29 ST MC1489AP 99148
+U30 ST HCF 4514 BE 2 9049
+U31 MOTOROLA MC74F139N XXAA9145
+U32 TEXAS INSTRUMENT TMS4464- 12NL IHE 9145
+U33 TEXAS INSTRUMENT TMS4464- 12NL IHE 9114
+U34 TEXAS INSTRUMENT TMS4464- 12NL IHE 9145
+U35 TEXAS INSTRUMENT TMS4464- 12NL IHE 9114
+U36 MHS S-82716-4 9210
+U37 TEXAS INSTRUMENT TMS4464- 12NL IHE 9114
+U38 TEXAS INSTRUMENT TMS4464- 12NL IHE 9145
+U39 TEXAS INSTRUMENT TMS4464- 12NL IHE 9145
+U40 TEXAS INSTRUMENT TMS4464- 12NL IHE 9114
+U41 ST M74HC244B1 99131R
+U42 ST M74HC244B1 99131R
+U43 ST M74HC245B1 99136R
+U44 ST M74HC245B1 99136R
+U45 ST M74HC00B1 99135R
+U46 ULN2803A 9135
+U47 ULN2803A 9135
+U48 YM2413 9127 HADG
+U49 78L05 .194
+
+The memory card that plugs in has 4 M27C010 game roms on.
+
+The extra digital and reel board has the following:
+
+U1 GS G06 KOREA GD74HC245
+U2 SIEMENS SAB 8032B-P SINGAPORE BB INTEL 80 9148
+U3 M27C512 (reels rom)
+U4 ST M74HC373B1 99205R
+U5 TEXAS INSTRUMENT 14530QT SN75155P
+U6 ULN 2803A 9203
+U7 ST M74HC374B1 99205R
+U8 ST M74HC374B1 99205R
+U9 ULN 2803A 9203
+U10 ULN 2803A 9203
+U11 ULN 2803A 9203
+U12 M27C010 (Sound Rom)
+U13 NEC JAPAN D7759C 9015KP009
+U14 ST M74HC373B1 99205R
+U15 Can't see one on the board!
+U16 MOTOROLA MC74HC04AN FFA09202
+
+
+
+
+upd7759 change:
+
+* Only accept FIFO bytes when the chip is playing!!!
+
+Port 1 is connected directly to the upd bus.
+upd /CE is grounded
+/WR bit is
+
+Toggle reset pin
+Write data on port 1
+Toggle WR bit...
+
+Then, it goes off to write.
+
+INT1 Power failure?
+INT2 -
+INT3 V Sync
+INT4 -
+INT5 68681 DUART
+INT6 -
+INT7 -
+
+
+DUART: 0 = Power failure
+
+M68681 Output port drives slides
+
+Todo:
+
+Find lamps/reels after UPD changes.
+***************************************************************************/
+
+#include "driver.h"
+#include "cpu/m68000/m68000.h"
+#include "video/awpvid.h"
+#include "cpu/mcs51/mcs51.h"
+#include "machine/6821pia.h"
+#include "machine/68681.h"
+#include "sound/2413intf.h"
+#include "sound/upd7759.h"
+
+//#include "deprecat.h"
+
+/*************************************
+ *
+ * Defines
+ *
+ *************************************/
+
+#define DUART_CLOCK 3686400
+#define PIXEL_CLOCK 0
+
+/*************************************
+ *
+ * Video hardware
+ *
+ *************************************/
+
+static int vsync_latch_preset;
+
+#define VREG(a) i82716.r[a]
+
+enum
+{
+ VCR0 = 0,
+ VCR1,
+ RWBA,
+ DWBA,
+ DWSLM,
+ DSBA,
+ PAQ,
+ ODTBA,
+ ATBA,
+ CTBA,
+ CBASE,
+ ATBAC,
+ HVCONST0,
+ HVCONST1,
+ HVCONST2,
+ HVCONST3
+};
+
+#define VCR0_UCF 0x0001
+#define VCR0_DEI 0x0002
+#define VCR0_SAB 0x0004
+#define VCR0_DEN 0x0008
+#define VCR0_HRS 0x0010
+#define VCR0_DOF 0x0020
+
+#define VCR0_DS_MASK 0x00c0
+#define VCR0_DS_SHIFT 6
+#define VCR0_BLINK_MASK 0x1f00
+#define VCR0_BLINK_SHIFT 8
+#define VCR0_DUTY_MASK 0xe000
+#define VCR0_DUTY_SHIFT 13
+
+static const UINT32 banks[4] = { 0, 0x40000/2, 0x20000/2, 0x60000/2 };
+
+static struct
+{
+ const device_config *duart68681;
+} maygayv1_devices;
+
+#define DRAM_BANK_SEL (banks[(VREG(DSBA) >> 7) & 3])
+
+static struct
+{
+ UINT16 r[16];
+ UINT16 *dram;
+
+ UINT8 *line_buf; // there's actually two
+} i82716;
+
+WRITE16_HANDLER( i82716_w )
+{
+ // Accessing register window?
+ if ((VREG(RWBA) & 0xfff0) == (offset & 0xfff0))
+ {
+ // Register segment is fixed at start of DRAM
+ COMBINE_DATA(&i82716.dram[offset & 0xf]);
+ }
+
+ // Accessing data window?
+ // TODO: mask
+ if (offset >= (VREG(DWBA) & 0xf800))
+ {
+ offset -= (VREG(DWBA) & 0xf800);
+ COMBINE_DATA(&i82716.dram[DRAM_BANK_SEL + (VREG(DSBA) & 0xf800) + offset]);
+ }
+}
+
+READ16_HANDLER( i82716_r )
+{
+ // Accessing register window?
+ if ((VREG(RWBA) & ~0xf) == (offset & ~0xf))
+ {
+ return(i82716.r[offset & 0xf]);
+ }
+
+ // Accessing data window? TODO: mask?
+ if (VREG(VCR1) & 4)
+ {
+ if (offset >= (VREG(DWBA) & 0xf800))
+ {
+ offset -= (VREG(DWBA) & 0xf800);
+ return i82716.dram[DRAM_BANK_SEL +(VREG(DSBA) & 0xf800) + (offset)];
+ }
+ }
+
+ return 0;
+}
+
+static VIDEO_START( maygayv1 )
+{
+
+}
+
+
+static VIDEO_UPDATE( maygayv1 )
+{
+ UINT16 *atable = &i82716.dram[VREG(ATBA)];
+ UINT16 *otable = &i82716.dram[VREG(ODTBA) & 0xfc00]; // both must be bank 0
+
+ int sl, sx;
+ int slmask = 0xffff; // TODO: Save if using scanline callbacks
+ int xbound = (VREG(DWBA) & 0x3f8) | 7;
+
+ /* Sign extend to 10 bits */
+ xbound = (xbound & 0x3ff) - (xbound & 0x400);
+
+ /* If screen output is disabled, fill with black */
+ if (!(VREG(VCR0) & VCR0_DEN))
+ {
+ bitmap_fill(bitmap, cliprect, get_black_pen(screen->machine));
+ return 0;
+ }
+
+ /* For every scanline... */
+ for (sl = cliprect->min_x; sl <= cliprect->max_y; ++sl)
+ {
+ int obj;
+ UINT16 aflags = atable[sl];
+ UINT16 slmask_old = slmask;
+
+ UINT16 *bmp_ptr = BITMAP_ADDR16(bitmap, sl, 0);
+
+ slmask = 0xffff ^ (slmask ^ aflags);
+
+ /* Clear the frame buffer on each line to BG colour (palette entry 2) */
+ /* 4bpp only ! */
+ memset(i82716.line_buf, 0x22, 512);
+
+ /* Parse the list of 16 objects */
+ for (obj = 0; obj < 16; ++obj)
+ {
+ int offs = obj * 4;
+
+ // Draw on this line?
+ if ( !BIT(slmask, obj) )
+ {
+ UINT32 objbase, trans, width, res, cspec;
+ INT32 x, xpos;
+ UINT16 w0, w1, w2;
+ UINT16 *objptr;
+ UINT8 *bmpptr; // ?
+
+ /* Get object table entry words */
+ w0 = otable[offs];
+ w1 = otable[offs + 1];
+ w2 = otable[offs + 2];
+
+ /* Blanked */
+ if ( BIT(w0, 4) )
+ break;
+
+// if ( BIT(w0, 5) )
+// printf("Blinking\n");
+
+ /* Resolution: either 4bpp or 2bpp */
+ res = (w0 >> 9) & 3;
+
+
+ /* Expand 2bpp to 3bpp */
+ cspec = (w0 & 3) << 2;
+
+ if ( BIT(w0, 11) )
+ {
+ logerror("i82716: Characters not supported\n");
+ break;
+ }
+
+ /* 10-bit signed - in terms of bytes */
+ xpos = (w1 & 0x3ff);
+ xpos = (xpos & 0x3ff) - (xpos & 0x400);
+
+ /* Transparency detect enable */
+ trans = BIT(w0, 2);
+
+ /* Width is expressed in units of 64-bit words */
+ width = (w1 >> 10) & 0x3f;
+
+ /* First scanline? Clear current object entry address */
+ if ( BIT(slmask_old, obj) )
+ otable[offs + 3] = 0;
+
+ /* Bitmap data pointer */
+ objbase = ((w0 & 0x00c0) << 10) | w2;
+ objptr = &i82716.dram[objbase + ((4 * width) * otable[offs + 3])];
+
+ // endian alert
+ bmpptr = (UINT8*)objptr;
+
+ // 4bpp
+ for (x = xpos; x < MIN(xbound, xpos + width * 8); ++x)
+ {
+ if (x >= 0)
+ {
+ UINT8 p1 = *bmpptr & 0xf;
+ UINT8 p2 = *bmpptr >> 4;
+
+ if (!trans || p1)
+ i82716.line_buf[x] = p1;
+
+ if (!trans || p2)
+ i82716.line_buf[x] |= p2 << 4;
+ }
+ bmpptr++;
+ }
+
+ /* Update scanline pointer - WRONG */
+ otable[offs + 3]++;
+ }
+ }
+
+ // Write it out
+ for (sx = cliprect->min_x; sx < cliprect->max_x; sx += 2)
+ {
+ UINT8 pix = i82716.line_buf[sx / 2];
+
+ bmp_ptr[sx + 0] = pix & 0xf;
+ bmp_ptr[sx + 1] = pix >> 4;
+ }
+ }
+
+ return 0;
+}
+
+static VIDEO_EOF( maygayv1 )
+{
+ // UCF
+ if (VREG(VCR0) & VCR0_UCF)
+ {
+ int i;
+
+ for (i = 0; i < 16; ++i)
+ VREG(i) = i82716.dram[i];
+ }
+ else
+ {
+ VREG(VCR0) = i82716.dram[VCR0];
+ VREG(ATBA) = i82716.dram[ATBA];
+ }
+
+ if (!(VREG(VCR0) & VCR0_DEI))
+ {
+ int i;
+ UINT16 *palbase = &i82716.dram[VREG(CTBA)];
+
+ for (i = 0; i < 16; ++i)
+ {
+ UINT16 entry = *palbase++;
+ palette_set_color_rgb(machine, entry & 0xf, pal4bit(entry >> 12), pal4bit(entry >> 8), pal4bit(entry >> 4));
+ }
+ }
+}
+
+
+
+/*************************************
+ *
+ * 68000 CPU memory handlers
+ *
+ *************************************/
+
+/*
+ 68681
+ YM2413
+ 68B21
+ 8279C
+
+ 8a0008 0xe0
+ 8a000c 0x7
+ 8a000e 0x33
+ 8a000a 0x8
+ 8a001c 0xff R/W
+*/
+
+
+static READ16_HANDLER( pia_lsb_r )
+{
+ return pia_read(0, offset);
+}
+
+static WRITE16_HANDLER( pia_lsb_w )
+{
+ pia_write(0, offset, data >> 8);
+}
+
+
+
+static WRITE16_HANDLER( write_odd )
+{
+}
+
+//;860008 is a latch of some sort
+static READ16_HANDLER( read_odd )
+{
+ return 0;
+}
+
+
+struct _i8279_state
+{
+ UINT8 command;
+ UINT8 mode;
+ UINT8 prescale;
+ UINT8 inhibit;
+ UINT8 clear;
+ UINT8 fifo[8];
+ UINT8 ram[16];
+} i8279;
+
+/* TODO */
+static void update_outputs(UINT16 which)
+{
+ int i;
+
+ /* update the items in the bitmask */
+ for (i = 0; i < 16; i++)
+ if (which & (1 << i))
+ {
+ int val;
+
+ val = i8279.ram[i] & 0xff;
+/*
+ val = i8279.ram[i] & 0x0f;
+ if (i8279.inhibit & 0x01)
+ val = i8279.clear & 0x0f;
+
+ if(val) printf("%x\n", val);
+
+ val = i8279.ram[i] >> 4;
+ if (i8279.inhibit & 0x02)
+ val = i8279.clear >> 4;
+
+ if(val) printf("%x\n", val);
+*/
+ }
+}
+
+static READ16_HANDLER( maygay_8279_r )
+{
+ static const char *portnames[] = { "STROBE1","STROBE2","STROBE3","STROBE4","STROBE5","STROBE6","STROBE7","STROBE8" };
+ UINT8 result = 0xff;
+ UINT8 addr;
+
+ /* read data */
+ if ((offset & 1) == 0)
+ {
+ switch (i8279.command & 0xe0)
+ {
+ /* read sensor RAM */
+ case 0x40:
+ addr = i8279.command & 0x07;
+
+ result = input_port_read(space->machine, portnames[addr]);
+
+ /* handle autoincrement */
+ if (i8279.command & 0x10)
+ i8279.command = (i8279.command & 0xf0) | ((addr + 1) & 0x0f);
+
+ break;
+
+ /* read display RAM */
+ case 0x60:
+
+ /* set the value of the corresponding outputs */
+ addr = i8279.command & 0x0f;
+ result = i8279.ram[addr];
+
+ /* handle autoincrement */
+ if (i8279.command & 0x10)
+ i8279.command = (i8279.command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+ /* read status word */
+ else
+ {
+ printf("read 0xfc%02x\n", offset);
+ result = 0x10;
+ }
+ return result;
+}
+
+
+static WRITE16_HANDLER( maygay_8279_w )
+{
+ UINT8 addr;
+
+ data >>= 8;
+
+ /* write data */
+ if ((offset & 1) == 0)
+ {
+ switch (i8279.command & 0xe0)
+ {
+ /* write display RAM */
+ case 0x80:
+
+ /* set the value of the corresponding outputs */
+ addr = i8279.command & 0x0f;
+ if (!(i8279.inhibit & 0x04))
+ i8279.ram[addr] = (i8279.ram[addr] & 0xf0) | (data & 0x0f);
+ if (!(i8279.inhibit & 0x08))
+ i8279.ram[addr] = (i8279.ram[addr] & 0x0f) | (data & 0xf0);
+ update_outputs(1 << addr);
+
+ /* handle autoincrement */
+ if (i8279.command & 0x10)
+ i8279.command = (i8279.command & 0xf0) | ((addr + 1) & 0x0f);
+ break;
+ }
+ }
+
+ /* write command */
+ else
+ {
+ i8279.command = data;
+
+ switch (data & 0xe0)
+ {
+ /* command 0: set mode */
+ /*
+ Display modes:
+
+ 00 = 8 x 8-bit character display -- left entry
+ 01 = 16 x 8-bit character display -- left entry
+ 10 = 8 x 8-bit character display -- right entry
+ 11 = 16 x 8-bit character display -- right entry
+
+ Keyboard modes:
+
+ 000 = Encoded scan keyboard -- 2 key lockout
+ 001 = Decoded scan keyboard -- 2 key lockout
+ 010 = Encoded scan keyboard -- N-key rollover
+ 011 = Decoded scan keyboard -- N-key rollover
+ 100 = Encoded scan sensor matrix
+ 101 = Decoded scan sensor matrix
+ 110 = Strobed input, encoded display scan
+ 111 = Strobed input, decoded display scan
+ */
+ case 0x00:
+ logerror("8279: display mode = %d, keyboard mode = %d\n", (data >> 3) & 3, data & 7);
+ i8279.mode = data & 0x1f;
+ break;
+
+ /* command 1: program clock */
+ case 0x20:
+ logerror("8279: clock prescaler set to %02X\n", data & 0x1f);
+ i8279.prescale = data & 0x1f;
+ break;
+
+ /* command 2: read FIFO/sensor RAM */
+ /* command 3: read display RAM */
+ /* command 4: write display RAM */
+ case 0x40:
+ case 0x60:
+ case 0x80:
+ break;
+
+ /* command 5: display write inhibit/blanking */
+ case 0xa0:
+ i8279.inhibit = data & 0x0f;
+ update_outputs(~0);
+ logerror("8279: clock prescaler set to %02X\n", data & 0x1f);
+ break;
+
+ /* command 6: clear */
+ case 0xc0:
+ i8279.clear = (data & 0x08) ? ((data & 0x04) ? 0xff : 0x20) : 0x00;
+ if (data & 0x11)
+ memset(i8279.ram, i8279.clear, sizeof(i8279.ram));
+ break;
+
+ /* command 7: end interrupt/error mode set */
+ case 0xe0:
+ break;
+ }
+ }
+}
+
+
+
+
+
+
+static WRITE16_HANDLER( vsync_int_ctrl )
+{
+ vsync_latch_preset = data & 0x0100;
+
+ // Active low
+ if (!(vsync_latch_preset))
+ cpu_set_input_line(space->machine->cpu[0], 3, CLEAR_LINE);
+}
+
+static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
+ AM_RANGE(0x000000, 0x07ffff) AM_ROM
+ AM_RANGE(0x080000, 0x083fff) AM_RAM AM_BASE(&generic_nvram16) AM_SIZE(&generic_nvram_size)
+ AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("main", 0x80000)
+ AM_RANGE(0x820000, 0x820003) AM_READWRITE(maygay_8279_r, maygay_8279_w)
+ AM_RANGE(0x800000, 0x800003) AM_DEVWRITE8( SOUND, "ym", ym2413_w, 0xff00 )
+ AM_RANGE(0x860000, 0x86000d) AM_READWRITE(read_odd, write_odd)
+ AM_RANGE(0x86000e, 0x86000f) AM_WRITE(vsync_int_ctrl)
+ AM_RANGE(0x880000, 0x89ffff) AM_READWRITE(i82716_r, i82716_w)
+ AM_RANGE(0x8a0000, 0x8a001f) AM_DEVREADWRITE8( DUART68681, "duart68681", duart68681_r, duart68681_w, 0xff)
+ AM_RANGE(0x8c0000, 0x8c000f) AM_READWRITE(pia_lsb_r, pia_lsb_w)
+ADDRESS_MAP_END
+
+
+/*************************************
+ *
+ * 8032 CPU memory handlers
+ *
+ *************************************/
+
+/*
+ 74HC245 @ U1 read port
+ (P3.4 = /ENABLE)
+ P1.0 = Reel 1 optic (I)
+ P1.1 = Reel 2 optic (I)
+ P1.2 = Reel 3 optic (I)
+ P1.3
+ P1.4 = DIPSWITCH (GND/ON by default)
+ P1.5 = DIPSWITCH (GND/ON by default)
+ P1.6 = DIPSWITCH (GND/ON by default)
+ P1.7 = DIPSWITCH (GND/ON by default)
+
+ WRITE
+ P1.0 - 7 => D7759C
+ => 74HC374 @ U8 write port (CLK = 3.7)
+
+ P3.0 = RXD
+ P3.1 = TXD
+ P3.2 = /UPD_RESET
+ P3.3 = !(/UPD_BUSY)
+ P3.4 = U1 /ENABLE
+ P3.5 = Status LED (inverted twice)
+ P3.6 = (WR) /UPD_START
+ P3.7 = (RD) U8 CLK - for writing! P1
+
+
+
+*/
+static UINT8 p1 = 0xff; // save state
+static UINT8 p3 = 0xff; // save state
+
+static READ8_HANDLER( mcu_r )
+{
+ switch (offset)
+ {
+ case 1:
+ {
+ if ( !BIT(p3, 4) )
+ return (input_port_read(space->machine, "REEL")); // Reels???
+ else
+ return 0;
+ }
+
+ case 3: upd7759_busy_r(0) ? 0 : 0x08;
+ }
+ return 0;
+}
+
+static WRITE8_HANDLER( mcu_w )
+{
+ logerror("O %x D %x",offset,data);
+
+ switch (offset)
+ {
+ // Bottom nibble = UPD
+ case 1:
+ p1 = data;
+// upd7759_msg_w(0, data);//?
+ break;
+ case 3:
+ upd7759_reset_w (0, BIT(data, 2));
+ upd7759_start_w(0, BIT(data, 6));
+
+// if ( !BIT(p3, 7) && BIT(data, 7) )
+ // P1 propagates to outputs
+
+ p3 = data;
+ break;
+ }
+}
+
+
+static ADDRESS_MAP_START( sound_prg, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0xffff) AM_ROM
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( sound_data, ADDRESS_SPACE_DATA, 8 )
+ AM_RANGE(0x0000, 0xffff) AM_RAM // nothing?
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( sound_io, ADDRESS_SPACE_IO, 8 )
+ AM_RANGE(0x00, 0xff) AM_READWRITE(mcu_r, mcu_w)
+ADDRESS_MAP_END
+
+
+/*************************************
+ *
+ * Port definitions
+ *
+ *************************************/
+
+static INPUT_PORTS_START( screenpl )
+ PORT_START("STROBE1")
+ PORT_DIPNAME( 0x01, 0x01, "DSW01")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "DSW02")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "DSW03")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, "DSW04")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, "Stake selection?")
+ PORT_DIPSETTING( 0x10, "5p" )
+ PORT_DIPSETTING( 0x00, "10p" )
+ PORT_DIPNAME( 0x20, 0x20, "DSW06")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, "DSW07")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "DSW08")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("STROBE2")
+ PORT_DIPNAME( 0x01, 0x01, "Teste")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START("STROBE3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Unk Button")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 1")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Nudge 2")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudge 3")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("?")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Collect")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("?")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Spin")
+
+ PORT_START("STROBE4")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Red")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Yellow")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Green")
+ PORT_DIPNAME( 0x08, 0x08, "DSW34")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, "DSW35")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, "Jackpot Selection")
+ PORT_DIPSETTING( 0x20, "600p" )
+ PORT_DIPSETTING( 0x00, "300p" )
+ PORT_DIPNAME( 0x40, 0x40, "Reset?")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "Cash door")
+ PORT_DIPSETTING( 0x80, "Open" )
+ PORT_DIPSETTING( 0x00, "Closed" )
+
+ PORT_START("STROBE5")
+ PORT_DIPNAME( 0x01, 0x01, "DSW41")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "Re-fill key")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, "DSW43")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, "DSW44")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, "DSW45")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, "DSW46")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, "DSW47")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "DSW48")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("STROBE6")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("STROBE7")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("STROBE8")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_NAME("Token")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("100p")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("50p")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("20p")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("10p")
+ PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("REEL")
+ PORT_DIPNAME( 0x01, 0x00, "REEL 1")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "REEL 2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "REEL 3")
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "REEL 4")
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "MCU DIP1")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "MCU DIP2")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "MCU DIP3")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "MCU DIP4")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+
+
+/*************************************
+ *
+ * Machine driver
+ *
+ *************************************/
+
+/***************************************************************************
+
+ 68681 DUART
+
+***************************************************************************/
+
+static void duart_irq_handler(const device_config *device, UINT8 vector)
+{
+ cpu_set_input_line_and_vector(device->machine->cpu[0], 5, ASSERT_LINE, vector);
+// cpu_set_input_line(device->machine->cpu[0], 5, state ? ASSERT_LINE : CLEAR_LINE);
+};
+
+static int d68681_val;
+
+static void duart_tx(const device_config *device, int channel, UINT8 data)
+{
+ if (channel == 0)
+ {
+ d68681_val = data;
+ cpu_set_input_line(device->machine->cpu[1], MCS51_RX_LINE, ASSERT_LINE); // ?
+ }
+
+};
+
+static const duart68681_config maygayv1_duart68681_config =
+{
+ duart_irq_handler,
+ duart_tx,
+ NULL,
+ NULL
+};
+
+
+static int data_to_i8031(const device_config *device)
+{
+ return d68681_val;
+}
+
+static void data_from_i8031(const device_config *device, int data)
+{
+ duart68681_rx_data(maygayv1_devices.duart68681, 0, data);
+}
+
+static READ8_HANDLER( b_read )
+{
+ // Meters - upper nibble?
+ return 0xff;
+}
+
+static WRITE8_HANDLER( b_writ )
+{
+ logerror("B WRITE %x\n",data);
+}
+
+
+/* U25 ST 2 9148 EF68B21P */
+static const pia6821_interface pia_intf =
+{
+ /*inputs : A/B,CA/B1,CA/B2 */ b_read, b_read, 0, 0, 0, 0,
+ /*outputs: A/B,CA/B2 */ b_writ, b_writ, 0, 0,
+ /*irqs : A/B */ 0, 0
+};
+
+
+static MACHINE_START( maygayv1 )
+{
+ i82716.dram = auto_malloc(0x80000); // ???
+ i82716.line_buf = auto_malloc(512);
+
+ pia_config(machine, 0, &pia_intf);
+
+ state_save_register_global_pointer(machine, i82716.dram, 0x40000);
+
+// duart_68681_init(DUART_CLOCK, duart_irq_handler, duart_tx);
+
+ i8051_set_serial_tx_callback(machine->cpu[1], data_from_i8031);
+ i8051_set_serial_rx_callback(machine->cpu[1], data_to_i8031);
+}
+
+static MACHINE_RESET( maygayv1 )
+{
+ // ?
+ maygayv1_devices.duart68681 = device_list_find_by_tag( machine->config->devicelist, DUART68681, "duart68681" );
+ memset(i82716.dram, 0, 0x40000);
+ i82716.r[RWBA] = 0x0200;
+}
+
+
+static INTERRUPT_GEN( vsync_interrupt )
+{
+ if (vsync_latch_preset)
+ cpu_set_input_line(device->machine->cpu[0], 3, ASSERT_LINE);
+}
+
+
+static MACHINE_DRIVER_START( maygayv1 )
+ MDRV_CPU_ADD("main", M68000, XTAL_16MHz / 2)
+ MDRV_CPU_PROGRAM_MAP(main_map, 0)
+ MDRV_CPU_VBLANK_INT("main", vsync_interrupt)
+
+ MDRV_CPU_ADD("sound", I8052, XTAL_11_0592MHz)
+ MDRV_CPU_PROGRAM_MAP(sound_prg, 0)
+ MDRV_CPU_DATA_MAP(sound_data, 0)
+ MDRV_CPU_IO_MAP(sound_io, 0)
+
+ MDRV_MACHINE_START(maygayv1)
+ MDRV_MACHINE_RESET(maygayv1)
+
+ MDRV_NVRAM_HANDLER(generic_0fill)
+
+ /* TODO: Use real video timings */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(640, 300)
+ MDRV_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 300 - 1)
+
+ MDRV_PALETTE_LENGTH(16)
+
+ MDRV_DUART68681_ADD("duart68681", DUART_CLOCK, maygayv1_duart68681_config)
+
+ MDRV_VIDEO_START(maygayv1)
+ MDRV_VIDEO_UPDATE(maygayv1)
+ MDRV_VIDEO_EOF(maygayv1)
+
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+
+ MDRV_SOUND_ADD("ym",YM2413, XTAL_16MHz / 4)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)
+
+ MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+MACHINE_DRIVER_END
+
+
+/*************************************
+ *
+ * ROM definitions
+ *
+ *************************************/
+
+ROM_START( screenpl )
+ ROM_REGION( 0x100000, "main", 0 )
+ ROM_LOAD16_BYTE( "20p6pnd_u15.bin", 0x00000, 0x20000, CRC(4334453c) SHA1(5c18acf29c7b3f44589b92d74b79ac66730db810) )
+ ROM_LOAD16_BYTE( "20p6pnd_u16.bin", 0x00001, 0x20000, CRC(90b3f67c) SHA1(a58a0bc4ccccf083fe3222f02eb06ee5fa6f386a) )
+ ROM_LOAD16_BYTE( "20p6pnd_u17.bin", 0x40000, 0x20000, CRC(ba576b11) SHA1(3ba7bcaf4e3cc4eaeeece6e3f4957c3a8dfd5752) )
+ ROM_LOAD16_BYTE( "20p6pnd_u18.bin", 0x40001, 0x20000, CRC(24dd1aff) SHA1(833c59e5b75130a8dc3a63027e09c0f5c7ed17f5) )
+
+ ROM_LOAD16_BYTE( "20p6pnd_u2.bin", 0x80000, 0x20000, CRC(ee51ed98) SHA1(262e773cdb1465983a8f931698bc73de7c324088) )
+ ROM_LOAD16_BYTE( "20p6pnd_u1.bin", 0x80001, 0x20000, CRC(d57bbe69) SHA1(b7cd93cef4828418328ca4ff16c496da7b2065e2) )
+ ROM_LOAD16_BYTE( "20p6pnd_u4.bin", 0xc0000, 0x20000, CRC(01aafd7e) SHA1(d2161066655218468da8eae8aa9da8a80c07c489) )
+ ROM_LOAD16_BYTE( "20p6pnd_u3.bin", 0xc0001, 0x20000, CRC(aa02dc54) SHA1(a05c8c26480f3bae671428380c7684b9c29b5a53) )
+
+ ROM_REGION( 0x10000, "sound", 0 )
+ ROM_LOAD( "reels.bin", 0x0000, 0x10000, CRC(1319cf82) SHA1(7a233072890361bcf384de4f90170c2ca713b1de) )
+
+ ROM_REGION( 0x20000, "upd", 0 )
+ ROM_LOAD( "sound.bin", 0x00000, 0x20000, CRC(498dd74f) SHA1(80bb204b3e9cadcecbfa75c78c52fb9908566c5e) )
+ROM_END
+
+ROM_START( screenp1 )
+ ROM_REGION( 0x100000, "main", 0 )
+ ROM_LOAD16_BYTE( "sa4-379.u15", 0x00000, 0x20000, CRC(e21b120d) SHA1(bcdebf797381b0c585dbd3511b5e984f22de2206) )
+ ROM_LOAD16_BYTE( "sa4-379.u16", 0x00001, 0x20000, CRC(b04588b7) SHA1(1f9b933e441969c95bbbabbfbe44349bd945c326) )
+ ROM_LOAD16_BYTE( "sa4-379.u17", 0x40000, 0x20000, CRC(4b6cdc43) SHA1(1d6a4796ce67d0d00fe74a6bafd8b731450cdaab) )
+ ROM_LOAD16_BYTE( "sa4-379.u18", 0x40001, 0x20000, CRC(d986355f) SHA1(86d3f1712cd1bcc90a54945a2baccae2596de691) )
+
+ ROM_LOAD16_BYTE( "sq3-458.u2", 0x80000, 0x20000, CRC(7091dfcd) SHA1(d28abd70db5c49baa93f0488e443f29c27a7a559) )
+ ROM_LOAD16_BYTE( "sq3-458.u1", 0x80001, 0x20000, CRC(1bb0efbf) SHA1(59d7e2e51928df149764502bc4bd5736463f40d7) )
+ ROM_LOAD16_BYTE( "sq3-458.u4", 0xc0000, 0x20000, CRC(0fb0fc84) SHA1(e7ef68130f9627a842849f41f67accf8593a0819) )
+ ROM_LOAD16_BYTE( "sq3-458.u3", 0xc0001, 0x20000, CRC(ef4617d8) SHA1(48231405a775585451bf970db5bb57ec2f238250) )
+
+ ROM_REGION( 0x10000, "sound", 0 )
+ ROM_LOAD( "sr2-002", 0x0000, 0x10000, CRC(1319cf82) SHA1(7a233072890361bcf384de4f90170c2ca713b1de) )
+
+ ROM_REGION( 0x20000, "upd", 0 )
+ ROM_LOAD( "dig2-001.u12", 0x00000, 0x20000, CRC(498dd74f) SHA1(80bb204b3e9cadcecbfa75c78c52fb9908566c5e) )
+ROM_END
+
+ROM_START( screenp2 )
+ ROM_REGION( 0x100000, "main", 0 )
+ ROM_LOAD16_BYTE( "sa4-280.u15", 0x00000, 0x20000, CRC(d7206438) SHA1(70e7dc7d58bfa7dfe00250ab46fa71e951dbf901) )
+ ROM_LOAD16_BYTE( "sa4-280.u16", 0x00001, 0x20000, CRC(f99e972f) SHA1(b01c8796967ff7f27269b31ef983b5fb26b03aab) )
+ ROM_LOAD16_BYTE( "sa4-280.u17", 0x40000, 0x20000, CRC(cbde5343) SHA1(e341d642d8537bc221b3ca9803c221dc0cdf86c3) )
+ ROM_LOAD16_BYTE( "sa4-280.u18", 0x40001, 0x20000, CRC(885b887b) SHA1(9cfb145c8cca49450fabbf4efab9c70f98ecd2af) )
+
+ ROM_LOAD16_BYTE( "u2.bin", 0x80000, 0x20000, CRC(7091dfcd) SHA1(d28abd70db5c49baa93f0488e443f29c27a7a559) )
+ ROM_LOAD16_BYTE( "u1.bin", 0x80001, 0x20000, CRC(1bb0efbf) SHA1(59d7e2e51928df149764502bc4bd5736463f40d7) )
+ ROM_LOAD16_BYTE( "u4.bin", 0xc0000, 0x20000, CRC(0fb0fc84) SHA1(e7ef68130f9627a842849f41f67accf8593a0819) )
+ ROM_LOAD16_BYTE( "u3.bin", 0xc0001, 0x20000, CRC(ef4617d8) SHA1(48231405a775585451bf970db5bb57ec2f238250) )
+
+ ROM_REGION( 0x10000, "sound", 0 )
+ ROM_LOAD( "reels.bin", 0x00000, 0x10000, CRC(1319cf82) SHA1(7a233072890361bcf384de4f90170c2ca713b1de) )
+
+ ROM_REGION( 0x20000, "upd", 0 )
+ ROM_LOAD( "dig2-001.u12", 0x00000, 0x20000, CRC(498dd74f) SHA1(80bb204b3e9cadcecbfa75c78c52fb9908566c5e) )
+ROM_END
+
+/*************************************
+ *
+ * Game driver(s)
+ *
+ *************************************/
+
+GAME( 1991, screenpl, 0, maygayv1, screenpl, 0, ROT0, "Maygay", "Screen Play (ver. 4.0)", GAME_IMPERFECT_SOUND|GAME_REQUIRES_ARTWORK )
+GAME( 1991, screenp1, screenpl, maygayv1, screenpl, 0, ROT0, "Maygay", "Screen Play (ver. 1.9)", GAME_IMPERFECT_SOUND|GAME_REQUIRES_ARTWORK )
+GAME( 1991, screenp2, screenpl, maygayv1, screenpl, 0, ROT0, "Maygay", "Screen Play (ver. 1.9, Isle of Man)", GAME_IMPERFECT_SOUND|GAME_REQUIRES_ARTWORK )
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index 123953aefc7..ffd8d00c25c 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -1,6 +1,8 @@
/***********************************************************************************************************
Barcrest MPU4 highly preliminary driver by J.Wallace, and Anonymous.
- This is the core driver, no game specific stuff should go in here.
+
+ This is the core driver, no video specific stuff should go in here.
+ This driver holds all the mechanical games.
09-2007: Haze: Added Deal 'Em video support.
03-08-2007: J Wallace: Removed audio filter for now, since sound is more accurate without them.
@@ -240,7 +242,6 @@ IRQ line connected to CPU
TODO: - Fix lamp timing, MAME doesn't update fast enough to see everything
- Distinguish door switches using manual
***********************************************************************************************************/
-
#include "driver.h"
#include "machine/6821pia.h"
#include "machine/6840ptm.h"
@@ -249,6 +250,8 @@ TODO: - Fix lamp timing, MAME doesn't update fast enough to see everything
#include "timer.h"
#include "cpu/m6809/m6809.h"
#include "sound/ay8910.h"
+#include "sound/okim6376.h"
+#include "sound/2413intf.h"
#include "machine/steppers.h"
#include "machine/roc10937.h"
#include "machine/meters.h"
@@ -265,13 +268,10 @@ TODO: - Fix lamp timing, MAME doesn't update fast enough to see everything
#define LOG_IC3(x) do { if (MPU4VERBOSE) logerror x; } while (0)
#define LOG_IC8(x) do { if (MPU4VERBOSE) logerror x; } while (0)
-#ifndef AWP_VIDEO /*Defined for fruit machines with mechanical reels*/
-#define draw_reel(x)
-#else
-#define draw_reel(x) awp_draw_reel x
-#endif
-#include "mpu4.lh"
+#include "video/awpvid.h" //Fruit Machines Only
#include "connect4.lh"
+#include "gamball.lh"
+#include "mpu4.lh"
#define MPU4_MASTER_CLOCK (6880000)
/* local vars */
@@ -297,6 +297,9 @@ static int serial_card_connected;
static emu_timer *ic24_timer;
static TIMER_CALLBACK( ic24_timeout );
+static int expansion_latch;// OKI MOD 4 and above only
+static int global_volume;// OKI MOD 4 and above only
+
/* 32 multiplexed inputs - but a further 8 possible per AUX.
Two connectors 'orange' (sampled every 8ms) and 'black' (sampled every 16ms)
@@ -818,8 +821,8 @@ static WRITE8_HANDLER( pia_ic6_portb_w )
if ( stepper_optic_state(1) ) optic_pattern |= 0x02;
else optic_pattern &= ~0x02;
}
- draw_reel((0));
- draw_reel((1));
+ awp_draw_reel(0);
+ awp_draw_reel(1);
}
@@ -880,8 +883,8 @@ static WRITE8_HANDLER( pia_ic7_porta_w )
if ( stepper_optic_state(3) ) optic_pattern |= 0x08;
else optic_pattern &= ~0x08;
}
- draw_reel((2));
- draw_reel((3));
+ awp_draw_reel(2);
+ awp_draw_reel(3);
}
@@ -999,6 +1002,72 @@ static const pia6821_interface pia_ic8_intf =
/*irqs : A/B */ cpu0_irq, cpu0_irq
};
+static WRITE8_HANDLER( pia_gb_porta_w )
+{
+ const device_config *msm6376 = devtag_get_device(space->machine, SOUND, "msm6376");
+
+ LOG(("%04x GAMEBOARD: PIA Port A Set to %2x\n", cpu_get_previouspc(space->cpu),data));
+ okim6376_w(msm6376, 0, data);
+}
+
+static WRITE8_HANDLER( pia_gb_portb_w )
+{
+ int changed = expansion_latch^data;
+
+ LOG(("%04x GAMEBOARD: PIA Port B Set to %2x\n", cpu_get_previouspc(space->cpu),data));
+
+ expansion_latch = data;
+
+ if ( changed & 0x20)
+ { // digital volume clock line changed
+ if ( !(data & 0x20) )
+ { // changed from high to low,
+ if ( !(data & 0x10) )
+ {
+ if ( global_volume < 31 ) global_volume++; //steps unknown
+ }
+ else
+ {
+ if ( global_volume > 0 ) global_volume--;
+ }
+
+ {
+// float percent = (32-global_volume)/32.0; //volume_override?1.0:(32-global_volume)/32.0;
+// LOG(("GAMEBOARD: OKI volume %f \n",percent));
+// sndti_set_output_gain(SOUND_OKIM6295, 0, 0, percent);
+ }
+ }
+ }
+}
+static READ8_HANDLER( pia_gb_portb_r )
+{
+ LOG(("%04x GAMEBOARD: PIA Read of Port B\n",cpu_get_previouspc(space->cpu)));
+ //
+ // b7, 1 = OKI ready, 0 = OKI busy
+ // b5, vol clock
+ // b4, 1 = Vol down, 0 = Vol up
+ //
+
+//if (offset == 0x40)
+//{
+// return OKIM6295_status_r(0);
+//}
+ return 0x40;
+}
+
+static WRITE8_HANDLER( pia_gb_ca2_w )
+{
+ LOG(("%04x GAMEBOARD: OKI RESET (offset = %d),data = %02X\n", cpu_get_previouspc(space->cpu), offset, data&0xFF));
+
+// return okim6376_status_0_r();
+}
+
+static const pia6821_interface pia_gameboard_intf =
+{
+ /*inputs : A/B,CA/B1,CA/B2 */ 0, pia_gb_portb_r, 0, 0, 0, 0,
+ /*outputs: A/B,CA/B2 */ pia_gb_porta_w, pia_gb_portb_w, pia_gb_ca2_w, 0,
+ /*irqs : A/B */ 0,0
+};
/* input ports for MPU4 board */
static INPUT_PORTS_START( mpu4 )
@@ -1230,6 +1299,136 @@ static INPUT_PORTS_START( connect4 )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5)
INPUT_PORTS_END
+static INPUT_PORTS_START( gamball )
+ PORT_START("ORANGE1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("01")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("02")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("03")
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("04")
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("05")
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("06")
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("07")
+
+ PORT_START("ORANGE2")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("08")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("09")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("10")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("11")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("12")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("13")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("14")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("15")
+
+ PORT_START("BLACK1")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hi")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Lo")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("18")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("19")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("20")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Test Button") PORT_CODE(KEYCODE_W)
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE
+
+ PORT_START("BLACK2")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("24")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("25")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Cancel/Collect")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold/Nudge 1")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hold/Nudge 2")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Hold/Nudge 3")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Hold/Nudge 4")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1)
+
+ PORT_START("DIL1")
+ PORT_DIPNAME( 0x01, 0x00, "DIL101" ) PORT_DIPLOCATION("DIL1:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "DIL102" ) PORT_DIPLOCATION("DIL1:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL103" ) PORT_DIPLOCATION("DIL1:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "DIL104" ) PORT_DIPLOCATION("DIL1:04")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "DIL105" ) PORT_DIPLOCATION("DIL1:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "DIL106" ) PORT_DIPLOCATION("DIL1:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "DIL107" ) PORT_DIPLOCATION("DIL1:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "DIL108" ) PORT_DIPLOCATION("DIL1:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DIL2")
+ PORT_DIPNAME( 0x01, 0x00, "DIL201" ) PORT_DIPLOCATION("DIL2:01")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "DIL202" ) PORT_DIPLOCATION("DIL2:02")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "DIL203" ) PORT_DIPLOCATION("DIL2:03")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "DIL204" ) PORT_DIPLOCATION("DIL2:04")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, "DIL205" ) PORT_DIPLOCATION("DIL2:05")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "DIL206" ) PORT_DIPLOCATION("DIL2:06")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "DIL207" ) PORT_DIPLOCATION("DIL2:07")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "DIL208" ) PORT_DIPLOCATION("DIL2:08")
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("AUX1")
+/* PORT_DIPNAME( 0x01, 0x00, "AUX101" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, "AUX102" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, "AUX103" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, "AUX104" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )*/
+ PORT_DIPNAME( 0x10, 0x00, "AUX105" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "AUX106" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, "AUX107" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "AUX108" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("AUX2")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_SPECIAL)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_SPECIAL)
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_SPECIAL)
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_SPECIAL)
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("10p")PORT_IMPULSE(5)
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("20p")PORT_IMPULSE(5)
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME("50p")PORT_IMPULSE(5)
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5)
+INPUT_PORTS_END
+
static const stepper_interface barcrest_reel_interface =
{
BARCREST_48STEP_REEL,
@@ -1274,6 +1473,49 @@ static MACHINE_START( mpu4mod2 )
ROC10937_init(0, MSC1937,0);
}
+static MACHINE_START( mpu4dutch )
+{
+ mpu4_config_common(machine);
+ pia_config(machine, 6,&pia_gameboard_intf);
+ pia_reset();
+
+ serial_card_connected=0;
+
+// setup 8 mechanical meters ////////////////////////////////////////////
+ Mechmtr_init(8);
+
+// setup 4 default 96 half step reels ///////////////////////////////////
+ stepper_config(machine, 0, &barcrest_reel_interface);
+ stepper_config(machine, 1, &barcrest_reel_interface);
+ stepper_config(machine, 2, &barcrest_reel_interface);
+ stepper_config(machine, 3, &barcrest_reel_interface);
+
+// setup the standard oki MSC1937 display ///////////////////////////////
+ ROC10937_init(0, MSC1937,1); // does oldtimer use a OKI MSC1937 alpha display controller?
+}
+
+static MACHINE_START( mpu4mod4 )
+{
+ mpu4_config_common(machine);
+ pia_config(machine, 6,&pia_gameboard_intf);
+ pia_reset();
+
+ serial_card_connected=0;
+ mod_number=4;
+
+// setup 8 mechanical meters ////////////////////////////////////////////
+ Mechmtr_init(8);
+
+// setup 4 default 96 half step reels ///////////////////////////////////
+ stepper_config(machine, 0, &barcrest_reel_interface);
+ stepper_config(machine, 1, &barcrest_reel_interface);
+ stepper_config(machine, 2, &barcrest_reel_interface);
+ stepper_config(machine, 3, &barcrest_reel_interface);
+
+ awp_reel_setup();
+// setup the standard oki MSC1937 display ///////////////////////////////
+ ROC10937_init(0, MSC1937,0);
+}
/*
Characteriser (CHR)
@@ -1370,6 +1612,46 @@ static READ8_HANDLER( characteriser_r )
return 0;
}
+static DRIVER_INIT (m_ccelbr)
+{
+ int x;
+ static const UINT8 chr_table[72]={ 0x00,0x84,0x8C,0xB8,0x74,0x80,0x1C,0xB4,
+ 0xD8,0x74,0x00,0xD4,0xC8,0x78,0xA4,0x4C,
+ 0xE0,0xDC,0xF4,0x88,0x78,0x24,0x84,0xCC,
+ 0xB8,0x74,0x90,0x48,0xA0,0x1C,0x24,0x94,
+ 0xC8,0xB8,0x74,0x00,0x94,0x48,0x30,0x90,
+ 0x08,0x60,0xD4,0x58,0xF4,0x18,0x74,0x80,
+ 0xDC,0x74,0xD0,0x58,0x24,0x94,0xD8,0x34,
+ 0x90,0x58,0xF4,0x88,0x38,0x24,0xD4,0x00,
+ 0x00,0x50,0x00,0x50,0x10,0x40,0x04,0x00};
+
+ for (x=0; x<72; x++)
+ {
+ MPU4_chr_data[(x)] = chr_table[(x)];
+ }
+
+}
+
+DRIVER_INIT (m_gmball)
+{
+ int x;
+ static const UINT8 chr_table[72]= { 0x00,0x0C,0x50,0x90,0xB0,0x38,0xD4,0xA0,
+ 0xBC,0xD4,0x30,0x90,0x38,0xC4,0xAC,0x70,
+ 0x98,0xDC,0xDC,0x54,0x80,0xB4,0x38,0xCC,
+ 0xE8,0xF8,0xD4,0x30,0x00,0x84,0x2C,0xC8,
+ 0xF8,0x4C,0x58,0xD4,0xA8,0x78,0x44,0x0C,
+ 0x48,0x50,0x98,0xD4,0xB0,0xA0,0xA4,0x3C,
+ 0xDC,0xD4,0xB8,0xD4,0x30,0x88,0xE0,0x24,
+ 0x8C,0xF8,0xCC,0x70,0x90,0x20,0x9C,0x00,
+ 0x00,0x18,0x08,0x10,0x00,0x18,0x08,0x00};
+
+ for (x=0; x < 72; x++)
+ {
+ MPU4_chr_data[(x)] = chr_table[(x)];
+ }
+
+}
+
/* generate a 50 Hz signal (based on an RC time) */
static TIMER_DEVICE_CALLBACK( gen_50hz )
@@ -1403,6 +1685,78 @@ static ADDRESS_MAP_START( mod2_memmap, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1000, 0xffff) AM_READ(SMH_BANK1) /* 64k paged ROM (4 pages) */
ADDRESS_MAP_END
+static ADDRESS_MAP_START( mod4_yam_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+
+ AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
+
+ AM_RANGE(0x0850, 0x0850) AM_WRITE(bankswitch_w) // write bank (rom page select)
+
+ AM_RANGE(0x0880, 0x0881) AM_DEVWRITE( SOUND, "ym2413", ym2413_w )
+
+// AM_RANGE(0x08E0, 0x08E7) AM_READWRITE(68681_duart_r,68681_duart_w)
+
+ AM_RANGE(0x0900, 0x0907) AM_READWRITE(ptm6840_0_r,ptm6840_0_w) // 6840PTM
+ AM_RANGE(0x0A00, 0x0A03) AM_READWRITE(pia_0_r,pia_0_w) // PIA6821 IC3
+ AM_RANGE(0x0B00, 0x0B03) AM_READWRITE(pia_1_r,pia_1_w) // PIA6821 IC4
+ AM_RANGE(0x0C00, 0x0C03) AM_READWRITE(pia_2_r,pia_2_w) // PIA6821 IC5
+ AM_RANGE(0x0D00, 0x0D03) AM_READWRITE(pia_3_r,pia_3_w) // PIA6821 IC6
+ AM_RANGE(0x0E00, 0x0E03) AM_READWRITE(pia_4_r,pia_4_w) // PIA6821 IC7
+ AM_RANGE(0x0F00, 0x0F03) AM_READWRITE(pia_5_r,pia_5_w) // PIA6821 IC8
+
+ AM_RANGE(0x1000, 0xffff) AM_READ(SMH_BANK1) // 64k paged ROM (4 pages)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( mod4_oki_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+
+ AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
+
+ AM_RANGE(0x0850, 0x0850) AM_WRITE(bankswitch_w) // write bank (rom page select)
+
+ AM_RANGE(0x0880, 0x0883) AM_READWRITE(pia_6_r,pia_6_w) // PIA6821 on game board
+
+// AM_RANGE(0x08C0, 0x08C7) AM_READERITE(ptm6840_1_r,ptm6840_1_w) // 6840PTM on game board
+
+// AM_RANGE(0x08E0, 0x08E7) AM_READWRITE(68681_duart_r,68681_duart_w)
+
+ AM_RANGE(0x0900, 0x0907) AM_READWRITE(ptm6840_0_r,ptm6840_0_w) // 6840PTM
+ AM_RANGE(0x0A00, 0x0A03) AM_READWRITE(pia_0_r,pia_0_w) // PIA6821 IC3
+ AM_RANGE(0x0B00, 0x0B03) AM_READWRITE(pia_1_r,pia_1_w) // PIA6821 IC4
+ AM_RANGE(0x0C00, 0x0C03) AM_READWRITE(pia_2_r,pia_2_w) // PIA6821 IC5
+ AM_RANGE(0x0D00, 0x0D03) AM_READWRITE(pia_3_r,pia_3_w) // PIA6821 IC6
+ AM_RANGE(0x0E00, 0x0E03) AM_READWRITE(pia_4_r,pia_4_w) // PIA6821 IC7
+ AM_RANGE(0x0F00, 0x0F03) AM_READWRITE(pia_5_r,pia_5_w) // PIA6821 IC8
+
+ AM_RANGE(0x1000, 0xffff) AM_READ(SMH_BANK1) // 64k paged ROM (4 pages)
+ADDRESS_MAP_END
+
+// memory map for barcrest mpu4 board /////////////////////////////////////
+
+static ADDRESS_MAP_START( dutch_memmap, ADDRESS_SPACE_PROGRAM, 8 )
+
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size)
+
+// AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
+
+ AM_RANGE(0x0850, 0x0850) AM_WRITE(bankswitch_w) // write bank (rom page select)
+ AM_RANGE(0x0880, 0x0883) AM_READWRITE(pia_6_r,pia_6_w) // PIA6821 on game board
+
+// AM_RANGE(0x08C0, 0x08C7) AM_READERITE(ptm6840_2_r,ptm6840_2_w) // 6840PTM on game board
+
+// AM_RANGE(0x08E0, 0x08E7) AM_READWRITE(68681_duart_r,68681_duart_w)
+
+ AM_RANGE(0x0900, 0x0907) AM_READWRITE(ptm6840_0_r,ptm6840_0_w) // 6840PTM
+ AM_RANGE(0x0A00, 0x0A03) AM_READWRITE(pia_0_r,pia_0_w) // PIA6821 IC3
+ AM_RANGE(0x0B00, 0x0B03) AM_READWRITE(pia_1_r,pia_1_w) // PIA6821 IC4
+ AM_RANGE(0x0C00, 0x0C03) AM_READWRITE(pia_2_r,pia_2_w) // PIA6821 IC5
+ AM_RANGE(0x0D00, 0x0D03) AM_READWRITE(pia_3_r,pia_3_w) // PIA6821 IC6
+ AM_RANGE(0x0E00, 0x0E03) AM_READWRITE(pia_4_r,pia_4_w) // PIA6821 IC7
+ AM_RANGE(0x0F00, 0x0F03) AM_READWRITE(pia_5_r,pia_5_w) // PIA6821 IC8
+
+ AM_RANGE(0x1000, 0xffff) AM_READ(SMH_BANK1) // 64k paged ROM (4 pages)
+ADDRESS_MAP_END
+
static const ay8910_interface ay8910_config =
{
AY8910_SINGLE_OUTPUT,
@@ -1434,5 +1788,53 @@ static MACHINE_DRIVER_START( mpu4mod2 )
MDRV_DEFAULT_LAYOUT(layout_mpu4)
MACHINE_DRIVER_END
+static MACHINE_DRIVER_START( mod4yam )
+ MDRV_IMPORT_FROM( mpu4mod2 )
+ MDRV_MACHINE_START(mpu4mod4)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(mod4_yam_map,0)
+
+ MDRV_SOUND_REMOVE("ay8913")
+ MDRV_SOUND_ADD("ym2413", YM2413, MPU4_MASTER_CLOCK/4)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
+MACHINE_DRIVER_END
+
+static MACHINE_DRIVER_START( mod4oki )
+ MDRV_IMPORT_FROM( mpu4mod2 )
+ MDRV_MACHINE_START(mpu4mod4)
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(mod4_oki_map,0)
+
+ MDRV_SOUND_REMOVE("ay8913")
+ MDRV_SOUND_ADD("msm6376", OKIM6376, 4000000) //?
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+MACHINE_DRIVER_END
+
+static MACHINE_DRIVER_START( mpu4dutch )
+ MDRV_IMPORT_FROM( mod4oki )
+ MDRV_CPU_MODIFY("main")
+ MDRV_CPU_PROGRAM_MAP(dutch_memmap,0) // setup read and write memorymap
+ MDRV_MACHINE_START(mpu4dutch) // main mpu4 board initialisation
+MACHINE_DRIVER_END
+
+ROM_START( m_oldtmr )
+ ROM_REGION( 0x10000, "main", 0 )
+ ROM_LOAD( "dot11.bin", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e))
+ROM_END
+
+ROM_START( m_ccelbr )
+ ROM_REGION( 0x10000, "main", 0 )
+ ROM_LOAD( "cels.p1", 0x00000, 0x10000, CRC(19d2162f) SHA1(24fe435809352725e7614c32e2184142f355298e))
+ROM_END
+
+ROM_START( m_gmball )
+ ROM_REGION( 0x10000, "main", ROMREGION_ERASE00 )
+ ROM_LOAD( "gbbx.p1", 0x0000, 0x10000, CRC(0b5adcd0) SHA1(1a198bd4a1e7d6bf4cf025c43d35aaef351415fc))
+ROM_END
+
+// year, name, parent, machine, input, init, monitor, company, fullname, flags
+GAME( 198?, m_oldtmr,0, mpu4dutch,mpu4, 0, ROT0, "Barcrest", "Old Timer", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_REQUIRES_ARTWORK )
+GAME( 198?, m_ccelbr,0, mpu4mod2, mpu4, m_ccelbr, ROT0, "Barcrest", "Club Celebration", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK )
+GAMEL(198?, m_gmball,0, mod4yam, gamball, m_gmball, ROT0, "Barcrest", "Gamball", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK,layout_gamball )
#include "drivers/mpu4drvr.c"
diff --git a/src/mame/drivers/mpu4drvr.c b/src/mame/drivers/mpu4drvr.c
index e2159d25459..cf864e22674 100644
--- a/src/mame/drivers/mpu4drvr.c
+++ b/src/mame/drivers/mpu4drvr.c
@@ -176,9 +176,8 @@ TODO:
- MPU4 Master clock value taken from schematic, but 68k value is not.
- Deal 'Em lockouts vary on certain cabinets (normally connected to AUX2, but not there?)
- Deal 'Em has bad tiles (apostrophe, logo, bottom corner), black should actually be transparent
- - to give black on green.
+ to give black on green.
***********************************************************************************************************/
-
/* MPU4 Video */
#include "cpu/m68000/m68000.h"
#include "machine/6850acia.h"
@@ -2055,7 +2054,7 @@ GAME( 199?, mating, bctvidbs,mpu4_vid, mpu4, mating,ROT0, "Barcrest", "
GAME( 199?, matinga, mating, mpu4_vid, mpu4, mating,ROT0, "Barcrest", "The Mating Game (Standard)", GAME_NOT_WORKING|GAME_NO_SOUND )
GAME( 199?, vgpoker, 0, vgpoker, mpu4, 0, ROT0, "BwB", "Vegas Poker (Prototype)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAMEL(1989?,connect4,0, mpu4mod2, connect4, connect4, ROT0,"Dolbeck Systems", "Connect 4", GAME_IMPERFECT_GRAPHICS,layout_connect4 )
+GAMEL(1989?,connect4,0, mpu4mod2, connect4, connect4, ROT0,"Dolbeck Systems", "Connect 4", GAME_IMPERFECT_GRAPHICS|GAME_REQUIRES_ARTWORK,layout_connect4 )
GAME( 198?, mpu4utst,0, mpu4mod2, mpu4, 0, ROT0,"Barcrest", "MPU4 Unit Test (Program 4)", 0 )
GAME( 198?, mpu4tst2,0, mpu4mod2, mpu4, 0, ROT0,"Barcrest", "MPU4 Unit Test (Program 2)", 0 )
GAME( 198?, mpu4met0,0, mpu4mod2, mpu4, 0, ROT0,"Barcrest", "MPU4 Meter Clear ROM", 0 )
diff --git a/src/mame/drivers/mpu5.c b/src/mame/drivers/mpu5.c
index cfb264cb8fc..66b6fb01722 100644
--- a/src/mame/drivers/mpu5.c
+++ b/src/mame/drivers/mpu5.c
@@ -9,8 +9,7 @@
-- the main CPU is a 68340, which is a 32-bit 680xx variant with modified opcodes etc.
- -- should there be a bios using an 8-bit cpu like MPU4, or is the 68340 the only CPU?
-
+ -- Much of the communication is done via a 68681 DUART.
*/
#include "driver.h"
diff --git a/src/mame/layout/bfm_sc1.lay b/src/mame/layout/bfm_sc1.lay
index cf33abf4a04..0f1f00a5c66 100644
--- a/src/mame/layout/bfm_sc1.lay
+++ b/src/mame/layout/bfm_sc1.lay
@@ -2090,3 +2090,2095 @@
</view>
</mamelayout>
+<?xml version="1.0"?>
+<mamelayout version="2">
+ <element name="matrixlamp">
+ <rect state ="0">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.7" green="0.7" blue="0.7" />
+ </rect>
+ <rect state ="1">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.0" green="0.0" blue="1.0" />
+ </rect>
+ <rect state ="2">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.0" green="1.0" blue="0.0" />
+ </rect>
+ </element>
+ <element name="vfd0">
+ <led14segsc>
+ <color red="0" green="0.6" blue="1.0" />
+ </led14segsc>
+ </element>
+ <element name="Steppers" defstate="96">
+ <text string="00" state="0">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="01" state="1">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="02" state="2">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="03" state="3">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="04" state="4">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="05" state="5">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="06" state="6">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="07" state="7">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="08" state="8">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="09" state="9">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="10" state="10">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="11" state="11">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="12" state="12">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="13" state="13">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="14" state="14">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="15" state="15">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="16" state="16">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="17" state="17">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="18" state="18">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="19" state="19">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="20" state="20">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="21" state="21">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="22" state="22">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="23" state="23">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="24" state="24">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="25" state="25">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="26" state="26">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="27" state="27">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="28" state="28">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="29" state="29">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="30" state="30">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="31" state="31">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="32" state="32">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="33" state="33">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="34" state="34">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="35" state="35">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="36" state="36">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="37" state="37">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="38" state="38">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="39" state="39">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="40" state="40">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="41" state="41">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="42" state="42">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="43" state="43">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="44" state="44">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="45" state="45">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="46" state="46">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="47" state="47">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="48" state="48">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="49" state="49">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="50" state="50">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="51" state="51">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="52" state="52">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="53" state="53">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="54" state="54">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="55" state="55">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="56" state="56">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="57" state="57">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="58" state="58">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="59" state="59">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60" state="60">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="61" state="61">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="62" state="62">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="63" state="63">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="64" state="64">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="65" state="65">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="66" state="66">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="67" state="67">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="68" state="68">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="69" state="69">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="70" state="70">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="71" state="71">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="72" state="72">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="73" state="73">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="74" state="74">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="75" state="75">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="76" state="76">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="77" state="77">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="78" state="78">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="79" state="79">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80" state="80">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="81" state="81">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="82" state="82">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="83" state="83">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="84" state="84">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="85" state="85">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="86" state="86">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="87" state="87">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="88" state="88">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="89" state="89">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="90" state="90">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="91" state="91">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="92" state="92">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="93" state="93">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="94" state="94">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="95" state="95">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ </element>
+
+ <view name="Full Output">
+ <screen index="0">
+ <bounds x="127" y="0" width="400" height="280" />
+ </screen>
+ <backdrop name="vfd0" element="vfd0" state="0">
+ <bounds x="10" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd1" element="vfd0" state="0">
+ <bounds x="19" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd2" element="vfd0" state="0">
+ <bounds x="28" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd3" element="vfd0" state="0">
+ <bounds x="37" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd4" element="vfd0" state="0">
+ <bounds x="46" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd5" element="vfd0" state="0">
+ <bounds x="55" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd6" element="vfd0" state="0">
+ <bounds x="64" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd7" element="vfd0" state="0">
+ <bounds x="73" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd8" element="vfd0" state="0">
+ <bounds x="82" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd9" element="vfd0" state="0">
+ <bounds x="91" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd10" element="vfd0" state="0">
+ <bounds x="100" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd11" element="vfd0" state="0">
+ <bounds x="109" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd12" element="vfd0" state="0">
+ <bounds x="118" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd13" element="vfd0" state="0">
+ <bounds x="127" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd14" element="vfd0" state="0">
+ <bounds x="136" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd15" element="vfd0" state="0">
+ <bounds x="145" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="reel1" element="Steppers" state="0">
+ <bounds x="10" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel2" element="Steppers" state="0">
+ <bounds x="60" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel3" element="Steppers" state="0">
+ <bounds x="110" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel4" element="Steppers" state="0">
+ <bounds x="160" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel5" element="Steppers" state="0">
+ <bounds x="220" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel6" element="Steppers" state="0">
+ <bounds x="280" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="lamp0" element="matrixlamp" state="0">
+ <bounds x="0" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp1" element="matrixlamp" state="0">
+ <bounds x="8" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp2" element="matrixlamp" state="0">
+ <bounds x="16" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp3" element="matrixlamp" state="0">
+ <bounds x="24" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp4" element="matrixlamp" state="0">
+ <bounds x="32" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp5" element="matrixlamp" state="0">
+ <bounds x="40" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp6" element="matrixlamp" state="0">
+ <bounds x="48" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp7" element="matrixlamp" state="0">
+ <bounds x="56" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp8" element="matrixlamp" state="0">
+ <bounds x="64" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp9" element="matrixlamp" state="0">
+ <bounds x="72" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp10" element="matrixlamp" state="0">
+ <bounds x="80" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp11" element="matrixlamp" state="0">
+ <bounds x="88" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp12" element="matrixlamp" state="0">
+ <bounds x="96" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp13" element="matrixlamp" state="0">
+ <bounds x="104" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp14" element="matrixlamp" state="0">
+ <bounds x="112" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp15" element="matrixlamp" state="0">
+ <bounds x="120" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp16" element="matrixlamp" state="0">
+ <bounds x="0" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp17" element="matrixlamp" state="0">
+ <bounds x="8" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp18" element="matrixlamp" state="0">
+ <bounds x="16" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp19" element="matrixlamp" state="0">
+ <bounds x="24" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp20" element="matrixlamp" state="0">
+ <bounds x="32" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp21" element="matrixlamp" state="0">
+ <bounds x="40" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp22" element="matrixlamp" state="0">
+ <bounds x="48" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp23" element="matrixlamp" state="0">
+ <bounds x="56" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp24" element="matrixlamp" state="0">
+ <bounds x="64" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp25" element="matrixlamp" state="0">
+ <bounds x="72" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp26" element="matrixlamp" state="0">
+ <bounds x="80" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp27" element="matrixlamp" state="0">
+ <bounds x="88" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp28" element="matrixlamp" state="0">
+ <bounds x="96" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp29" element="matrixlamp" state="0">
+ <bounds x="104" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp30" element="matrixlamp" state="0">
+ <bounds x="112" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp31" element="matrixlamp" state="0">
+ <bounds x="120" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp32" element="matrixlamp" state="0">
+ <bounds x="0" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp33" element="matrixlamp" state="0">
+ <bounds x="8" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp34" element="matrixlamp" state="0">
+ <bounds x="16" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp35" element="matrixlamp" state="0">
+ <bounds x="24" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp36" element="matrixlamp" state="0">
+ <bounds x="32" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp37" element="matrixlamp" state="0">
+ <bounds x="40" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp38" element="matrixlamp" state="0">
+ <bounds x="48" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp39" element="matrixlamp" state="0">
+ <bounds x="56" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp40" element="matrixlamp" state="0">
+ <bounds x="64" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp41" element="matrixlamp" state="0">
+ <bounds x="72" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp42" element="matrixlamp" state="0">
+ <bounds x="80" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp43" element="matrixlamp" state="0">
+ <bounds x="88" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp44" element="matrixlamp" state="0">
+ <bounds x="96" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp45" element="matrixlamp" state="0">
+ <bounds x="104" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp46" element="matrixlamp" state="0">
+ <bounds x="112" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp47" element="matrixlamp" state="0">
+ <bounds x="120" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp48" element="matrixlamp" state="0">
+ <bounds x="0" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp49" element="matrixlamp" state="0">
+ <bounds x="8" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp50" element="matrixlamp" state="0">
+ <bounds x="16" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp51" element="matrixlamp" state="0">
+ <bounds x="24" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp52" element="matrixlamp" state="0">
+ <bounds x="32" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp53" element="matrixlamp" state="0">
+ <bounds x="40" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp54" element="matrixlamp" state="0">
+ <bounds x="48" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp55" element="matrixlamp" state="0">
+ <bounds x="56" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp56" element="matrixlamp" state="0">
+ <bounds x="64" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp57" element="matrixlamp" state="0">
+ <bounds x="72" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp58" element="matrixlamp" state="0">
+ <bounds x="80" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp59" element="matrixlamp" state="0">
+ <bounds x="88" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp60" element="matrixlamp" state="0">
+ <bounds x="96" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp61" element="matrixlamp" state="0">
+ <bounds x="104" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp62" element="matrixlamp" state="0">
+ <bounds x="112" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp63" element="matrixlamp" state="0">
+ <bounds x="120" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp64" element="matrixlamp" state="0">
+ <bounds x="0" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp65" element="matrixlamp" state="0">
+ <bounds x="8" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp66" element="matrixlamp" state="0">
+ <bounds x="16" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp67" element="matrixlamp" state="0">
+ <bounds x="24" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp68" element="matrixlamp" state="0">
+ <bounds x="32" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp69" element="matrixlamp" state="0">
+ <bounds x="40" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp70" element="matrixlamp" state="0">
+ <bounds x="48" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp71" element="matrixlamp" state="0">
+ <bounds x="56" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp72" element="matrixlamp" state="0">
+ <bounds x="64" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp73" element="matrixlamp" state="0">
+ <bounds x="72" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp74" element="matrixlamp" state="0">
+ <bounds x="80" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp75" element="matrixlamp" state="0">
+ <bounds x="88" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp76" element="matrixlamp" state="0">
+ <bounds x="96" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp77" element="matrixlamp" state="0">
+ <bounds x="104" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp78" element="matrixlamp" state="0">
+ <bounds x="112" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp79" element="matrixlamp" state="0">
+ <bounds x="120" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp80" element="matrixlamp" state="0">
+ <bounds x="0" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp81" element="matrixlamp" state="0">
+ <bounds x="8" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp82" element="matrixlamp" state="0">
+ <bounds x="16" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp83" element="matrixlamp" state="0">
+ <bounds x="24" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp84" element="matrixlamp" state="0">
+ <bounds x="32" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp85" element="matrixlamp" state="0">
+ <bounds x="40" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp86" element="matrixlamp" state="0">
+ <bounds x="48" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp87" element="matrixlamp" state="0">
+ <bounds x="56" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp88" element="matrixlamp" state="0">
+ <bounds x="64" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp89" element="matrixlamp" state="0">
+ <bounds x="72" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp90" element="matrixlamp" state="0">
+ <bounds x="80" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp91" element="matrixlamp" state="0">
+ <bounds x="88" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp92" element="matrixlamp" state="0">
+ <bounds x="96" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp93" element="matrixlamp" state="0">
+ <bounds x="104" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp94" element="matrixlamp" state="0">
+ <bounds x="112" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp95" element="matrixlamp" state="0">
+ <bounds x="120" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp96" element="matrixlamp" state="0">
+ <bounds x="0" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp97" element="matrixlamp" state="0">
+ <bounds x="8" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp98" element="matrixlamp" state="0">
+ <bounds x="16" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp99" element="matrixlamp" state="0">
+ <bounds x="24" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp100" element="matrixlamp" state="0">
+ <bounds x="32" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp101" element="matrixlamp" state="0">
+ <bounds x="40" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp102" element="matrixlamp" state="0">
+ <bounds x="48" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp103" element="matrixlamp" state="0">
+ <bounds x="56" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp104" element="matrixlamp" state="0">
+ <bounds x="64" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp105" element="matrixlamp" state="0">
+ <bounds x="72" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp106" element="matrixlamp" state="0">
+ <bounds x="80" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp107" element="matrixlamp" state="0">
+ <bounds x="88" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp108" element="matrixlamp" state="0">
+ <bounds x="96" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp109" element="matrixlamp" state="0">
+ <bounds x="104" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp110" element="matrixlamp" state="0">
+ <bounds x="112" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp111" element="matrixlamp" state="0">
+ <bounds x="120" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp112" element="matrixlamp" state="0">
+ <bounds x="0" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp113" element="matrixlamp" state="0">
+ <bounds x="8" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp114" element="matrixlamp" state="0">
+ <bounds x="16" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp115" element="matrixlamp" state="0">
+ <bounds x="24" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp116" element="matrixlamp" state="0">
+ <bounds x="32" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp117" element="matrixlamp" state="0">
+ <bounds x="40" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp118" element="matrixlamp" state="0">
+ <bounds x="48" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp119" element="matrixlamp" state="0">
+ <bounds x="56" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp120" element="matrixlamp" state="0">
+ <bounds x="64" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp121" element="matrixlamp" state="0">
+ <bounds x="72" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp122" element="matrixlamp" state="0">
+ <bounds x="80" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp123" element="matrixlamp" state="0">
+ <bounds x="88" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp124" element="matrixlamp" state="0">
+ <bounds x="96" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp125" element="matrixlamp" state="0">
+ <bounds x="104" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp126" element="matrixlamp" state="0">
+ <bounds x="112" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp127" element="matrixlamp" state="0">
+ <bounds x="120" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp128" element="matrixlamp" state="0">
+ <bounds x="0" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp129" element="matrixlamp" state="0">
+ <bounds x="8" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp130" element="matrixlamp" state="0">
+ <bounds x="16" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp131" element="matrixlamp" state="0">
+ <bounds x="24" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp132" element="matrixlamp" state="0">
+ <bounds x="32" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp133" element="matrixlamp" state="0">
+ <bounds x="40" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp134" element="matrixlamp" state="0">
+ <bounds x="48" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp135" element="matrixlamp" state="0">
+ <bounds x="56" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp136" element="matrixlamp" state="0">
+ <bounds x="64" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp137" element="matrixlamp" state="0">
+ <bounds x="72" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp138" element="matrixlamp" state="0">
+ <bounds x="80" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp139" element="matrixlamp" state="0">
+ <bounds x="88" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp140" element="matrixlamp" state="0">
+ <bounds x="96" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp141" element="matrixlamp" state="0">
+ <bounds x="104" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp142" element="matrixlamp" state="0">
+ <bounds x="112" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp143" element="matrixlamp" state="0">
+ <bounds x="120" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp144" element="matrixlamp" state="0">
+ <bounds x="0" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp145" element="matrixlamp" state="0">
+ <bounds x="8" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp146" element="matrixlamp" state="0">
+ <bounds x="16" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp147" element="matrixlamp" state="0">
+ <bounds x="24" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp148" element="matrixlamp" state="0">
+ <bounds x="32" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp149" element="matrixlamp" state="0">
+ <bounds x="40" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp150" element="matrixlamp" state="0">
+ <bounds x="48" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp151" element="matrixlamp" state="0">
+ <bounds x="56" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp152" element="matrixlamp" state="0">
+ <bounds x="64" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp153" element="matrixlamp" state="0">
+ <bounds x="72" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp154" element="matrixlamp" state="0">
+ <bounds x="80" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp155" element="matrixlamp" state="0">
+ <bounds x="88" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp156" element="matrixlamp" state="0">
+ <bounds x="96" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp157" element="matrixlamp" state="0">
+ <bounds x="104" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp158" element="matrixlamp" state="0">
+ <bounds x="112" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp159" element="matrixlamp" state="0">
+ <bounds x="120" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp160" element="matrixlamp" state="0">
+ <bounds x="0" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp161" element="matrixlamp" state="0">
+ <bounds x="8" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp162" element="matrixlamp" state="0">
+ <bounds x="16" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp163" element="matrixlamp" state="0">
+ <bounds x="24" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp164" element="matrixlamp" state="0">
+ <bounds x="32" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp165" element="matrixlamp" state="0">
+ <bounds x="40" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp166" element="matrixlamp" state="0">
+ <bounds x="48" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp167" element="matrixlamp" state="0">
+ <bounds x="56" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp168" element="matrixlamp" state="0">
+ <bounds x="64" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp169" element="matrixlamp" state="0">
+ <bounds x="72" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp170" element="matrixlamp" state="0">
+ <bounds x="80" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp171" element="matrixlamp" state="0">
+ <bounds x="88" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp172" element="matrixlamp" state="0">
+ <bounds x="96" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp173" element="matrixlamp" state="0">
+ <bounds x="104" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp174" element="matrixlamp" state="0">
+ <bounds x="112" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp175" element="matrixlamp" state="0">
+ <bounds x="120" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp176" element="matrixlamp" state="0">
+ <bounds x="0" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp177" element="matrixlamp" state="0">
+ <bounds x="8" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp178" element="matrixlamp" state="0">
+ <bounds x="16" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp179" element="matrixlamp" state="0">
+ <bounds x="24" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp180" element="matrixlamp" state="0">
+ <bounds x="32" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp181" element="matrixlamp" state="0">
+ <bounds x="40" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp182" element="matrixlamp" state="0">
+ <bounds x="48" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp183" element="matrixlamp" state="0">
+ <bounds x="56" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp184" element="matrixlamp" state="0">
+ <bounds x="64" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp185" element="matrixlamp" state="0">
+ <bounds x="72" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp186" element="matrixlamp" state="0">
+ <bounds x="80" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp187" element="matrixlamp" state="0">
+ <bounds x="88" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp188" element="matrixlamp" state="0">
+ <bounds x="96" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp189" element="matrixlamp" state="0">
+ <bounds x="104" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp190" element="matrixlamp" state="0">
+ <bounds x="112" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp191" element="matrixlamp" state="0">
+ <bounds x="120" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp192" element="matrixlamp" state="0">
+ <bounds x="0" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp193" element="matrixlamp" state="0">
+ <bounds x="8" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp194" element="matrixlamp" state="0">
+ <bounds x="16" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp195" element="matrixlamp" state="0">
+ <bounds x="24" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp196" element="matrixlamp" state="0">
+ <bounds x="32" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp197" element="matrixlamp" state="0">
+ <bounds x="40" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp198" element="matrixlamp" state="0">
+ <bounds x="48" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp199" element="matrixlamp" state="0">
+ <bounds x="56" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp200" element="matrixlamp" state="0">
+ <bounds x="64" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp201" element="matrixlamp" state="0">
+ <bounds x="72" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp202" element="matrixlamp" state="0">
+ <bounds x="80" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp203" element="matrixlamp" state="0">
+ <bounds x="88" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp204" element="matrixlamp" state="0">
+ <bounds x="96" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp205" element="matrixlamp" state="0">
+ <bounds x="104" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp206" element="matrixlamp" state="0">
+ <bounds x="112" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp207" element="matrixlamp" state="0">
+ <bounds x="120" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp208" element="matrixlamp" state="0">
+ <bounds x="0" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp209" element="matrixlamp" state="0">
+ <bounds x="8" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp210" element="matrixlamp" state="0">
+ <bounds x="16" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp211" element="matrixlamp" state="0">
+ <bounds x="24" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp212" element="matrixlamp" state="0">
+ <bounds x="32" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp213" element="matrixlamp" state="0">
+ <bounds x="40" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp214" element="matrixlamp" state="0">
+ <bounds x="48" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp215" element="matrixlamp" state="0">
+ <bounds x="56" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp216" element="matrixlamp" state="0">
+ <bounds x="64" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp217" element="matrixlamp" state="0">
+ <bounds x="72" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp218" element="matrixlamp" state="0">
+ <bounds x="80" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp219" element="matrixlamp" state="0">
+ <bounds x="88" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp220" element="matrixlamp" state="0">
+ <bounds x="96" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp221" element="matrixlamp" state="0">
+ <bounds x="104" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp222" element="matrixlamp" state="0">
+ <bounds x="112" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp223" element="matrixlamp" state="0">
+ <bounds x="120" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp224" element="matrixlamp" state="0">
+ <bounds x="0" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp225" element="matrixlamp" state="0">
+ <bounds x="8" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp226" element="matrixlamp" state="0">
+ <bounds x="16" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp227" element="matrixlamp" state="0">
+ <bounds x="24" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp228" element="matrixlamp" state="0">
+ <bounds x="32" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp229" element="matrixlamp" state="0">
+ <bounds x="40" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp230" element="matrixlamp" state="0">
+ <bounds x="48" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp231" element="matrixlamp" state="0">
+ <bounds x="56" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp232" element="matrixlamp" state="0">
+ <bounds x="64" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp233" element="matrixlamp" state="0">
+ <bounds x="72" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp234" element="matrixlamp" state="0">
+ <bounds x="80" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp235" element="matrixlamp" state="0">
+ <bounds x="88" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp236" element="matrixlamp" state="0">
+ <bounds x="96" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp237" element="matrixlamp" state="0">
+ <bounds x="104" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp238" element="matrixlamp" state="0">
+ <bounds x="112" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp239" element="matrixlamp" state="0">
+ <bounds x="120" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp240" element="matrixlamp" state="0">
+ <bounds x="0" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp241" element="matrixlamp" state="0">
+ <bounds x="8" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp242" element="matrixlamp" state="0">
+ <bounds x="16" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp243" element="matrixlamp" state="0">
+ <bounds x="24" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp244" element="matrixlamp" state="0">
+ <bounds x="32" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp245" element="matrixlamp" state="0">
+ <bounds x="40" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp246" element="matrixlamp" state="0">
+ <bounds x="48" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp247" element="matrixlamp" state="0">
+ <bounds x="56" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp248" element="matrixlamp" state="0">
+ <bounds x="64" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp249" element="matrixlamp" state="0">
+ <bounds x="72" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp250" element="matrixlamp" state="0">
+ <bounds x="80" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp251" element="matrixlamp" state="0">
+ <bounds x="88" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp252" element="matrixlamp" state="0">
+ <bounds x="96" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp253" element="matrixlamp" state="0">
+ <bounds x="104" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp254" element="matrixlamp" state="0">
+ <bounds x="112" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp255" element="matrixlamp" state="0">
+ <bounds x="120" y="120" width="7" height="7"/>
+ </backdrop>
+ </view>
+
+ <view name="AWP Simulated Video (No Artwork)">
+ <backdrop name="vfd0" element="vfd0" state="0">
+ <bounds x="10" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd1" element="vfd0" state="0">
+ <bounds x="19" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd2" element="vfd0" state="0">
+ <bounds x="28" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd3" element="vfd0" state="0">
+ <bounds x="37" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd4" element="vfd0" state="0">
+ <bounds x="46" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd5" element="vfd0" state="0">
+ <bounds x="55" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd6" element="vfd0" state="0">
+ <bounds x="64" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd7" element="vfd0" state="0">
+ <bounds x="73" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd8" element="vfd0" state="0">
+ <bounds x="82" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd9" element="vfd0" state="0">
+ <bounds x="91" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd10" element="vfd0" state="0">
+ <bounds x="100" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd11" element="vfd0" state="0">
+ <bounds x="109" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd12" element="vfd0" state="0">
+ <bounds x="118" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd13" element="vfd0" state="0">
+ <bounds x="127" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd14" element="vfd0" state="0">
+ <bounds x="136" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="vfd15" element="vfd0" state="0">
+ <bounds x="145" y="280" width="9" height="17"/>
+ </backdrop>
+ <backdrop name="reel1" element="Steppers" state="0">
+ <bounds x="10" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel2" element="Steppers" state="0">
+ <bounds x="60" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel3" element="Steppers" state="0">
+ <bounds x="110" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel4" element="Steppers" state="0">
+ <bounds x="160" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel5" element="Steppers" state="0">
+ <bounds x="220" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="reel6" element="Steppers" state="0">
+ <bounds x="280" y="320" width="50" height="50"/>
+ </backdrop>
+ <backdrop name="lamp0" element="matrixlamp" state="0">
+ <bounds x="0" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp1" element="matrixlamp" state="0">
+ <bounds x="8" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp2" element="matrixlamp" state="0">
+ <bounds x="16" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp3" element="matrixlamp" state="0">
+ <bounds x="24" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp4" element="matrixlamp" state="0">
+ <bounds x="32" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp5" element="matrixlamp" state="0">
+ <bounds x="40" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp6" element="matrixlamp" state="0">
+ <bounds x="48" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp7" element="matrixlamp" state="0">
+ <bounds x="56" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp8" element="matrixlamp" state="0">
+ <bounds x="64" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp9" element="matrixlamp" state="0">
+ <bounds x="72" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp10" element="matrixlamp" state="0">
+ <bounds x="80" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp11" element="matrixlamp" state="0">
+ <bounds x="88" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp12" element="matrixlamp" state="0">
+ <bounds x="96" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp13" element="matrixlamp" state="0">
+ <bounds x="104" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp14" element="matrixlamp" state="0">
+ <bounds x="112" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp15" element="matrixlamp" state="0">
+ <bounds x="120" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp16" element="matrixlamp" state="0">
+ <bounds x="0" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp17" element="matrixlamp" state="0">
+ <bounds x="8" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp18" element="matrixlamp" state="0">
+ <bounds x="16" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp19" element="matrixlamp" state="0">
+ <bounds x="24" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp20" element="matrixlamp" state="0">
+ <bounds x="32" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp21" element="matrixlamp" state="0">
+ <bounds x="40" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp22" element="matrixlamp" state="0">
+ <bounds x="48" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp23" element="matrixlamp" state="0">
+ <bounds x="56" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp24" element="matrixlamp" state="0">
+ <bounds x="64" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp25" element="matrixlamp" state="0">
+ <bounds x="72" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp26" element="matrixlamp" state="0">
+ <bounds x="80" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp27" element="matrixlamp" state="0">
+ <bounds x="88" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp28" element="matrixlamp" state="0">
+ <bounds x="96" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp29" element="matrixlamp" state="0">
+ <bounds x="104" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp30" element="matrixlamp" state="0">
+ <bounds x="112" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp31" element="matrixlamp" state="0">
+ <bounds x="120" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp32" element="matrixlamp" state="0">
+ <bounds x="0" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp33" element="matrixlamp" state="0">
+ <bounds x="8" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp34" element="matrixlamp" state="0">
+ <bounds x="16" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp35" element="matrixlamp" state="0">
+ <bounds x="24" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp36" element="matrixlamp" state="0">
+ <bounds x="32" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp37" element="matrixlamp" state="0">
+ <bounds x="40" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp38" element="matrixlamp" state="0">
+ <bounds x="48" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp39" element="matrixlamp" state="0">
+ <bounds x="56" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp40" element="matrixlamp" state="0">
+ <bounds x="64" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp41" element="matrixlamp" state="0">
+ <bounds x="72" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp42" element="matrixlamp" state="0">
+ <bounds x="80" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp43" element="matrixlamp" state="0">
+ <bounds x="88" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp44" element="matrixlamp" state="0">
+ <bounds x="96" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp45" element="matrixlamp" state="0">
+ <bounds x="104" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp46" element="matrixlamp" state="0">
+ <bounds x="112" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp47" element="matrixlamp" state="0">
+ <bounds x="120" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp48" element="matrixlamp" state="0">
+ <bounds x="0" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp49" element="matrixlamp" state="0">
+ <bounds x="8" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp50" element="matrixlamp" state="0">
+ <bounds x="16" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp51" element="matrixlamp" state="0">
+ <bounds x="24" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp52" element="matrixlamp" state="0">
+ <bounds x="32" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp53" element="matrixlamp" state="0">
+ <bounds x="40" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp54" element="matrixlamp" state="0">
+ <bounds x="48" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp55" element="matrixlamp" state="0">
+ <bounds x="56" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp56" element="matrixlamp" state="0">
+ <bounds x="64" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp57" element="matrixlamp" state="0">
+ <bounds x="72" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp58" element="matrixlamp" state="0">
+ <bounds x="80" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp59" element="matrixlamp" state="0">
+ <bounds x="88" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp60" element="matrixlamp" state="0">
+ <bounds x="96" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp61" element="matrixlamp" state="0">
+ <bounds x="104" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp62" element="matrixlamp" state="0">
+ <bounds x="112" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp63" element="matrixlamp" state="0">
+ <bounds x="120" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp64" element="matrixlamp" state="0">
+ <bounds x="0" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp65" element="matrixlamp" state="0">
+ <bounds x="8" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp66" element="matrixlamp" state="0">
+ <bounds x="16" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp67" element="matrixlamp" state="0">
+ <bounds x="24" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp68" element="matrixlamp" state="0">
+ <bounds x="32" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp69" element="matrixlamp" state="0">
+ <bounds x="40" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp70" element="matrixlamp" state="0">
+ <bounds x="48" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp71" element="matrixlamp" state="0">
+ <bounds x="56" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp72" element="matrixlamp" state="0">
+ <bounds x="64" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp73" element="matrixlamp" state="0">
+ <bounds x="72" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp74" element="matrixlamp" state="0">
+ <bounds x="80" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp75" element="matrixlamp" state="0">
+ <bounds x="88" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp76" element="matrixlamp" state="0">
+ <bounds x="96" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp77" element="matrixlamp" state="0">
+ <bounds x="104" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp78" element="matrixlamp" state="0">
+ <bounds x="112" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp79" element="matrixlamp" state="0">
+ <bounds x="120" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp80" element="matrixlamp" state="0">
+ <bounds x="0" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp81" element="matrixlamp" state="0">
+ <bounds x="8" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp82" element="matrixlamp" state="0">
+ <bounds x="16" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp83" element="matrixlamp" state="0">
+ <bounds x="24" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp84" element="matrixlamp" state="0">
+ <bounds x="32" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp85" element="matrixlamp" state="0">
+ <bounds x="40" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp86" element="matrixlamp" state="0">
+ <bounds x="48" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp87" element="matrixlamp" state="0">
+ <bounds x="56" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp88" element="matrixlamp" state="0">
+ <bounds x="64" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp89" element="matrixlamp" state="0">
+ <bounds x="72" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp90" element="matrixlamp" state="0">
+ <bounds x="80" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp91" element="matrixlamp" state="0">
+ <bounds x="88" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp92" element="matrixlamp" state="0">
+ <bounds x="96" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp93" element="matrixlamp" state="0">
+ <bounds x="104" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp94" element="matrixlamp" state="0">
+ <bounds x="112" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp95" element="matrixlamp" state="0">
+ <bounds x="120" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp96" element="matrixlamp" state="0">
+ <bounds x="0" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp97" element="matrixlamp" state="0">
+ <bounds x="8" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp98" element="matrixlamp" state="0">
+ <bounds x="16" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp99" element="matrixlamp" state="0">
+ <bounds x="24" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp100" element="matrixlamp" state="0">
+ <bounds x="32" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp101" element="matrixlamp" state="0">
+ <bounds x="40" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp102" element="matrixlamp" state="0">
+ <bounds x="48" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp103" element="matrixlamp" state="0">
+ <bounds x="56" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp104" element="matrixlamp" state="0">
+ <bounds x="64" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp105" element="matrixlamp" state="0">
+ <bounds x="72" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp106" element="matrixlamp" state="0">
+ <bounds x="80" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp107" element="matrixlamp" state="0">
+ <bounds x="88" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp108" element="matrixlamp" state="0">
+ <bounds x="96" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp109" element="matrixlamp" state="0">
+ <bounds x="104" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp110" element="matrixlamp" state="0">
+ <bounds x="112" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp111" element="matrixlamp" state="0">
+ <bounds x="120" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp112" element="matrixlamp" state="0">
+ <bounds x="0" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp113" element="matrixlamp" state="0">
+ <bounds x="8" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp114" element="matrixlamp" state="0">
+ <bounds x="16" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp115" element="matrixlamp" state="0">
+ <bounds x="24" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp116" element="matrixlamp" state="0">
+ <bounds x="32" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp117" element="matrixlamp" state="0">
+ <bounds x="40" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp118" element="matrixlamp" state="0">
+ <bounds x="48" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp119" element="matrixlamp" state="0">
+ <bounds x="56" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp120" element="matrixlamp" state="0">
+ <bounds x="64" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp121" element="matrixlamp" state="0">
+ <bounds x="72" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp122" element="matrixlamp" state="0">
+ <bounds x="80" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp123" element="matrixlamp" state="0">
+ <bounds x="88" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp124" element="matrixlamp" state="0">
+ <bounds x="96" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp125" element="matrixlamp" state="0">
+ <bounds x="104" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp126" element="matrixlamp" state="0">
+ <bounds x="112" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp127" element="matrixlamp" state="0">
+ <bounds x="120" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp128" element="matrixlamp" state="0">
+ <bounds x="0" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp129" element="matrixlamp" state="0">
+ <bounds x="8" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp130" element="matrixlamp" state="0">
+ <bounds x="16" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp131" element="matrixlamp" state="0">
+ <bounds x="24" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp132" element="matrixlamp" state="0">
+ <bounds x="32" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp133" element="matrixlamp" state="0">
+ <bounds x="40" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp134" element="matrixlamp" state="0">
+ <bounds x="48" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp135" element="matrixlamp" state="0">
+ <bounds x="56" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp136" element="matrixlamp" state="0">
+ <bounds x="64" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp137" element="matrixlamp" state="0">
+ <bounds x="72" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp138" element="matrixlamp" state="0">
+ <bounds x="80" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp139" element="matrixlamp" state="0">
+ <bounds x="88" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp140" element="matrixlamp" state="0">
+ <bounds x="96" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp141" element="matrixlamp" state="0">
+ <bounds x="104" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp142" element="matrixlamp" state="0">
+ <bounds x="112" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp143" element="matrixlamp" state="0">
+ <bounds x="120" y="64" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp144" element="matrixlamp" state="0">
+ <bounds x="0" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp145" element="matrixlamp" state="0">
+ <bounds x="8" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp146" element="matrixlamp" state="0">
+ <bounds x="16" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp147" element="matrixlamp" state="0">
+ <bounds x="24" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp148" element="matrixlamp" state="0">
+ <bounds x="32" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp149" element="matrixlamp" state="0">
+ <bounds x="40" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp150" element="matrixlamp" state="0">
+ <bounds x="48" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp151" element="matrixlamp" state="0">
+ <bounds x="56" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp152" element="matrixlamp" state="0">
+ <bounds x="64" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp153" element="matrixlamp" state="0">
+ <bounds x="72" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp154" element="matrixlamp" state="0">
+ <bounds x="80" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp155" element="matrixlamp" state="0">
+ <bounds x="88" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp156" element="matrixlamp" state="0">
+ <bounds x="96" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp157" element="matrixlamp" state="0">
+ <bounds x="104" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp158" element="matrixlamp" state="0">
+ <bounds x="112" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp159" element="matrixlamp" state="0">
+ <bounds x="120" y="72" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp160" element="matrixlamp" state="0">
+ <bounds x="0" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp161" element="matrixlamp" state="0">
+ <bounds x="8" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp162" element="matrixlamp" state="0">
+ <bounds x="16" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp163" element="matrixlamp" state="0">
+ <bounds x="24" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp164" element="matrixlamp" state="0">
+ <bounds x="32" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp165" element="matrixlamp" state="0">
+ <bounds x="40" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp166" element="matrixlamp" state="0">
+ <bounds x="48" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp167" element="matrixlamp" state="0">
+ <bounds x="56" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp168" element="matrixlamp" state="0">
+ <bounds x="64" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp169" element="matrixlamp" state="0">
+ <bounds x="72" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp170" element="matrixlamp" state="0">
+ <bounds x="80" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp171" element="matrixlamp" state="0">
+ <bounds x="88" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp172" element="matrixlamp" state="0">
+ <bounds x="96" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp173" element="matrixlamp" state="0">
+ <bounds x="104" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp174" element="matrixlamp" state="0">
+ <bounds x="112" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp175" element="matrixlamp" state="0">
+ <bounds x="120" y="80" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp176" element="matrixlamp" state="0">
+ <bounds x="0" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp177" element="matrixlamp" state="0">
+ <bounds x="8" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp178" element="matrixlamp" state="0">
+ <bounds x="16" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp179" element="matrixlamp" state="0">
+ <bounds x="24" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp180" element="matrixlamp" state="0">
+ <bounds x="32" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp181" element="matrixlamp" state="0">
+ <bounds x="40" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp182" element="matrixlamp" state="0">
+ <bounds x="48" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp183" element="matrixlamp" state="0">
+ <bounds x="56" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp184" element="matrixlamp" state="0">
+ <bounds x="64" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp185" element="matrixlamp" state="0">
+ <bounds x="72" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp186" element="matrixlamp" state="0">
+ <bounds x="80" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp187" element="matrixlamp" state="0">
+ <bounds x="88" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp188" element="matrixlamp" state="0">
+ <bounds x="96" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp189" element="matrixlamp" state="0">
+ <bounds x="104" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp190" element="matrixlamp" state="0">
+ <bounds x="112" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp191" element="matrixlamp" state="0">
+ <bounds x="120" y="88" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp192" element="matrixlamp" state="0">
+ <bounds x="0" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp193" element="matrixlamp" state="0">
+ <bounds x="8" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp194" element="matrixlamp" state="0">
+ <bounds x="16" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp195" element="matrixlamp" state="0">
+ <bounds x="24" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp196" element="matrixlamp" state="0">
+ <bounds x="32" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp197" element="matrixlamp" state="0">
+ <bounds x="40" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp198" element="matrixlamp" state="0">
+ <bounds x="48" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp199" element="matrixlamp" state="0">
+ <bounds x="56" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp200" element="matrixlamp" state="0">
+ <bounds x="64" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp201" element="matrixlamp" state="0">
+ <bounds x="72" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp202" element="matrixlamp" state="0">
+ <bounds x="80" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp203" element="matrixlamp" state="0">
+ <bounds x="88" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp204" element="matrixlamp" state="0">
+ <bounds x="96" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp205" element="matrixlamp" state="0">
+ <bounds x="104" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp206" element="matrixlamp" state="0">
+ <bounds x="112" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp207" element="matrixlamp" state="0">
+ <bounds x="120" y="96" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp208" element="matrixlamp" state="0">
+ <bounds x="0" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp209" element="matrixlamp" state="0">
+ <bounds x="8" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp210" element="matrixlamp" state="0">
+ <bounds x="16" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp211" element="matrixlamp" state="0">
+ <bounds x="24" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp212" element="matrixlamp" state="0">
+ <bounds x="32" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp213" element="matrixlamp" state="0">
+ <bounds x="40" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp214" element="matrixlamp" state="0">
+ <bounds x="48" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp215" element="matrixlamp" state="0">
+ <bounds x="56" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp216" element="matrixlamp" state="0">
+ <bounds x="64" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp217" element="matrixlamp" state="0">
+ <bounds x="72" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp218" element="matrixlamp" state="0">
+ <bounds x="80" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp219" element="matrixlamp" state="0">
+ <bounds x="88" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp220" element="matrixlamp" state="0">
+ <bounds x="96" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp221" element="matrixlamp" state="0">
+ <bounds x="104" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp222" element="matrixlamp" state="0">
+ <bounds x="112" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp223" element="matrixlamp" state="0">
+ <bounds x="120" y="104" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp224" element="matrixlamp" state="0">
+ <bounds x="0" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp225" element="matrixlamp" state="0">
+ <bounds x="8" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp226" element="matrixlamp" state="0">
+ <bounds x="16" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp227" element="matrixlamp" state="0">
+ <bounds x="24" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp228" element="matrixlamp" state="0">
+ <bounds x="32" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp229" element="matrixlamp" state="0">
+ <bounds x="40" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp230" element="matrixlamp" state="0">
+ <bounds x="48" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp231" element="matrixlamp" state="0">
+ <bounds x="56" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp232" element="matrixlamp" state="0">
+ <bounds x="64" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp233" element="matrixlamp" state="0">
+ <bounds x="72" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp234" element="matrixlamp" state="0">
+ <bounds x="80" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp235" element="matrixlamp" state="0">
+ <bounds x="88" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp236" element="matrixlamp" state="0">
+ <bounds x="96" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp237" element="matrixlamp" state="0">
+ <bounds x="104" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp238" element="matrixlamp" state="0">
+ <bounds x="112" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp239" element="matrixlamp" state="0">
+ <bounds x="120" y="112" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp240" element="matrixlamp" state="0">
+ <bounds x="0" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp241" element="matrixlamp" state="0">
+ <bounds x="8" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp242" element="matrixlamp" state="0">
+ <bounds x="16" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp243" element="matrixlamp" state="0">
+ <bounds x="24" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp244" element="matrixlamp" state="0">
+ <bounds x="32" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp245" element="matrixlamp" state="0">
+ <bounds x="40" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp246" element="matrixlamp" state="0">
+ <bounds x="48" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp247" element="matrixlamp" state="0">
+ <bounds x="56" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp248" element="matrixlamp" state="0">
+ <bounds x="64" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp249" element="matrixlamp" state="0">
+ <bounds x="72" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp250" element="matrixlamp" state="0">
+ <bounds x="80" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp251" element="matrixlamp" state="0">
+ <bounds x="88" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp252" element="matrixlamp" state="0">
+ <bounds x="96" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp253" element="matrixlamp" state="0">
+ <bounds x="104" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp254" element="matrixlamp" state="0">
+ <bounds x="112" y="120" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp255" element="matrixlamp" state="0">
+ <bounds x="120" y="120" width="7" height="7"/>
+ </backdrop>
+ </view>
+
+ <view name="Adder 2 Output Only (400:280, No Artwork)">
+ <screen index="0">
+ <bounds left="0" top="0" right="400" bottom="280" />
+ </screen>
+ </view>
+</mamelayout>
+
diff --git a/src/mame/layout/gamball.lay b/src/mame/layout/gamball.lay
index ba6771ccf0f..6c30092ecca 100644
--- a/src/mame/layout/gamball.lay
+++ b/src/mame/layout/gamball.lay
@@ -2071,3 +2071,2076 @@
</backdrop>
</view>
</mamelayout>
+<?xml version="1.0"?>
+<mamelayout version="2">
+ <element name="TotalReels" defstate="4"/>
+ <element name="ReelSteps1" defstate="8"/>
+ <element name="ReelSymbols1" defstate="3"/>
+ <element name="ReelSteps2" defstate="6"/>
+ <element name="digit">
+ <led7seg>
+ <color red="1.0" green="0.0" blue="0.0" />
+ </led7seg>
+ </element>
+ <element name="matrixlamp">
+ <rect state ="0">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.7" green="0.7" blue="0.7" />
+ </rect>
+ <rect state ="1">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.0" green="0.0" blue="1.0" />
+ </rect>
+ <rect state ="2">
+ <bounds x="0" y="0" width="7" height="7" />
+ <color red="0.0" green="1.0" blue="0.0" />
+ </rect>
+ </element>
+ <element name="Reel1" defstate="96">
+ <text string="3.00 RPT" state="0">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="1">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="2">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="3">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="4">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="5">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="6">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="3.00 RPT" state="7">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="8">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="9">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="10">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="11">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="12">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="13">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="14">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="POT" state="15">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="16">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="17">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="18">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="19">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="20">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="21">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="22">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="JACK" state="23">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="24">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="25">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="26">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="27">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="28">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="29">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="30">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="LOSE" state="31">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="32">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="33">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="34">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="35">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="36">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="37">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="38">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="60p" state="39">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="40">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="41">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="42">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="43">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="44">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="45">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="46">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="80p" state="47">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="48">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="49">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="50">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="51">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="52">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="53">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="54">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.00" state="55">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="56">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="57">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="58">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="59">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="60">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="61">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="62">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.20" state="63">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="64">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="65">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="66">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="67">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="68">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="69">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="70">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="1.60" state="71">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="72">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="73">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="74">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="75">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="76">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="77">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="78">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.00" state="79">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="80">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="81">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="82">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="83">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="84">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="85">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="86">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.20" state="87">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="88">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="89">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="90">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="91">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="92">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="93">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="94">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="2.40" state="95">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ </element>
+
+ <element name="Reel2" defstate="96">
+ <text string="7" state="0">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="1">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="2">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="3">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="4">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="5">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="6">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="7">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="8">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="9">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="10">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="11">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="12">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="13">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="14">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="15">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="16">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="17">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="18">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="19">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="20">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="21">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="22">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="23">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="24">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="25">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="26">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="27">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="28">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="29">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="30">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="31">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="32">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="33">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="34">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="35">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="36">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="37">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="38">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="39">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="40">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="41">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="42">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="43">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="44">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="45">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="46">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="47">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="48">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="49">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="50">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="51">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="52">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="53">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="54">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="55">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="56">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="57">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="58">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="59">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="60">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="61">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="62">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="63">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="64">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="65">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="66">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="67">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="68">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="69">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="70">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="71">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="72">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="73">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="74">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="75">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="76">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="77">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="78">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="79">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="80">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="81">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="82">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="83">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="84">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="85">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="86">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="87">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="88">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="89">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="90">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="91">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="92">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="93">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="94">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="95">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ </element>
+
+ <element name="Reel3" defstate="96">
+ <text string="7" state="0">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="1">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="2">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="3">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="4">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="5">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="6">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="7">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="8">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="9">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="10">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="11">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="12">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="13">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="14">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="15">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="16">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="17">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="18">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="19">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="20">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="21">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="22">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="23">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="24">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="25">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="26">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="27">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="28">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="29">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="30">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="31">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="32">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="33">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="34">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="35">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="36">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="37">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="38">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="39">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="40">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="41">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="42">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="43">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="44">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="45">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="46">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="47">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="48">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="49">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="50">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="51">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="52">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="53">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="54">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="55">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="56">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="57">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="58">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="59">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="60">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="61">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="62">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="63">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="64">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="65">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="66">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="67">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="68">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="69">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="70">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="71">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="72">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="73">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="74">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="75">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="76">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="77">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="78">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="79">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="80">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="81">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="82">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="83">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="84">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="85">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="86">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="87">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="88">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="89">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="90">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="91">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="92">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="93">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="94">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="95">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ </element>
+
+ <element name="Reel4" defstate="96">
+ <text string="Bell" state="0">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="1">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="2">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="3">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="4">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="5">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="6">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="7">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="8">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="9">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="10">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="11">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="12">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="13">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="14">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="15">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="16">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="17">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="18">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="19">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="20">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="21">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="22">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="23">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="24">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="25">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="26">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="27">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="28">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="29">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="30">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="31">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="32">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="33">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="34">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="35">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="36">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="37">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="38">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="39">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="40">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="41">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="42">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="43">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="44">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="45">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="46">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="47">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="48">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="49">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="50">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="51">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="52">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="53">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="54">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="55">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="56">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="57">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="58">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="59">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="60">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="61">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="62">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="63">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="64">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="7" state="65">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="66">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="67">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="68">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="69">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="70">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="71">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="72">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="73">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="74">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="75">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="76">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Cherry" state="77">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="78">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="79">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="80">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="81">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="82">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bell" state="83">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="84">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="85">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="86">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="87">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="88">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Bar" state="89">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="90">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="91">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="92">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="93">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="94">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ <text string="Melon" state="95">
+ <color red="1.0" green="1.0" blue="1.0" />
+ <bounds x="0" y="0.1" width="1" height="1" />
+ </text>
+ </element>
+ <element name="vfd0">
+ <led16segsc>
+ <color red="0" green="0.6" blue="1.0" />
+ </led16segsc>
+ </element>
+
+ <view name="Gamball AWP Simulated Video (No Artwork)">
+ <backdrop name="TotalReels" element="TotalReels"/>
+ <backdrop name="ReelSteps1" element="ReelSteps1"/>
+ <backdrop name="ReelSteps2" element="ReelSteps2"/>
+ <backdrop name="ReelSteps3" element="ReelSteps2"/>
+ <backdrop name="ReelSteps4" element="ReelSteps2"/>
+ <backdrop name="ReelSymbols1" element="ReelSymbols1"/>
+ <backdrop name="ReelSymbols2" element="ReelSymbols1"/>
+ <backdrop name="ReelSymbols3" element="ReelSymbols1"/>
+ <backdrop name="ReelSymbols4" element="ReelSymbols1"/>
+ <backdrop name="reel1a1" element="Reel1" state="96">
+ <bounds x="85" y="463" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel1" element="Reel1" state="96">
+ <bounds x="85" y="491.3333" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel1b1" element="Reel1" state="96">
+ <bounds x="85" y="520.6666" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel2a1" element="Reel2" state="96">
+ <bounds x="161" y="463" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel2" element="Reel2" state="96">
+ <bounds x="161" y="491.3333" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel2b1" element="Reel2" state="96">
+ <bounds x="161" y="520.6666" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel3a1" element="Reel3" state="96">
+ <bounds x="236" y="463" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel3" element="Reel3" state="96">
+ <bounds x="236" y="491.3333" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel3b1" element="Reel3" state="96">
+ <bounds x="236" y="520.6666" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel4a1" element="Reel4" state="96">
+ <bounds x="311" y="463" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel4" element="Reel4" state="96">
+ <bounds x="311" y="491.3333" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="reel4b1" element="Reel4" state="96">
+ <bounds x="311" y="520.6666" width="49" height="29.3333"/>
+ </backdrop>
+ <backdrop name="lamp0" element="matrixlamp" state="0">
+ <bounds x="0" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp1" element="matrixlamp" state="0">
+ <bounds x="0" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp2" element="matrixlamp" state="0">
+ <bounds x="0" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp3" element="matrixlamp" state="0">
+ <bounds x="0" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp4" element="matrixlamp" state="0">
+ <bounds x="0" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp5" element="matrixlamp" state="0">
+ <bounds x="0" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp6" element="matrixlamp" state="0">
+ <bounds x="0" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp7" element="matrixlamp" state="0">
+ <bounds x="0" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp8" element="matrixlamp" state="0">
+ <bounds x="8" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp9" element="matrixlamp" state="0">
+ <bounds x="8" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp10" element="matrixlamp" state="0">
+ <bounds x="8" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp11" element="matrixlamp" state="0">
+ <bounds x="8" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp12" element="matrixlamp" state="0">
+ <bounds x="8" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp13" element="matrixlamp" state="0">
+ <bounds x="8" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp14" element="matrixlamp" state="0">
+ <bounds x="8" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp15" element="matrixlamp" state="0">
+ <bounds x="8" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp16" element="matrixlamp" state="0">
+ <bounds x="16" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp17" element="matrixlamp" state="0">
+ <bounds x="16" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp18" element="matrixlamp" state="0">
+ <bounds x="16" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp19" element="matrixlamp" state="0">
+ <bounds x="16" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp20" element="matrixlamp" state="0">
+ <bounds x="16" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp21" element="matrixlamp" state="0">
+ <bounds x="16" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp22" element="matrixlamp" state="0">
+ <bounds x="16" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp23" element="matrixlamp" state="0">
+ <bounds x="16" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp24" element="matrixlamp" state="0">
+ <bounds x="24" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp25" element="matrixlamp" state="0">
+ <bounds x="24" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp26" element="matrixlamp" state="0">
+ <bounds x="24" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp27" element="matrixlamp" state="0">
+ <bounds x="24" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp28" element="matrixlamp" state="0">
+ <bounds x="24" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp29" element="matrixlamp" state="0">
+ <bounds x="24" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp30" element="matrixlamp" state="0">
+ <bounds x="24" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp31" element="matrixlamp" state="0">
+ <bounds x="24" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp32" element="matrixlamp" state="0">
+ <bounds x="32" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp33" element="matrixlamp" state="0">
+ <bounds x="32" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp34" element="matrixlamp" state="0">
+ <bounds x="32" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp35" element="matrixlamp" state="0">
+ <bounds x="32" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp36" element="matrixlamp" state="0">
+ <bounds x="32" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp37" element="matrixlamp" state="0">
+ <bounds x="32" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp38" element="matrixlamp" state="0">
+ <bounds x="32" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp39" element="matrixlamp" state="0">
+ <bounds x="32" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp40" element="matrixlamp" state="0">
+ <bounds x="40" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp41" element="matrixlamp" state="0">
+ <bounds x="40" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp42" element="matrixlamp" state="0">
+ <bounds x="40" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp43" element="matrixlamp" state="0">
+ <bounds x="40" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp44" element="matrixlamp" state="0">
+ <bounds x="40" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp45" element="matrixlamp" state="0">
+ <bounds x="40" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp46" element="matrixlamp" state="0">
+ <bounds x="40" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp47" element="matrixlamp" state="0">
+ <bounds x="40" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp48" element="matrixlamp" state="0">
+ <bounds x="48" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp49" element="matrixlamp" state="0">
+ <bounds x="48" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp50" element="matrixlamp" state="0">
+ <bounds x="48" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp51" element="matrixlamp" state="0">
+ <bounds x="48" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp52" element="matrixlamp" state="0">
+ <bounds x="48" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp53" element="matrixlamp" state="0">
+ <bounds x="48" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp54" element="matrixlamp" state="0">
+ <bounds x="48" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp55" element="matrixlamp" state="0">
+ <bounds x="48" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp56" element="matrixlamp" state="0">
+ <bounds x="56" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp57" element="matrixlamp" state="0">
+ <bounds x="56" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp58" element="matrixlamp" state="0">
+ <bounds x="56" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp59" element="matrixlamp" state="0">
+ <bounds x="56" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp60" element="matrixlamp" state="0">
+ <bounds x="56" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp61" element="matrixlamp" state="0">
+ <bounds x="56" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp62" element="matrixlamp" state="0">
+ <bounds x="56" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp63" element="matrixlamp" state="0">
+ <bounds x="56" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp64" element="matrixlamp" state="0">
+ <bounds x="64" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp65" element="matrixlamp" state="0">
+ <bounds x="64" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp66" element="matrixlamp" state="0">
+ <bounds x="64" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp67" element="matrixlamp" state="0">
+ <bounds x="64" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp68" element="matrixlamp" state="0">
+ <bounds x="64" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp69" element="matrixlamp" state="0">
+ <bounds x="64" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp70" element="matrixlamp" state="0">
+ <bounds x="64" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp71" element="matrixlamp" state="0">
+ <bounds x="64" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp72" element="matrixlamp" state="0">
+ <bounds x="72" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp73" element="matrixlamp" state="0">
+ <bounds x="72" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp74" element="matrixlamp" state="0">
+ <bounds x="72" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp75" element="matrixlamp" state="0">
+ <bounds x="72" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp76" element="matrixlamp" state="0">
+ <bounds x="72" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp77" element="matrixlamp" state="0">
+ <bounds x="72" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp78" element="matrixlamp" state="0">
+ <bounds x="72" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp79" element="matrixlamp" state="0">
+ <bounds x="72" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp80" element="matrixlamp" state="0">
+ <bounds x="80" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp81" element="matrixlamp" state="0">
+ <bounds x="80" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp82" element="matrixlamp" state="0">
+ <bounds x="80" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp83" element="matrixlamp" state="0">
+ <bounds x="80" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp84" element="matrixlamp" state="0">
+ <bounds x="80" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp85" element="matrixlamp" state="0">
+ <bounds x="80" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp86" element="matrixlamp" state="0">
+ <bounds x="80" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp87" element="matrixlamp" state="0">
+ <bounds x="80" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp88" element="matrixlamp" state="0">
+ <bounds x="88" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp89" element="matrixlamp" state="0">
+ <bounds x="88" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp90" element="matrixlamp" state="0">
+ <bounds x="88" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp91" element="matrixlamp" state="0">
+ <bounds x="88" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp92" element="matrixlamp" state="0">
+ <bounds x="88" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp93" element="matrixlamp" state="0">
+ <bounds x="88" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp94" element="matrixlamp" state="0">
+ <bounds x="88" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp95" element="matrixlamp" state="0">
+ <bounds x="88" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp96" element="matrixlamp" state="0">
+ <bounds x="96" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp97" element="matrixlamp" state="0">
+ <bounds x="96" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp98" element="matrixlamp" state="0">
+ <bounds x="96" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp99" element="matrixlamp" state="0">
+ <bounds x="96" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp100" element="matrixlamp" state="0">
+ <bounds x="96" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp101" element="matrixlamp" state="0">
+ <bounds x="96" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp102" element="matrixlamp" state="0">
+ <bounds x="96" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp103" element="matrixlamp" state="0">
+ <bounds x="96" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp104" element="matrixlamp" state="0">
+ <bounds x="104" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp105" element="matrixlamp" state="0">
+ <bounds x="104" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp106" element="matrixlamp" state="0">
+ <bounds x="104" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp107" element="matrixlamp" state="0">
+ <bounds x="104" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp108" element="matrixlamp" state="0">
+ <bounds x="104" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp109" element="matrixlamp" state="0">
+ <bounds x="104" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp110" element="matrixlamp" state="0">
+ <bounds x="104" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp111" element="matrixlamp" state="0">
+ <bounds x="104" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp112" element="matrixlamp" state="0">
+ <bounds x="112" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp113" element="matrixlamp" state="0">
+ <bounds x="112" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp114" element="matrixlamp" state="0">
+ <bounds x="112" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp115" element="matrixlamp" state="0">
+ <bounds x="112" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp116" element="matrixlamp" state="0">
+ <bounds x="112" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp117" element="matrixlamp" state="0">
+ <bounds x="112" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp118" element="matrixlamp" state="0">
+ <bounds x="112" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp119" element="matrixlamp" state="0">
+ <bounds x="112" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp120" element="matrixlamp" state="0">
+ <bounds x="120" y="0" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp121" element="matrixlamp" state="0">
+ <bounds x="120" y="8" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp122" element="matrixlamp" state="0">
+ <bounds x="120" y="16" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp123" element="matrixlamp" state="0">
+ <bounds x="120" y="24" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp124" element="matrixlamp" state="0">
+ <bounds x="120" y="32" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp125" element="matrixlamp" state="0">
+ <bounds x="120" y="40" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp126" element="matrixlamp" state="0">
+ <bounds x="120" y="48" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="lamp127" element="matrixlamp" state="0">
+ <bounds x="120" y="56" width="7" height="7"/>
+ </backdrop>
+ <backdrop name="digit3" element="digit" state="0">
+ <bounds x="308" y="230" width="8" height="10"/>
+ </backdrop>
+ <backdrop name="digit4" element="digit" state="0">
+ <bounds x="316" y="230" width="8" height="10"/>
+ </backdrop>
+ <backdrop name="digit5" element="digit" state="0">
+ <bounds x="300" y="200" width="8" height="10"/>
+ </backdrop>
+ <backdrop name="digit6" element="digit" state="0">
+ <bounds x="308" y="200" width="8" height="10"/>
+ </backdrop>
+ <backdrop name="digit7" element="digit" state="0">
+ <bounds x="316" y="200" width="8" height="10"/>
+ </backdrop>
+ <backdrop name="vfd0" element="vfd0" state="0">
+ <bounds x="17" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd1" element="vfd0" state="0">
+ <bounds x="24" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd2" element="vfd0" state="0">
+ <bounds x="31" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd3" element="vfd0" state="0">
+ <bounds x="38" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd4" element="vfd0" state="0">
+ <bounds x="45" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd5" element="vfd0" state="0">
+ <bounds x="52" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd6" element="vfd0" state="0">
+ <bounds x="59" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd7" element="vfd0" state="0">
+ <bounds x="66" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd8" element="vfd0" state="0">
+ <bounds x="73" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd9" element="vfd0" state="0">
+ <bounds x="80" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd10" element="vfd0" state="0">
+ <bounds x="87" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd11" element="vfd0" state="0">
+ <bounds x="94" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd12" element="vfd0" state="0">
+ <bounds x="101" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd13" element="vfd0" state="0">
+ <bounds x="108" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd14" element="vfd0" state="0">
+ <bounds x="115" y="280" width="7" height="24"/>
+ </backdrop>
+ <backdrop name="vfd15" element="vfd0" state="0">
+ <bounds x="122" y="280" width="7" height="24"/>
+ </backdrop>
+ </view>
+</mamelayout>
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index db1bb5a9858..0c210ba7f50 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -350,6 +350,7 @@ DRVLIBS = \
$(MAMEOBJ)/jpm.a \
$(MAMEOBJ)/kaneko.a \
$(MAMEOBJ)/konami.a \
+ $(MAMEOBJ)/maygay.a \
$(MAMEOBJ)/meadows.a \
$(MAMEOBJ)/merit.a \
$(MAMEOBJ)/metro.a \
@@ -554,15 +555,18 @@ $(MAMEOBJ)/atlus.a: \
$(DRIVERS)/powerins.o $(VIDEO)/powerins.o \
$(MAMEOBJ)/barcrest.a: \
+ $(VIDEO)/awpvid.o \
$(MACHINE)/meters.o \
$(DRIVERS)/mpu4.o \
$(DRIVERS)/mpu5.o \
$(MACHINE)/steppers.o \
$(MAMEOBJ)/bfm.a: \
+ $(DRIVERS)/bfm_sc1.o \
+ $(DRIVERS)/bfmsys85.o \
$(DRIVERS)/bfcobra.o \
$(DRIVERS)/bfm_sc2.o $(VIDEO)/bfm_adr2.o \
- $(MACHINE)/bfm_bd1.o $(VIDEO)/bfm_dm01.o $(VIDEO)/awpvid.o\
+ $(MACHINE)/bfm_bd1.o $(VIDEO)/bfm_dm01.o \
$(MAMEOBJ)/bmc.a: \
$(DRIVERS)/bmcbowl.o \
@@ -931,6 +935,10 @@ $(MAMEOBJ)/konami.a: \
$(DRIVERS)/zr107.o \
$(MACHINE)/konamiic.o $(VIDEO)/konamiic.o \
+$(MAMEOBJ)/maygay.a: \
+ $(DRIVERS)/maygay1b.o \
+ $(DRIVERS)/maygayv1.o \
+
$(MAMEOBJ)/meadows.a: \
$(DRIVERS)/lazercmd.o $(VIDEO)/lazercmd.o \
$(DRIVERS)/meadows.o $(AUDIO)/meadows.o $(VIDEO)/meadows.o \
@@ -1715,6 +1723,8 @@ $(DRIVERS)/highvdeo.o: $(LAYOUT)/fashion.lh
$(DRIVERS)/bzone.o: $(LAYOUT)/bzone.lh
+$(DRIVERS)/bfm_sc1.o: $(LAYOUT)/bfm_sc1.lh
+
$(DRIVERS)/bfm_sc2.o: $(LAYOUT)/bfm_sc2.lh \
$(LAYOUT)/awpdmd.lh \
$(LAYOUT)/awpvid14.lh \
@@ -1767,7 +1777,8 @@ $(DRIVERS)/magic10.o: $(LAYOUT)/sgsafari.lh
$(DRIVERS)/maxaflex.o: $(LAYOUT)/maxaflex.lh
$(DRIVERS)/mpu4.o: $(LAYOUT)/mpu4.lh \
- $(LAYOUT)/connect4.lh
+ $(LAYOUT)/connect4.lh \
+ $(LAYOUT)/gamball.lh
$(DRIVERS)/mw8080bw.o: $(LAYOUT)/clowns.lh \
$(LAYOUT)/invaders.lh \
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index 5cc81e6fe66..1b5d9b23ee6 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -8905,6 +8905,27 @@ Other Sun games
DRIVER( m_luvjub )
DRIVER( m_cpeno1 )
+ /* System85 games */
+ DRIVER( m_supcrd ) /* (c) 198? BFM */
+
+ /* Scorpion1 games */
+ DRIVER( m_lotsse ) /* (c) 198? BFM Dutch ROMS, prelim*/
+ DRIVER( m_roulet ) /* (c) 198? BFM Dutch ROMS, prelim*/
+ DRIVER( m_clattr ) /* (c) 1990 BFM, Game Card 39-370-196*/
+ DRIVER( m_tppokr ) /* (c) 1996 BFM/ELAM,Game Card 95-750-899, uses Adder board for feature gfx*/
+
+ /* Maygay Machines Ltd. */
+ DRIVER( m_sptlgt )
+
+ DRIVER( screenpl )
+ DRIVER( screenp1 )
+ DRIVER( screenp2 )
+
+ /* MPU4 */
+ DRIVER( m_oldtmr ) /* Barcrest - highly prelim*/
+ DRIVER( m_ccelbr )
+ DRIVER( m_gmball )
+
/* MPU5 */
DRIVER( m_honmon )
diff --git a/src/mame/video/awpvid.c b/src/mame/video/awpvid.c
index 7167b33ea6c..795e36ee05e 100644
--- a/src/mame/video/awpvid.c
+++ b/src/mame/video/awpvid.c
@@ -29,17 +29,11 @@
**************************************************************************************/
-
-
#include "driver.h"
#include "awpvid.h"
#include "rendlay.h"
#include "machine/steppers.h"
-
-//#include "awpvid14.lh"
-//#include "awpvid16.lh"
-
static UINT8 steps[MAX_STEPPERS];
static UINT8 symbols[MAX_STEPPERS];
static UINT8 reelpos[MAX_STEPPERS];
@@ -123,5 +117,3 @@ void awp_draw_reel(int rno)
output_set_value(rg,(reelpos[rno]));
}
}
-
-
diff --git a/src/mame/video/bfm_dm01.c b/src/mame/video/bfm_dm01.c
index 54b15edaed6..f494fd9d7b6 100644
--- a/src/mame/video/bfm_dm01.c
+++ b/src/mame/video/bfm_dm01.c
@@ -30,7 +30,7 @@ Standard dm01 memorymap
-----------+---+-----------------+-----------------------------------------
TODO: - find out clockspeed of CPU
-
+ - make a non-hacky Artwork representation of dot matrix
Layout notes: the dot matrix is set to screen 0.
Multiple matrices and matrix/VFD combos are not yet supported.
@@ -42,8 +42,8 @@ Standard dm01 memorymap
#include "bfm_dm01.h"
// local prototypes ///////////////////////////////////////////////////////
-extern void Scorpion2_DMSetSwitchState(int strobe, int data, int state);
-extern int Scorpion2_DMGetSwitchState(int strobe, int data);
+extern void Scorpion2_SetSwitchState(int strobe, int data, int state);
+extern int Scorpion2_GetSwitchState(int strobe, int data);
// local vars /////////////////////////////////////////////////////////////
@@ -116,7 +116,7 @@ static WRITE8_HANDLER( control_w )
if ( data & 8 ) busy = 0;
else busy = 1;
- Scorpion2_DMSetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA, busy?0:1);
+ Scorpion2_SetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA, busy?0:1);
}
}
@@ -254,7 +254,7 @@ VIDEO_UPDATE( bfm_dm01 )
copybitmap(bitmap, dm_bitmap, 0,0,0,0, visarea);
LOG(("Busy=%X",data_avail));
- LOG(("%X",Scorpion2_DMGetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA)));
+ LOG(("%X",Scorpion2_GetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA)));
return 0;
}
@@ -271,7 +271,7 @@ void BFM_dm01_reset(void)
xcounter = 0;
data_avail = 0;
- Scorpion2_DMSetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA, busy?0:1);
+ Scorpion2_SetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA, busy?0:1);
}
PALETTE_INIT( bfm_dm01 )