From a526f94bfa778c136a8fec238ae2aa8e1cce89bd Mon Sep 17 00:00:00 2001 From: David Haywood Date: Tue, 18 Dec 2012 15:03:37 +0000 Subject: [PATCH] misc FM bits (nw) --- src/mame/drivers/ecoinf3.c | 52 +++++++++++++++++--------- src/mame/drivers/ecoinfr.c | 75 ++++++++++++++++++++++++++++++-------- src/mame/mame.lst | 18 ++++----- 3 files changed, 103 insertions(+), 42 deletions(-) diff --git a/src/mame/drivers/ecoinf3.c b/src/mame/drivers/ecoinf3.c index 870d95597ca..9e6ebec19cf 100644 --- a/src/mame/drivers/ecoinf3.c +++ b/src/mame/drivers/ecoinf3.c @@ -47,7 +47,12 @@ public: return ret; } - DECLARE_READ8_MEMBER(ppi8255_intf_a_read_c) { int ret = 0x00; logerror("%04x - ppi8255_intf_a_read_c %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } + DECLARE_READ8_MEMBER(ppi8255_intf_a_read_c) + { + int ret = ioport("IN5")->read(); + logerror("%04x - ppi8255_intf_a_(used)read_c %02x\n", machine().device("maincpu")->safe_pcbase(), ret); + return ret; + } DECLARE_READ8_MEMBER(ppi8255_intf_b_read_a) { int ret = 0x00; logerror("%04x - ppi8255_intf_b_read_a %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } DECLARE_READ8_MEMBER(ppi8255_intf_b_read_b) { int ret = 0x00; logerror("%04x - ppi8255_intf_b_read_b %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } @@ -60,10 +65,23 @@ public: logerror("%04x - ppi8255_intf_c_(used)read_b %02x (COINS+TEST)\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } // changing to 00 gives coin tamper - DECLARE_READ8_MEMBER(ppi8255_intf_c_read_c) { int ret = 0x00; logerror("%04x - ppi8255_intf_c_read_c %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } + + DECLARE_READ8_MEMBER(ppi8255_intf_c_read_c) + { + int ret = ioport("IN6")->read(); + logerror("%04x - ppi8255_intf_c_(used)read_c %02x\n", machine().device("maincpu")->safe_pcbase(), ret); + return ret; + } DECLARE_READ8_MEMBER(ppi8255_intf_d_read_a) { int ret = 0x00; logerror("%04x - ppi8255_intf_d_read_a %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } DECLARE_READ8_MEMBER(ppi8255_intf_d_read_b) + { + int ret = ioport("IN7")->read(); + logerror("%04x - ppi8255_intf_d_(used)read_b %02x\n", machine().device("maincpu")->safe_pcbase(), ret); + return ret; + } + + DECLARE_READ8_MEMBER(ppi8255_intf_d_read_c) { // guess, what are the bottom 4 bits, if anything? @@ -74,13 +92,12 @@ public: // | 0x20 = reel 2 fault // | 0x10 = reel 1 fault - logerror("%04x - ppi8255_intf_d_(used)read_b %02x (Reel Optics)\n", machine().device("maincpu")->safe_pcbase(), ret); + logerror("%04x - ppi8255_intf_d_(used)read_c %02x (Reel Optics)\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; - } // changing goes from reel 1 error to running something in sphinx - DECLARE_READ8_MEMBER(ppi8255_intf_d_read_c) { int ret = 0x00; logerror("%04x - ppi8255_intf_d_read_c %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } + } DECLARE_READ8_MEMBER(ppi8255_intf_e_read_a) { int ret = 0x00; logerror("%04x - ppi8255_intf_e_read_a %02x\n", machine().device("maincpu")->safe_pcbase(), ret); return ret; } DECLARE_READ8_MEMBER(ppi8255_intf_e_read_b) @@ -187,7 +204,7 @@ public: awp_draw_reel(1); } - DECLARE_WRITE8_MEMBER(ppi8255_intf_d_write_a_reel23) + DECLARE_WRITE8_MEMBER(ppi8255_intf_d_write_b_reel23) { // logerror("%04x - ppi8255_intf_d_(used)write_b %02x\n", machine().device("maincpu")->safe_pcbase(), data); @@ -235,7 +252,7 @@ static I8255_INTERFACE (ppi8255_intf_a) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_write_a_strobedat0), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_write_b_strobedat1), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_a_write_c_strobe) /* Port C write */ }; @@ -245,7 +262,7 @@ static I8255_INTERFACE (ppi8255_intf_b) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_write_a), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_write_b), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_b_write_c) /* Port C write */ }; @@ -255,7 +272,7 @@ static I8255_INTERFACE (ppi8255_intf_c) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_write_a), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_write_b), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_c_write_c) /* Port C write */ }; @@ -264,8 +281,8 @@ static I8255_INTERFACE (ppi8255_intf_d) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_read_a), /* Port A read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_write_a_reel01), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_read_b), /* Port B read */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_write_a_reel23), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_write_b_reel23), /* Port B write */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_d_write_c) /* Port C write */ }; @@ -434,7 +451,7 @@ static I8255_INTERFACE (ppi8255_intf_f) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_write_a), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_write_b), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_f_write_c) /* Port C write */ }; @@ -444,7 +461,7 @@ static I8255_INTERFACE (ppi8255_intf_g) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_write_a), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_write_b), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_g_write_c) /* Port C write */ }; @@ -454,7 +471,7 @@ static I8255_INTERFACE (ppi8255_intf_h) DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_write_a), /* Port A write */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_read_b), /* Port B read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_write_b), /* Port B write */ - DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_read_b), /* Port C read */ + DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_read_c), /* Port C read */ DEVCB_DRIVER_MEMBER(ecoinf3_state,ppi8255_intf_h_write_c) /* Port C write */ }; @@ -513,7 +530,7 @@ static INPUT_PORTS_START( ecoinf3 ) PORT_DIPNAME( 0x08, 0x08, "IN1:08" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Meter Connection (leave on)" ) + PORT_DIPNAME( 0x10, 0x10, "IN1:18" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "IN1:20" ) @@ -613,7 +630,7 @@ static INPUT_PORTS_START( ecoinf3 ) PORT_DIPNAME( 0x08, 0x08, "IN5:08" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "IN5:10" ) + PORT_DIPNAME( 0x10, 0x10, "Meter Connection (leave on)" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "IN5:20" ) @@ -625,7 +642,7 @@ static INPUT_PORTS_START( ecoinf3 ) PORT_DIPNAME( 0x80, 0x80, "IN5:80" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) -#if 0 + PORT_START("IN6") PORT_DIPNAME( 0x01, 0x01, "IN6:01" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) @@ -677,7 +694,6 @@ static INPUT_PORTS_START( ecoinf3 ) PORT_DIPNAME( 0x80, 0x80, "IN7:80" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) -#endif INPUT_PORTS_END MACHINE_START_MEMBER(ecoinf3_state,ecoinf3) diff --git a/src/mame/drivers/ecoinfr.c b/src/mame/drivers/ecoinfr.c index 7253f14778d..f07782f1b92 100644 --- a/src/mame/drivers/ecoinfr.c +++ b/src/mame/drivers/ecoinfr.c @@ -27,6 +27,12 @@ 30/08/11 - Started to sort out the roms by header type, some things are clearly just newer revisions / alt titles of other things. DH + + + ------ + the 'Brunel Research' (ec_sbxbr) sets seem interesting for now + ------ + */ @@ -91,6 +97,11 @@ public: DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel1_opto_r); DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel2_opto_r); DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel3_opto_r); + + DECLARE_READ8_MEMBER(i8251_in_rxd_cb); + + + DECLARE_DRIVER_INIT(ecoinfrbr); DECLARE_DRIVER_INIT(ecoinfr); DECLARE_DRIVER_INIT(ecoinfrmab); virtual void machine_reset(); @@ -100,7 +111,6 @@ public: UINT8 m_credsel; DECLARE_MACHINE_START(ecoinfr); - }; @@ -784,6 +794,25 @@ MACHINE_START_MEMBER(ecoinfr_state,ecoinfr) } } +READ8_MEMBER(ecoinfr_state::i8251_in_rxd_cb) +{ + return 0x06; +} + +static const i8251_interface i8251_intf = +{ + DEVCB_DRIVER_MEMBER(ecoinfr_state,i8251_in_rxd_cb), // in_rxd_cb + DEVCB_NULL, // out_txd_cb + DEVCB_NULL, // in_dsr_cb + DEVCB_NULL, // out_dtr_cb + DEVCB_NULL, // out_rts_cb + DEVCB_NULL, // out_rxrdy_cb + DEVCB_NULL, // out_txrdy_cb + DEVCB_NULL, // out_txempty_cb + DEVCB_NULL // out_syndet_cb +}; + + static MACHINE_CONFIG_START( ecoinfr, ecoinfr_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80,4000000) @@ -795,7 +824,7 @@ static MACHINE_CONFIG_START( ecoinfr, ecoinfr_state ) MCFG_MACHINE_START_OVERRIDE(ecoinfr_state, ecoinfr ) - MCFG_I8251_ADD(UPD8251_TAG, default_i8251_interface) + MCFG_I8251_ADD(UPD8251_TAG, i8251_intf) MACHINE_CONFIG_END @@ -1113,21 +1142,34 @@ EC_SBARX_SET( 199?, ec_sbarx__a1, ec_sbarx, "iss173.rom", 0x0000, 0x008000 EC_SBARX_SET( 199?, ec_sbarx__a2, ec_sbarx, "iss2012.rom", 0x0000, 0x008000, CRC(455cfdcb) SHA1(53fb0748a544b432b88455fa597b7017e06b3059), "Electrocoin","Super Bar X (Electrocoin) (set 66)" ) EC_SBARX_SET( 199?, ec_sbarx__a3, ec_sbarx, "sbx5red", 0x0000, 0x008000, CRC(7991231a) SHA1(cd1978c48a3c214666d51ca930d3d480540448ec), "Electrocoin","Super Bar X (Electrocoin) (set 67)" ) EC_SBARX_SET( 199?, ec_sbarx__a4, ec_sbarx, "sbx8elac", 0x0000, 0x008000, CRC(102a3f38) SHA1(5f4f55904b00dde47e9841de313ed76a56e711df), "Electrocoin","Super Bar X (Electrocoin) (set 68)" ) -/* No Header, type 2 - closer to the BRUNEL sets but these make writes to the reel ports */ // spin the reels a lot more than anything else -EC_SBARX_SET( 199?, ec_sbarx__a5, ec_sbarx, "sbx5nc.10", 0x0000, 0x008000, CRC(beb7254a) SHA1(137e91e0b92d970d09d165a42b890a5d31d795d9), "Electrocoin","Super Bar X (Electrocoin) (set 69)" ) -EC_SBARX_SET( 199?, ec_sbarx__a6, ec_sbarx, "sbx5nc.20", 0x0000, 0x008000, CRC(0ceb3e29) SHA1(e96e1470292208825407ba64750121dd3c7bf857), "Electrocoin","Super Bar X (Electrocoin) (set 70)" ) -EC_SBARX_SET( 199?, ec_sbarx__a7, ec_sbarx, "sbxup", 0x0000, 0x008000, CRC(f8d7e9db) SHA1(7dea1f7215070a8a413af63d0e379b2e228e63d7), "Electrocoin","Super Bar X (Electrocoin) (set 71)" ) -EC_SBARX_SET( 199?, ec_sbarx__a8, ec_sbarx, "sbxup_10", 0x0000, 0x008000, CRC(3c932de3) SHA1(2c1e09436a5895aa738567843c7f25ed047dc9ac), "Electrocoin","Super Bar X (Electrocoin) (set 72)" ) -/* 1991 BRUNEL RESEARCH Copyright, device at a000 / a001 / a100 */ -EC_SBARX_SET( 199?, ec_sbarx__a9, ec_sbarx, "sbarx.210", 0x0000, 0x008000, CRC(1e9933b2) SHA1(ee546cd2f0659c669b98a14f032298ebc4fa7e5c), "Electrocoin","Super Bar X (Electrocoin) (set 73)" ) // sbx210 -EC_SBARX_SET( 199?, ec_sbarx__ba, ec_sbarx, "sbx18ac", 0x0000, 0x008000, CRC(a3b4cfbe) SHA1(20f78d565504878d0d6a53b6bc32e31d3a32c736), "Electrocoin","Super Bar X (Electrocoin) (set 74)" ) -EC_SBARX_SET( 199?, ec_sbarx__bb, ec_sbarx, "sbx2 8t", 0x0000, 0x008000, CRC(c63e8d0a) SHA1(17ccb75602a2738296b419761835008ef798fdb0), "Electrocoin","Super Bar X (Electrocoin) (set 75)" ) // sbx8d -EC_SBARX_SET( 199?, ec_sbarx__bc, ec_sbarx, "sbx28ac", 0x0000, 0x008000, CRC(338ff3e3) SHA1(d8470b029aff7b6b8f07df19d9edcf3d01b7e3d0), "Electrocoin","Super Bar X (Electrocoin) (set 76)" ) -EC_SBARX_SET( 199?, ec_sbarx__bd, ec_sbarx, "super bar x 8 1-0.bin", 0x0000, 0x008000, CRC(b33e2891) SHA1(c0383740776a20f41de3f1a46c766a8e6c53101f), "Electrocoin","Super Bar X (Electrocoin) (set 77)" ) /* 1993 Electrocoin Copyright - z180 code */ EC_SBARX_SET( 199?, ec_sbarx__be, ec_sbarx, "sbarx6c.bin", 0x0000, 0x008000, CRC(f747fa74) SHA1(7820e9225924c8b2fd78c625cc61871f7c76357f), "Electrocoin","Super Bar X (Electrocoin) (set 78)" ) // aka sbarx6t +/* is Brunel Research the company, or related to the Brunel language? */ + +#define EC_SBARXBR_SET(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + EC_SBARX_OTHERS \ + ROM_END \ + GAME(year, setname, parent ,ecoinfr ,ecoinfr_barx , ecoinfr_state,ecoinfrbr ,ROT0,company,title,GAME_FLAGS ) \ + + +/* No Header - very similar to Brunel sets, but no device at 0xa000 */ // spin the reels a lot more than anything else +EC_SBARXBR_SET( 1991, ec_sbxbr, 0, "sbx5nc.10", 0x0000, 0x008000, CRC(beb7254a) SHA1(137e91e0b92d970d09d165a42b890a5d31d795d9), "Brunel Research","Super Bar X (Brunel Research) (set 1)" ) +EC_SBARXBR_SET( 1991, ec_sbxbra, ec_sbxbr, "sbx5nc.20", 0x0000, 0x008000, CRC(0ceb3e29) SHA1(e96e1470292208825407ba64750121dd3c7bf857), "Brunel Research","Super Bar X (Brunel Research) (set 2)" ) +EC_SBARXBR_SET( 1991, ec_sbxbrb, ec_sbxbr, "sbxup", 0x0000, 0x008000, CRC(f8d7e9db) SHA1(7dea1f7215070a8a413af63d0e379b2e228e63d7), "Brunel Research","Super Bar X (Brunel Research) (set 3)" ) +EC_SBARXBR_SET( 1991, ec_sbxbrc, ec_sbxbr, "sbxup_10", 0x0000, 0x008000, CRC(3c932de3) SHA1(2c1e09436a5895aa738567843c7f25ed047dc9ac), "Brunel Research","Super Bar X (Brunel Research) (set 4)" ) +/* 1991 BRUNEL RESEARCH Copyright, device at a000 / a001 / a100 */ +EC_SBARXBR_SET( 1991, ec_sbxbrd, ec_sbxbr, "sbarx.210", 0x0000, 0x008000, CRC(1e9933b2) SHA1(ee546cd2f0659c669b98a14f032298ebc4fa7e5c), "Brunel Research","Super Bar X (Brunel Research) (set 5)" ) // sbx210 +EC_SBARXBR_SET( 1991, ec_sbxbre, ec_sbxbr, "sbx18ac", 0x0000, 0x008000, CRC(a3b4cfbe) SHA1(20f78d565504878d0d6a53b6bc32e31d3a32c736), "Brunel Research","Super Bar X (Brunel Research) (set 6)" ) +EC_SBARXBR_SET( 1991, ec_sbxbrf, ec_sbxbr, "sbx2 8t", 0x0000, 0x008000, CRC(c63e8d0a) SHA1(17ccb75602a2738296b419761835008ef798fdb0), "Brunel Research","Super Bar X (Brunel Research) (set 7)" ) // sbx8d +EC_SBARXBR_SET( 1991, ec_sbxbrg, ec_sbxbr, "sbx28ac", 0x0000, 0x008000, CRC(338ff3e3) SHA1(d8470b029aff7b6b8f07df19d9edcf3d01b7e3d0), "Brunel Research","Super Bar X (Brunel Research) (set 8)" ) +EC_SBARXBR_SET( 1991, ec_sbxbrh, ec_sbxbr, "super bar x 8 1-0.bin", 0x0000, 0x008000, CRC(b33e2891) SHA1(c0383740776a20f41de3f1a46c766a8e6c53101f), "Brunel Research","Super Bar X (Brunel Research) (set 9)" ) + + #define EC_MAG7S_OTHERS \ ROM_REGION( 0x200000, "sndz80", ROMREGION_ERASE00 ) \ @@ -1669,8 +1711,11 @@ DRIVER_INIT_MEMBER(ecoinfr_state,ecoinfrmab) // descramble here } - - +// for the Brunel Research sets +DRIVER_INIT_MEMBER(ecoinfr_state,ecoinfrbr) +{ + +} // 3rd party sets with MAB scrambling, game names might be incorrect, should be the same basic hardware as these tho. GAME( 19??, ec_barxmab, ec_barx , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Electrocoin", "Bar X (MAB PCB) (Electrocoin)" , GAME_FLAGS) // scrambled roms diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 0ecacf3e668..6c91e37287d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -28570,15 +28570,15 @@ ec_sbarx__a1 // ec_sbarx__a2 // ec_sbarx__a3 // ec_sbarx__a4 // -ec_sbarx__a5 // -ec_sbarx__a6 // -ec_sbarx__a7 // -ec_sbarx__a8 // -ec_sbarx__a9 // -ec_sbarx__ba // -ec_sbarx__bb // -ec_sbarx__bc // -ec_sbarx__bd // +ec_sbxbr // +ec_sbxbra // +ec_sbxbrb // +ec_sbxbrc // +ec_sbxbrd // +ec_sbxbre // +ec_sbxbrf // +ec_sbxbrg // +ec_sbxbrh // ec_sbarx__be // ec_spbdx // Super Bar X Deluxe (Electrocoin) ec_spbdx__a //