diff options
Diffstat (limited to 'src/mame/drivers/amaticmg.cpp')
-rw-r--r-- | src/mame/drivers/amaticmg.cpp | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp index 7f6547c4133..5c22c61027c 100644 --- a/src/mame/drivers/amaticmg.cpp +++ b/src/mame/drivers/amaticmg.cpp @@ -846,11 +846,12 @@ void amaticmg_state::machine_reset() * Machine Drivers * ************************************/ -MACHINE_CONFIG_START(amaticmg_state::amaticmg) +void amaticmg_state::amaticmg(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, CPU_CLOCK) /* WRONG! */ - MCFG_DEVICE_PROGRAM_MAP(amaticmg_map) - MCFG_DEVICE_IO_MAP(amaticmg_portmap) + Z80(config, m_maincpu, CPU_CLOCK); /* WRONG! */ + m_maincpu->set_addrmap(AS_PROGRAM, &amaticmg_state::amaticmg_map); + m_maincpu->set_addrmap(AS_IO, &amaticmg_state::amaticmg_portmap); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -866,13 +867,13 @@ MACHINE_CONFIG_START(amaticmg_state::amaticmg) ppi1.out_pc_callback().set(FUNC(amaticmg_state::out_c_w)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(512, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) - MCFG_SCREEN_UPDATE_DRIVER(amaticmg_state, screen_update_amaticmg) - MCFG_SCREEN_PALETTE(m_palette) + 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, 256); + screen.set_visarea_full(); + screen.set_screen_update(FUNC(amaticmg_state::screen_update_amaticmg)); + screen.set_palette(m_palette); mc6845_device &crtc(MC6845(config, "crtc", CRTC_CLOCK)); crtc.set_screen("screen"); @@ -886,9 +887,8 @@ MACHINE_CONFIG_START(amaticmg_state::amaticmg) /* sound hardware */ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("ymsnd", YM3812, SND_CLOCK) /* Y3014B DAC */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) -MACHINE_CONFIG_END + YM3812(config, "ymsnd", SND_CLOCK).add_route(ALL_OUTPUTS, "speaker", 0.5); /* Y3014B DAC */ +} WRITE_LINE_MEMBER(amaticmg_state::amaticmg2_irq) @@ -898,42 +898,40 @@ WRITE_LINE_MEMBER(amaticmg_state::amaticmg2_irq) } -MACHINE_CONFIG_START(amaticmg_state::amaticmg2) +void amaticmg_state::amaticmg2(machine_config &config) +{ amaticmg(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(amaticmg2_portmap) + m_maincpu->set_addrmap(AS_IO, &amaticmg_state::amaticmg2_portmap); I8255A(config, "ppi8255_2"); // MG4: 0x89 -> A:out; B:out; C(h):in; C(l):in. - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(amaticmg_state, screen_update_amaticmg2) + subdevice<screen_device>("screen")->set_screen_update(FUNC(amaticmg_state::screen_update_amaticmg2)); subdevice<mc6845_device>("crtc")->out_vsync_callback().set(FUNC(amaticmg_state::amaticmg2_irq)); - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_amaticmg2) + m_gfxdecode->set_info(gfx_amaticmg2); m_palette->set_init(FUNC(amaticmg_state::amaticmg2_palette)); m_palette->set_entries(0x10000); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(amaticmg_state::amaticmg4) +void amaticmg_state::amaticmg4(machine_config &config) +{ amaticmg(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_IO_MAP(amaticmg4_portmap) + m_maincpu->set_addrmap(AS_IO, &amaticmg_state::amaticmg4_portmap); I8255A(config, "ppi8255_2"); // MG4: 0x89 -> A:out; B:out; C(h):in; C(l):in. - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(amaticmg_state, screen_update_amaticmg2) + subdevice<screen_device>("screen")->set_screen_update(FUNC(amaticmg_state::screen_update_amaticmg2)); subdevice<mc6845_device>("crtc")->out_vsync_callback().set(FUNC(amaticmg_state::amaticmg2_irq)); - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_amaticmg2) + m_gfxdecode->set_info(gfx_amaticmg2); m_palette->set_init(FUNC(amaticmg_state::amaticmg2_palette)); m_palette->set_entries(0x10000); -MACHINE_CONFIG_END +} /************************************ |