summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mpu4hw.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mpu4hw.c')
-rw-r--r--src/mame/drivers/mpu4hw.c299
1 files changed, 179 insertions, 120 deletions
diff --git a/src/mame/drivers/mpu4hw.c b/src/mame/drivers/mpu4hw.c
index 2373500aa75..46c6777a0f9 100644
--- a/src/mame/drivers/mpu4hw.c
+++ b/src/mame/drivers/mpu4hw.c
@@ -377,39 +377,39 @@ void mpu4_state::update_meters()
case FIVE_REEL_5TO8:
m_reel4->update(((data >> 4) & 0x0f));
data = (data & 0x0F); //Strip reel data from meter drives, leaving active elements
- awp_draw_reel(4, m_reel4);
+ awp_draw_reel("reel5", m_reel4);
break;
case FIVE_REEL_8TO5:
m_reel4->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ;
data = 0x00; //Strip all reel data from meter drives, nothing is connected
- awp_draw_reel(4, m_reel4);
+ awp_draw_reel("reel5", m_reel4);
break;
case FIVE_REEL_3TO6:
m_reel4->update(((data >> 2) & 0x0f));
data = 0x00; //Strip all reel data from meter drives
- awp_draw_reel(4, m_reel4);
+ awp_draw_reel("reel5", m_reel4);
break;
case SIX_REEL_1TO8:
m_reel4->update( data & 0x0f);
m_reel5->update((data >> 4) & 0x0f);
data = 0x00; //Strip all reel data from meter drives
- awp_draw_reel(4, m_reel4);
- awp_draw_reel(5, m_reel5);
+ awp_draw_reel("reel5", m_reel4);
+ awp_draw_reel("reel6", m_reel5);
break;
case SIX_REEL_5TO8:
m_reel4->update(((data >> 4) & 0x0f));
data = 0x00; //Strip all reel data from meter drives
- awp_draw_reel(4, m_reel4);
+ awp_draw_reel("reel5", m_reel4);
break;
case SEVEN_REEL:
m_reel0->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ;
data = 0x00; //Strip all reel data from meter drives
- awp_draw_reel(0, m_reel0);
+ awp_draw_reel("reel1", m_reel0);
break;
case FLUTTERBOX: //The backbox fan assembly fits in a reel unit sized box, wired to the remote meter pin, so we can handle it here
@@ -900,16 +900,16 @@ WRITE8_MEMBER(mpu4_state::pia_ic5_porta_w)
{
m_reel4->update( data &0x0F);
m_reel5->update((data >> 4)&0x0F);
- awp_draw_reel(4, m_reel4);
- awp_draw_reel(5, m_reel5);
+ awp_draw_reel("reel5", m_reel4);
+ awp_draw_reel("reel6", m_reel5);
}
else
if (m_reel_mux == SEVEN_REEL)
{
m_reel1->update( data &0x0F);
m_reel2->update((data >> 4)&0x0F);
- awp_draw_reel(1, m_reel1);
- awp_draw_reel(2, m_reel2);
+ awp_draw_reel("reel2", m_reel1);
+ awp_draw_reel("reel3", m_reel2);
}
if (core_stricmp(machine().system().name, "m4gambal") == 0)
@@ -1124,15 +1124,15 @@ WRITE8_MEMBER(mpu4_state::pia_ic6_portb_w)
{
m_reel3->update( data &0x0F);
m_reel4->update((data >> 4)&0x0F);
- awp_draw_reel(3, m_reel3);
- awp_draw_reel(4, m_reel4);
+ awp_draw_reel("reel4", m_reel3);
+ awp_draw_reel("reel5", m_reel4);
}
else if (m_reels)
{
m_reel0->update( data &0x0F);
m_reel1->update((data >> 4)&0x0F);
- awp_draw_reel(0, m_reel0);
- awp_draw_reel(1, m_reel1);
+ awp_draw_reel("reel1", m_reel0);
+ awp_draw_reel("reel2", m_reel1);
}
}
@@ -1180,15 +1180,15 @@ WRITE8_MEMBER(mpu4_state::pia_ic7_porta_w)
{
m_reel5->update( data &0x0F);
m_reel6->update((data >> 4)&0x0F);
- awp_draw_reel(5, m_reel5);
- awp_draw_reel(6, m_reel6);
+ awp_draw_reel("reel6", m_reel5);
+ awp_draw_reel("reel7", m_reel7);
}
else if (m_reels)
{
m_reel2->update( data &0x0F);
m_reel3->update((data >> 4)&0x0F);
- awp_draw_reel(2, m_reel2);
- awp_draw_reel(3, m_reel3);
+ awp_draw_reel("reel3", m_reel2);
+ awp_draw_reel("reel4", m_reel3);
}
}
@@ -1850,52 +1850,7 @@ INPUT_PORTS_START( grtecp )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")//PORT_IMPULSE(5)
INPUT_PORTS_END
-static const stepper_interface barcrest_reel_interface =
-{
- BARCREST_48STEP_REEL,
- 1,
- 3,
- 0x00,
- 2
-};
-
-static const stepper_interface barcrest_opto1_interface =
-{
- BARCREST_48STEP_REEL,
- 4,
- 12,
- 0x00,
- 2
-};
-
-static const stepper_interface barcrest_opto2_interface =
-{
- BARCREST_48STEP_REEL,
- 92,
- 3,
- 0x00,
- 2
-};
-
-#if 0
-static const stepper_interface barcrest_opto3_interface =
-{
- BARCREST_48STEP_REEL,
- 0,
- 5,
- 0x00,
- 2
-};
-#endif
-static const stepper_interface bwb_opto1_interface =
-{
- BARCREST_48STEP_REEL,
- 96,
- 3,
- 0x00,
- 2
-};
/*
Characteriser (CHR)
@@ -2324,12 +2279,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m_oldtmr)
m_reel_mux=SIX_REEL_1TO8;
m_reels = 6;
- m_reel0->configure(&barcrest_opto1_interface);
- m_reel1->configure(&barcrest_opto1_interface);
- m_reel2->configure(&barcrest_opto1_interface);
- m_reel3->configure(&barcrest_opto1_interface);
- m_reel4->configure(&barcrest_opto1_interface);
- m_reel5->configure(&barcrest_opto1_interface);
DRIVER_INIT_CALL(m4default_banks);
m_current_chr_table = oldtmr_data;
@@ -2340,12 +2289,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m4altreels)
m_reel_mux=SIX_REEL_1TO8;
m_reels = 6;
- m_reel0->configure(&barcrest_opto1_interface);
- m_reel1->configure(&barcrest_opto1_interface);
- m_reel2->configure(&barcrest_opto1_interface);
- m_reel3->configure(&barcrest_opto1_interface);
- m_reel4->configure(&barcrest_opto1_interface);
- m_reel5->configure(&barcrest_opto1_interface);
DRIVER_INIT_CALL(m4default_banks);
}
@@ -2367,12 +2310,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m_grtecp)
m_reel_mux=FIVE_REEL_5TO8;
m_reels = 5;
m_lamp_extender=SMALL_CARD;
- // setup 4 default 96 half step reels with the mux board
- m_reel0->configure(&barcrest_reel_interface);
- m_reel1->configure(&barcrest_reel_interface);
- m_reel2->configure(&barcrest_reel_interface);
- m_reel3->configure(&barcrest_reel_interface);
- m_reel4->configure(&barcrest_reel_interface);
DRIVER_INIT_CALL(m4default_banks);
m_current_chr_table = grtecp_data;
@@ -2383,11 +2320,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m_blsbys)
m_bwb_bank=1;
m_reel_mux=FIVE_REEL_5TO8;
m_reels = 5;
- m_reel0->configure(&bwb_opto1_interface);
- m_reel1->configure(&bwb_opto1_interface);
- m_reel2->configure(&bwb_opto1_interface);
- m_reel3->configure(&bwb_opto1_interface);
- m_reel4->configure(&bwb_opto1_interface);
m_bwb_chr_table1 = blsbys_data1;
m_current_chr_table = blsbys_data;
DRIVER_INIT_CALL(m4default_big);
@@ -2397,10 +2329,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m4default_reels)
{
m_reel_mux=STANDARD_REEL;
m_reels = 4;
- m_reel0->configure(&barcrest_reel_interface);
- m_reel1->configure(&barcrest_reel_interface);
- m_reel2->configure(&barcrest_reel_interface);
- m_reel3->configure(&barcrest_reel_interface);
m_bwb_bank=0;
}
@@ -2416,14 +2344,6 @@ DRIVER_INIT_MEMBER(mpu4_state,m4default_alt)
{
m_reel_mux=STANDARD_REEL;
m_reels = 8;
- m_reel0->configure(&barcrest_opto2_interface);
- m_reel1->configure(&barcrest_opto2_interface);
- m_reel2->configure(&barcrest_opto2_interface);
- m_reel3->configure(&barcrest_opto2_interface);
- m_reel4->configure(&barcrest_opto2_interface);
- m_reel5->configure(&barcrest_opto2_interface);
- m_reel6->configure(&barcrest_opto2_interface);
- m_reel7->configure(&barcrest_opto2_interface);
DRIVER_INIT_CALL(m4default_banks);
m_bwb_bank=0;
@@ -2550,6 +2470,125 @@ static ADDRESS_MAP_START( mpu4_memmap, AS_PROGRAM, 8, mpu4_state )
AM_RANGE(0x1000, 0xffff) AM_ROMBANK("bank1") /* 64k paged ROM (4 pages) */
ADDRESS_MAP_END
+#define MCFG_MPU4_STD_REEL_ADD(_tag)\
+ MCFG_STEPPER_ADD(_tag)\
+ MCFG_STEPPER_REEL_TYPE(BARCREST_48STEP_REEL)\
+ MCFG_STEPPER_START_INDEX(1)\
+ MCFG_STEPPER_END_INDEX(3)\
+ MCFG_STEPPER_INDEX_PATTERN(0x00)\
+ MCFG_STEPPER_INIT_PHASE(2)
+
+#define MCFG_MPU4_TYPE2_REEL_ADD(_tag)\
+ MCFG_STEPPER_ADD(_tag)\
+ MCFG_STEPPER_REEL_TYPE(BARCREST_48STEP_REEL)\
+ MCFG_STEPPER_START_INDEX(4)\
+ MCFG_STEPPER_END_INDEX(12)\
+ MCFG_STEPPER_INDEX_PATTERN(0x00)\
+ MCFG_STEPPER_INIT_PHASE(2)
+
+#define MCFG_MPU4_TYPE3_REEL_ADD(_tag)\
+ MCFG_STEPPER_ADD(_tag)\
+ MCFG_STEPPER_REEL_TYPE(BARCREST_48STEP_REEL)\
+ MCFG_STEPPER_START_INDEX(92)\
+ MCFG_STEPPER_END_INDEX(3)\
+ MCFG_STEPPER_INDEX_PATTERN(0x00)\
+ MCFG_STEPPER_INIT_PHASE(2)
+
+#define MCFG_MPU4_BWB_REEL_ADD(_tag)\
+ MCFG_STEPPER_ADD(_tag)\
+ MCFG_STEPPER_REEL_TYPE(BARCREST_48STEP_REEL)\
+ MCFG_STEPPER_START_INDEX(96)\
+ MCFG_STEPPER_END_INDEX(3)\
+ MCFG_STEPPER_INDEX_PATTERN(0x00)\
+ MCFG_STEPPER_INIT_PHASE(2)
+
+
+MACHINE_CONFIG_FRAGMENT( mpu4_std_4reel )
+ MCFG_MPU4_STD_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_FRAGMENT( mpu4_std_5reel )
+ MCFG_MPU4_STD_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel4")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_FRAGMENT( mpu4_std_6reel )
+ MCFG_MPU4_STD_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel4")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+ MCFG_MPU4_STD_REEL_ADD("reel5")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_FRAGMENT( mpu4_type2_6reel )
+ MCFG_MPU4_TYPE2_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_TYPE2_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_TYPE2_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_TYPE2_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+ MCFG_MPU4_TYPE2_REEL_ADD("reel4")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+ MCFG_MPU4_TYPE2_REEL_ADD("reel5")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
+MACHINE_CONFIG_END
+
+
+MACHINE_CONFIG_FRAGMENT( mpu4_bwb_5reel )
+ MCFG_MPU4_BWB_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_BWB_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_BWB_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_BWB_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+ MCFG_MPU4_BWB_REEL_ADD("reel4")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_FRAGMENT( mpu4_alt_7reel )
+ MCFG_MPU4_TYPE3_REEL_ADD("reel0")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel1")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel2")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel3")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel4")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel5")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel6")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
+ MCFG_MPU4_TYPE3_REEL_ADD("reel7")
+ MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
+MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( mpu4_common )
MCFG_TIMER_DRIVER_ADD_PERIODIC("50hz", mpu4_state, gen_50hz, attotime::from_hz(100))
@@ -2616,23 +2655,6 @@ MACHINE_CONFIG_FRAGMENT( mpu4_common )
MCFG_PIA_IRQA_HANDLER(WRITELINE(mpu4_state, cpu0_irq))
MCFG_PIA_IRQB_HANDLER(WRITELINE(mpu4_state, cpu0_irq))
-
- MCFG_DEVICE_ADD("reel0", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel0_optic_cb))
- MCFG_DEVICE_ADD("reel1", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel1_optic_cb))
- MCFG_DEVICE_ADD("reel2", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel2_optic_cb))
- MCFG_DEVICE_ADD("reel3", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel3_optic_cb))
- MCFG_DEVICE_ADD("reel4", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel4_optic_cb))
- MCFG_DEVICE_ADD("reel5", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel5_optic_cb))
- MCFG_DEVICE_ADD("reel6", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel6_optic_cb))
- MCFG_DEVICE_ADD("reel7", STEPPER, 0)
- MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(mpu4_state, reel7_optic_cb))
MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( mpu4_common2 )
@@ -2660,10 +2682,8 @@ MACHINE_CONFIG_START( mpu4base, mpu4_state )
MCFG_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(mpu4_memmap)
-
MCFG_FRAGMENT_ADD(mpu4_common)
-
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -2678,15 +2698,25 @@ MACHINE_CONFIG_DERIVED( mod2 , mpu4base )
MCFG_AY8910_RES_LOADS(820, 0, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
-
+ MCFG_FRAGMENT_ADD(mpu4_std_6reel)
MACHINE_CONFIG_END
+MACHINE_CONFIG_DERIVED( mod2_alt , mpu4base )
+ MCFG_SOUND_ADD("ay8913", AY8913, MPU4_MASTER_CLOCK/4)
+ MCFG_AY8910_OUTPUT_TYPE(AY8910_SINGLE_OUTPUT)
+ MCFG_AY8910_RES_LOADS(820, 0, 0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
+ MCFG_FRAGMENT_ADD(mpu4_type2_6reel)
+MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( mod4yam, mpu4base )
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam)
+ MCFG_FRAGMENT_ADD(mpu4_std_6reel)
+
MCFG_SOUND_ADD("ym2413", YM2413, MPU4_MASTER_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
@@ -2696,14 +2726,43 @@ MACHINE_CONFIG_DERIVED( mod4oki, mpu4base )
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
MCFG_FRAGMENT_ADD(mpu4_common2)
+ MCFG_FRAGMENT_ADD(mpu4_std_6reel)
+
+ MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_DERIVED( mod4oki_alt, mpu4base )
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
+
+ MCFG_FRAGMENT_ADD(mpu4_common2)
+ MCFG_FRAGMENT_ADD(mpu4_type2_6reel)
MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED( bwboki, mod4oki )
+MACHINE_CONFIG_DERIVED( mod4oki_5r, mpu4base )
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
+
+ MCFG_FRAGMENT_ADD(mpu4_common2)
+ MCFG_FRAGMENT_ADD(mpu4_std_5reel)
+
+ MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_DERIVED( bwboki, mpu4base )
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb)
+ MCFG_FRAGMENT_ADD(mpu4_common2)
+ MCFG_FRAGMENT_ADD(mpu4_bwb_5reel)
+
+ MCFG_SOUND_ADD("msm6376", OKIM6376, 128000) //16KHz sample Can also be 85430 at 10.5KHz and 64000 at 8KHz
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(mpu4crys, mod2 )