diff options
Diffstat (limited to 'src/mame/drivers/mz80.cpp')
-rw-r--r-- | src/mame/drivers/mz80.cpp | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/src/mame/drivers/mz80.cpp b/src/mame/drivers/mz80.cpp index e54591a6114..78a4aaeaba7 100644 --- a/src/mame/drivers/mz80.cpp +++ b/src/mame/drivers/mz80.cpp @@ -277,25 +277,24 @@ TIMER_DEVICE_CALLBACK_MEMBER(mz80_state::ne555_tempo_callback) m_mz80k_tempo_strobe ^= 1; } -void mz80_state::mz80k(machine_config &config) -{ +MACHINE_CONFIG_START(mz80_state::mz80k) /* basic machine hardware */ /* main CPU */ - Z80(config, m_maincpu, XTAL(8'000'000) / 4); /* 2 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &mz80_state::mz80k_mem); - m_maincpu->set_addrmap(AS_IO, &mz80_state::mz80k_io); + MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000) / 4) /* 2 MHz */ + MCFG_DEVICE_PROGRAM_MAP(mz80k_mem) + MCFG_DEVICE_IO_MAP(mz80k_io) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_size(320, 200); - screen.set_visarea(0, 319, 0, 199); - screen.set_screen_update(FUNC(mz80_state::screen_update_mz80k)); - screen.set_palette("palette"); - - GFXDECODE(config, "gfxdecode", "palette", gfx_mz80k); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_SIZE(320, 200) + MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 199) + MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80k) + MCFG_SCREEN_PALETTE("palette") + + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_mz80k) PALETTE(config, "palette", palette_device::MONOCHROME); /* Audio */ @@ -318,26 +317,24 @@ void mz80_state::mz80k(machine_config &config) m_pit->set_clk<2>(0); m_pit->out_handler<2>().set(FUNC(mz80_state::pit_out2_changed)); - TIMER(config, "tempo").configure_periodic(FUNC(mz80_state::ne555_tempo_callback), attotime::from_hz(34)); - CASSETTE(config, m_cassette); - m_cassette->set_formats(mz700_cassette_formats); - m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED); -} + MCFG_TIMER_DRIVER_ADD_PERIODIC("tempo", mz80_state, ne555_tempo_callback, attotime::from_hz(34)) + MCFG_CASSETTE_ADD( "cassette" ) + MCFG_CASSETTE_FORMATS(mz700_cassette_formats) + MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED) +MACHINE_CONFIG_END -void mz80_state::mz80kj(machine_config &config) -{ +MACHINE_CONFIG_START(mz80_state::mz80kj) mz80k(config); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80kj) + MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_mz80kj) +MACHINE_CONFIG_END - subdevice<screen_device>("screen")->set_screen_update(FUNC(mz80_state::screen_update_mz80kj)); - subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_mz80kj); -} - -void mz80_state::mz80a(machine_config &config) -{ +MACHINE_CONFIG_START(mz80_state::mz80a) mz80k(config); - - subdevice<screen_device>("screen")->set_screen_update(FUNC(mz80_state::screen_update_mz80a)); -} + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80a) +MACHINE_CONFIG_END ROM_START( mz80k ) |