diff options
Diffstat (limited to 'src/mame/drivers/megazone.cpp')
-rw-r--r-- | src/mame/drivers/megazone.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp index 52548698b5e..5c477f1cf9d 100644 --- a/src/mame/drivers/megazone.cpp +++ b/src/mame/drivers/megazone.cpp @@ -293,15 +293,15 @@ WRITE_LINE_MEMBER(megazone_state::vblank_irq) } -void megazone_state::megazone(machine_config &config) -{ +MACHINE_CONFIG_START(megazone_state::megazone) + /* basic machine hardware */ - KONAMI1(config, m_maincpu, XTAL(18'432'000)/9); /* 2.048 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &megazone_state::megazone_map); + MCFG_DEVICE_ADD("maincpu", KONAMI1, XTAL(18'432'000)/9) /* 2.048 MHz */ + MCFG_DEVICE_PROGRAM_MAP(megazone_map) - Z80(config, m_audiocpu, XTAL(18'432'000)/6); /* Z80 Clock is derived from the H1 signal */ - m_audiocpu->set_addrmap(AS_PROGRAM, &megazone_state::megazone_sound_map); - m_audiocpu->set_addrmap(AS_IO, &megazone_state::megazone_sound_io_map); + MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'432'000)/6) /* Z80 Clock is derived from the H1 signal */ + MCFG_DEVICE_PROGRAM_MAP(megazone_sound_map) + MCFG_DEVICE_IO_MAP(megazone_sound_io_map) I8039(config, m_daccpu, XTAL(14'318'181)/2); /* 7.15909MHz */ m_daccpu->set_addrmap(AS_PROGRAM, &megazone_state::megazone_i8039_map); @@ -309,7 +309,7 @@ void megazone_state::megazone(machine_config &config) m_daccpu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); m_daccpu->p2_out_cb().set(FUNC(megazone_state::i8039_irqen_and_status_w)); - config.m_minimum_quantum = attotime::from_hz(900); + MCFG_QUANTUM_TIME(attotime::from_hz(900)) ls259_device &mainlatch(LS259(config, "mainlatch")); // 13A mainlatch.q_out_cb<0>().set(FUNC(megazone_state::coin_counter_2_w)); @@ -320,14 +320,14 @@ void megazone_state::megazone(machine_config &config) WATCHDOG_TIMER(config, "watchdog"); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(36*8, 32*8); - screen.set_visarea(0*8, 36*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(megazone_state::screen_update_megazone)); - screen.set_palette(m_palette); - screen.screen_vblank().set(FUNC(megazone_state::vblank_irq)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(36*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(megazone_state, screen_update_megazone) + MCFG_SCREEN_PALETTE(m_palette) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, megazone_state, vblank_irq)) GFXDECODE(config, m_gfxdecode, m_palette, gfx_megazone); PALETTE(config, m_palette, FUNC(megazone_state::megazone_palette), 16*16+16*16, 32); @@ -344,15 +344,17 @@ void megazone_state::megazone(machine_config &config) aysnd.add_route(1, "filter.0.1", 0.30); aysnd.add_route(2, "filter.0.2", 0.30); - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // 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); - - FILTER_RC(config, m_filter[0]).add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_RC(config, m_filter[1]).add_route(ALL_OUTPUTS, "speaker", 1.0); - FILTER_RC(config, m_filter[2]).add_route(ALL_OUTPUTS, "speaker", 1.0); -} + MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 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) + + MCFG_DEVICE_ADD("filter.0.0", FILTER_RC) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + MCFG_DEVICE_ADD("filter.0.1", FILTER_RC) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) + MCFG_DEVICE_ADD("filter.0.2", FILTER_RC) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) +MACHINE_CONFIG_END |