diff options
Diffstat (limited to 'src/mame/drivers/cv1k.cpp')
-rw-r--r-- | src/mame/drivers/cv1k.cpp | 95 |
1 files changed, 46 insertions, 49 deletions
diff --git a/src/mame/drivers/cv1k.cpp b/src/mame/drivers/cv1k.cpp index 2b023d36e1f..1c0537d6bcc 100644 --- a/src/mame/drivers/cv1k.cpp +++ b/src/mame/drivers/cv1k.cpp @@ -457,69 +457,66 @@ void cv1k_state::machine_reset() m_blitter->reset(); } -MACHINE_CONFIG_START(cv1k_state::cv1k) - +void cv1k_state::cv1k(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", SH3BE, 12.8_MHz_XTAL*8) // 102.4MHz - MCFG_SH4_MD0(0) // none of this is verified - MCFG_SH4_MD1(0) // (the sh3 is different to the sh4 anyway, should be changed) - MCFG_SH4_MD2(0) - MCFG_SH4_MD3(0) - MCFG_SH4_MD4(0) - MCFG_SH4_MD5(1) - MCFG_SH4_MD6(0) - MCFG_SH4_MD7(1) - MCFG_SH4_MD8(0) - MCFG_SH4_CLOCK(12.8_MHz_XTAL*8) // 102.4MHz - MCFG_DEVICE_PROGRAM_MAP(cv1k_map) - MCFG_DEVICE_IO_MAP(cv1k_port) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cv1k_state, irq2_line_hold) + SH3BE(config, m_maincpu, 12.8_MHz_XTAL*8); // 102.4MHz + m_maincpu->set_md(0, 0); // none of this is verified + m_maincpu->set_md(1, 0); // (the sh3 is different to the sh4 anyway, should be changed) + m_maincpu->set_md(2, 0); + m_maincpu->set_md(3, 0); + m_maincpu->set_md(4, 0); + m_maincpu->set_md(5, 1); + m_maincpu->set_md(6, 0); + m_maincpu->set_md(7, 1); + m_maincpu->set_md(8, 0); + m_maincpu->set_sh4_clock(12.8_MHz_XTAL*8); // 102.4MHz + m_maincpu->set_addrmap(AS_PROGRAM, &cv1k_state::cv1k_map); + m_maincpu->set_addrmap(AS_IO, &cv1k_state::cv1k_port); + m_maincpu->set_vblank_int("screen", FUNC(cv1k_state::irq2_line_hold)); RTC9701(config, m_eeprom); SERFLASH(config, m_serflash, 0); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(0x200, 0x200) - MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xf0-1) - MCFG_SCREEN_UPDATE_DRIVER(cv1k_state, screen_update) + 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(0x200, 0x200); + screen.set_visarea(0, 0x140-1, 0, 0xf0-1); + screen.set_screen_update(FUNC(cv1k_state::screen_update)); - MCFG_PALETTE_ADD("palette", 0x10000) + PALETTE(config, "palette", 0x10000); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ymz770", YMZ770, 16.384_MHz_XTAL) - MCFG_SOUND_ROUTE(1, "mono", 1.0) // only Right output used, Left is not connected + YMZ770(config, "ymz770", 16.384_MHz_XTAL).add_route(1, "mono", 1.0); // only Right output used, Left is not connected - MCFG_EPIC12_ADD("blitter") - MCFG_EPIC12_SET_MAINRAMSIZE(0x800000) -MACHINE_CONFIG_END + EPIC12(config, m_blitter, 0); + m_blitter->set_mainramsize(0x800000); +} -MACHINE_CONFIG_START(cv1k_state::cv1k_d) +void cv1k_state::cv1k_d(machine_config &config) +{ cv1k(config); /* basic machine hardware */ - MCFG_DEVICE_REMOVE("maincpu") - - MCFG_DEVICE_ADD("maincpu", SH3BE, 12.8_MHz_XTAL*8) // 102.4MHz - MCFG_SH4_MD0(0) // none of this is verified - MCFG_SH4_MD1(0) // (the sh3 is different to the sh4 anyway, should be changed) - MCFG_SH4_MD2(0) - MCFG_SH4_MD3(0) - MCFG_SH4_MD4(0) - MCFG_SH4_MD5(1) - MCFG_SH4_MD6(0) - MCFG_SH4_MD7(1) - MCFG_SH4_MD8(0) - MCFG_SH4_CLOCK(12.8_MHz_XTAL*8) // 102.4MHz - MCFG_DEVICE_PROGRAM_MAP(cv1k_d_map) - MCFG_DEVICE_IO_MAP(cv1k_port) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cv1k_state, irq2_line_hold) - - MCFG_DEVICE_MODIFY("blitter") - MCFG_EPIC12_SET_MAINRAMSIZE(0x1000000) -MACHINE_CONFIG_END + SH3BE(config.replace(), m_maincpu, 12.8_MHz_XTAL*8); // 102.4MHz + m_maincpu->set_md(0, 0); // none of this is verified + m_maincpu->set_md(1, 0); // (the sh3 is different to the sh4 anyway, should be changed) + m_maincpu->set_md(2, 0); + m_maincpu->set_md(3, 0); + m_maincpu->set_md(4, 0); + m_maincpu->set_md(5, 1); + m_maincpu->set_md(6, 0); + m_maincpu->set_md(7, 1); + m_maincpu->set_md(8, 0); + m_maincpu->set_sh4_clock(12.8_MHz_XTAL*8); // 102.4MHz + m_maincpu->set_addrmap(AS_PROGRAM, &cv1k_state::cv1k_d_map); + m_maincpu->set_addrmap(AS_IO, &cv1k_state::cv1k_port); + m_maincpu->set_vblank_int("screen", FUNC(cv1k_state::irq2_line_hold)); + + m_blitter->set_mainramsize(0x1000000); +} |