summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/exedexes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/exedexes.cpp')
-rw-r--r--src/mame/drivers/exedexes.cpp48
1 files changed, 25 insertions, 23 deletions
diff --git a/src/mame/drivers/exedexes.cpp b/src/mame/drivers/exedexes.cpp
index 66e5701f002..d8214068174 100644
--- a/src/mame/drivers/exedexes.cpp
+++ b/src/mame/drivers/exedexes.cpp
@@ -63,8 +63,8 @@ void exedexes_state::sound_map(address_map &map)
map(0x4000, 0x47ff).ram();
map(0x6000, 0x6000).r("soundlatch", FUNC(generic_latch_8_device::read));
map(0x8000, 0x8001).w("aysnd", FUNC(ay8910_device::address_data_w));
- map(0x8002, 0x8002).w("sn1", FUNC(sn76489_device::write));
- map(0x8003, 0x8003).w("sn2", FUNC(sn76489_device::write));
+ map(0x8002, 0x8002).w("sn1", FUNC(sn76489_device::command_w));
+ map(0x8003, 0x8003).w("sn2", FUNC(sn76489_device::command_w));
}
@@ -219,31 +219,31 @@ void exedexes_state::machine_reset()
m_sc2on = 0;
}
-void exedexes_state::exedexes(machine_config &config)
-{
+MACHINE_CONFIG_START(exedexes_state::exedexes)
+
/* basic machine hardware */
- Z80(config, m_maincpu, 4000000); /* 4 MHz (?) */
- m_maincpu->set_addrmap(AS_PROGRAM, &exedexes_state::exedexes_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(exedexes_state::exedexes_scanline), "screen", 0, 1);
+ MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */
+ MCFG_DEVICE_PROGRAM_MAP(exedexes_map)
+ MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", exedexes_state, exedexes_scanline, "screen", 0, 1)
- z80_device &audiocpu(Z80(config, "audiocpu", 3000000)); /* 3 MHz ??? */
- audiocpu.set_addrmap(AS_PROGRAM, &exedexes_state::sound_map);
- audiocpu.set_periodic_int(FUNC(exedexes_state::irq0_line_hold), attotime::from_hz(4*60));
+ MCFG_DEVICE_ADD("audiocpu", Z80, 3000000) /* 3 MHz ??? */
+ MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MCFG_DEVICE_PERIODIC_INT_DRIVER(exedexes_state, irq0_line_hold, 4*60)
/* video hardware */
- BUFFERED_SPRITERAM8(config, m_spriteram);
+ MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
- 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(32*8, 32*8);
- screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(exedexes_state::screen_update_exedexes));
- screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
- 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(32*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(exedexes_state, screen_update_exedexes)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
+ MCFG_SCREEN_PALETTE("palette")
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_exedexes);
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_exedexes)
PALETTE(config, m_palette, FUNC(exedexes_state::exedexes_palette), 64*4+64*4+16*16+16*16, 256);
@@ -254,10 +254,12 @@ void exedexes_state::exedexes(machine_config &config)
AY8910(config, "aysnd", 1500000).add_route(ALL_OUTPUTS, "mono", 0.10);
- SN76489(config, "sn1", 3000000).add_route(ALL_OUTPUTS, "mono", 0.36);
+ MCFG_DEVICE_ADD("sn1", SN76489, 3000000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.36)
- SN76489(config, "sn2", 3000000).add_route(ALL_OUTPUTS, "mono", 0.36);
-}
+ MCFG_DEVICE_ADD("sn2", SN76489, 3000000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.36)
+MACHINE_CONFIG_END