meters.cpp: Initial device-ification, fixes MT06117 (nw)

This commit is contained in:
Ivan Vangelista 2016-01-05 00:04:58 +01:00
parent 4d1df2f42e
commit f1d75fd96d
19 changed files with 584 additions and 482 deletions

View File

@ -245,7 +245,8 @@ public:
m_acia6850_1(*this, "acia6850_1"),
m_acia6850_2(*this, "acia6850_2"),
m_upd7759(*this, "upd"),
m_palette(*this, "palette")
m_palette(*this, "palette"),
m_meters(*this, "meters")
{
}
@ -316,6 +317,7 @@ public:
required_device<acia6850_device> m_acia6850_2;
required_device<upd7759_device> m_upd7759;
required_device<palette_device> m_palette;
required_device<meters_device> m_meters;
};
@ -1420,7 +1422,7 @@ WRITE8_MEMBER(bfcobra_state::meter_w)
{
if (changed & (1 << i))
{
MechMtr_update(i, data & (1 << i) );
m_meters->update(i, data & (1 << i) );
space.device().execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
}
}
@ -1766,6 +1768,9 @@ static MACHINE_CONFIG_START( bfcobra, bfcobra_state )
MCFG_DEVICE_ADD("acia_clock", CLOCK, 31250*16) // What are the correct ACIA clocks ?
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(bfcobra_state, write_acia_clock))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END
/***************************************************************************

View File

@ -108,7 +108,6 @@ class bfm_sc1_state : public driver_device
public:
bfm_sc1_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_vfd0(*this, "vfd0"),
m_maincpu(*this, "maincpu"),
m_reel0(*this, "reel0"),
m_reel1(*this, "reel1"),
@ -116,9 +115,9 @@ public:
m_reel3(*this, "reel3"),
m_reel4(*this, "reel4"),
m_reel5(*this, "reel5"),
m_upd7759(*this, "upd") { }
optional_device<bfm_bd1_t> m_vfd0;
m_upd7759(*this, "upd"),
m_vfd0(*this, "vfd0"),
m_meters(*this, "meters") { }
int m_mmtr_latch;
int m_triac_latch;
@ -199,6 +198,8 @@ public:
required_device<stepper_device> m_reel4;
required_device<stepper_device> m_reel5;
optional_device<upd7759_device> m_upd7759;
optional_device<bfm_bd1_t> m_vfd0;
required_device<meters_device> m_meters;
};
#define VFD_RESET 0x20
@ -349,7 +350,7 @@ WRITE8_MEMBER(bfm_sc1_state::mmtr_w)
{
if ( changed & (1 << i) )
{
MechMtr_update(i, data & (1 << i) );
m_meters->update(i, data & (1 << i) );
m_maincpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
}
}
@ -1088,6 +1089,9 @@ static MACHINE_CONFIG_START( scorpion1, bfm_sc1_state )
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc1_state, reel4_optic_cb))
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc1_state, reel5_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END
/////////////////////////////////////////////////////////////////////////////////////
@ -1217,7 +1221,6 @@ int bfm_sc1_state::sc1_find_project_string( )
DRIVER_INIT_MEMBER(bfm_sc1_state,toppoker)
{
sc1_common_init(3,1, 3);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1225,7 +1228,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,toppoker)
DRIVER_INIT_MEMBER(bfm_sc1_state,lotse)
{
sc1_common_init(6,1, 3);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1233,7 +1235,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,lotse)
DRIVER_INIT_MEMBER(bfm_sc1_state,lotse_bank0)
{
sc1_common_init(6,1, 0);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1242,7 +1243,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,lotse_bank0)
DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt)
{
sc1_common_init(6,0, 3);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1250,7 +1250,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt)
DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt_bank0)
{
sc1_common_init(6,0, 0);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1261,7 +1260,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,nocrypt_bank0)
DRIVER_INIT_MEMBER(bfm_sc1_state,rou029)
{
sc1_common_init(6,0, 3);
MechMtr_config(machine(),8);
sc1_find_project_string();
save_state();
}
@ -1271,7 +1269,6 @@ DRIVER_INIT_MEMBER(bfm_sc1_state,rou029)
DRIVER_INIT_MEMBER(bfm_sc1_state,clatt)
{
sc1_common_init(6,1, 3);
MechMtr_config(machine(),8);
Scorpion1_SetSwitchState(3,2,1);
Scorpion1_SetSwitchState(3,3,1);

View File

@ -191,7 +191,8 @@ public:
m_upd7759(*this, "upd"),
m_vfd0(*this, "vfd0"),
m_vfd1(*this, "vfd1"),
m_dm01(*this, "dm01") { }
m_dm01(*this, "dm01"),
m_meters(*this, "meters") { }
required_device<cpu_device> m_maincpu;
optional_device<stepper_device> m_reel0;
@ -204,6 +205,7 @@ public:
optional_device<bfm_bd1_t> m_vfd0;
optional_device<bfm_bd1_t> m_vfd1;
optional_device<bfmdm01_device> m_dm01;
optional_device<meters_device> m_meters; // scorpion2_vid doesn't use this (scorpion2_vidm does)
int m_sc2gui_update_mmtr; //not used?
UINT8 *m_nvram;
@ -593,13 +595,17 @@ WRITE8_MEMBER(bfm_sc2_state::mmtr_w)
m_mmtr_latch = data;
for (i = 0; i<8; i++)
if (m_meters != nullptr)
{
if ( changed & (1 << i) )
for (i = 0; i<8; i++)
{
MechMtr_update(i, data & (1 << i) );
if ( changed & (1 << i) )
{
m_meters->update(i, data & (1 << i) );
}
}
}
if ( data & 0x1F ) m_maincpu->set_input_line(M6809_FIRQ_LINE, ASSERT_LINE );
}
@ -2127,6 +2133,24 @@ static INPUT_PORTS_START( pokio )
PORT_DIPSETTING( 0x18, "3" )
INPUT_PORTS_END
///////////////////////////////////////////////////////////////////////////
// machine config fragments for different meters numbers //////////////////
///////////////////////////////////////////////////////////////////////////
MACHINE_CONFIG_FRAGMENT( _3meters )
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(3)
MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( _5meters )
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(5)
MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( _8meters )
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END
///////////////////////////////////////////////////////////////////////////
// machine driver for scorpion2 board + adder2 expansion //////////////////
@ -2169,6 +2193,11 @@ static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state )
MACHINE_CONFIG_END
/* machine driver for scorpion2_vid board with meters (i.e. quintoon uk). Are we really sure the other games don't?*/
static MACHINE_CONFIG_DERIVED( scorpion2_vidm, scorpion2_vid )
MCFG_FRAGMENT_ADD(_8meters)
MACHINE_CONFIG_END
int bfm_sc2_state::sc2_find_project_string( )
@ -2269,7 +2298,6 @@ void bfm_sc2_state::adder2_common_init()
DRIVER_INIT_MEMBER(bfm_sc2_state,quintoon)
{
sc2_common_init( 1);
MechMtr_config(machine(),8); // setup mech meters
m_has_hopper = 0;
@ -3629,13 +3657,22 @@ static MACHINE_CONFIG_START( scorpion2, bfm_sc2_state )
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel4_optic_cb))
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel5_optic_cb))
MCFG_FRAGMENT_ADD(_8meters)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( scorpion2_3m, scorpion2 )
MCFG_DEVICE_REMOVE("meters")
MCFG_FRAGMENT_ADD(_3meters)
MACHINE_CONFIG_END
/* machine driver for scorpion3 board */
static MACHINE_CONFIG_DERIVED( scorpion3, scorpion2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(memmap_no_vid)
MCFG_DEVICE_REMOVE("meters")
MCFG_FRAGMENT_ADD(_5meters)
MACHINE_CONFIG_END
@ -3679,6 +3716,18 @@ static MACHINE_CONFIG_START( scorpion2_dm01, bfm_sc2_state )
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel4_optic_cb))
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfm_sc2_state, reel5_optic_cb))
MCFG_FRAGMENT_ADD( _8meters)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( scorpion2_dm01_3m, scorpion2_dm01 )
MCFG_DEVICE_REMOVE("meters")
MCFG_FRAGMENT_ADD( _3meters)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( scorpion2_dm01_5m, scorpion2_dm01 )
MCFG_DEVICE_REMOVE("meters")
MCFG_FRAGMENT_ADD( _5meters)
MACHINE_CONFIG_END
void bfm_sc2_state::sc2awp_common_init(int reels, int decrypt)
@ -3702,7 +3751,6 @@ void bfm_sc2_state::sc2awpdmd_common_init(int reels, int decrypt)
DRIVER_INIT_MEMBER(bfm_sc2_state,bbrkfst)
{
sc2awp_common_init(5, 1);
MechMtr_config(machine(),8);
m_has_hopper = 0;
@ -3721,8 +3769,6 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,bbrkfst)
DRIVER_INIT_MEMBER(bfm_sc2_state,drwho_common)
{
MechMtr_config(machine(),8);
m_has_hopper = 0;
Scorpion2_SetSwitchState(4,0, 0); /* GBP1 Low Level Switch */
@ -3753,7 +3799,6 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,drwhon)
DRIVER_INIT_MEMBER(bfm_sc2_state,focus)
{
sc2awp_common_init(6, 1);
MechMtr_config(machine(),5);
sc2_find_project_string();
}
@ -3761,8 +3806,6 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,cpeno1)
{
sc2awpdmd_common_init(6, 1);
MechMtr_config(machine(),5);
Scorpion2_SetSwitchState(3,3,1); /* 5p play */
Scorpion2_SetSwitchState(3,4,1); /* 20p play */
@ -3816,7 +3859,6 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,ofah)
Scorpion2_SetSwitchState(6,2,0);
Scorpion2_SetSwitchState(6,3,1);
MechMtr_config(machine(),3);
sc2_find_project_string();
}
@ -3834,14 +3876,12 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,prom)
Scorpion2_SetSwitchState(6,2,0);
Scorpion2_SetSwitchState(6,3,1);
MechMtr_config(machine(),3);
sc2_find_project_string();
}
DRIVER_INIT_MEMBER(bfm_sc2_state,bfmcgslm)
{
sc2awp_common_init(6, 1);
MechMtr_config(machine(),8);
m_has_hopper = 0;
sc2_find_project_string();
}
@ -3850,7 +3890,6 @@ DRIVER_INIT_MEMBER(bfm_sc2_state,luvjub)
{
sc2awpdmd_common_init(6, 1);
MechMtr_config(machine(),8);
m_has_hopper = 0;
Scorpion2_SetSwitchState(3,0,1);
@ -7475,9 +7514,9 @@ ROM_END
#define GAME_FLAGS MACHINE_SUPPORTS_SAVE|MACHINE_REQUIRES_ARTWORK|MACHINE_NOT_WORKING|MACHINE_MECHANICAL
GAMEL( 1993, quintoon, 0, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-206)", MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
GAMEL( 1993, quintond, quintoon, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-751-206, Datapak)",MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING,layout_quintoon ) //Current samples need verification
GAMEL( 1993, quintono, quintoon, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-203)", MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
GAMEL( 1993, quintoon, 0, scorpion2_vidm, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-206)", MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
GAMEL( 1993, quintond, quintoon, scorpion2_vidm, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-751-206, Datapak)",MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING,layout_quintoon ) //Current samples need verification
GAMEL( 1993, quintono, quintoon, scorpion2_vidm, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-203)", MACHINE_SUPPORTS_SAVE|MACHINE_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
GAMEL( 1993, qntoond, 0, scorpion2_vid, qntoond, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-243)", MACHINE_SUPPORTS_SAVE,layout_quintoon )
GAMEL( 1993, qntoondo, qntoond, scorpion2_vid, qntoond, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-136)", MACHINE_SUPPORTS_SAVE,layout_quintoon )
@ -7701,7 +7740,7 @@ GAME( 199?, sc2copcl , 0 , scorpion2 , drwho , bfm_sc2_st
GAME( 199?, sc2copclp , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-859
// PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS 20P/#250 - 2-SEP-1996 17:26:44
GAME( 199?, sc2copcl2 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-858
GAME( 199?, sc2copcl12 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, prom , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-858
GAME( 199?, sc2copcl12 , sc2copcl , scorpion2_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-858
// PROJECT PR6231 CLUB COPS AND ROBBERS NPO 63% SEALINK VERSION - 5-JAN-1998 11:53:49
GAME( 199?, sc2copcl5 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-752-015
GAME( 199?, sc2copcl11p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-753-015
@ -8364,20 +8403,20 @@ GAME( 1996, sc2luvv1p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER PR6331 PUBLIC ENEMY NO.1 - 26-JUL-1994 09:24:19
GAME( 1996, sc2cpe3 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 1, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-257
GAME( 1996, sc2cpe3p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 1, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-257
GAME( 1996, sc2cpe3 , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 1, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-257
GAME( 1996, sc2cpe3p , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 1, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-257
// PROJECT NUMBER PR6331 PUBLIC ENEMY NO.1 FIXED 65% - 10-AUG-1994 11:26:30
GAME( 1996, sc2cpe4 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-273
GAME( 1996, sc2cpe4p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-273
GAME( 1996, sc2cpe4 , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-273
GAME( 1996, sc2cpe4p , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-273
// PROJECT NUMBER PR6574 PUBLIC ENEMY NO.1 S+P 25P/#250 STENA SEALINK - 3-JAN-1996 12:17:33
GAME( 1996, sc2cpe2 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-597
GAME( 1996, sc2cpe2p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-597
GAME( 1996, sc2cpe2 , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-597
GAME( 1996, sc2cpe2p , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-597
// PROJECT NUMBER PR6574 PUBLIC ENEMY NO.1 S+P 25P/#250 FIXED 65% - 3-JAN-1996 12:19:01
GAME( 1996, sc2cpe1 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-598
GAME( 1996, sc2cpe1p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-598
GAME( 1996, sc2cpe1 , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-598
GAME( 1996, sc2cpe1p , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-598
// PROJECT NUMBER PR6574 PUBLIC ENEMY NO.1 S+P 25P/#250 - 20-AUG-1996 10:05:21
GAME( 1996, sc2cpe , 0 , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-846
GAME( 1996, sc2cpep , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-846
GAME( 1996, sc2cpe , 0 , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-750-846
GAME( 1996, sc2cpep , sc2cpe , scorpion2_dm01_5m , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK, Protocol) (Scorpion 2/3)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) // GAME No 95-751-846
/********************************************************************************************************************************************************************************************************************
Cops 'n' Robbers
@ -8385,19 +8424,19 @@ GAME( 1996, sc2cpep , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6012 COPS & ROBBERS #3/#6 - 29-DEC-1992 21:26:28
GAME( 199?, sc2cops5 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-044
GAME( 199?, sc2cops5 , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-044
// PROJECT NUMBER 6012 COPS AND ROBBERS S+P 10P - 7-JUL-1993 10:17:18
GAME( 199?, sc2cops2 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-110
GAME( 199?, sc2cops2 , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-110
// PROJECT NUMBER 6589 (6012) COPS & ROBBERS (SINGLE SITE 5P/10P/20P) - 4-DEC-1995 10:52:08
GAME( 199?, sc2cops3 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-577
GAME( 199?, sc2cops3p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-577
GAME( 199?, sc2cops3 , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-577
GAME( 199?, sc2cops3p , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-577
// PROJECT NUMBER 6589 (6012) COPS & ROBBERS (ARCADE 5P/10P/20P) - 4-DEC-1995 10:53:58
GAME( 199?, sc2copsp , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-578
GAME( 199?, sc2copsp , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-578
// PROJECT NUMBER 6589 (6012) COPS & ROBBERS (IRISH ALL CASH 5P/10P/20P) - 7-MAR-1996 15:07:40
GAME( 199?, sc2cops4 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-645
GAME( 199?, sc2cops4 , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-645
// PROJECT NUMBER 6589 (6012) COPS & ROBBERS (#10 ALL CASH 20P/25P) - 15-MAR-1996 11:52:02
GAME( 199?, sc2cops , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-652
GAME( 199?, sc2cops1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-652
GAME( 199?, sc2cops , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-652
GAME( 199?, sc2cops1p , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-652
/********************************************************************************************************************************************************************************************************************
@ -8407,12 +8446,12 @@ GAME( 199?, sc2cops1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6622 BINGO COPS N ROBBERS #8/#10 ALL CASH - 9-JUL-1996 17:08:15
GAME( 199?, sc2copsc , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-814
GAME( 199?, sc2copscp , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-814
GAME( 199?, sc2copsc , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-814
GAME( 199?, sc2copscp , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-814
// PROJECT NUMBER 6622 BINGO COPS N ROBBERS SWITCHABLE BINGO/ARCADE - 9-JUL-1996 17:12:33
GAME( 199?, sc2copsc1 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-816
GAME( 199?, sc2copsc1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-816
GAME( 199?, sc2copsc1pa , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3) (alt matrix rom)", GAME_FLAGS) // GAME No 95-751-816
GAME( 199?, sc2copsc1 , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-816
GAME( 199?, sc2copsc1p , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-816
GAME( 199?, sc2copsc1pa , sc2cops , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3) (alt matrix rom)", GAME_FLAGS) // GAME No 95-751-816
/********************************************************************************************************************************************************************************************************************
@ -8421,25 +8460,25 @@ GAME( 199?, sc2copsc1pa , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT PR6332 CLUB COPS AND ROBBERS DELUXE - 17-NOV-1995 12:36:04
GAME( 199?, sc2copdc5 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-561
GAME( 199?, sc2copdc5p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 200GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-561
GAME( 199?, sc2copdc5 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-561
GAME( 199?, sc2copdc5p , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 200GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-561
// PROJECT PR6588 CLUB COPS AND ROBBERS DELUXE 25P/#250 - 17-NOV-1995 13:18:57
GAME( 199?, sc2copdc6 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-562
GAME( 199?, sc2copdc6 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-562
// PROJECT PR6588 CLUB COPS AND ROBBERS DELUXE 25P/#250 65% - 30-NOV-1995 16:14:25
GAME( 199?, sc2copdc1 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-574
GAME( 199?, sc2copdc1p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-574
GAME( 199?, sc2copdc1 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-574
GAME( 199?, sc2copdc1p , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-574
// PROJECT NUMBER 6588 CLUB COPS AND ROBBERS DELUXE 20P/#250 - 25-MAR-1996 13:57:23
GAME( 199?, sc2copdc2 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-658
GAME( 199?, sc2copdc2p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-658
GAME( 199?, sc2copdc2 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-658
GAME( 199?, sc2copdc2p , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-658
// PROJECT PR6588 CLUB COPS AND ROBBERS DELUXE 25P/#250 - 13-AUG-1996 14:01:25
GAME( 199?, sc2copdc3 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-842
GAME( 199?, sc2copdc3p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-842
GAME( 199?, sc2copdc3 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-842
GAME( 199?, sc2copdc3p , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-842
// PROJECT PR6588 CLUB COPS AND ROBBERS DELUXE 25P/#250 63% - 25-SEP-1997 08:30:05
GAME( 199?, sc2copdc4 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-993
GAME( 199?, sc2copdc4p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-993
GAME( 199?, sc2copdc4 , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-993
GAME( 199?, sc2copdc4p , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-993
// PROJECT PR6588 CLUB COPS AND ROBBERS DELUXE 25P/#250 67% - 25-SEP-1997 08:33:14
GAME( 199?, sc2copdc , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-992
GAME( 199?, sc2copdcp , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-992
GAME( 199?, sc2copdc , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-992
GAME( 199?, sc2copdcp , sc2copdc , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-992
/********************************************************************************************************************************************************************************************************************
@ -8449,21 +8488,21 @@ GAME( 199?, sc2copdcp , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6201 ROUND THE TOWN - 4-MAR-1993 11:05:07
GAME( 199?, sc2town4 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-052
GAME( 199?, sc2town4 , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-052
// PROJECT NUMBER 6201 ROUND THE TOWN IRISH ALL CASH - 1-APR-1993 14:44:50
GAME( 199?, sc2town2 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-069
GAME( 199?, sc2town2 , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-069
// PROJECT NUMBER 6620 (6201) ROUND THE TOWN S&P - 15-DEC-1995 14:50:50
GAME( 199?, sc2town3 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-591
GAME( 199?, sc2town3p , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-591
GAME( 199?, sc2town3 , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-591
GAME( 199?, sc2town3p , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-591
// PROJECT NUMBER 6620 (6201) ROUND THE TOWN (ARCADE/HIGH TOKEN) - 18-DEC-1995 15:59:22
GAME( 199?, sc2town1 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-592
GAME( 199?, sc2town1a , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, alt) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-592
GAME( 199?, sc2town1p , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-592
GAME( 199?, sc2town1 , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-592
GAME( 199?, sc2town1a , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, alt) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-592
GAME( 199?, sc2town1p , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-592
// PROJECT NUMBER 6620 (6201) ROUND THE TOWN S&P IRISH AC - 5-MAR-1996 12:05:06
GAME( 199?, sc2town5 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-642
GAME( 199?, sc2town5 , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-642
// PROJECT NUMBER 6620 (6201) ROUND THE TOWN #10 AC - 15-MAR-1996 12:07:18
GAME( 199?, sc2town , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-654
GAME( 199?, sc2townp , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-654
GAME( 199?, sc2town , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-654
GAME( 199?, sc2townp , sc2town , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-654
// PROJECT NUMBER 6620 (6201) ROUND THE TOWN (ARCADE/HIGH TOKEN) - 18-DEC-1995 15:59:22
@ -8472,15 +8511,15 @@ GAME( 199?, sc2townp , sc2town , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6207 ONLY FOOLS AND HORSES - 14-OCT-1993 15:28:16
GAME( 199?, sc2ofool1 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-147
GAME( 199?, sc2ofool1 , sc2ofool , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-147
// PROJECT NUMBER 6207 ONLY FOOLS AND HORSES ALL CASH - 29-OCT-1993 13:00:02
GAME( 199?, sc2ofool3 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-151
GAME( 199?, sc2ofool3 , sc2ofool , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-151
// PROJECT NUMBER 6207 ONLY FOOLS AND HORSES - 18-NOV-1993 14:32:21
GAME( 199?, sc2ofool , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-159
GAME( 199?, sc2ofool , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-159
// PROJECT NUMBER 6207 ONLY FOOLS AND HORSES ALL CASH - 18-NOV-1993 16:12:34
GAME( 199?, sc2ofool2 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-162
GAME( 199?, sc2ofool2 , sc2ofool , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-162
// PROJECT NUMBER 6207 ONLY FOOLS AND HORSES ARCADE 10P PLAY - 14-DEC-1993 14:51:34
GAME( 199?, sc2ofool4 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-177
GAME( 199?, sc2ofool4 , sc2ofool , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-177
/********************************************************************************************************************************************************************************************************************
@ -8488,10 +8527,10 @@ GAME( 199?, sc2ofool4 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6221 PARTY TIME BINGO SCORPION 2 - 10-JUN-1993 14:26:26
GAME( 199?, sc2ptytm1 , sc2ptytm , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-092
GAME( 199?, sc2ptytm1 , sc2ptytm , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-092
// PROJECT NUMBER 6221 PARTY TIME BINGO SCORPION 2 #4 ALL CASH 10P PLAY - 1-JUL-1996 12:02:22
GAME( 199?, sc2ptytm , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-806
GAME( 199?, sc2ptytmp , sc2ptytm , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-806
GAME( 199?, sc2ptytm , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-806
GAME( 199?, sc2ptytmp , sc2ptytm , scorpion2_dm01_3m , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-806
/********************************************************************************************************************************************************************************************************************
@ -8499,7 +8538,7 @@ GAME( 199?, sc2ptytmp , sc2ptytm , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6172 ALONG THE PROM SINGLE SITE - 30-MAR-1993 12:03:27
GAME( 199?, sc2prom , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Along The Prom (Bellfruit) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-062
GAME( 199?, sc2prom , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Along The Prom (Bellfruit) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-062
/********************************************************************************************************************************************************************************************************************
@ -8507,12 +8546,12 @@ GAME( 199?, sc2prom , 0 , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER PR6432 PREMIER CLUB MANAGER - 26-JAN-1996 11:52:43
GAME( 199?, sc2prem2 , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-616
GAME( 199?, sc2prem2 , sc2prem , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-616
// PROJECT NUMBER PR6432 PREMIER CLUB MANAGER 25P !250 - 13-AUG-1996 14:05:05
GAME( 199?, sc2prem , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-848
GAME( 199?, sc2prem , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-848
// PROJECT NUMBER PR6432 PREMIER CLUB MANAGER - 20-AUG-1996 10:06:44
GAME( 199?, sc2prem1 , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-847
GAME( 199?, sc2prem1p , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-847
GAME( 199?, sc2prem1 , sc2prem , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-847
GAME( 199?, sc2prem1p , sc2prem , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-847
/********************************************************************************************************************************************************************************************************************
Golden Casino Club
@ -8520,14 +8559,14 @@ GAME( 199?, sc2prem1p , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/
// PROJECT NUMBER 6632 GOLDEN CASINO VAR STAKE/JACKPOT - 12-FEB-1997 15:54:10
GAME( 199?, sc2gcclb2 , sc2gcclb , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-927
GAME( 199?, sc2gcclb2p , sc2gcclb , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-927
GAME( 199?, sc2gcclb2 , sc2gcclb , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-927
GAME( 199?, sc2gcclb2p , sc2gcclb , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-927
// PROJECT NUMBER 6632 GOLDEN CASINO 20P STAKE/#250 JACKPOT - 12-FEB-1997 15:56:05
GAME( 199?, sc2gcclb , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-928
GAME( 199?, sc2gcclbp , sc2gcclb , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-928
GAME( 199?, sc2gcclb , 0 , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-928
GAME( 199?, sc2gcclbp , sc2gcclb , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-928
// PROJECT NUMBER 6632 GOLDEN CASINO 5P STAKE/#100 JACKPOT - 12-FEB-1997 15:57:23
GAME( 199?, sc2gcclb1 , sc2gcclb , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-929
GAME( 199?, sc2gcclb1p , sc2gcclb , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-929
GAME( 199?, sc2gcclb1 , sc2gcclb , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-750-929
GAME( 199?, sc2gcclb1p , sc2gcclb , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS) // GAME No 95-751-929
/********************************************************************************************************************************************************************************************************************

View File

@ -80,11 +80,11 @@ public:
m_reel1(*this, "reel1"),
m_reel2(*this, "reel2"),
m_reel3(*this, "reel3"),
m_acia6850_0(*this, "acia6850_0")
m_acia6850_0(*this, "acia6850_0"),
m_meters(*this, "meters")
{
}
optional_device<roc10937_t> m_vfd;
int m_mmtr_latch;
int m_triac_latch;
int m_alpha_clock;
@ -125,12 +125,14 @@ public:
virtual void machine_reset() override;
INTERRUPT_GEN_MEMBER(timer_irq);
int b85_find_project_string( );
optional_device<roc10937_t> m_vfd;
required_device<cpu_device> m_maincpu;
required_device<stepper_device> m_reel0;
required_device<stepper_device> m_reel1;
required_device<stepper_device> m_reel2;
required_device<stepper_device> m_reel3;
required_device<acia6850_device> m_acia6850_0;
required_device<meters_device> m_meters;
};
#define MASTER_CLOCK (XTAL_4MHz)
@ -230,13 +232,13 @@ WRITE8_MEMBER(bfmsys85_state::reel34_w)
WRITE8_MEMBER(bfmsys85_state::mmtr_w)
{
int i;
int changed = m_mmtr_latch ^ data;
m_mmtr_latch = data;
for (i=0; i<8; i++)
if ( changed & (1 << i) ) MechMtr_update(i, data & (1 << i) );
for (int i=0; i<8; i++)
if ( changed & (1 << i) )
m_meters->update(i, data & (1 << i) );
if ( data ) m_maincpu->set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
}
@ -412,6 +414,9 @@ static MACHINE_CONFIG_START( bfmsys85, bfmsys85_state )
MCFG_STARPOINT_48STEP_ADD("reel3")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(bfmsys85_state, reel3_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MCFG_DEFAULT_LAYOUT(layout_bfmsys85)
MACHINE_CONFIG_END

View File

@ -28,6 +28,7 @@ public:
m_reel1(*this, "reel1"),
m_reel2(*this, "reel2"),
m_reel3(*this, "reel3"),
m_meters(*this, "meters"),
m_coins(*this, "COINS"),
m_key(*this, "PERKEY"),
m_panel(*this, "PANEL")
@ -41,6 +42,7 @@ public:
required_device<stepper_device> m_reel1;
required_device<stepper_device> m_reel2;
required_device<stepper_device> m_reel3;
required_device<meters_device> m_meters;
required_ioport m_coins;
required_ioport m_key;
required_ioport m_panel;
@ -149,10 +151,10 @@ public:
}
DECLARE_READ8_MEMBER(ppi8255_ic22_read_c_misc)
{
int combined_meter = MechMtr_GetActivity(0) | MechMtr_GetActivity(1) |
MechMtr_GetActivity(2) | MechMtr_GetActivity(3) |
MechMtr_GetActivity(4) | MechMtr_GetActivity(5) |
MechMtr_GetActivity(6) | MechMtr_GetActivity(7);
int combined_meter = m_meters->GetActivity(0) | m_meters->GetActivity(1) |
m_meters->GetActivity(2) | m_meters->GetActivity(3) |
m_meters->GetActivity(4) | m_meters->GetActivity(5) |
m_meters->GetActivity(6) | m_meters->GetActivity(7);
if(combined_meter)
{
@ -170,12 +172,10 @@ public:
DECLARE_WRITE8_MEMBER(ppi8255_ic24_write_a_meters)
{
int meter;
for (meter = 0; meter < 8; meter ++)
for (int meter = 0; meter < 8; meter ++)
{
MechMtr_update(meter, (data & (1 << meter)));
m_meters->update(meter, (data & (1 << meter)));
}
}
DECLARE_WRITE8_MEMBER(ppi8255_ic24_write_b_payouts)
@ -499,11 +499,6 @@ static INPUT_PORTS_START( ecoinf2 )
INPUT_PORTS_END
MACHINE_START_MEMBER(ecoinf2_state,ecoinf2)
{
MechMtr_config(machine(),8);
}
static MACHINE_CONFIG_START( ecoinf2_oxo, ecoinf2_state )
/* basic machine hardware */
@ -513,8 +508,6 @@ static MACHINE_CONFIG_START( ecoinf2_oxo, ecoinf2_state )
MCFG_DEFAULT_LAYOUT(layout_ecoinf2)
MCFG_MACHINE_START_OVERRIDE(ecoinf2_state, ecoinf2 )
MCFG_DEVICE_ADD("ic10_lamp", I8255, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(ecoinf2_state, ppi8255_ic10_write_a_strobedat0))
MCFG_I8255_OUT_PORTB_CB(WRITE8(ecoinf2_state, ppi8255_ic10_write_b_strobedat1))
@ -550,6 +543,9 @@ static MACHINE_CONFIG_START( ecoinf2_oxo, ecoinf2_state )
MCFG_ECOIN_200STEP_ADD("reel3")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(ecoinf2_state, reel3_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
// MCFG_DEVICE_ADD("ic25_dips", I8255, 0)
MACHINE_CONFIG_END

View File

@ -106,12 +106,9 @@ Thanks to Tony Friery and JPeMU for I/O routines and documentation.
#include "cpu/m68000/m68000.h"
#include "includes/jpmimpct.h"
#include "machine/meters.h"
#include "machine/nvram.h"
#include "jpmimpct.lh"
#include "video/awpvid.h"
#include "machine/steppers.h"
#include "machine/roc10937.h"
#include "machine/i8255.h"
/*************************************
@ -552,7 +549,7 @@ WRITE16_MEMBER(jpmimpct_state::jpmio_w)
}
else
// slide = 0;
MechMtr_update(0, data >> 10);
m_meters->update(0, data >> 10);
m_duart_1.IP &= ~0x10;
break;
}
@ -865,6 +862,9 @@ static MACHINE_CONFIG_START( jpmimpct, jpmimpct_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_VIDEO_START_OVERRIDE(jpmimpct_state,jpmimpct)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(5)
MACHINE_CONFIG_END
@ -1122,20 +1122,20 @@ WRITE16_MEMBER(jpmimpct_state::jpmioawp_w)
{
for (i=0; i<5; i++)
{
MechMtr_update(i, 0);
m_meters->update(i, 0);
}
break;
}
default:
{
MechMtr_update(((metno <<2) - 1), 1);
m_meters->update(((metno <<2) - 1), 1);
}
break;
}
}
int combined_meter = MechMtr_GetActivity(0) | MechMtr_GetActivity(1) |
MechMtr_GetActivity(2) | MechMtr_GetActivity(3) |
MechMtr_GetActivity(4);
int combined_meter = m_meters->GetActivity(0) | m_meters->GetActivity(1) |
m_meters->GetActivity(2) | m_meters->GetActivity(3) |
m_meters->GetActivity(4);
if(combined_meter)
{
@ -1339,6 +1339,9 @@ MACHINE_CONFIG_START( impctawp, jpmimpct_state )
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(jpmimpct_state, reel4_optic_cb))
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(jpmimpct_state, reel5_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(5)
MACHINE_CONFIG_END

View File

@ -43,7 +43,8 @@ public:
jpmmps_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_psg(*this, "sn")
m_psg(*this, "sn"),
m_meters(*this, "meters")
{ }
UINT8 m_sound_buffer;
UINT8 m_psg_latch;
@ -53,13 +54,12 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
optional_device<sn76489_device> m_psg;
required_device<sn76489_device> m_psg;
required_device<meters_device> m_meters;
public:
DECLARE_DRIVER_INIT(jpmmps);
DECLARE_WRITE8_MEMBER(jpmmps_meters_w);
DECLARE_WRITE8_MEMBER(jpmmps_psg_buf_w);
DECLARE_WRITE8_MEMBER(jpmmps_ic22_portc_w);
DECLARE_MACHINE_START(jpmmps);
};
static ADDRESS_MAP_START( jpmmps_map, AS_PROGRAM, 8, jpmmps_state )
@ -103,10 +103,9 @@ INPUT_PORTS_END
WRITE8_MEMBER(jpmmps_state::jpmmps_meters_w)
{
int meter=0;
for (meter = 0; meter < 8; meter ++)
for (int meter = 0; meter < 8; meter ++)
{
MechMtr_update(meter, (data & (1 << meter)));
m_meters->update(meter, (data & (1 << meter)));
}
}
@ -129,7 +128,7 @@ WRITE8_MEMBER(jpmmps_state::jpmmps_ic22_portc_w)
}
m_psg_latch = (data & 0x04);
MechMtr_update(8, (data & 0x08));
m_meters->update(8, (data & 0x08));
}
@ -140,13 +139,6 @@ WRITE8_MEMBER(jpmmps_state::jpmmps_ic22_portc_w)
#define DUART_CLOCK 2000000
MACHINE_START_MEMBER(jpmmps_state,jpmmps)
{
/* setup 9 mechanical meters */
MechMtr_config(machine(),9);
}
void jpmmps_state::machine_reset()
{
// Disable auto wait state generation by raising the READY line on reset
@ -173,19 +165,17 @@ static MACHINE_CONFIG_START( jpmmps, jpmmps_state )
MCFG_DEVICE_ADD("tms9902_ic10", TMS9902, DUART_CLOCK) // Communication with Reel MCU
MCFG_DEVICE_ADD("tms9902_ic5", TMS9902, DUART_CLOCK) // Communication with Security / Printer
MCFG_MACHINE_START_OVERRIDE(jpmmps_state,jpmmps)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sn", SN76489, SOUND_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(9) // TODO: meters.cpp sets a max of 8
MCFG_DEFAULT_LAYOUT(layout_jpmmps)
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(jpmmps_state,jpmmps)
{
}
ROM_START( j2adnote )
@ -2022,211 +2012,211 @@ ROM_END
GAME(198?, j2adnote ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 1)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotea,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 2)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteb,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 3)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotec,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 4)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoted,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 5)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotee,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 6)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotef,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 7)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteg,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 8)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteh,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 9)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotei,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Add A Note (JPM) (MPS, set 10)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bankch ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Bank Chase (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bankrd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Bank Raid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbnk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Big Banker (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbox ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Big Box (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbuk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Big Buck$ (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigdl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Big Deal (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2blkchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Black Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashbn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Bonus Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashfl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Falls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashrl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Reels (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashrv ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashro ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Rolls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashtk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashtd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Track Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coppot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Copper Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coprun ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Copper Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cprndx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Copper Run Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2crkbnk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Crack The Bank (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2droplt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Drop The Lot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2dropld ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Drop The Lot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ewn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Each Way Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ews ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Each Way Shuffle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2exec ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Executive Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fasttk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Fast Trak (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fqueen ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Find The Queen (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fiveal ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Five Alive (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fiveln ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Five Liner (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fws ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Five Way Shuffle (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fwsa ,j2fws ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Five Way Shuffle (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2frmtch ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Fruit Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fullhs ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Full House Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ghostb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Ghostbuster (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2goldrn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Gold Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2goldbr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Golden Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2gldchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Golden Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2gldwin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Golden Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hinote ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hi Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hiroll ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hi Roller (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotpot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hot Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotptd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hot Pot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hot Shot Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hypnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Hypernote (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jackbr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Jackpot Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jackdc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Jackpot Dice (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jokers ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Jokers (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2kingcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","King Of Clubs (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2litean ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Lite A Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lovsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Loot Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lovshd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Loot Shoot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2luckar ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Lucky Arrows (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lucky2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Lucky 2s (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monblt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Money Belt (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2mongam ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Money Game (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2mongmd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Money Game Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2multwn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Multi Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Note Exchange (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexca,j2notexc ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Note Exchange (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexcb,j2notexc ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Note Exchange (Set 3) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notesh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Note Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudbnz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Bonanza Deluxe (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudbnza,j2nudbnz ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Bonanza Deluxe (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nuddup ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Double Up (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nuddud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Double Up Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudup3 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Double Up MkIII (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudshf ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Shuffler (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Plus Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsmnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Plus Money Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Plus Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2potlck ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Pot Luck (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pndrsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Pound Rush (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pyramd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Pyramid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Bingo Club (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbna,j2reelbn ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Bingo Club (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Bonus (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmg ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Magic (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmgd,j2reelmg ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Magic (JPM) [Dutch] (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Magic Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rotnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Rota Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2roulcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Roulette Club (JPM) [Mps] (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rdclb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Royal Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2slvrgh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Silver Ghost (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sldgld ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Solid Gold (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2spcrsv ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Special Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2stahed ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Streets Ahead (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supfrt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supa Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supfrc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supa Fruit Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(1987, j2supsft ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supashifta (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supstp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supa Steppa (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suptrk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supa Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprft ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Super Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supln ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Super Line (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suppot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Super Pots (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Super Reel (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supershot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supstr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Superstars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2swbank ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Switch Back (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2take2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Take 2 (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2topsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Top Shot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2westrn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Western (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnote ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 1)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotea,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 2)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteb,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 3)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotec,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 4)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoted,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 5)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotee,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 6)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotef,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 7)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteg,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 8)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnoteh,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 9)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2adnotei,j2adnote ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Add A Note (JPM) (MPS, set 10)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bankch ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Bank Chase (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bankrd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Bank Raid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbnk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Big Banker (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbox ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Big Box (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigbuk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Big Buck$ (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bigdl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Big Deal (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2blkchy ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Black Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashbn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Bonus Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashfl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Falls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashrl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Reels (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashrv ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashro ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Rolls (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashtk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashtd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Track Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coppot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Copper Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coprun ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Copper Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cprndx ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Copper Run Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2crkbnk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Crack The Bank (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2droplt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Drop The Lot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2dropld ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Drop The Lot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ewn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Each Way Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ews ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Each Way Shuffle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2exec ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Executive Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fasttk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Fast Trak (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fqueen ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Find The Queen (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fiveal ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Five Alive (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fiveln ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Five Liner (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fws ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Five Way Shuffle (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fwsa ,j2fws ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Five Way Shuffle (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2frmtch ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Fruit Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fullhs ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Full House Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ghostb ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Ghostbuster (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2goldrn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Gold Run (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2goldbr ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Golden Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2gldchy ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Golden Cherry (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2gldwin ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Golden Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hinote ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hi Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hiroll ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hi Roller (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotpot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hot Pot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotptd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hot Pot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hotsht ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hot Shot Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hypnot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Hypernote (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jackbr ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Jackpot Bars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jackdc ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Jackpot Dice (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2jokers ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Jokers (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2kingcl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","King Of Clubs (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2litean ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Lite A Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lovsht ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Loot Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lovshd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Loot Shoot Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2luckar ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Lucky Arrows (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lucky2 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Lucky 2s (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monblt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Money Belt (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2mongam ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Money Game (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2mongmd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Money Game Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2multwn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Multi Win (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexc ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Note Exchange (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexca,j2notexc ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Note Exchange (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notexcb,j2notexc ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Note Exchange (Set 3) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notesh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Note Shoot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudbnz ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Bonanza Deluxe (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudbnza,j2nudbnz ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Bonanza Deluxe (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nuddup ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Double Up (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nuddud ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Double Up Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudup3 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Double Up MkIII (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudshf ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Shuffler (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsmon ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Plus Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsmnd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Plus Money Deluxe (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2plsnud ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Plus Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2potlck ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Pot Luck (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pndrsh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Pound Rush (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pyramd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Pyramid (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Bingo Club (Set 1) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbna,j2reelbn ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Bingo Club (Set 2) (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelbo ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Bonus (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmg ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Magic (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmgd,j2reelmg ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Magic (JPM) [Dutch] (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmc ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Magic Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelmo ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Money (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rotnot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Rota Note (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2roulcl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Roulette Club (JPM) [Mps] (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rdclb ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Royal Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2slvrgh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Silver Ghost (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sldgld ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Solid Gold (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2spcrsv ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Special Reserve (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2stahed ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Streets Ahead (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supfrt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supa Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supfrc ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supa Fruit Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(1987, j2supsft ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supashifta (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supstp ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supa Steppa (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suptrk ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supa Track (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprft ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Super Fruit (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supln ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Super Line (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suppot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Super Pots (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Super Reel (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2suprsh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supershot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supstr ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Superstars (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2swbank ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Switch Back (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2take2 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Take 2 (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2topsht ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Top Shot (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2westrn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Western (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2blustr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Blue Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshalm ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshcrd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Cards (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshfil ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshsmh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Smash (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2criscr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2frucnx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hitmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Hit Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2penny ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2maxima ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Maxima (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2montrp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Money Trapper (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Nudge Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2paypkt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Pay Packet (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2silvcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Silver Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2silvsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Silver Shot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sstrea ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Supa Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tstplt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Test Pilot (Set 1) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tstplta,j2tstplt ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Test Pilot (Set 2) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2blustr ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Blue Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshalm ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshcrd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Cash Cards (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshfil ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshsmh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Cash Smash (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2criscr ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2frucnx ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hitmon ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Hit Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2penny ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2maxima ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Maxima (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2montrp ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Money Trapper (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudmon ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Nudge Money (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2paypkt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Pay Packet (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2silvcl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Silver Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2silvsh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Silver Shot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sstrea ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Supa Streak (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tstplt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Test Pilot (Set 1) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tstplta,j2tstplt ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Test Pilot (Set 2) (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bonanz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bonanz ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2supchy ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hilocl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2litnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2missis ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hilocl ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2litnot ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2missis ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2always ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Always Eight (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coinsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudfev ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2trail ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Trailblazer (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2wag ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2always ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Always Eight (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coinsh ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudfev ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2trail ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Trailblazer (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2wag ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fivepn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nolimt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cshnud ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2fivepn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nolimt ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2strk10 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Ace?","Strike Ten (Ace) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all
GAME(198?, j2strk10 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Ace?","Strike Ten (Ace) (MPS)", MACHINE_IS_SKELETON_MECHANICAL ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all
GAME(198?, j2bkroll ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Bank Roll (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bodym ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Body Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cvault ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cash Vault (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashab ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Cashablanca (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashry ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2casino ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Casino Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coinct ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Coin Count (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2loots ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2match ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Match It (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monbnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Money Bands (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monmtx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Money Matrix (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tst ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","MPS 1 Test Rom (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pinac ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Pinnacle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pinclb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Pinnacle Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelcz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Crazy (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reeldc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Reel Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2topcd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Top Card (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2xxx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Triple X (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tupnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Tuppenny Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2wrb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Wild Reel Bingo (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ncsp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nrrp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nsc15 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nsw12 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bkroll ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Bank Roll (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2bodym ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Body Match (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cvault ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cash Vault (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashab ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Cashablanca (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2cashry ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2casino ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Casino Classic (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2coinct ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Coin Count (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2loots ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2match ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Match It (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monbnd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Money Bands (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monmtx ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Money Matrix (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tst ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","MPS 1 Test Rom (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nudnud ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Nudge (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pinac ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Pinnacle (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pinclb ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Pinnacle Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reelcz ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Crazy (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2reeldc ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Reel Deal Club (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2topcd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Top Card (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2xxx ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","Triple X (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tupnud ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Tuppenny Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2wrb ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Wild Reel Bingo (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ncsp ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nrrp ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nsc15 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nsw12 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2club77 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Club 77 (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2contnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2crown ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Crown Dealer (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hirola ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Hi Roll (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monmin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Money Mine (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notspn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Note Spinner (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2super7 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Super 7's (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sex ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Super Exchanger (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sng ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tupnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2008 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown '008' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2chsn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'chsnsn05' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lhs ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'lhs' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nn2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'nn_2' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rm941 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'rm941' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pharo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Pharoah (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2club77 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Club 77 (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2contnd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2crown ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Crown Dealer (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hirola ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Hi Roll (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2monmin ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Money Mine (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2notspn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Note Spinner (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2super7 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Super 7's (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sex ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Super Exchanger (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sng ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2tupnd ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2008 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","unknown '008' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2chsn ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","unknown 'chsnsn05' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2lhs ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","unknown 'lhs' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nn2 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","unknown 'nn_2' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2rm941 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","unknown 'rm941' (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2pharo ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Pharoah (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nud5p ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","5p Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2b7 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Bar 7? (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ss ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Supa Stepper (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nbz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Nudge Bonanza (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nud5p ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","5p Nudger (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2b7 ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Bar 7? (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2ss ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Supa Stepper (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2nbz ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Nudge Bonanza (JPM) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2clbbin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2clbbin ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sirich ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
GAME(198?, j2siricha,j2sirich ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
GAME(198?, j2sirich ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
GAME(198?, j2siricha,j2sirich ,jpmmps,jpmmps, driver_device, 0,ROT0, "JPM","Strike It Rich (JPM) (MPS) (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
GAME(198?, j2hcash ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Hot Cash (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sset ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Sunset Strip (v2.0) (Unk) (MPS?)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2hcash ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Hot Cash (Unk) (MPS)", MACHINE_IS_SKELETON_MECHANICAL )
GAME(198?, j2sset ,0 ,jpmmps,jpmmps, driver_device, 0,ROT0, "<unknown>","Sunset Strip (v2.0) (Unk) (MPS?)", MACHINE_IS_SKELETON_MECHANICAL )

View File

@ -472,10 +472,10 @@ WRITE_LINE_MEMBER(jpmsys5_state::pia_irq)
READ8_MEMBER(jpmsys5_state::u29_porta_r)
{
int combined_meter = MechMtr_GetActivity(0) | MechMtr_GetActivity(1) |
MechMtr_GetActivity(2) | MechMtr_GetActivity(3) |
MechMtr_GetActivity(4) | MechMtr_GetActivity(5) |
MechMtr_GetActivity(6) | MechMtr_GetActivity(7);
int combined_meter = m_meters->GetActivity(0) | m_meters->GetActivity(1) |
m_meters->GetActivity(2) | m_meters->GetActivity(3) |
m_meters->GetActivity(4) | m_meters->GetActivity(5) |
m_meters->GetActivity(6) | m_meters->GetActivity(7);
int meter_bit =0;
if(combined_meter)
@ -492,10 +492,9 @@ READ8_MEMBER(jpmsys5_state::u29_porta_r)
WRITE8_MEMBER(jpmsys5_state::u29_portb_w)
{
int meter =0;
for (meter = 0; meter < 8; meter ++)
for (int meter = 0; meter < 8; meter ++)
{
MechMtr_update(meter, (data & (1 << meter)));
m_meters->update(meter, (data & (1 << meter)));
}
}
@ -805,10 +804,6 @@ INPUT_PORTS_END
MACHINE_START_MEMBER(jpmsys5_state,jpmsys5)
{
// membank("bank1")->set_base(memregion("maincpu")->base()+0x20000);
/* setup 8 mechanical meters */
MechMtr_config(machine(),8);
}
MACHINE_RESET_MEMBER(jpmsys5_state,jpmsys5)
@ -875,6 +870,9 @@ MACHINE_CONFIG_START( jpmsys5_ym, jpmsys5_state )
MCFG_PTM6840_OUT0_CB(WRITE8(jpmsys5_state, u26_o1_callback))
MCFG_PTM6840_IRQ_CB(WRITELINE(jpmsys5_state, ptm_irq))
MCFG_DEFAULT_LAYOUT(layout_jpmsys5)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END
// the first rev PCB used an SAA1099
@ -925,6 +923,9 @@ MACHINE_CONFIG_START( jpmsys5, jpmsys5_state )
MCFG_PTM6840_OUT0_CB(WRITE8(jpmsys5_state, u26_o1_callback))
MCFG_PTM6840_IRQ_CB(WRITELINE(jpmsys5_state, ptm_irq))
MCFG_DEFAULT_LAYOUT(layout_jpmsys5)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END
/*************************************

View File

@ -283,9 +283,6 @@ INPUT_PORTS_END
void maygay1b_state::machine_start()
{
// setup 8 mechanical meters ////////////////////////////////////////////
MechMtr_config(machine(),8);
}
WRITE8_MEMBER(maygay1b_state::reel12_w)
{
@ -326,7 +323,7 @@ WRITE8_MEMBER(maygay1b_state::m1_meter_w)
{
if ( data & (1 << i) )
{
MechMtr_update(i, data & (1 << i) );
m_meters->update(i, data & (1 << i) );
m_meter = data;
}
}
@ -637,6 +634,9 @@ MACHINE_CONFIG_START( maygay_m1, maygay1b_state )
MCFG_STARPOINT_48STEP_ADD("reel5")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(maygay1b_state, reel5_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEFAULT_LAYOUT(layout_maygay1b)

View File

@ -133,51 +133,50 @@ class mpu3_state : public driver_device
public:
mpu3_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_vfd(*this, "vfd"),
m_maincpu(*this, "maincpu"),
m_reel0(*this, "reel0"),
m_reel1(*this, "reel1"),
m_reel2(*this, "reel2"),
m_reel3(*this, "reel3")
m_reel3(*this, "reel3"),
m_meters(*this, "meters"),
m_vfd(*this, "vfd")
{ }
optional_device<roc10937_t> m_vfd;
int m_triac_ic3;
int m_triac_ic4;
int m_triac_ic5;
int m_ic3_data;
int m_IC11G1;
int m_IC11G2A;
int m_IC11G2B;
int m_IC11GC;
int m_IC11GB;
int m_IC11GA;
int m_triac_ic3;
int m_triac_ic4;
int m_triac_ic5;
int m_ic3_data;
int m_IC11G1;
int m_IC11G2A;
int m_IC11G2B;
int m_IC11GC;
int m_IC11GB;
int m_IC11GA;
int m_ic10_output;
int m_ic11_active;
int m_ic11_output;
int m_disp_func;
int m_ic10_output;
int m_ic11_active;
int m_ic11_output;
int m_disp_func;
int m_ic4_input_a;
int m_aux1_input;
int m_aux2_input;
int m_input_strobe; /* IC11 74LS138 A = CA2 IC3, B = CA2 IC4, C = CA2 IC5 */
UINT8 m_lamp_strobe;
UINT8 m_led_strobe;
int m_signal_50hz;
int m_ic4_input_a;
int m_aux1_input;
int m_aux2_input;
int m_input_strobe; /* IC11 74LS138 A = CA2 IC3, B = CA2 IC4, C = CA2 IC5 */
UINT8 m_lamp_strobe;
UINT8 m_led_strobe;
int m_signal_50hz;
const mpu3_chr_table* m_current_chr_table;
int m_prot_col;
const mpu3_chr_table* m_current_chr_table;
int m_prot_col;
int m_optic_pattern;
int m_optic_pattern;
DECLARE_WRITE_LINE_MEMBER(reel0_optic_cb) { if (state) m_optic_pattern |= 0x01; else m_optic_pattern &= ~0x01; }
DECLARE_WRITE_LINE_MEMBER(reel1_optic_cb) { if (state) m_optic_pattern |= 0x02; else m_optic_pattern &= ~0x02; }
DECLARE_WRITE_LINE_MEMBER(reel2_optic_cb) { if (state) m_optic_pattern |= 0x04; else m_optic_pattern &= ~0x04; }
DECLARE_WRITE_LINE_MEMBER(reel3_optic_cb) { if (state) m_optic_pattern |= 0x08; else m_optic_pattern &= ~0x08; }
emu_timer *m_ic21_timer;
emu_timer *m_ic21_timer;
DECLARE_WRITE8_MEMBER(characteriser_w);
DECLARE_READ8_MEMBER(characteriser_r);
DECLARE_WRITE8_MEMBER(mpu3ptm_w);
@ -219,6 +218,8 @@ emu_timer *m_ic21_timer;
required_device<stepper_device> m_reel1;
required_device<stepper_device> m_reel2;
required_device<stepper_device> m_reel3;
required_device<meters_device> m_meters;
optional_device<roc10937_t> m_vfd;
};
#define DISPLAY_PORT 0
@ -462,7 +463,7 @@ WRITE8_MEMBER(mpu3_state::pia_ic4_porta_w)
for (meter = 0; meter < 6; meter ++)
{
swizzle = ((m_ic4_input_a ^ 0xff) & 0x3f);
MechMtr_update(meter, (swizzle & (1 << meter)));
m_meters->update(meter, (swizzle & (1 << meter)));
}
break;
@ -696,10 +697,6 @@ void mpu3_state::mpu3_config_common()
void mpu3_state::machine_start()
{
mpu3_config_common();
/* setup 8 mechanical meters */
MechMtr_config(machine(),8);
}
/*
Characteriser (CHR)
@ -859,6 +856,9 @@ static MACHINE_CONFIG_START( mpu3base, mpu3_state )
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu3_state, reel2_optic_cb))
MCFG_MPU3_REEL_ADD("reel3")
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu3_state, reel3_optic_cb))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MCFG_NVRAM_ADD_0FILL("nvram")

View File

@ -420,16 +420,16 @@ void mpu4_state::update_meters()
break;
}
MechMtr_update(7, (data & 0x80));
m_meters->update(7, (data & 0x80));
for (meter = 0; meter < 4; meter ++)
{
MechMtr_update(meter, (data & (1 << meter)));
m_meters->update(meter, (data & (1 << meter)));
}
if (m_reel_mux == STANDARD_REEL)
{
for (meter = 4; meter < 7; meter ++)
{
MechMtr_update(meter, (data & (1 << meter)));
m_meters->update(meter, (data & (1 << meter)));
}
}
}
@ -1222,10 +1222,10 @@ all eight meters are driven from this port, giving the 8 line driver chip
//This may be overkill, but the meter sensing is VERY picky
int combined_meter = MechMtr_GetActivity(0) | MechMtr_GetActivity(1) |
MechMtr_GetActivity(2) | MechMtr_GetActivity(3) |
MechMtr_GetActivity(4) | MechMtr_GetActivity(5) |
MechMtr_GetActivity(6) | MechMtr_GetActivity(7);
int combined_meter = m_meters->GetActivity(0) | m_meters->GetActivity(1) |
m_meters->GetActivity(2) | m_meters->GetActivity(3) |
m_meters->GetActivity(4) | m_meters->GetActivity(5) |
m_meters->GetActivity(6) | m_meters->GetActivity(7);
if(combined_meter)
{
@ -2129,10 +2129,6 @@ void mpu4_state::mpu4_config_common()
{
m_ic24_timer = timer_alloc(TIMER_IC24);
m_lamp_strobe_ext_persistence = 0;
/* setup 8 mechanical meters */
MechMtr_config(machine(),8);
}
MACHINE_START_MEMBER(mpu4_state,mod2)
@ -2638,6 +2634,9 @@ MACHINE_CONFIG_FRAGMENT( mpu4_common )
MCFG_PIA_CB2_HANDLER(WRITELINE(mpu4_state, pia_ic8_cb2_w))
MCFG_PIA_IRQA_HANDLER(WRITELINE(mpu4_state, cpu0_irq))
MCFG_PIA_IRQB_HANDLER(WRITELINE(mpu4_state, cpu0_irq))
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END

View File

@ -1216,9 +1216,6 @@ MACHINE_START_MEMBER(mpu4vid_state,mpu4_vid)
/* setup communications */
m_link7a_connected = 1;
/* setup 8 mechanical meters */
MechMtr_config(machine(),8);
/* Hook the reset line */
m_videocpu->set_reset_callback(write_line_delegate(FUNC(mpu4vid_state::mpu_video_reset),this));
}

View File

@ -50,11 +50,10 @@ public:
m_z80pio_5(*this, "z80pio_5"),
m_z80ctc(*this, "z80ctc"),
m_z80sio(*this, "z80sio"),
m_ay(*this, "aysnd")
m_ay(*this, "aysnd"),
m_meters(*this, "meters")
{ }
optional_device<s16lf01_t> m_vfd;
DECLARE_WRITE8_MEMBER( ay_w0 ) { m_ay->address_data_w(space, 0, data); }
DECLARE_WRITE8_MEMBER( ay_w1 ) { m_ay->address_data_w(space, 1, data); }
@ -179,6 +178,7 @@ public:
protected:
// devices
optional_device<s16lf01_t> m_vfd;
required_device<cpu_device> m_maincpu;
required_device<z80pio_device> m_z80pio_1;
required_device<z80pio_device> m_z80pio_2;
@ -188,6 +188,8 @@ protected:
required_device<z80ctc_device> m_z80ctc;
required_device<z80dart_device> m_z80sio;
required_device<ay8910_device> m_ay;
required_device<meters_device> m_meters;
public:
int m_meter;
DECLARE_DRIVER_INIT(proconn);
@ -290,12 +292,11 @@ READ16_MEMBER(proconn_state::serial_receive)
WRITE8_MEMBER(proconn_state::meter_w)
{
int i;
for (i=0; i<8; i++)
for (int i=0; i<8; i++)
{
if ( data & (1 << i) )
{
MechMtr_update(i, data & (1 << i) );
m_meters->update(i, data & (1 << i) );
m_meter = data;
}
}
@ -378,6 +379,9 @@ static MACHINE_CONFIG_START( proconn, proconn_state )
MCFG_SOUND_ADD("aysnd", AY8910, 1000000) /* ?? Mhz */ // YM2149F on PC92?
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(proconn_state, meter_w))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(8)
MACHINE_CONFIG_END

View File

@ -5,6 +5,7 @@
JPM IMPACT with Video hardware
****************************************************************************/
#include "machine/meters.h"
#include "machine/roc10937.h"
#include "machine/steppers.h"
#include "cpu/tms34010/tms34010.h"
@ -71,7 +72,8 @@ public:
m_reel2(*this, "reel2"),
m_reel3(*this, "reel3"),
m_reel4(*this, "reel4"),
m_reel5(*this, "reel5")
m_reel5(*this, "reel5"),
m_meters(*this, "meters")
{ }
UINT8 m_tms_irq;
@ -145,4 +147,5 @@ public:
optional_device<stepper_device> m_reel3;
optional_device<stepper_device> m_reel4;
optional_device<stepper_device> m_reel5;
required_device<meters_device> m_meters;
};

View File

@ -27,7 +27,8 @@ public:
m_tms34061(*this, "tms34061"),
m_vfd(*this, "vfd"),
m_direct_port(*this, "DIRECT"),
m_palette(*this, "palette") { }
m_palette(*this, "palette"),
m_meters(*this, "meters") { }
required_device<cpu_device> m_maincpu;
required_device<acia6850_device> m_acia6850_0;
@ -38,6 +39,7 @@ public:
optional_device<s16lf01_t> m_vfd;
required_ioport m_direct_port;
optional_device<palette_device> m_palette;
optional_device<meters_device> m_meters; //jpmsys5v doesn't use this
UINT8 m_palette_val[16][3];
int m_pal_addr;

View File

@ -52,7 +52,8 @@ public:
m_reel2(*this, "reel2"),
m_reel3(*this, "reel3"),
m_reel4(*this, "reel4"),
m_reel5(*this, "reel5")
m_reel5(*this, "reel5"),
m_meters(*this, "meters")
{}
required_device<cpu_device> m_maincpu;
@ -77,6 +78,7 @@ public:
required_device<stepper_device> m_reel3;
required_device<stepper_device> m_reel4;
required_device<stepper_device> m_reel5;
required_device<meters_device> m_meters;
UINT8 m_lamppos;
int m_lamp_strobe;

View File

@ -123,7 +123,8 @@ public:
m_reel5(*this, "reel5"),
m_reel6(*this, "reel6"),
m_reel7(*this, "reel7"),
m_palette(*this, "palette")
m_palette(*this, "palette"),
m_meters(*this, "meters")
{}
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@ -265,6 +266,8 @@ protected:
optional_device<stepper_device> m_reel5;
optional_device<stepper_device> m_reel6;
optional_device<stepper_device> m_reel7;
optional_device<palette_device> m_palette;
required_device<meters_device> m_meters;
enum
{
@ -329,7 +332,6 @@ protected:
UINT8 m_numbanks;
mpu4_chr_table* m_current_chr_table;
const bwb_chr_table* m_bwb_chr_table1;
optional_device<palette_device> m_palette;
};
MACHINE_CONFIG_EXTERN( mpu4_common );

View File

@ -10,110 +10,137 @@
#include "emu.h"
#include "meters.h"
// local vars /////////////////////////////////////////////////////////////
static struct
/*****************************************************************************
DEVICE INTERFACE
*****************************************************************************/
const device_type METERS = &device_creator<meters_device>;
meters_device::meters_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, METERS, "Electro mechanical meters", tag, owner, clock, "meters", __FILE__),
m_number_mtr(0)
{
long on, // Activity of reel
reacttime,
count; // mechmeter value
int state; // state 0/1
emu_timer *meter_timer;
} meter_info[MAXMECHMETERS];
static int number_mtr;
///////////////////////////////////////////////////////////////////////////
static TIMER_CALLBACK( meter_callback )
{
meter_info[param].count++;
memset(m_meter_info, 0, sizeof(m_meter_info));
}
void MechMtr_config(running_machine &machine, int number)
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void meters_device::device_start()
{
int i;
if ( m_number_mtr > MAXMECHMETERS )
m_number_mtr = MAXMECHMETERS;
if ( number > MAXMECHMETERS ) number = MAXMECHMETERS;
for ( i = 0; i < number; i++ )
for ( int i = 0; i < m_number_mtr; i++ )
{
meter_info[i].reacttime = METERREACTTIME;
meter_info[i].state = 0;
meter_info[i].count = 0;
meter_info[i].on = 0;
meter_info[i].meter_timer = machine.scheduler().timer_alloc(FUNC(meter_callback), (void*)(FPTR)i);
meter_info[i].meter_timer->reset();
m_meter_info[i].reacttime = METERREACTTIME;
m_meter_info[i].state = 0;
m_meter_info[i].count = 0;
m_meter_info[i].on = 0;
m_meter_info[i].meter_timer = timer_alloc(i);
m_meter_info[i].meter_timer->reset();
//save_item(NAME(m_meter_info[i].reacttime), i); //enable if void ReactTime(int id, INT32 cycles) gets used
save_item(NAME(m_meter_info[i].state), i);
save_item(NAME(m_meter_info[i].count), i);
save_item(NAME(m_meter_info[i].on), i);
}
number_mtr = number;
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void meters_device::device_reset()
{
}
//-------------------------------------------------
// device_timer - device-specific timer events
//-------------------------------------------------
void meters_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
if (id >= m_number_mtr)
assert_always(FALSE, "Unknown id in meters_device::device_timer");
m_meter_info[param].count++;
}
///////////////////////////////////////////////////////////////////////////
int meters_device::GetNumberMeters(void) // currently unused
{
return m_number_mtr;
}
///////////////////////////////////////////////////////////////////////////
int MechMtr_GetNumberMeters(void)
void meters_device::Setcount(int id, INT32 count) // currently unused
{
return number_mtr;
if ( id >= m_number_mtr )
return;
m_meter_info[id].count = count;
}
///////////////////////////////////////////////////////////////////////////
void MechMtr_Setcount(int id, long count)
INT32 meters_device::Getcount(int id) // currently unused
{
if ( id >= number_mtr ) return;
INT32 result = 0;
meter_info[id].count = count;
}
///////////////////////////////////////////////////////////////////////////
long MechMtr_Getcount(int id)
{
long result = 0;
if ( id < number_mtr ) result = meter_info[id].count;
if ( id < m_number_mtr )
result = m_meter_info[id].count;
return result;
}
///////////////////////////////////////////////////////////////////////////
void MechMtr_ReactTime(int id, long cycles)
void meters_device::ReactTime(int id, INT32 cycles) // currently unused
{
if ( id >= number_mtr ) return;
meter_info[id].reacttime = cycles;
if ( id >= m_number_mtr )
return;
m_meter_info[id].reacttime = cycles;
}
///////////////////////////////////////////////////////////////////////////
int MechMtr_GetActivity(int id)
int meters_device::GetActivity(int id)
{
return meter_info[id].on;
return m_meter_info[id].on;
}
///////////////////////////////////////////////////////////////////////////
int MechMtr_update(int id, int state)
int meters_device::update(int id, int state)
{
int res = 0;
if ( id >= number_mtr ) return res;
if ( id >= m_number_mtr )
return res;
state = state?1:0;
if ( meter_info[id].state != state )
if ( m_meter_info[id].state != state )
{ // meter state is changing
meter_info[id].state = state;
m_meter_info[id].state = state;
if ( state )
{
meter_info[id].on =1;
meter_info[id].meter_timer->adjust(attotime::from_seconds(meter_info[id].reacttime), id);
if ( state )
{
m_meter_info[id].on =1;
m_meter_info[id].meter_timer->adjust(attotime::from_seconds(m_meter_info[id].reacttime), id);
}
else
{
m_meter_info[id].on =0;
m_meter_info[id].meter_timer->adjust(attotime::never, id);
}
}
else
{
meter_info[id].on =0;
meter_info[id].meter_timer->adjust(attotime::never, id);
}
}
return meter_info[id].on;
return m_meter_info[id].on;
}

View File

@ -17,21 +17,51 @@
#include "emu.h"
#define MCFG_METERS_NUMBER(_number) \
meters_device::static_set_number_meters(*device, _number); \
#define MAXMECHMETERS 8
#define METERREACTTIME 0.025 // number of seconds meter has to be active to tick
void MechMtr_config(running_machine &machine, int number);
class meters_device : public device_t
{
public:
meters_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~meters_device() {}
int MechMtr_GetNumberMeters(void);
static void static_set_number_meters(device_t &device, int number) { downcast<meters_device &>(device).m_number_mtr = number; }
void MechMtr_Setcount( int id, long count);
int update(int id, int state);
int GetActivity(int id);
long MechMtr_Getcount( int id);
int GetNumberMeters(void); // currently unused
void Setcount(int id, INT32 count); // currently unused
INT32 Getcount(int id); // currently unused
void ReactTime(int id, INT32 cycles); // currently unused
void MechMtr_ReactTime(int id, long cycles);
protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
int MechMtr_update( int id, int state);
private:
// internal state
struct meter_info
{
bool on; // Activity of reel
INT32 reacttime;
INT32 count; // mechmeter value
bool state; // state 0/1
emu_timer *meter_timer;
};
meter_info m_meter_info[MAXMECHMETERS];
int m_number_mtr;
};
extern const device_type METERS;
int MechMtr_GetActivity(int id);
#endif