diff options
Diffstat (limited to 'src/mame/drivers/macrossp.cpp')
-rw-r--r-- | src/mame/drivers/macrossp.cpp | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp index 14c5f7251e3..22a37781df7 100644 --- a/src/mame/drivers/macrossp.cpp +++ b/src/mame/drivers/macrossp.cpp @@ -541,30 +541,28 @@ void macrossp_state::machine_reset() m_snd_toggle = 0; } -MACHINE_CONFIG_START(macrossp_state::macrossp) - +void macrossp_state::macrossp(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68EC020, 50000000/2) /* 25 MHz */ - MCFG_DEVICE_PROGRAM_MAP(macrossp_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", macrossp_state, irq3_line_hold) // there are others ... - - MCFG_DEVICE_ADD("audiocpu", M68000, 32000000/2) /* 16 MHz */ - MCFG_DEVICE_PROGRAM_MAP(macrossp_sound_map) + M68EC020(config, m_maincpu, 50000000/2); /* 25 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, ¯ossp_state::macrossp_map); + m_maincpu->set_vblank_int("screen", FUNC(macrossp_state::irq3_line_hold)); // there are others ... + M68000(config, m_audiocpu, 32000000/2); /* 16 MHz */ + m_audiocpu->set_addrmap(AS_PROGRAM, ¯ossp_state::macrossp_sound_map); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(32*16, 16*16) - MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 0*16, 15*16-1) - MCFG_SCREEN_UPDATE_DRIVER(macrossp_state, screen_update_macrossp) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, macrossp_state, screen_vblank_macrossp)) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(32*16, 16*16); + m_screen->set_visarea(0*16, 24*16-1, 0*16, 15*16-1); + m_screen->set_screen_update(FUNC(macrossp_state::screen_update_macrossp)); + m_screen->screen_vblank().set(FUNC(macrossp_state::screen_vblank_macrossp)); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_macrossp) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_macrossp); - MCFG_PALETTE_ADD("palette", 4096) - MCFG_PALETTE_FORMAT(RGBX) + PALETTE(config, m_palette, 4096).set_format(PALETTE_FORMAT_RGBX); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); @@ -572,23 +570,22 @@ MACHINE_CONFIG_START(macrossp_state::macrossp) GENERIC_LATCH_16(config, m_soundlatch); - MCFG_DEVICE_ADD("ensoniq", ES5506, 16000000) - MCFG_ES5506_REGION0("ensoniq.0") - MCFG_ES5506_REGION1("ensoniq.1") - MCFG_ES5506_REGION2("ensoniq.2") - MCFG_ES5506_REGION3("ensoniq.3") - MCFG_ES5506_CHANNELS(1) /* channels */ - MCFG_ES5506_IRQ_CB(WRITELINE(*this, macrossp_state, irqhandler)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.1) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.1) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(macrossp_state::quizmoon) - macrossp(config); + es5506_device &ensoniq(ES5506(config, "ensoniq", 16000000)); + ensoniq.set_region0("ensoniq.0"); + ensoniq.set_region1("ensoniq.1"); + ensoniq.set_region2("ensoniq.2"); + ensoniq.set_region3("ensoniq.3"); + ensoniq.set_channels(1); + ensoniq.irq_cb().set(FUNC(macrossp_state::irqhandler)); + ensoniq.add_route(0, "lspeaker", 0.1); + ensoniq.add_route(1, "rspeaker", 0.1); +} - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_VISIBLE_AREA(0, 24*16-1, 0*8, 14*16-1) -MACHINE_CONFIG_END +void macrossp_state::quizmoon(machine_config &config) +{ + macrossp(config); + m_screen->set_visarea(0, 24*16-1, 0*8, 14*16-1); +} |