summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/spartanxtec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/spartanxtec.cpp')
-rw-r--r--src/mame/drivers/spartanxtec.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/mame/drivers/spartanxtec.cpp b/src/mame/drivers/spartanxtec.cpp
index f8258357338..ba840dfc246 100644
--- a/src/mame/drivers/spartanxtec.cpp
+++ b/src/mame/drivers/spartanxtec.cpp
@@ -359,32 +359,32 @@ void spartanxtec_state::spartanxtec_palette(palette_device &palette) const
-void spartanxtec_state::spartanxtec(machine_config &config)
-{
+MACHINE_CONFIG_START(spartanxtec_state::spartanxtec)
+
/* basic machine hardware */
- Z80(config, m_maincpu, 4000000); /* ? MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &spartanxtec_state::spartanxtec_map);
- m_maincpu->set_vblank_int("screen", FUNC(spartanxtec_state::irq0_line_assert));
+ MCFG_DEVICE_ADD("maincpu", Z80,4000000) /* ? MHz */
+ MCFG_DEVICE_PROGRAM_MAP(spartanxtec_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spartanxtec_state, irq0_line_assert)
- Z80(config, m_audiocpu, 4000000);
- m_audiocpu->set_addrmap(AS_PROGRAM, &spartanxtec_state::spartanxtec_sound_map);
- m_audiocpu->set_addrmap(AS_IO, &spartanxtec_state::spartanxtec_sound_io);
- m_audiocpu->set_periodic_int(FUNC(spartanxtec_state::irq0_line_assert), attotime::from_hz(1000)); // controls speed of music
-// m_audiocpu->set_vblank_int("screen", FUNC(spartanxtec_state::irq0_line_hold));
+ MCFG_DEVICE_ADD("audiocpu", Z80,4000000)
+ MCFG_DEVICE_PROGRAM_MAP(spartanxtec_sound_map)
+ MCFG_DEVICE_IO_MAP(spartanxtec_sound_io)
+ MCFG_DEVICE_PERIODIC_INT_DRIVER(spartanxtec_state, irq0_line_assert, 1000) // controls speed of music
+// MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spartanxtec_state, irq0_line_hold)
/* video hardware */
// todo, proper screen timings for this bootleg PCB - as visible area is less it's probably ~60hz, not 55
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(1790));
- screen.set_size(64*8, 32*8);
- screen.set_visarea((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1-16);
- screen.set_screen_update(FUNC(spartanxtec_state::screen_update_spartanxtec));
- screen.set_palette(m_palette);
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1790))
+ MCFG_SCREEN_SIZE(64*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1-16)
+ MCFG_SCREEN_UPDATE_DRIVER(spartanxtec_state, screen_update_spartanxtec)
+ MCFG_SCREEN_PALETTE(m_palette)
PALETTE(config, m_palette, FUNC(spartanxtec_state::spartanxtec_palette), 0x200);
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_news);
+ MCFG_DEVICE_ADD(m_gfxdecode, GFXDECODE, m_palette, gfx_news)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -397,7 +397,8 @@ void spartanxtec_state::spartanxtec(machine_config &config)
AY8912(config, "ay2", 1000000).add_route(ALL_OUTPUTS, "mono", 0.25);
AY8912(config, "ay3", 1000000).add_route(ALL_OUTPUTS, "mono", 0.25);
-}
+
+MACHINE_CONFIG_END