diff options
Diffstat (limited to 'src/mame/drivers/bwing.cpp')
-rw-r--r-- | src/mame/drivers/bwing.cpp | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp index 3ef91ecac5c..48f7c73023c 100644 --- a/src/mame/drivers/bwing.cpp +++ b/src/mame/drivers/bwing.cpp @@ -363,36 +363,36 @@ void bwing_state::bwing_postload() } -MACHINE_CONFIG_START(bwing_state::bwing) - +void bwing_state::bwing(machine_config &config) +{ // basic machine hardware - MCFG_DEVICE_ADD("maincpu", MC6809E, 2000000) - MCFG_DEVICE_PROGRAM_MAP(bwp1_map) + MC6809E(config, m_maincpu, 2000000); + m_maincpu->set_addrmap(AS_PROGRAM, &bwing_state::bwp1_map); - MCFG_DEVICE_ADD("sub", MC6809E, 2000000) - MCFG_DEVICE_PROGRAM_MAP(bwp2_map) + MC6809E(config, m_subcpu, 2000000); + m_subcpu->set_addrmap(AS_PROGRAM, &bwing_state::bwp2_map); - MCFG_DEVICE_ADD("audiocpu", DECO16, 2000000) - MCFG_DEVICE_PROGRAM_MAP(bwp3_map) - MCFG_DEVICE_IO_MAP(bwp3_io_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(bwing_state, bwp3_interrupt, 1000) + DECO16(config, m_audiocpu, 2000000); + m_audiocpu->set_addrmap(AS_PROGRAM, &bwing_state::bwp3_map); + m_audiocpu->set_addrmap(AS_IO, &bwing_state::bwp3_io_map); + m_audiocpu->set_periodic_int(FUNC(bwing_state::bwp3_interrupt), attotime::from_hz(1000)); - MCFG_QUANTUM_TIME(attotime::from_hz(18000)) // high enough? + config.m_minimum_quantum = attotime::from_hz(18000); // high enough? ADDRESS_MAP_BANK(config, "vrambank").set_map(&bwing_state::bank_map).set_options(ENDIANNESS_BIG, 8, 15, 0x2000); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(600)) // must be long enough for polling - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_UPDATE_DRIVER(bwing_state, screen_update) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(600)); // must be long enough for polling + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + screen.set_screen_update(FUNC(bwing_state::screen_update)); + screen.set_palette(m_palette); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bwing) - MCFG_PALETTE_ADD("palette", 64) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_bwing); + PALETTE(config, m_palette).set_entries(64); // sound hardware @@ -404,10 +404,11 @@ MACHINE_CONFIG_START(bwing_state::bwing) AY8912(config, "ay2", XTAL(24'000'000) / 2 / 8).add_route(ALL_OUTPUTS, "speaker", 0.5); - MCFG_DEVICE_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) - 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 + DAC08(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.1); + 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); +} //**************************************************************************** // ROM Maps |