summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gaelco.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gaelco.cpp')
-rw-r--r--src/mame/drivers/gaelco.cpp138
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
/*************************************