summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/vcombat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vcombat.cpp')
-rw-r--r--src/mame/drivers/vcombat.cpp88
1 files changed, 46 insertions, 42 deletions
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 8bea4d4a40e..a647059e88e 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -348,9 +348,9 @@ WRITE16_MEMBER(vcombat_state::crtc_w)
return;
if (m_crtc_select == 0)
- m_crtc->address_w(space, 0, data >> 8);
+ m_crtc->address_w(data >> 8);
else
- m_crtc->register_w(space, 0, data >> 8);
+ m_crtc->register_w(data >> 8);
m_crtc_select ^= 1;
}
@@ -560,72 +560,75 @@ WRITE_LINE_MEMBER(vcombat_state::sound_update)
m_soundcpu->set_input_line(M68K_IRQ_1, state ? ASSERT_LINE : CLEAR_LINE);
}
-MACHINE_CONFIG_START(vcombat_state::vcombat)
- MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000))
- MCFG_DEVICE_PROGRAM_MAP(main_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert)
+void vcombat_state::vcombat(machine_config &config)
+{
+ M68000(config, m_maincpu, XTAL(12'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &vcombat_state::main_map);
+ m_maincpu->set_vblank_int("screen", FUNC(vcombat_state::irq1_line_assert));
/* The middle board i860 */
- MCFG_DEVICE_ADD("vid_0", I860, XTAL(20'000'000))
- MCFG_DEVICE_PROGRAM_MAP(vid_0_map)
+ I860(config, m_vid_0, XTAL(20'000'000));
+ m_vid_0->set_addrmap(AS_PROGRAM, &vcombat_state::vid_0_map);
/* The top board i860 */
- MCFG_DEVICE_ADD("vid_1", I860, XTAL(20'000'000))
- MCFG_DEVICE_PROGRAM_MAP(vid_1_map)
+ I860(config, m_vid_1, XTAL(20'000'000));
+ m_vid_1->set_addrmap(AS_PROGRAM, &vcombat_state::vid_1_map);
/* Sound CPU */
- MCFG_DEVICE_ADD("soundcpu", M68000, XTAL(12'000'000))
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(vcombat_state, irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */
+ M68000(config, m_soundcpu, XTAL(12'000'000));
+ m_soundcpu->set_addrmap(AS_PROGRAM, &vcombat_state::sound_map);
+ m_soundcpu->set_periodic_int(FUNC(vcombat_state::irq1_line_hold), attotime::from_hz(15000)); /* Remove this if MC6845 is enabled */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,vcombat)
/* Temporary hack for experimenting with timing. */
#if 0
- //MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- MCFG_QUANTUM_PERFECT_CPU("maincpu")
+ //config.m_minimum_quantum = attotime::from_hz(1200);
+ config.m_perfect_cpu_quantum = subtag("maincpu");
#endif
- MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
+ TLC34076(config, m_tlc34076, tlc34076_device::TLC34076_6_BIT);
/* Disabled for now as it can't handle multiple screens */
// MC6845(config, m_crtc, 6000000 / 16);
// m_crtc->set_screen("screen");
config.set_default_layout(layout_dualhsxs);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208)
- MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_main)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208);
+ screen.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_main));
- MCFG_SCREEN_ADD("aux", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208)
- MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_aux)
+ screen_device &aux(SCREEN(config, "aux", SCREEN_TYPE_RASTER));
+ aux.set_raw(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208);
+ aux.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_aux));
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_10BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
-MACHINE_CONFIG_START(vcombat_state::shadfgtr)
- MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000))
- MCFG_DEVICE_PROGRAM_MAP(main_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert)
+void vcombat_state::shadfgtr(machine_config &config)
+{
+ M68000(config, m_maincpu, XTAL(12'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &vcombat_state::main_map);
+ m_maincpu->set_vblank_int("screen", FUNC(vcombat_state::irq1_line_assert));
/* The middle board i860 */
- MCFG_DEVICE_ADD("vid_0", I860, XTAL(20'000'000))
- MCFG_DEVICE_PROGRAM_MAP(vid_0_map)
+ I860(config, m_vid_0, XTAL(20'000'000));
+ m_vid_0->set_addrmap(AS_PROGRAM, &vcombat_state::vid_0_map);
/* Sound CPU */
- MCFG_DEVICE_ADD("soundcpu", M68000, XTAL(12'000'000))
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ M68000(config, m_soundcpu, XTAL(12'000'000));
+ m_soundcpu->set_addrmap(AS_PROGRAM, &vcombat_state::sound_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,shadfgtr)
- MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
+ TLC34076(config, m_tlc34076, tlc34076_device::TLC34076_6_BIT);
MC6845(config, m_crtc, XTAL(20'000'000) / 4 / 16);
m_crtc->set_screen("screen");
@@ -633,15 +636,16 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
m_crtc->set_char_width(16);
m_crtc->out_hsync_callback().set(FUNC(vcombat_state::sound_update));
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(20'000'000) / 4, 320, 0, 256, 277, 0, 224)
- MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_main)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(20'000'000) / 4, 320, 0, 256, 277, 0, 224);
+ screen.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_main));
SPEAKER(config, "speaker").front_center();
- MCFG_DEVICE_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_10BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
ROM_START( vcombat )