summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bionicc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bionicc.cpp')
-rw-r--r--src/mame/drivers/bionicc.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp
index 47c348b84f3..5a69d4abef7 100644
--- a/src/mame/drivers/bionicc.cpp
+++ b/src/mame/drivers/bionicc.cpp
@@ -388,21 +388,21 @@ void bionicc_state::machine_reset()
m_scroll[3] = 0;
}
-MACHINE_CONFIG_START(bionicc_state::bionicc)
-
+void bionicc_state::bionicc(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12 MHz - verified in schematics */
- MCFG_DEVICE_PROGRAM_MAP(main_map)
+ M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12 MHz - verified in schematics */
+ m_maincpu->set_addrmap(AS_PROGRAM, &bionicc_state::main_map);
TIMER(config, "scantimer").configure_scanline(FUNC(bionicc_state::scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(14'318'181) / 4) /* EXO3 C,B=GND, A=5V ==> Divisor 2^2 */
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ z80_device &audiocpu(Z80(config, "audiocpu", XTAL(14'318'181) / 4)); /* EXO3 C,B=GND, A=5V ==> Divisor 2^2 */
+ audiocpu.set_addrmap(AS_PROGRAM, &bionicc_state::sound_map);
/* FIXME: interrupt timing
* schematics indicate that nmi_line is set on M680000 access with AB1=1
* and IOCS=0 (active low), see pages A-1/10, A-4/10 in schematics
*/
- MCFG_DEVICE_PERIODIC_INT_DRIVER(bionicc_state, nmi_line_pulse, 4*60)
+ audiocpu.set_periodic_int(FUNC(bionicc_state::nmi_line_pulse), attotime::from_hz(4*60));
/* Protection MCU Intel C8751H-88 runs at 24MHz / 4 = 6MHz */
I8751(config, m_mcu, XTAL(24'000'000) / 4);
@@ -411,16 +411,16 @@ MACHINE_CONFIG_START(bionicc_state::bionicc)
m_mcu->port_out_cb<3>().set(FUNC(bionicc_state::out3_w));
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
/* FIXME: should be 257 visible horizontal pixels, first visible pixel should be repeated, back porch/front porch should be separated */
- MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 4, 386, 0, 256, 260, 16, 240)
- MCFG_SCREEN_UPDATE_DRIVER(bionicc_state, screen_update)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
- MCFG_SCREEN_PALETTE(m_palette)
+ screen.set_raw(XTAL(24'000'000) / 4, 386, 0, 256, 260, 16, 240);
+ screen.set_screen_update(FUNC(bionicc_state::screen_update));
+ screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bionicc);
- MCFG_DEVICE_ADD("spritegen", TIGEROAD_SPRITE, 0)
+ TIGEROAD_SPRITE(config, m_spritegen, 0);
PALETTE(config, m_palette).set_format(2, &bionicc_state::RRRRGGGGBBBBIIII, 1024);
@@ -431,7 +431,7 @@ MACHINE_CONFIG_START(bionicc_state::bionicc)
GENERIC_LATCH_8(config, m_soundlatch);
YM2151(config, "ymsnd", XTAL(14'318'181) / 4).add_route(0, "mono", 0.60).add_route(1, "mono", 0.60);
-MACHINE_CONFIG_END
+}