diff options
Diffstat (limited to 'src/mame/drivers/metalmx.cpp')
-rw-r--r-- | src/mame/drivers/metalmx.cpp | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/mame/drivers/metalmx.cpp b/src/mame/drivers/metalmx.cpp index a702481129f..2270377cd69 100644 --- a/src/mame/drivers/metalmx.cpp +++ b/src/mame/drivers/metalmx.cpp @@ -527,6 +527,7 @@ void metalmx_state::gsp_map(address_map &map) { map(0x88800000, 0x8880000f).ram(); /* ? */ map(0x88c00000, 0x88c0000f).ram(); /* ? */ + map(0xc0000000, 0xc00003ff).rw(m_gsp, FUNC(tms34020_device::io_register_r), FUNC(tms34020_device::io_register_w)); map(0xff000000, 0xff7fffff).ram().share("gsp_dram"); map(0xff800000, 0xffffffff).ram().share("gsp_vram"); } @@ -656,14 +657,14 @@ INPUT_PORTS_END * *************************************/ -void metalmx_state::metalmx(machine_config &config) -{ - M68EC020(config, m_maincpu, XTAL(14'318'181)); - m_maincpu->set_addrmap(AS_PROGRAM, &metalmx_state::main_map); +MACHINE_CONFIG_START(metalmx_state::metalmx) + + MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(14'318'181)) + MCFG_DEVICE_PROGRAM_MAP(main_map) - ADSP2105(config, m_adsp, XTAL(10'000'000)); - m_adsp->set_addrmap(AS_PROGRAM, &metalmx_state::adsp_program_map); - m_adsp->set_addrmap(AS_DATA, &metalmx_state::adsp_data_map); + MCFG_DEVICE_ADD("adsp", ADSP2105, XTAL(10'000'000)) + MCFG_DEVICE_PROGRAM_MAP(adsp_program_map) + MCFG_DEVICE_DATA_MAP(adsp_data_map) TMS34020(config, m_gsp, 40000000); /* Unverified */ m_gsp->set_addrmap(AS_PROGRAM, &metalmx_state::gsp_map); @@ -672,26 +673,26 @@ void metalmx_state::metalmx(machine_config &config) m_gsp->set_pixels_per_clock(2); m_gsp->output_int().set_inputline("maincpu", 4); - DSP32C(config, m_dsp32c[0], 40000000); /* Unverified */ - m_dsp32c[0]->set_addrmap(AS_PROGRAM, &metalmx_state::dsp32c_1_map); + MCFG_DEVICE_ADD("dsp32c_1", DSP32C, 40000000) /* Unverified */ + MCFG_DEVICE_PROGRAM_MAP(dsp32c_1_map) - DSP32C(config, m_dsp32c[1], 40000000); /* Unverified */ - m_dsp32c[1]->set_addrmap(AS_PROGRAM, &metalmx_state::dsp32c_2_map); + MCFG_DEVICE_ADD("dsp32c_2", DSP32C, 40000000) /* Unverified */ + MCFG_DEVICE_PROGRAM_MAP(dsp32c_2_map) - 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(512, 384); - screen.set_visarea(0, 511, 0, 383); - screen.set_screen_update(FUNC(metalmx_state::screen_update_metalmx)); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(512, 384) + MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383) + MCFG_SCREEN_UPDATE_DRIVER(metalmx_state, screen_update_metalmx) + MCFG_SCREEN_PALETTE("palette") PALETTE(config, "palette", palette_device::RGB_565); ATARI_CAGE(config, m_cage, 0); m_cage->set_speedup(0); // TODO: speedup address m_cage->irq_handler().set(FUNC(metalmx_state::cage_irq_callback)); -} +MACHINE_CONFIG_END void metalmx_state::init_metalmx() |