diff options
Diffstat (limited to 'src/mame/drivers/superchs.cpp')
-rw-r--r-- | src/mame/drivers/superchs.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp index 6e54657afc4..fd9604c16bf 100644 --- a/src/mame/drivers/superchs.cpp +++ b/src/mame/drivers/superchs.cpp @@ -223,16 +223,16 @@ GFXDECODE_END MACHINE DRIVERS ***********************************************************/ -MACHINE_CONFIG_START(superchs_state::superchs) - +void superchs_state::superchs(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20MHz - verified */ - MCFG_DEVICE_PROGRAM_MAP(superchs_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq2_line_hold) + M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20MHz - verified */ + m_maincpu->set_addrmap(AS_PROGRAM, &superchs_state::superchs_map); + m_maincpu->set_vblank_int("screen", FUNC(superchs_state::irq2_line_hold)); - MCFG_DEVICE_ADD("sub", M68000, XTAL(32'000'000)/2) /* 16MHz - verified */ - MCFG_DEVICE_PROGRAM_MAP(superchs_cpub_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold) + M68000(config, m_subcpu, XTAL(32'000'000)/2); /* 16MHz - verified */ + m_subcpu->set_addrmap(AS_PROGRAM, &superchs_state::superchs_cpub_map); + m_subcpu->set_vblank_int("screen", FUNC(superchs_state::irq4_line_hold)); config.m_minimum_quantum = attotime::from_hz(480); /* Need to interleave CPU 1 & 3 */ @@ -255,13 +255,13 @@ MACHINE_CONFIG_START(superchs_state::superchs) // there are 'vibration' control bits somewhere! /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(40*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(superchs_state, screen_update_superchs) - MCFG_SCREEN_PALETTE(m_palette) + 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(40*8, 32*8); + screen.set_visarea(0, 40*8-1, 2*8, 32*8-1); + screen.set_screen_update(FUNC(superchs_state::screen_update_superchs)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_superchs); PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 8192); @@ -275,15 +275,15 @@ MACHINE_CONFIG_START(superchs_state::superchs) /* sound hardware */ TAITO_EN(config, "taito_en", 0); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(superchs_state::chase3) +void superchs_state::chase3(machine_config &config) +{ superchs(config); - MCFG_DEVICE_MODIFY("sub") - MCFG_DEVICE_PROGRAM_MAP(chase3_cpub_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold) -MACHINE_CONFIG_END + m_subcpu->set_addrmap(AS_PROGRAM, &superchs_state::chase3_cpub_map); + m_subcpu->set_vblank_int("screen", FUNC(superchs_state::irq4_line_hold)); +} /***************************************************************************/ |