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