summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bking.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bking.cpp')
-rw-r--r--src/mame/drivers/bking.cpp55
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index d9344ee4259..930b4417530 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -389,33 +389,33 @@ MACHINE_RESET_MEMBER(bking_state,bking3)
m_addr_l = 0;
}
-MACHINE_CONFIG_START(bking_state::bking)
-
+void bking_state::bking(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("main_cpu", Z80, XTAL(12'000'000)/4) /* 3 MHz */
- MCFG_DEVICE_PROGRAM_MAP(bking_map)
- MCFG_DEVICE_IO_MAP(bking_io_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", bking_state, irq0_line_hold)
+ z80_device &maincpu(Z80(config, "main_cpu", XTAL(12'000'000)/4)); /* 3 MHz */
+ maincpu.set_addrmap(AS_PROGRAM, &bking_state::bking_map);
+ maincpu.set_addrmap(AS_IO, &bking_state::bking_io_map);
+ maincpu.set_vblank_int("screen", FUNC(bking_state::irq0_line_hold));
- MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(6'000'000)/2) /* 3 MHz */
- MCFG_DEVICE_PROGRAM_MAP(bking_audio_map)
+ Z80(config, m_audiocpu, XTAL(6'000'000)/2); /* 3 MHz */
+ m_audiocpu->set_addrmap(AS_PROGRAM, &bking_state::bking_audio_map);
/* interrupts (from Jungle King hardware, might be wrong): */
/* - no interrupts synced with vblank */
/* - NMI triggered by the main CPU */
/* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
- MCFG_DEVICE_PERIODIC_INT_DRIVER(bking_state, irq0_line_hold, (double)6000000/(4*16*16*10*16))
+ m_audiocpu->set_periodic_int(FUNC(bking_state::irq0_line_hold), attotime::from_hz((double)6000000/(4*16*16*10*16)));
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_SCREEN_SIZE(32*8, 32*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(bking_state, screen_update_bking)
- MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, bking_state, screen_vblank_bking))
- MCFG_SCREEN_PALETTE(m_palette)
+ 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*8, 32*8);
+ m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
+ m_screen->set_screen_update(FUNC(bking_state::screen_update_bking));
+ m_screen->screen_vblank().set(FUNC(bking_state::screen_vblank_bking));
+ m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bking);
PALETTE(config, m_palette, FUNC(bking_state::bking_palette), 4*8 + 4*4 + 4*2 + 4*2);
@@ -434,25 +434,26 @@ MACHINE_CONFIG_START(bking_state::bking)
ay2.port_b_write_callback().set(FUNC(bking_state::port_b_w));
ay2.add_route(ALL_OUTPUTS, "speaker", 0.25);
- MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
- MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
-MACHINE_CONFIG_END
+ DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
+ voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
+ vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
+}
-MACHINE_CONFIG_START(bking_state::bking3)
+void bking_state::bking3(machine_config &config)
+{
bking(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("main_cpu")
- MCFG_DEVICE_IO_MAP(bking3_io_map)
+ subdevice<z80_device>("main_cpu")->set_addrmap(AS_IO, &bking_state::bking3_io_map);
- MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, XTAL(3'000'000)) /* xtal is 3MHz, divided by 4 internally */
+ TAITO68705_MCU(config, m_bmcu, XTAL(3'000'000)); /* xtal is 3MHz, divided by 4 internally */
MCFG_MACHINE_START_OVERRIDE(bking_state,bking3)
MCFG_MACHINE_RESET_OVERRIDE(bking_state,bking3)
- MCFG_QUANTUM_TIME(attotime::from_hz(6000))
-MACHINE_CONFIG_END
+ config.m_minimum_quantum = attotime::from_hz(6000);
+}
/***************************************************************************