diff options
Diffstat (limited to 'src/mame/drivers/spartanxtec.cpp')
-rw-r--r-- | src/mame/drivers/spartanxtec.cpp | 39 |
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 |