summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rotaryf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rotaryf.cpp')
-rw-r--r--src/mame/drivers/rotaryf.cpp64
1 files changed, 32 insertions, 32 deletions
diff --git a/src/mame/drivers/rotaryf.cpp b/src/mame/drivers/rotaryf.cpp
index fa488f63ae0..362f81b2388 100644
--- a/src/mame/drivers/rotaryf.cpp
+++ b/src/mame/drivers/rotaryf.cpp
@@ -263,13 +263,13 @@ static INPUT_PORTS_START( rotaryf )
INPUT_PORTS_END
-MACHINE_CONFIG_START(rotaryf_state::rotaryf)
-
+void rotaryf_state::rotaryf(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu",I8085A,4000000) /* ?? MHz */
- MCFG_DEVICE_PROGRAM_MAP(rotaryf_map)
- MCFG_DEVICE_IO_MAP(rotaryf_io_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", rotaryf_state, rotaryf_interrupt, "screen", 0, 1)
+ I8085A(config, m_maincpu, 4000000); /* ?? MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &rotaryf_state::rotaryf_map);
+ m_maincpu->set_addrmap(AS_IO, &rotaryf_state::rotaryf_io_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(rotaryf_state::rotaryf_interrupt), "screen", 0, 1);
i8255_device &ppi(I8255(config, "ppi"));
ppi.out_pa_callback().set(FUNC(rotaryf_state::porta_w));
@@ -278,35 +278,35 @@ MACHINE_CONFIG_START(rotaryf_state::rotaryf)
//ppi.tri_pc_callback().set_constant(0);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_SIZE(32*8, 262) /* vert size is a guess, taken from mw8080bw */
- MCFG_SCREEN_VISIBLE_AREA(1*8, 30*8-1, 0*8, 32*8-1)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_UPDATE_DRIVER(rotaryf_state, screen_update)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_size(32*8, 262); /* vert size is a guess, taken from mw8080bw */
+ screen.set_visarea(1*8, 30*8-1, 0*8, 32*8-1);
+ screen.set_refresh_hz(60);
+ screen.set_screen_update(FUNC(rotaryf_state::screen_update));
SPEAKER(config, "mono").front_center();
- MCFG_DEVICE_ADD("snsnd", SN76477)
- MCFG_SN76477_NOISE_PARAMS(0, 0, 0) // noise + filter: N/C
- MCFG_SN76477_DECAY_RES(0) // decay_res: N/C
- MCFG_SN76477_ATTACK_PARAMS(0, RES_K(100)) // attack_decay_cap + attack_res
- MCFG_SN76477_AMP_RES(RES_K(56)) // amplitude_res
- MCFG_SN76477_FEEDBACK_RES(RES_K(10)) // feedback_res
- MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(8.2)) // VCO volt + cap + res
- MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage
- MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res
- MCFG_SN76477_ONESHOT_PARAMS(0, 0) // oneshot caps + res: N/C
- MCFG_SN76477_VCO_MODE(1) // VCO mode
- MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
- MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
- MCFG_SN76477_ENABLE(1) // enable
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
-
- MCFG_DEVICE_ADD("samples", SAMPLES)
- MCFG_SAMPLES_CHANNELS(6)
- MCFG_SAMPLES_NAMES(rotaryf_sample_names)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
-MACHINE_CONFIG_END
+ SN76477(config, m_sn);
+ m_sn->set_noise_params(0, 0, 0);
+ m_sn->set_decay_res(0);
+ m_sn->set_attack_params(0, RES_K(100));
+ m_sn->set_amp_res(RES_K(56));
+ m_sn->set_feedback_res(RES_K(10));
+ m_sn->set_vco_params(0, CAP_U(0.1), RES_K(8.2));
+ m_sn->set_pitch_voltage(5.0);
+ m_sn->set_slf_params(CAP_U(1.0), RES_K(120));
+ m_sn->set_oneshot_params(0, 0);
+ m_sn->set_vco_mode(1);
+ m_sn->set_mixer_params(0, 0, 0);
+ m_sn->set_envelope_params(1, 0);
+ m_sn->set_enable(1);
+ m_sn->add_route(ALL_OUTPUTS, "mono", 0.5);
+
+ SAMPLES(config, m_samples);
+ m_samples->set_channels(6);
+ m_samples->set_samples_names(rotaryf_sample_names);
+ m_samples->add_route(ALL_OUTPUTS, "mono", 1.0);
+}
ROM_START( rotaryf )