summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/namcos21.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/namcos21.cpp')
-rw-r--r--src/mame/drivers/namcos21.cpp43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index 656a683bc33..d4b0b2b385b 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -291,11 +291,6 @@ Filter Board
#include "sound/c140.h"
#include "sound/ym2151.h"
-
-// TODO: basic parameters to get 60.606060 Hz, x2 is for interlace
-#define MCFG_SCREEN_RAW_PARAMS_NAMCO480I \
- MCFG_SCREEN_RAW_PARAMS(12288000*2, 768, 0, 496, 264*2,0,480)
-
#define ENABLE_LOGGING 0
#define NAMCOS21_NUM_COLORS 0x8000
@@ -858,39 +853,41 @@ void namcos21_state::configure_c148_standard(machine_config &config)
m_slave_intc->link_c148_device(m_master_intc);
}
-MACHINE_CONFIG_START(namcos21_state::winrun)
- MCFG_DEVICE_ADD("maincpu", M68000,12288000) /* Master */
- MCFG_DEVICE_PROGRAM_MAP(winrun_master_map)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", namcos21_state, screen_scanline, "screen", 0, 1)
+void namcos21_state::winrun(machine_config &config)
+{
+ M68000(config, m_maincpu, 12288000); /* Master */
+ m_maincpu->set_addrmap(AS_PROGRAM, &namcos21_state::winrun_master_map);
+ TIMER(config, "scantimer").configure_scanline(FUNC(namcos21_state::screen_scanline), "screen", 0, 1);
- MCFG_DEVICE_ADD("slave", M68000,12288000) /* Slave */
- MCFG_DEVICE_PROGRAM_MAP(winrun_slave_map)
+ M68000(config, m_slave, 12288000); /* Slave */
+ m_slave->set_addrmap(AS_PROGRAM, &namcos21_state::winrun_slave_map);
- MCFG_DEVICE_ADD("audiocpu", MC6809E, 3072000) /* Sound */
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120)
+ MC6809E(config, m_audiocpu, 3072000); /* Sound */
+ m_audiocpu->set_addrmap(AS_PROGRAM, &namcos21_state::sound_map);
+ m_audiocpu->set_periodic_int(FUNC(namcos21_state::irq0_line_hold), attotime::from_hz(2*60));
+ m_audiocpu->set_periodic_int(FUNC(namcos21_state::irq1_line_hold), attotime::from_hz(120));
configure_c65_namcos21(config);
NAMCOS21_DSP(config, m_namcos21_dsp, 0);
m_namcos21_dsp->set_renderer_tag("namcos21_3d");
- MCFG_DEVICE_ADD("gpu", M68000,12288000) /* graphics coprocessor */
- MCFG_DEVICE_PROGRAM_MAP(winrun_gpu_map)
+ m68000_device &gpu(M68000(config, "gpu", 12288000)); /* graphics coprocessor */
+ gpu.set_addrmap(AS_PROGRAM, &namcos21_state::winrun_gpu_map);
configure_c148_standard(config);
NAMCO_C148(config, m_gpu_intc, 0, "gpu", false);
NAMCO_C139(config, m_sci, 0);
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS_NAMCO480I
- MCFG_SCREEN_UPDATE_DRIVER(namcos21_state, screen_update)
- MCFG_SCREEN_PALETTE(m_palette)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ // TODO: basic parameters to get 60.606060 Hz, x2 is for interlace
+ m_screen->set_raw(12288000*2, 768, 0, 496, 264*2, 0, 480);
+ m_screen->set_screen_update(FUNC(namcos21_state::screen_update));
+ m_screen->set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS);
@@ -909,7 +906,7 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
m_c140->add_route(1, "rspeaker", 0.50);
YM2151(config, "ymsnd", 3579580).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30);
-MACHINE_CONFIG_END
+}
ROM_START( winrun )