diff --git a/src/mame/drivers/bfm_sc4.c b/src/mame/drivers/bfm_sc4.c
index 05e6af72cba..768c2a114be 100644
--- a/src/mame/drivers/bfm_sc4.c
+++ b/src/mame/drivers/bfm_sc4.c
@@ -189,12 +189,12 @@ static const bfmdm01_interface dm01_interface =
/* default reels */
const stepper_interface* default_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
/* default inputs */
@@ -23331,9 +23331,9 @@ GAME( 200?, sc4pstatq ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V042) (
const stepper_interface* sc4cvani_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
0,
@@ -23360,10 +23360,10 @@ GAME( 200?, sc4cvanii ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps
const stepper_interface* sc4cvclb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
};
@@ -23764,11 +23764,11 @@ GAME( 200?, sc4colos ,0, sc4, sc4, sc4, ROT0, "BFM","Colossus (Bellfruit) (Sco
const stepper_interface* sc4crcc_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -24089,11 +24089,11 @@ GAME( 200?, sc4fevnxa ,sc4fevnx, sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bel
const stepper_interface* sc4fcc_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -24733,9 +24733,9 @@ GAME( 200?, sc4luck7d ,sc4luck7, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazoo
const stepper_interface* sc4luckb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
0,
0,
@@ -24856,9 +24856,9 @@ GAME( 200?, sc4mbagsc ,sc4mbags, sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfru
const stepper_interface* sc4mgr_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
0,
0,
@@ -25105,10 +25105,10 @@ GAME( 200?, sc4paytm ,0, sc4, sc4, sc4, ROT0, "BFM","Pay Time (Bellfruit) (Sco
const stepper_interface* sc4pgold_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
0,
};
@@ -25416,9 +25416,9 @@ GAME( 200?, sc4rbankc ,sc4rbank, sc4, sc4, sc4, ROT0, "BFM","Royle Banker (Bellf
const stepper_interface* sc4royle_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
0,
@@ -25784,11 +25784,11 @@ GAME( 200?, sc4tload ,0, sc4, sc4, sc4, ROT0, "Mazooma","Top Loader (Mazooma)
const stepper_interface* sc4ticlb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -26112,12 +26112,12 @@ GAME( 200?, sc4bbust ,sc4blokq, sc4, sc4, sc4, ROT0, "Mazooma","Blockbuster (Maz
const stepper_interface* sc4clbtm_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4clbtm )
@@ -26282,9 +26282,9 @@ GAME( 200?, sc4bobi ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Maz
const stepper_interface* sc4bull_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
0,
@@ -26467,12 +26467,12 @@ GAME( 200?, sc4crnjwa ,sc4crnjw, sc4, sc4, sc4, ROT0, "BFM","Crown Jewels (Bellf
const stepper_interface* sc4dnd_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dnd )
@@ -26516,12 +26516,12 @@ GAME( 200?, sc4dndm ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Dea
const stepper_interface* sc4dndcs_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndcs )
@@ -26548,12 +26548,12 @@ GAME( 200?, sc4dndcse ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndbb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndbb )
@@ -26592,12 +26592,12 @@ GAME( 200?, sc4dndbbi ,sc4dndbb, sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndcl_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndcl )
@@ -26633,12 +26633,12 @@ GAME( 200?, sc4dndclf ,sc4dndcl, sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal O
const stepper_interface* sc4dnddd_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dnddd )
@@ -26675,12 +26675,12 @@ GAME( 200?, sc4dndddg ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndhf_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndhf )
@@ -26721,12 +26721,12 @@ GAME( 200?, sc4dndhfl ,sc4dndhf, sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndys_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndys )
@@ -26760,11 +26760,11 @@ GAME( 200?, sc4dndysc ,sc4dndys, sc4, sc4dndys35, sc4dndys, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndlp_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -26794,12 +26794,12 @@ GAME( 200?, sc4dndlpe ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndra_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndra )
@@ -26833,11 +26833,11 @@ GAME( 200?, sc4dndrae ,sc4dndra, sc4, sc4dndra70, sc4dndra, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndbd_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -26873,12 +26873,12 @@ GAME( 200?, sc4dndbde ,sc4dndbd, sc4, sc4dndbd70, sc4dndbd, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndbr_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndbr )
@@ -26915,11 +26915,11 @@ GAME( 200?, sc4dndbrg ,sc4dndbr, sc4, sc4dndbr70, sc4dndbr, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndcc_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -26956,11 +26956,11 @@ GAME( 200?, sc4dndccf ,sc4dndcc, sc4, sc4dndcc70, sc4dndcc, ROT0, "BFM","Deal Or
const stepper_interface* sc4dnddw_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
};
@@ -26997,12 +26997,12 @@ GAME( 200?, sc4dnddwg ,sc4dnddw, sc4, sc4dnddw70, sc4dnddw, ROT0, "BFM","Deal Or
const stepper_interface* sc4dnddf_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
&starpoint_interface_200step_reel,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dnddf )
@@ -27036,11 +27036,11 @@ GAME( 200?, sc4dnddfe ,sc4dnddf, sc4, sc4dnddf70, sc4dnddf, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndpg_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -27076,11 +27076,11 @@ GAME( 200?, sc4dndpge ,sc4dndpg, sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndtp_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -27117,12 +27117,12 @@ GAME( 200?, sc4dndtpk ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndww_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndww )
@@ -27150,12 +27150,12 @@ GAME( 200?, sc4dndwwd ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndcw_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndcw )
@@ -27181,12 +27181,12 @@ GAME( 200?, sc4dndcwc ,sc4dndcw, sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndtr_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndtr )
@@ -27210,11 +27210,11 @@ GAME( 200?, sc4dndtra ,sc4dndtr, sc4, sc4dndtr70, sc4dndtr, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndwb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
};
@@ -27244,12 +27244,12 @@ GAME( 200?, sc4dndwbg ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndbe_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4dndbe )
@@ -27291,11 +27291,11 @@ GAME( 200?, sc4dndben ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or
const stepper_interface* sc4dndbc_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -27385,12 +27385,12 @@ GAME( 200?, sc4evolg ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scor
const stepper_interface* sc4fguy_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4fguy )
@@ -27446,10 +27446,10 @@ GAME( 200?, sc4gladg ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazoom
const stepper_interface* sc4gd_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
0,
};
@@ -27477,11 +27477,11 @@ GAME( 200?, sc4gdmza ,sc4gdmz, sc4, sc4, sc4, ROT0, "Mazooma","Gold Diggers? / G
const stepper_interface* sc4gdclb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
};
@@ -27509,9 +27509,9 @@ GAME( 200?, sc4gdclbk ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Cl
const stepper_interface* sc4gbcas_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
0,
0,
@@ -27534,11 +27534,11 @@ GAME( 200?, sc4gbcasc ,sc4gbcas, sc4, sc4, sc4gbcas, ROT0, "BFM","Golden Balls C
const stepper_interface* sc4gball_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -27558,12 +27558,12 @@ GAME( 200?, sc4gballc ,sc4gball, sc4, sc4, sc4gball, ROT0, "BFM","Golden Balls (
const stepper_interface* sc4gunp_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4gunp )
@@ -27585,11 +27585,11 @@ GAME( 200?, sc4gunpg ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (B
const stepper_interface* sc4hapnt_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
0,
};
@@ -27610,10 +27610,10 @@ GAME( 200?, sc4hapnte ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (B
const stepper_interface* sc4hntcs_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
0,
};
@@ -27676,9 +27676,9 @@ GAME( 200?, sc4hellbj ,sc4hellb, sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR
const stepper_interface* sc4hill_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
&starpoint_interface_200step_reel,
0,
@@ -28317,11 +28317,11 @@ GAME( 200?, sc4mwwtbd ,sc4mwwtb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel
const stepper_interface* sc4bwow_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
0,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
&starpoint_interface_200step_reel,
};
@@ -28459,12 +28459,12 @@ GAME( 200?, sc4ggdlxg ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Gam
const stepper_interface* sc4gggtb_reel_configs[6] =
{
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
- &starpoint_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
+ &starpointrm20_interface_48step,
};
static DRIVER_INIT( sc4gggtb )
diff --git a/src/mame/drivers/mpu3.c b/src/mame/drivers/mpu3.c
index 0586f079a70..3ec75ee30e2 100644
--- a/src/mame/drivers/mpu3.c
+++ b/src/mame/drivers/mpu3.c
@@ -766,9 +766,10 @@ INPUT_PORTS_END
static const stepper_interface mpu3_reel_interface =
{
MPU3_48STEP_REEL,
- 92,
- 2,
- 0x00
+ 1,
+ 3,
+ 0x00,
+ 2
};
/* Common configurations */
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index 2e0ba52124f..3a17dab74f1 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -2253,18 +2253,10 @@ INPUT_PORTS_END
static const stepper_interface barcrest_reel_interface =
{
BARCREST_48STEP_REEL,
- 92,
- 4,
- 0x00
-};
-
-static const stepper_interface barcrest_reelrev_interface =
-{
- BARCREST_48STEP_REEL,
- 92,
- 4,
+ 1,
+ 3,
0x00,
- 1
+ 2
};
static const stepper_interface barcrest_opto1_interface =
@@ -2272,7 +2264,8 @@ static const stepper_interface barcrest_opto1_interface =
BARCREST_48STEP_REEL,
4,
12,
- 0x00
+ 0x00,
+ 2
};
static const stepper_interface barcrest_opto2_interface =
@@ -2280,7 +2273,8 @@ static const stepper_interface barcrest_opto2_interface =
BARCREST_48STEP_REEL,
92,
3,
- 0x00
+ 0x00,
+ 2
};
static const stepper_interface barcrest_opto3_interface =
@@ -2288,7 +2282,8 @@ static const stepper_interface barcrest_opto3_interface =
BARCREST_48STEP_REEL,
0,
5,
- 0x00
+ 0x00,
+ 2
};
static const stepper_interface bwb_opto1_interface =
@@ -2296,7 +2291,8 @@ static const stepper_interface bwb_opto1_interface =
BARCREST_48STEP_REEL,
96,
3,
- 0x00
+ 0x00,
+ 2
};
/*
@@ -2776,8 +2772,7 @@ static DRIVER_INIT (m_grtecp)
state->m_reels = 5;
state->m_lamp_extender=SMALL_CARD;
// setup 4 default 96 half step reels with the mux board
- mpu4_config_common_reels(machine,4);
- stepper_config(machine, 4, &barcrest_reelrev_interface);
+ mpu4_config_common_reels(machine,5);
state->m_current_chr_table = grtecp_data;
}
diff --git a/src/mame/layout/drwho.lay b/src/mame/layout/drwho.lay
index 9acfdb6bb20..38f657be5ba 100644
--- a/src/mame/layout/drwho.lay
+++ b/src/mame/layout/drwho.lay
@@ -22,28 +22,28 @@
-
+
-
+
-
+
-
+
diff --git a/src/mame/layout/gamball.lay b/src/mame/layout/gamball.lay
index 57f1d3aab4a..ec70aeaf8c8 100644
--- a/src/mame/layout/gamball.lay
+++ b/src/mame/layout/gamball.lay
@@ -255,28 +255,28 @@
-
+
-
+
-
+
-
+
diff --git a/src/mame/machine/steppers.c b/src/mame/machine/steppers.c
index 4d8db3649a3..bc8d0691e24 100644
--- a/src/mame/machine/steppers.c
+++ b/src/mame/machine/steppers.c
@@ -5,6 +5,9 @@
// Emulates : Stepper motors driven with full step or half step //
// also emulates the index optic //
// //
+// 26-05-2012: J. Wallace - Implemented proper phase alignment, we no //
+// longer need reverse interfaces here, the //
+// layout will suffice. Added belt reel handler.//
// 09-04-2012: J. Wallace - Studied some old reel motors and added a //
// number of new stepper types. I am yet to //
// add them to drivers, but barring some init //
@@ -27,6 +30,12 @@
// TODO: add further types of stepper motors if needed (Konami/IGT?) //
// Someone who understands the device system may want to convert //
// this //
+// 200 Step reels can alter their relative opto tab position, //
+// may be worth adding the phase setting to the interface //
+// There are reports that some games use a pulse that is too short//
+// to give a 'judder' effect for holds, etc. We'll need to time //
+// the pulses to keep tack of this without going out of sync. //
+// Check 20RM and Starpoint 200 step //
///////////////////////////////////////////////////////////////////////////
#include "emu.h"
@@ -43,10 +52,10 @@ typedef struct _stepper
const stepper_interface *intf;
UINT8 pattern, /* coil pattern */
old_pattern, /* old coil pattern */
+ initphase,
phase, /* motor phase */
old_phase, /* old phase */
- type, /* reel type */
- reverse; /* Does reel spin backwards (construction of unit, not wiring) */
+ type; /* reel type */
INT16 step_pos, /* step position 0 - max_steps */
max_steps; /* maximum step position */
@@ -60,32 +69,30 @@ typedef struct _stepper
static stepper step[MAX_STEPPERS];
/* useful interfaces (Starpoint is a very common setup)*/
-/* step table, use active coils as row, phase as column*/
const stepper_interface starpoint_interface_48step =
{
STARPOINT_48STEP_REEL,
- 16,
- 24,
- 0x09,//Starpoint tech specs say that the only coil pattern guaranteed to line up the opto is this one
- 0
+ 1,
+ 3,
+ 0x09,
+ 4
};
-const stepper_interface starpoint_interface_48step_reverse =
+const stepper_interface starpointrm20_interface_48step =
{
STARPOINT_48STEP_REEL,
16,
24,
0x09,
- 1
+ 7
};
-
const stepper_interface starpoint_interface_200step_reel =
{
STARPOINT_200STEP_REEL,
12,
24,
0x09,
- 0
+ 7
};
///////////////////////////////////////////////////////////////////////////
@@ -101,13 +108,14 @@ void stepper_config(running_machine &machine, int which, const stepper_interface
step[which].index_start = intf->index_start;/* location of first index value in half steps */
step[which].index_end = intf->index_end; /* location of last index value in half steps */
step[which].index_patt = intf->index_patt; /* hex value of coil pattern (0 if not needed)*/
- step[which].reverse = intf->reverse;
+ step[which].initphase = intf->initphase; /* Phase at 0 steps, for alignment) */
- step[which].phase = 0;
step[which].pattern = 0;
step[which].old_pattern = 0;
step[which].step_pos = 0;
+ step[which].phase = step[which].initphase;
+ step[which].old_phase = step[which].initphase;
switch ( step[which].type )
@@ -136,6 +144,7 @@ void stepper_config(running_machine &machine, int which, const stepper_interface
state_save_register_item(machine, "stepper", NULL, which, step[which].index_start);
state_save_register_item(machine, "stepper", NULL, which, step[which].index_end);
state_save_register_item(machine, "stepper", NULL, which, step[which].index_patt);
+ state_save_register_item(machine, "stepper", NULL, which, step[which].initphase);
state_save_register_item(machine, "stepper", NULL, which, step[which].phase);
state_save_register_item(machine, "stepper", NULL, which, step[which].old_phase);
state_save_register_item(machine, "stepper", NULL, which, step[which].pattern);
@@ -143,7 +152,6 @@ void stepper_config(running_machine &machine, int which, const stepper_interface
state_save_register_item(machine, "stepper", NULL, which, step[which].step_pos);
state_save_register_item(machine, "stepper", NULL, which, step[which].max_steps);
state_save_register_item(machine, "stepper", NULL, which, step[which].type);
- state_save_register_item(machine, "stepper", NULL, which, step[which].reverse);
}
///////////////////////////////////////////////////////////////////////////
@@ -200,13 +208,8 @@ void stepper_reset_position(int which)
step[which].step_pos = 0x00;
step[which].pattern = 0x00;
step[which].old_pattern = 0x00;
- step[which].phase = 0x00;
- if ((step[which].type == STARPOINT_48STEP_REEL)||(step[which].type == STARPOINT_144STEP_DICE)||(step[which].type == STARPOINT_200STEP_REEL))
- {//Starpoint motor power on partially energises reel to a known state (straight up)- Bellfruit games rely on this behaviour.
- step[which].phase = 0x07;
- step[which].old_phase = 0x07;
- }
-
+ step[which].phase = step[which].initphase;
+ step[which].old_phase = step[which].initphase;
update_optic(which);
}
@@ -254,11 +257,10 @@ int stepper_update(int which, UINT8 pattern)
default:
logerror("No reel type specified for %x!\n",which);
break;
-
case STARPOINT_48STEP_REEL : /* STARPOINT RMxxx */
- case STARPOINT_200STEP_REEL :
case GAMESMAN_200STEP_REEL : /* Gamesman GMxxxx */
case STARPOINT_144STEP_DICE :/* STARPOINT 1DCU DICE mechanism */
+ case STARPOINT_200STEP_REEL :/* STARPOINT 1DCU DICE mechanism */
//Standard drive table is 2,6,4,5,1,9,8,a
//NOTE: This runs through the stator patterns in such a way as to drive the reel forward (downwards from the player's view, clockwise on our rose)
//The Heber 'Pluto' controller runs this in reverse
@@ -323,7 +325,7 @@ int stepper_update(int which, UINT8 pattern)
//Gamesman 48 step uses this pattern shifted one place forward, though this shouldn't matter
switch (pattern)
{
- // Yellow Black Orange Brown
+ // Yellow Brown Orange Black
case 0x01:// 0 0 0 1
step[which].phase = 7;
break;
@@ -350,7 +352,7 @@ int stepper_update(int which, UINT8 pattern)
break;
// The below values should not be used by anything sane, as they effectively ignore one stator side entirely
- // Yellow Black Orange Brown
+ // Yellow Brown Orange Black
case 0x05:// 0 1 0 1
{
if ((step[which].old_phase ==6)||(step[which].old_phase == 0)) // if the previous pattern had the drum in the northern quadrant, it will point north now
@@ -386,7 +388,7 @@ int stepper_update(int which, UINT8 pattern)
*/
switch (pattern)
{
- // Yellow(2) Black(1) Orange(!2) Brown(!1)
+ // Yellow(2) Brown(1) Orange(!2) Black(!1)
case 0x00 :// 0 0 1 1
step[which].phase = 6;
break;
@@ -539,14 +541,7 @@ int stepper_update(int which, UINT8 pattern)
if (max!=0)
{
- if (step[which].reverse)
- {
- pos = (step[which].step_pos - steps + max) % max;
- }
- else
- {
- pos = (step[which].step_pos + steps + max) % max;
- }
+ pos = (step[which].step_pos + steps + max) % max;
}
else
{
diff --git a/src/mame/machine/steppers.h b/src/mame/machine/steppers.h
index 7c0a4c0211c..caf7f4c8595 100644
--- a/src/mame/machine/steppers.h
+++ b/src/mame/machine/steppers.h
@@ -41,10 +41,12 @@ struct _stepper_interface
INT16 index_start;/* start position of index (in half steps) */
INT16 index_end; /* end position of index (in half steps) */
INT16 index_patt; /* pattern needed on coils (0=don't care) */
- UINT8 reverse; /* Reel spins in reverse (symbols appear from the bottom) */
+ UINT8 initphase; /* Phase at 0, for opto linkage */
};
extern const stepper_interface starpoint_interface_48step;
+extern const stepper_interface starpointrm20_interface_48step;
+
extern const stepper_interface starpoint_interface_200step_reel;
void stepper_config(running_machine &machine, int which, const stepper_interface *intf);