diff options
Diffstat (limited to 'src/mame/drivers/gaelco.cpp')
-rw-r--r-- | src/mame/drivers/gaelco.cpp | 138 |
1 files changed, 70 insertions, 68 deletions
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp index dd67f05b271..e7a2407fd3c 100644 --- a/src/mame/drivers/gaelco.cpp +++ b/src/mame/drivers/gaelco.cpp @@ -644,17 +644,17 @@ void gaelco_state::machine_start() m_okibank->configure_entries(0, 16, memregion("oki")->base(), 0x10000); } -void gaelco_state::bigkarnk(machine_config &config) -{ +MACHINE_CONFIG_START(gaelco_state::bigkarnk) + /* basic machine hardware */ - M68000(config, m_maincpu, 10000000); /* MC68000P10, 10 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_map); - m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold)); + MCFG_DEVICE_ADD("maincpu", M68000, 10000000) /* MC68000P10, 10 MHz */ + MCFG_DEVICE_PROGRAM_MAP(bigkarnk_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) - MC6809E(config, m_audiocpu, 8867000/4); /* 68B09EP, 2.21675 MHz? */ - m_audiocpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_snd_map); + MCFG_DEVICE_ADD("audiocpu", MC6809E, 8867000/4) /* 68B09EP, 2.21675 MHz? */ + MCFG_DEVICE_PROGRAM_MAP(bigkarnk_snd_map) - config.m_minimum_quantum = attotime::from_hz(600); + MCFG_QUANTUM_TIME(attotime::from_hz(600)) LS259(config, m_outlatch); m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)).invert(); @@ -663,13 +663,13 @@ void gaelco_state::bigkarnk(machine_config &config) m_outlatch->q_out_cb<3>().set(FUNC(gaelco_state::coin2_counter_w)); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(32*16, 32*16); - screen.set_visarea(0, 320-1, 16, 256-1); - screen.set_screen_update(FUNC(gaelco_state::screen_update_bigkarnk)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(32*16, 32*16) + MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) + MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_bigkarnk) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); @@ -682,26 +682,28 @@ void gaelco_state::bigkarnk(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE); - YM3812(config, "ymsnd", 3580000).add_route(ALL_OUTPUTS, "mono", 1.0); + MCFG_DEVICE_ADD("ymsnd", YM3812, 3580000) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified -} + MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(gaelco_state::maniacsq) -void gaelco_state::maniacsq(machine_config &config) -{ /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::maniacsq_map); - m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold)); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(maniacsq_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(32*16, 32*16); - screen.set_visarea(0, 320-1, 16, 256-1); - screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(32*16, 32*16) + MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) + MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); @@ -711,19 +713,19 @@ void gaelco_state::maniacsq(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified - oki.set_addrmap(0, &gaelco_state::oki_map); - oki.add_route(ALL_OUTPUTS, "mono", 1.0); -} + MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified + MCFG_DEVICE_ADDRESS_MAP(0, oki_map) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(gaelco_state::squash) -void gaelco_state::squash(machine_config &config) -{ /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::squash_map); - m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold)); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000)/2 ) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(squash_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) - config.m_minimum_quantum = attotime::from_hz(600); + MCFG_QUANTUM_TIME(attotime::from_hz(600)) LS259(config, m_outlatch); // B8 m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)).invert(); @@ -733,13 +735,13 @@ void gaelco_state::squash(machine_config &config) m_outlatch->q_out_cb<4>().set_nop(); // used /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(58); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(32*16, 32*16); - screen.set_visarea(0, 320-1, 16, 256-1); - screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(58) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(32*16, 32*16) + MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) + MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); @@ -749,19 +751,19 @@ void gaelco_state::squash(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); /* verified on pcb */ - oki.set_addrmap(0, &gaelco_state::oki_map); - oki.add_route(ALL_OUTPUTS, "mono", 1.0); -} + MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */ + MCFG_DEVICE_ADDRESS_MAP(0, oki_map) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(gaelco_state::thoop) -void gaelco_state::thoop(machine_config &config) -{ /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::thoop_map); - m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold)); + MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(thoop_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) - config.m_minimum_quantum = attotime::from_hz(600); + MCFG_QUANTUM_TIME(attotime::from_hz(600)) LS259(config, m_outlatch); // B8 m_outlatch->q_out_cb<0>().set(FUNC(gaelco_state::coin1_lockout_w)); // not inverted @@ -771,13 +773,13 @@ void gaelco_state::thoop(machine_config &config) m_outlatch->q_out_cb<4>().set_nop(); // used /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(32*16, 32*16); - screen.set_visarea(0, 320-1, 16, 256-1); - screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq)); - screen.set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(32*16, 32*16) + MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) + MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); @@ -787,10 +789,10 @@ void gaelco_state::thoop(machine_config &config) /* sound hardware */ SPEAKER(config, "mono").front_center(); - okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified - oki.set_addrmap(0, &gaelco_state::oki_map); - oki.add_route(ALL_OUTPUTS, "mono", 1.0); -} + MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified + MCFG_DEVICE_ADDRESS_MAP(0, oki_map) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END /************************************* |