diff options
Diffstat (limited to 'src/mame/drivers/pingpong.cpp')
-rw-r--r-- | src/mame/drivers/pingpong.cpp | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/mame/drivers/pingpong.cpp b/src/mame/drivers/pingpong.cpp index bd86b6567a6..9f03d6454fb 100644 --- a/src/mame/drivers/pingpong.cpp +++ b/src/mame/drivers/pingpong.cpp @@ -103,7 +103,7 @@ void pingpong_state::pingpong_map(address_map &map) map(0xa980, 0xa980).portr("DSW2"); map(0xa000, 0xa000).w(FUNC(pingpong_state::coin_w)); /* coin counters + irq enables */ map(0xa200, 0xa200).nopw(); /* SN76496 data latch */ - map(0xa400, 0xa400).w("snsnd", FUNC(sn76496_device::write)); /* trigger read */ + map(0xa400, 0xa400).w("snsnd", FUNC(sn76496_device::command_w)); /* trigger read */ map(0xa600, 0xa600).w("watchdog", FUNC(watchdog_timer_device::reset_w)); } @@ -125,7 +125,7 @@ void pingpong_state::merlinmm_map(address_map &map) map(0xa100, 0xa100).portr("IN2"); map(0xa180, 0xa180).portr("IN3"); map(0xa200, 0xa200).nopw(); /* SN76496 data latch */ - map(0xa400, 0xa400).w("snsnd", FUNC(sn76496_device::write)); /* trigger read */ + map(0xa400, 0xa400).w("snsnd", FUNC(sn76496_device::command_w)); /* trigger read */ map(0xa600, 0xa600).w("watchdog", FUNC(watchdog_timer_device::reset_w)); } @@ -448,22 +448,22 @@ static GFXDECODE_START( gfx_pingpong ) GFXDECODE_END -void pingpong_state::pingpong(machine_config &config) -{ +MACHINE_CONFIG_START(pingpong_state::pingpong) + /* basic machine hardware */ - Z80(config, m_maincpu,18432000/6); /* 3.072 MHz (probably) */ - m_maincpu->set_addrmap(AS_PROGRAM, &pingpong_state::pingpong_map); - TIMER(config, "scantimer").configure_scanline(FUNC(pingpong_state::pingpong_interrupt), "screen", 0, 1); + MCFG_DEVICE_ADD("maincpu",Z80,18432000/6) /* 3.072 MHz (probably) */ + MCFG_DEVICE_PROGRAM_MAP(pingpong_map) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", pingpong_state, pingpong_interrupt, "screen", 0, 1) 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(456, 262); - screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(pingpong_state::screen_update_pingpong)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(456, 262) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(pingpong_state, screen_update_pingpong) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_pingpong); PALETTE(config, m_palette, FUNC(pingpong_state::pingpong_palette), 64*4+64*4, 32); @@ -471,18 +471,20 @@ void pingpong_state::pingpong(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - SN76496(config, "snsnd", 18432000/8).add_route(ALL_OUTPUTS, "mono", 1.0); -} + MCFG_DEVICE_ADD("snsnd", SN76496, 18432000/8) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END /* too fast! */ -void pingpong_state::merlinmm(machine_config &config) -{ +MACHINE_CONFIG_START(pingpong_state::merlinmm) pingpong(config); - m_maincpu->set_addrmap(AS_PROGRAM, &pingpong_state::merlinmm_map); - subdevice<timer_device>("scantimer")->set_callback(FUNC(pingpong_state::merlinmm_interrupt)); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(merlinmm_map) + MCFG_TIMER_MODIFY("scantimer") + MCFG_TIMER_DRIVER_CALLBACK(pingpong_state, merlinmm_interrupt) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); -} +MACHINE_CONFIG_END /*************************************************************************** |