diff options
Diffstat (limited to 'src/mame/drivers/corona.cpp')
-rw-r--r-- | src/mame/drivers/corona.cpp | 171 |
1 files changed, 83 insertions, 88 deletions
diff --git a/src/mame/drivers/corona.cpp b/src/mame/drivers/corona.cpp index 21453d8c290..83e220434c4 100644 --- a/src/mame/drivers/corona.cpp +++ b/src/mame/drivers/corona.cpp @@ -1385,29 +1385,28 @@ INPUT_PORTS_END * Machine Drivers * *******************************************/ -void corona_state::winner81(machine_config &config) -{ +MACHINE_CONFIG_START(corona_state::winner81) /* basic machine hardware */ - Z80(config, m_maincpu, WC81_MAIN_XTAL/8); /* measured */ - m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::winner81_map); - m_maincpu->set_addrmap(AS_IO, &corona_state::winner81_cpu_io_map); + MCFG_DEVICE_ADD("maincpu", Z80, WC81_MAIN_XTAL/8) /* measured */ + MCFG_DEVICE_PROGRAM_MAP(winner81_map) + MCFG_DEVICE_IO_MAP(winner81_cpu_io_map) - Z80(config, m_soundcpu, WC81_MAIN_XTAL/10); /* measured */ - m_soundcpu->set_addrmap(AS_PROGRAM, &corona_state::winner81_sound_map); - m_soundcpu->set_addrmap(AS_IO, &corona_state::winner81_sound_cpu_io_map); - m_soundcpu->set_periodic_int(FUNC(corona_state::nmi_line_pulse), attotime::from_hz(244)); /* 244 Hz (1MHz/16/16/16) */ + MCFG_DEVICE_ADD("soundcpu", Z80, WC81_MAIN_XTAL/10) /* measured */ + MCFG_DEVICE_PROGRAM_MAP(winner81_sound_map) + MCFG_DEVICE_IO_MAP(winner81_sound_cpu_io_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - 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(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - m_screen->set_screen_update(FUNC(corona_state::screen_update_winner)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate + 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(corona_state, screen_update_winner) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) PALETTE(config, "palette", FUNC(corona_state::corona_palette), 0x100); @@ -1416,31 +1415,30 @@ void corona_state::winner81(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); AY8912(config, "aysnd", AY_CLK1).add_route(ALL_OUTPUTS, "mono", 1.0); /* measured */ -} +MACHINE_CONFIG_END -void corona_state::winner82(machine_config &config) -{ +MACHINE_CONFIG_START(corona_state::winner82) /* basic machine hardware */ - Z80(config, m_maincpu, WC82_MAIN_XTAL/8); /* measured */ - m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::winner82_map); - m_maincpu->set_addrmap(AS_IO, &corona_state::winner82_cpu_io_map); + MCFG_DEVICE_ADD("maincpu", Z80, WC82_MAIN_XTAL/8) /* measured */ + MCFG_DEVICE_PROGRAM_MAP(winner82_map) + MCFG_DEVICE_IO_MAP(winner82_cpu_io_map) - Z80(config, m_soundcpu, WC82_MAIN_XTAL/8); /* measured */ - m_soundcpu->set_addrmap(AS_PROGRAM, &corona_state::winner82_sound_map); /* IM1 instead of NMI */ - m_soundcpu->set_addrmap(AS_IO, &corona_state::winner82_sound_cpu_io_map); + MCFG_DEVICE_ADD("soundcpu", Z80, WC82_MAIN_XTAL/8) /* measured */ + MCFG_DEVICE_PROGRAM_MAP(winner82_sound_map) /* IM1 instead of NMI */ + MCFG_DEVICE_IO_MAP(winner82_sound_cpu_io_map) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - 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(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); - m_screen->set_screen_update(FUNC(corona_state::screen_update_winner)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate + 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(corona_state, screen_update_winner) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) PALETTE(config, "palette", FUNC(corona_state::corona_palette), 0x100); @@ -1449,32 +1447,31 @@ void corona_state::winner82(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); AY8910(config, "aysnd", AY_CLK2).add_route(ALL_OUTPUTS, "mono", 1.0); /* measured */ -} +MACHINE_CONFIG_END -void corona_state::re800(machine_config &config) -{ +MACHINE_CONFIG_START(corona_state::re800) /* basic machine hardware */ - Z80(config, m_maincpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::re800_map); - m_maincpu->set_addrmap(AS_IO, &corona_state::re800_cpu_io_map); + MCFG_DEVICE_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(re800_map) + MCFG_DEVICE_IO_MAP(re800_cpu_io_map) - Z80(config, m_soundcpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_soundcpu->set_addrmap(AS_PROGRAM, &corona_state::re800_sound_map); - m_soundcpu->set_addrmap(AS_IO, &corona_state::re800_sound_cpu_io_map); - m_soundcpu->set_periodic_int(FUNC(corona_state::nmi_line_pulse), attotime::from_hz(244)); /* 244 Hz (1MHz/16/16/16) */ + MCFG_DEVICE_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(re800_sound_map) + MCFG_DEVICE_IO_MAP(re800_sound_cpu_io_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - 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(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 1*8, 32*8-1); - m_screen->set_screen_update(FUNC(corona_state::screen_update_winner)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 32*8-1) + MCFG_SCREEN_UPDATE_DRIVER(corona_state, screen_update_winner) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) PALETTE(config, "palette", FUNC(corona_state::corona_palette), 0x100); @@ -1483,31 +1480,30 @@ void corona_state::re800(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); AY8912(config, "aysnd", AY_CLK2).add_route(ALL_OUTPUTS, "mono", 1.0); -} +MACHINE_CONFIG_END -void corona_state::rcirulet(machine_config &config) -{ +MACHINE_CONFIG_START(corona_state::rcirulet) /* basic machine hardware */ - Z80(config, m_maincpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::re800_map); - m_maincpu->set_addrmap(AS_IO, &corona_state::re800_cpu_io_map); + MCFG_DEVICE_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(re800_map) + MCFG_DEVICE_IO_MAP(re800_cpu_io_map) - Z80(config, m_soundcpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_soundcpu->set_addrmap(AS_PROGRAM, &corona_state::winner82_sound_map); /* IM1 instead of NMI */ - m_soundcpu->set_addrmap(AS_IO, &corona_state::winner82_sound_cpu_io_map); + MCFG_DEVICE_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(winner82_sound_map) /* IM1 instead of NMI */ + MCFG_DEVICE_IO_MAP(winner82_sound_cpu_io_map) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - 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(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 1*8, 32*8-1); - m_screen->set_screen_update(FUNC(corona_state::screen_update_winner)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 32*8-1) + MCFG_SCREEN_UPDATE_DRIVER(corona_state, screen_update_winner) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) PALETTE(config, "palette", FUNC(corona_state::corona_palette), 0x100); @@ -1516,32 +1512,31 @@ void corona_state::rcirulet(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); AY8912(config, "aysnd", AY_CLK2).add_route(ALL_OUTPUTS, "mono", 1.0); -} +MACHINE_CONFIG_END -void corona_state::luckyrlt(machine_config &config) -{ +MACHINE_CONFIG_START(corona_state::luckyrlt) /* basic machine hardware */ - Z80(config, m_maincpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::luckyrlt_map); - m_maincpu->set_addrmap(AS_IO, &corona_state::luckyrlt_cpu_io_map); + MCFG_DEVICE_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(luckyrlt_map) + MCFG_DEVICE_IO_MAP(luckyrlt_cpu_io_map) - Z80(config, m_soundcpu, RE_MAIN_XTAL/8); /* measured 2MHz */ - m_soundcpu->set_addrmap(AS_PROGRAM, &corona_state::luckyrlt_sound_map); - m_soundcpu->set_addrmap(AS_IO, &corona_state::luckyrlt_sound_cpu_io_map); - m_soundcpu->set_periodic_int(FUNC(corona_state::nmi_line_pulse), attotime::from_hz(244)); /* 244 Hz (1MHz/16/16/16) */ + MCFG_DEVICE_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ + MCFG_DEVICE_PROGRAM_MAP(luckyrlt_sound_map) + MCFG_DEVICE_IO_MAP(luckyrlt_sound_cpu_io_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - 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(32*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 1*8, 30*8-1); - m_screen->set_screen_update(FUNC(corona_state::screen_update_luckyrlt)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(corona_state, screen_update_luckyrlt) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) PALETTE(config, "palette", FUNC(corona_state::corona_palette), 0x100); @@ -1550,7 +1545,7 @@ void corona_state::luckyrlt(machine_config &config) GENERIC_LATCH_8(config, m_soundlatch); AY8912(config, "aysnd", AY_CLK1).add_route(ALL_OUTPUTS, "mono", 1.0); -} +MACHINE_CONFIG_END /**************** Corona Co,LTD. Hardware **************** |