diff options
Diffstat (limited to 'src/mame/drivers/m107.cpp')
-rw-r--r-- | src/mame/drivers/m107.cpp | 85 |
1 files changed, 40 insertions, 45 deletions
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp index 6d149ea11c2..799358af841 100644 --- a/src/mame/drivers/m107.cpp +++ b/src/mame/drivers/m107.cpp @@ -30,7 +30,6 @@ confirmed for m107 games as well. #include "includes/iremipt.h" #include "cpu/nec/nec.h" -#include "cpu/nec/v25.h" #include "machine/gen_latch.h" #include "machine/irem_cpu.h" #include "sound/ym2151.h" @@ -730,38 +729,36 @@ GFXDECODE_END /***************************************************************************/ -MACHINE_CONFIG_START(m107_state::firebarr) - +void m107_state::firebarr(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", V33, XTAL(28'000'000)/2) /* NEC V33, 28MHz clock */ - MCFG_DEVICE_PROGRAM_MAP(firebarr_map) - MCFG_DEVICE_IO_MAP(main_portmap) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("upd71059c", pic8259_device, inta_cb) + V33(config, m_maincpu, XTAL(28'000'000)/2); /* NEC V33, 28MHz clock */ + m_maincpu->set_addrmap(AS_PROGRAM, &m107_state::firebarr_map); + m_maincpu->set_addrmap(AS_IO, &m107_state::main_portmap); + m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb)); - MCFG_DEVICE_ADD("soundcpu", V35, XTAL(14'318'181)) - MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_V25_CONFIG(rtypeleo_decryption_table) + V35(config, m_soundcpu, XTAL(14'318'181)); + m_soundcpu->set_addrmap(AS_PROGRAM, &m107_state::sound_map); + m_soundcpu->set_decryption_table(rtypeleo_decryption_table); PIC8259(config, m_upd71059c, 0); m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0); - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", m107_state, scanline_interrupt, "screen", 0, 1) + TIMER(config, "scantimer").configure_scanline(FUNC(m107_state::scanline_interrupt), "screen", 0, 1); /* video hardware */ - MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16) - - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(512, 256) - MCFG_SCREEN_VISIBLE_AREA(80, 511-112, 8, 247) /* 320 x 240 */ - MCFG_SCREEN_UPDATE_DRIVER(m107_state, screen_update) - MCFG_SCREEN_PALETTE("palette") + BUFFERED_SPRITERAM16(config, "spriteram"); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_firebarr) - MCFG_PALETTE_ADD("palette", 2048) - MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + m_screen->set_size(512, 256); + m_screen->set_visarea(80, 511-112, 8, 247); /* 320 x 240 */ + m_screen->set_screen_update(FUNC(m107_state::screen_update)); + m_screen->set_palette(m_palette); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_firebarr); + PALETTE(config, m_palette, 2048).set_format(PALETTE_FORMAT_xBBBBBGGGGGRRRRR); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); @@ -781,42 +778,40 @@ MACHINE_CONFIG_START(m107_state::firebarr) iremga20_device &ga20(IREMGA20(config, "irem", XTAL(14'318'181)/4)); ga20.add_route(0, "lspeaker", 1.0); ga20.add_route(1, "rspeaker", 1.0); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(m107_state::dsoccr94) +void m107_state::dsoccr94(machine_config &config) +{ firebarr(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_CLOCK(20000000/2) /* NEC V33, Could be 28MHz clock? */ - MCFG_DEVICE_PROGRAM_MAP(dsoccr94_map) - MCFG_DEVICE_IO_MAP(dsoccr94_io_map) + m_maincpu->set_clock(20000000/2); /* NEC V33, Could be 28MHz clock? */ + m_maincpu->set_addrmap(AS_PROGRAM, &m107_state::dsoccr94_map); + m_maincpu->set_addrmap(AS_IO, &m107_state::dsoccr94_io_map); - MCFG_DEVICE_MODIFY("soundcpu") - MCFG_V25_CONFIG(dsoccr94_decryption_table) + m_soundcpu->set_decryption_table(dsoccr94_decryption_table); /* video hardware */ - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_m107) -MACHINE_CONFIG_END + m_gfxdecode->set_info(gfx_m107); +} -MACHINE_CONFIG_START(m107_state::wpksoc) +void m107_state::wpksoc(machine_config &config) +{ firebarr(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(wpksoc_map) - MCFG_DEVICE_IO_MAP(wpksoc_io_map) + m_maincpu->set_addrmap(AS_PROGRAM, &m107_state::wpksoc_map); + m_maincpu->set_addrmap(AS_IO, &m107_state::wpksoc_io_map); - MCFG_DEVICE_MODIFY("soundcpu") - MCFG_V25_CONFIG(leagueman_decryption_table) -MACHINE_CONFIG_END + m_soundcpu->set_decryption_table(leagueman_decryption_table); +} -MACHINE_CONFIG_START(m107_state::airass) +void m107_state::airass(machine_config &config) +{ firebarr(config); - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_m107) + m_gfxdecode->set_info(gfx_m107); - MCFG_DEVICE_MODIFY("soundcpu") - MCFG_V25_CONFIG(gunforce_decryption_table) -MACHINE_CONFIG_END + m_soundcpu->set_decryption_table(gunforce_decryption_table); +} /***************************************************************************/ |