summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/darius.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/darius.c')
-rw-r--r--src/mame/drivers/darius.c117
1 files changed, 56 insertions, 61 deletions
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index a7db1d3483e..5013dd57833 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -836,81 +836,79 @@ static void darius_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( darius )
+void darius_state::machine_start()
{
- darius_state *state = machine.driver_data<darius_state>();
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x8000);
- state->membank("bank1")->configure_entry(4, state->memregion("audiocpu")->base());
- state->membank("bank1")->set_entry(4);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_cpub = machine.device("cpub");
- state->m_adpcm = machine.device("adpcm");
- state->m_pc080sn = machine.device("pc080sn");
- state->m_tc0140syt = machine.device("tc0140syt");
-
- state->m_lscreen = machine.device("lscreen");
- state->m_mscreen = machine.device("mscreen");
- state->m_rscreen = machine.device("rscreen");
-
- state->m_filter0_0l = machine.device("filter0.0l");
- state->m_filter0_0r = machine.device("filter0.0r");
- state->m_filter0_1l = machine.device("filter0.1l");
- state->m_filter0_1r = machine.device("filter0.1r");
- state->m_filter0_2l = machine.device("filter0.2l");
- state->m_filter0_2r = machine.device("filter0.2r");
- state->m_filter0_3l = machine.device("filter0.3l");
- state->m_filter0_3r = machine.device("filter0.3r");
-
- state->m_filter1_0l = machine.device("filter1.0l");
- state->m_filter1_0r = machine.device("filter1.0r");
- state->m_filter1_1l = machine.device("filter1.1l");
- state->m_filter1_1r = machine.device("filter1.1r");
- state->m_filter1_2l = machine.device("filter1.2l");
- state->m_filter1_2r = machine.device("filter1.2r");
- state->m_filter1_3l = machine.device("filter1.3l");
- state->m_filter1_3r = machine.device("filter1.3r");
-
- state->m_msm5205_l = machine.device("msm5205.l");
- state->m_msm5205_r = machine.device("msm5205.r");
-
- state->save_item(NAME(state->m_cpua_ctrl));
- state->save_item(NAME(state->m_coin_word));
-
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_adpcm_command));
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_vol));
- state->save_item(NAME(state->m_pan));
- machine.save().register_postload(save_prepost_delegate(FUNC(darius_postload), &machine));
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
+ membank("bank1")->configure_entry(4, memregion("audiocpu")->base());
+ membank("bank1")->set_entry(4);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_cpub = machine().device("cpub");
+ m_adpcm = machine().device("adpcm");
+ m_pc080sn = machine().device("pc080sn");
+ m_tc0140syt = machine().device("tc0140syt");
+
+ m_lscreen = machine().device("lscreen");
+ m_mscreen = machine().device("mscreen");
+ m_rscreen = machine().device("rscreen");
+
+ m_filter0_0l = machine().device("filter0.0l");
+ m_filter0_0r = machine().device("filter0.0r");
+ m_filter0_1l = machine().device("filter0.1l");
+ m_filter0_1r = machine().device("filter0.1r");
+ m_filter0_2l = machine().device("filter0.2l");
+ m_filter0_2r = machine().device("filter0.2r");
+ m_filter0_3l = machine().device("filter0.3l");
+ m_filter0_3r = machine().device("filter0.3r");
+
+ m_filter1_0l = machine().device("filter1.0l");
+ m_filter1_0r = machine().device("filter1.0r");
+ m_filter1_1l = machine().device("filter1.1l");
+ m_filter1_1r = machine().device("filter1.1r");
+ m_filter1_2l = machine().device("filter1.2l");
+ m_filter1_2r = machine().device("filter1.2r");
+ m_filter1_3l = machine().device("filter1.3l");
+ m_filter1_3r = machine().device("filter1.3r");
+
+ m_msm5205_l = machine().device("msm5205.l");
+ m_msm5205_r = machine().device("msm5205.r");
+
+ save_item(NAME(m_cpua_ctrl));
+ save_item(NAME(m_coin_word));
+
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_adpcm_command));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_vol));
+ save_item(NAME(m_pan));
+ machine().save().register_postload(save_prepost_delegate(FUNC(darius_postload), &machine()));
}
-static MACHINE_RESET( darius )
+void darius_state::machine_reset()
{
- darius_state *state = machine.driver_data<darius_state>();
int i;
- state->m_cpua_ctrl = 0xff;
- state->m_banknum = 0;
- state->m_coin_word = 0;
- state->m_adpcm_command = 0;
- state->m_nmi_enable = 0;
+ m_cpua_ctrl = 0xff;
+ m_banknum = 0;
+ m_coin_word = 0;
+ m_adpcm_command = 0;
+ m_nmi_enable = 0;
- machine.sound().system_enable(true); /* mixer enabled */
+ machine().sound().system_enable(true); /* mixer enabled */
for (i = 0; i < DARIUS_VOL_MAX; i++)
- state->m_vol[i] = 0x00; /* min volume */
+ m_vol[i] = 0x00; /* min volume */
for (i = 0; i < DARIUS_PAN_MAX; i++)
- state->m_pan[i] = 0x80; /* center */
+ m_pan[i] = 0x80; /* center */
for (i = 0; i < 0x10; i++)
{
//logerror( "calc %d = %d\n", i, (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f)) );
- state->m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
+ m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
}
}
@@ -935,8 +933,6 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame ? */
- MCFG_MACHINE_START(darius)
- MCFG_MACHINE_RESET(darius)
/* video hardware */
MCFG_GFXDECODE(darius)
@@ -964,7 +960,6 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 29*8-1)
MCFG_SCREEN_UPDATE_STATIC(darius_right)
- MCFG_VIDEO_START(darius)
MCFG_PC080SN_ADD("pc080sn", darius_pc080sn_intf)