summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/metalmx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/metalmx.cpp')
-rw-r--r--src/mame/drivers/metalmx.cpp39
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()