summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/corona.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/corona.cpp')
-rw-r--r--src/mame/drivers/corona.cpp171
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 ****************