diff options
Diffstat (limited to 'src/mame/drivers/srmp2.cpp')
-rw-r--r-- | src/mame/drivers/srmp2.cpp | 121 |
1 files changed, 62 insertions, 59 deletions
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp index fd7352d610e..d68744cda27 100644 --- a/src/mame/drivers/srmp2.cpp +++ b/src/mame/drivers/srmp2.cpp @@ -1135,13 +1135,13 @@ static GFXDECODE_START( gfx_srmp3 ) GFXDECODE_END -void srmp2_state::srmp2(machine_config &config) -{ +MACHINE_CONFIG_START(srmp2_state::srmp2) + /* basic machine hardware */ - M68000(config, m_maincpu, 16000000/2); /* 8.00 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &srmp2_state::srmp2_map); - m_maincpu->set_vblank_int("screen", FUNC(srmp2_state::irq4_line_assert)); - m_maincpu->set_periodic_int(FUNC(srmp2_state::irq2_line_assert), attotime::from_hz(15*60)); /* Interrupt times is not understood */ + MCFG_DEVICE_ADD("maincpu", M68000,16000000/2) /* 8.00 MHz */ + MCFG_DEVICE_PROGRAM_MAP(srmp2_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert) + MCFG_DEVICE_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -1150,13 +1150,13 @@ void srmp2_state::srmp2(machine_config &config) m_seta001->set_gfxdecode_tag("gfxdecode"); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(464, 256-16); - screen.set_visarea(16, 464-1, 8, 256-1-24); - screen.set_screen_update(FUNC(srmp2_state::screen_update_srmp2)); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(464, 256-16) + MCFG_SCREEN_VISIBLE_AREA(16, 464-1, 8, 256-1-24) + MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_srmp2) + MCFG_SCREEN_PALETTE("palette") GFXDECODE(config, "gfxdecode", "palette", gfx_srmp2); PALETTE(config, "palette", FUNC(srmp2_state::srmp2_palette)).set_format(palette_device::xRGB_555, 1024); // sprites only @@ -1169,19 +1169,22 @@ void srmp2_state::srmp2(machine_config &config) aysnd.port_b_read_callback().set_ioport("DSW1"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.40); - MSM5205(config, m_msm, 384000); - m_msm->vck_legacy_callback().set(FUNC(srmp2_state::adpcm_int)); /* IRQ handler */ - m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 KHz, 4 Bits */ - m_msm->add_route(ALL_OUTPUTS, "mono", 0.45); -} + MCFG_DEVICE_ADD("msm", MSM5205, 384000) + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, srmp2_state, adpcm_int)) /* IRQ handler */ + MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 KHz, 4 Bits */ + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) +MACHINE_CONFIG_END + + +MACHINE_CONFIG_START(srmp2_state::srmp3) -void srmp2_state::srmp3(machine_config &config) -{ /* basic machine hardware */ - Z80(config, m_maincpu, 3500000); /* 3.50 MHz? or 4.00 MHz? */ - m_maincpu->set_addrmap(AS_PROGRAM, &srmp2_state::srmp3_map); - m_maincpu->set_addrmap(AS_IO, &srmp2_state::srmp3_io_map); - m_maincpu->set_vblank_int("screen", FUNC(srmp2_state::irq0_line_assert)); + + MCFG_DEVICE_ADD("maincpu", Z80, 3500000) /* 3.50 MHz ? */ + // 4000000, /* 4.00 MHz ? */ + MCFG_DEVICE_PROGRAM_MAP(srmp3_map) + MCFG_DEVICE_IO_MAP(srmp3_io_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq0_line_assert) MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp3) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -1191,13 +1194,13 @@ void srmp2_state::srmp3(machine_config &config) m_seta001->set_gfxbank_callback(FUNC(srmp2_state::srmp3_gfxbank_callback), this); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(400, 256-16); - screen.set_visarea(16, 400-1, 8, 256-1-24); - screen.set_screen_update(FUNC(srmp2_state::screen_update_srmp3)); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(400, 256-16) + MCFG_SCREEN_VISIBLE_AREA(16, 400-1, 8, 256-1-24) + MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_srmp3) + MCFG_SCREEN_PALETTE("palette") GFXDECODE(config, "gfxdecode", "palette", gfx_srmp3); PALETTE(config, "palette", FUNC(srmp2_state::srmp3_palette)).set_format(palette_device::xRGB_555, 512); // sprites only @@ -1210,29 +1213,29 @@ void srmp2_state::srmp3(machine_config &config) aysnd.port_b_read_callback().set_ioport("DSW1"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.20); - MSM5205(config, m_msm, 384000); - m_msm->vck_legacy_callback().set(FUNC(srmp2_state::adpcm_int)); /* IRQ handler */ - m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 KHz, 4 Bits */ - m_msm->add_route(ALL_OUTPUTS, "mono", 0.45); -} + MCFG_DEVICE_ADD("msm", MSM5205, 384000) + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, srmp2_state, adpcm_int)) /* IRQ handler */ + MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 KHz, 4 Bits */ + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) +MACHINE_CONFIG_END -void srmp2_state::rmgoldyh(machine_config &config) -{ +MACHINE_CONFIG_START(srmp2_state::rmgoldyh) srmp3(config); - m_maincpu->set_addrmap(AS_PROGRAM, &srmp2_state::rmgoldyh_map); - m_maincpu->set_addrmap(AS_IO, &srmp2_state::rmgoldyh_io_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(rmgoldyh_map) + MCFG_DEVICE_IO_MAP(rmgoldyh_io_map) MCFG_MACHINE_START_OVERRIDE(srmp2_state,rmgoldyh) -} +MACHINE_CONFIG_END + +MACHINE_CONFIG_START(srmp2_state::mjyuugi) -void srmp2_state::mjyuugi(machine_config &config) -{ /* basic machine hardware */ - M68000(config, m_maincpu, 16000000/2); /* 8.00 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &srmp2_state::mjyuugi_map); - m_maincpu->set_vblank_int("screen", FUNC(srmp2_state::irq4_line_assert)); - m_maincpu->set_periodic_int(FUNC(srmp2_state::irq2_line_assert), attotime::from_hz(15*60)); /* Interrupt times is not understood */ + MCFG_DEVICE_ADD("maincpu", M68000,16000000/2) /* 8.00 MHz */ + MCFG_DEVICE_PROGRAM_MAP(mjyuugi_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert) + MCFG_DEVICE_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */ MCFG_MACHINE_START_OVERRIDE(srmp2_state,mjyuugi) @@ -1243,13 +1246,13 @@ void srmp2_state::mjyuugi(machine_config &config) m_seta001->set_gfxbank_callback(FUNC(srmp2_state::srmp3_gfxbank_callback), this); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(400, 256-16); - screen.set_visarea(16, 400-1, 0, 256-1-16); - screen.set_screen_update(FUNC(srmp2_state::screen_update_mjyuugi)); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(400, 256-16) + MCFG_SCREEN_VISIBLE_AREA(16, 400-1, 0, 256-1-16) + MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_mjyuugi) + MCFG_SCREEN_PALETTE("palette") GFXDECODE(config, "gfxdecode", "palette", gfx_srmp3); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 512); // sprites only @@ -1262,11 +1265,11 @@ void srmp2_state::mjyuugi(machine_config &config) aysnd.port_b_read_callback().set_ioport("DSW1"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.20); - MSM5205(config, m_msm, 384000); - m_msm->vck_legacy_callback().set(FUNC(srmp2_state::adpcm_int)); /* IRQ handler */ - m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 KHz, 4 Bits */ - m_msm->add_route(ALL_OUTPUTS, "mono", 0.45); -} + MCFG_DEVICE_ADD("msm", MSM5205, 384000) + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, srmp2_state, adpcm_int)) /* IRQ handler */ + MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 KHz, 4 Bits */ + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45) +MACHINE_CONFIG_END |