summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ddenlovr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ddenlovr.c')
-rw-r--r--src/mame/drivers/ddenlovr.c75
1 files changed, 41 insertions, 34 deletions
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index 2d1fbb5326b..4b8f32bd24b 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -1537,13 +1537,17 @@ static WRITE16_HANDLER( ddenlovr16_transparency_mask_w )
static WRITE8_DEVICE_HANDLER( quizchq_oki_bank_w )
{
- okim6295_set_bank_base(device, (data & 1) * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 1) * 0x40000);
}
static WRITE16_DEVICE_HANDLER( ddenlovr_oki_bank_w )
{
if (ACCESSING_BITS_0_7)
- okim6295_set_bank_base(device, (data & 7) * 0x40000);
+ {
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 7) * 0x40000);
+ }
}
@@ -1555,7 +1559,8 @@ static WRITE16_DEVICE_HANDLER( quiz365_oki_bank1_w )
if (ACCESSING_BITS_0_7)
{
state->okibank = (state->okibank & 2) | (data & 1);
- okim6295_set_bank_base(device, state->okibank * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base(state->okibank * 0x40000);
}
}
@@ -1566,7 +1571,8 @@ static WRITE16_DEVICE_HANDLER( quiz365_oki_bank2_w )
if (ACCESSING_BITS_0_7)
{
state->okibank = (state->okibank & 1) | ((data & 1) << 1);
- okim6295_set_bank_base(device, state->okibank * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base(state->okibank * 0x40000);
}
}
@@ -1835,7 +1841,7 @@ static WRITE16_HANDLER( ddenlovrk_protection2_w )
dynax_state *state = (dynax_state *)space->machine->driver_data;
COMBINE_DATA(state->protection2);
- okim6295_set_bank_base(state->oki, ((*state->protection2) & 0x7) * 0x40000);
+ state->oki->set_bank_base(((*state->protection2) & 0x7) * 0x40000);
}
static ADDRESS_MAP_START( ddenlovrk_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1960,7 +1966,10 @@ static WRITE16_HANDLER( nettoqc_coincounter_w )
static WRITE16_DEVICE_HANDLER( nettoqc_oki_bank_w )
{
if (ACCESSING_BITS_0_7)
- okim6295_set_bank_base(device, (data & 3) * 0x40000);
+ {
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 3) * 0x40000);
+ }
}
static ADDRESS_MAP_START( nettoqc_map, ADDRESS_SPACE_PROGRAM, 16 )
@@ -2521,7 +2530,8 @@ static WRITE8_HANDLER( hanakanz_palette_w )
static WRITE8_DEVICE_HANDLER( hanakanz_oki_bank_w )
{
- okim6295_set_bank_base(device, (data & 0x40) ? 0x40000 : 0);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 0x40) ? 0x40000 : 0);
}
static READ8_HANDLER( hanakanz_rand_r )
@@ -2707,7 +2717,8 @@ static WRITE8_HANDLER( mjchuuka_coincounter_w )
static WRITE8_DEVICE_HANDLER( mjchuuka_oki_bank_w )
{
// data & 0x08 ?
- okim6295_set_bank_base(device, (data & 0x01) ? 0x40000 : 0);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 0x01) ? 0x40000 : 0);
#ifdef MAME_DEBUG
// popmessage("1e = %02x",data);
@@ -3052,7 +3063,7 @@ ADDRESS_MAP_END
static UINT8 hgokou_player_r( const address_space *space, int player )
{
dynax_state *state = (dynax_state *)space->machine->driver_data;
- UINT8 hopper_bit = ((state->hopper && !(video_screen_get_frame_number(space->machine->primary_screen) % 10)) ? 0 : (1 << 6));
+ UINT8 hopper_bit = ((state->hopper && !(space->machine->primary_screen->frame_number() % 10)) ? 0 : (1 << 6));
if (!BIT(state->input_sel, 0)) return input_port_read(space->machine, player ? "KEY5" : "KEY0") | hopper_bit;
if (!BIT(state->input_sel, 1)) return input_port_read(space->machine, player ? "KEY6" : "KEY1") | hopper_bit;
@@ -3321,7 +3332,7 @@ static WRITE16_HANDLER( akamaru_protection1_w )
COMBINE_DATA(&state->prot_16);
// BCD number?
bank = (((state->prot_16 >> 4) & 0x0f) % 10) * 10 + ((state->prot_16 & 0x0f) % 10);
- okim6295_set_bank_base(state->oki, bank * 0x40000);
+ state->oki->set_bank_base(bank * 0x40000);
// popmessage("bank $%0x (%d)", state->prot_16, bank);
}
@@ -3409,7 +3420,8 @@ static WRITE8_HANDLER( mjflove_rombank_w )
static WRITE8_DEVICE_HANDLER( mjflove_okibank_w )
{
- okim6295_set_bank_base(device, (data & 0x07) * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base((data & 0x07) * 0x40000);
//popmessage("SOUND = %02x", data);
}
@@ -3495,7 +3507,8 @@ ADDRESS_MAP_END
static WRITE8_DEVICE_HANDLER( jongtei_okibank_w )
{
- okim6295_set_bank_base(device, ((data >> 4) & 0x07) * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base(((data >> 4) & 0x07) * 0x40000);
}
static WRITE8_HANDLER( jongtei_dsw_keyb_w )
@@ -3674,7 +3687,8 @@ static READ8_HANDLER( daimyojn_protection_r )
static WRITE8_DEVICE_HANDLER( daimyojn_okibank_w )
{
- okim6295_set_bank_base(device, ((data >> 4) & 0x01) * 0x40000);
+ okim6295_device *oki = downcast<okim6295_device *>(device);
+ oki->set_bank_base(((data >> 4) & 0x01) * 0x40000);
}
static WRITE8_HANDLER( daimyojn_palette_sel_w )
@@ -7564,7 +7578,7 @@ static MACHINE_START( ddenlovr )
state->maincpu = devtag_get_device(machine, "maincpu");
state->soundcpu = devtag_get_device(machine, "soundcpu");
- state->oki = devtag_get_device(machine, "oki");
+ state->oki = machine->device<okim6295_device>("oki");
state_save_register_global(machine, state->input_sel);
state_save_register_global(machine, state->dsw_sel);
@@ -7732,8 +7746,7 @@ static MACHINE_DRIVER_START( ddenlovr )
MDRV_SOUND_ADD("aysnd", AY8910, XTAL_28_63636MHz / 16) // or /8 ?
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
- MDRV_SOUND_ADD("oki", OKIM6295, XTAL_28_63636MHz / 28)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
+ MDRV_OKIM6295_ADD("oki", XTAL_28_63636MHz / 28, OKIM6295_PIN7_HIGH)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -7811,7 +7824,7 @@ static INTERRUPT_GEN( quizchq_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise quizchq would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
if ((++state->irq_count % 60) == 0)
@@ -7861,8 +7874,7 @@ static MACHINE_DRIVER_START( quizchq )
MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
- MDRV_SOUND_ADD("oki", OKIM6295, 1022720)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified
+ MDRV_OKIM6295_ADD("oki", 1022720, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -7897,7 +7909,7 @@ static INTERRUPT_GEN( mmpanic_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise the game would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
if ((++state->irq_count % 60) == 0)
@@ -7948,8 +7960,7 @@ static MACHINE_DRIVER_START( mmpanic )
MDRV_SOUND_ADD("aysnd", AY8910, 3579545)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
- MDRV_SOUND_ADD("oki", OKIM6295, 1022720)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified
+ MDRV_OKIM6295_ADD("oki", 1022720, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -7975,7 +7986,7 @@ static INTERRUPT_GEN( hanakanz_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise quizchq would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
if ((++state->irq_count % 60) == 0)
@@ -8018,8 +8029,7 @@ static MACHINE_DRIVER_START( hanakanz )
MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
- MDRV_SOUND_ADD("oki", OKIM6295, 1022720)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified
+ MDRV_OKIM6295_ADD("oki", 1022720, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -8057,7 +8067,7 @@ static INTERRUPT_GEN( mjchuuka_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise quizchq would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
if ((++state->irq_count % 60) == 0)
@@ -8117,7 +8127,7 @@ static INTERRUPT_GEN( mjmyster_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise quizchq would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
switch (cpu_getiloops(device))
@@ -8175,7 +8185,7 @@ static INTERRUPT_GEN( hginga_irq )
/* I haven't found a irq ack register, so I need this kludge to
make sure I don't lose any interrupt generated by the blitter,
otherwise hginga would lock up. */
- if (device->get_runtime_int(CPUINFO_INT_INPUT_STATE + 0))
+ if (downcast<cpu_device *>(device)->input_state(0))
return;
if ((++state->irq_count % 60) == 0)
@@ -8349,8 +8359,7 @@ static MACHINE_DRIVER_START( jongtei )
MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_28_63636MHz / 8)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
- MDRV_SOUND_ADD("oki", OKIM6295, XTAL_28_63636MHz / 28)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
+ MDRV_OKIM6295_ADD("oki", XTAL_28_63636MHz / 28, OKIM6295_PIN7_HIGH)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -8398,8 +8407,7 @@ static MACHINE_DRIVER_START( sryudens )
MDRV_SOUND_ADD("aysnd", AY8910, XTAL_28_63636MHz / 8)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
- MDRV_SOUND_ADD("oki", OKIM6295, XTAL_28_63636MHz / 28) // ?
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
+ MDRV_OKIM6295_ADD("oki", XTAL_28_63636MHz / 28, OKIM6295_PIN7_HIGH) // ?
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */
@@ -8444,8 +8452,7 @@ static MACHINE_DRIVER_START( daimyojn )
MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_28_63636MHz / 8)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
- MDRV_SOUND_ADD("oki", OKIM6295, XTAL_28_63636MHz / 28)
- MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
+ MDRV_OKIM6295_ADD("oki", XTAL_28_63636MHz / 28, OKIM6295_PIN7_HIGH)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* devices */