diff options
Diffstat (limited to 'src/mame/drivers/namcos21_de.cpp')
-rw-r--r-- | src/mame/drivers/namcos21_de.cpp | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/src/mame/drivers/namcos21_de.cpp b/src/mame/drivers/namcos21_de.cpp index 7b1d98d4bcc..f06353186cd 100644 --- a/src/mame/drivers/namcos21_de.cpp +++ b/src/mame/drivers/namcos21_de.cpp @@ -48,6 +48,9 @@ Driver's Eyes works, #include "sound/c140.h" #include "emupal.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 @@ -180,37 +183,35 @@ static GFXDECODE_START( gfx_namcos21 ) GFXDECODE_END -void namco_de_pcbstack_device::device_add_mconfig(machine_config &config) -{ - M68000(config, m_maincpu, 12288000); /* Master */ - m_maincpu->set_addrmap(AS_PROGRAM, &namco_de_pcbstack_device::driveyes_master_map); - TIMER(config, "scantimer").configure_scanline(FUNC(namco_de_pcbstack_device::screen_scanline), "screen", 0, 1); +MACHINE_CONFIG_START(namco_de_pcbstack_device::device_add_mconfig) + MCFG_DEVICE_ADD("maincpu", M68000,12288000) /* Master */ + MCFG_DEVICE_PROGRAM_MAP(driveyes_master_map) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", namco_de_pcbstack_device, screen_scanline, "screen", 0, 1) - M68000(config, m_slave, 12288000); /* Slave */ - m_slave->set_addrmap(AS_PROGRAM, &namco_de_pcbstack_device::driveyes_slave_map); + MCFG_DEVICE_ADD("slave", M68000,12288000) /* Slave */ + MCFG_DEVICE_PROGRAM_MAP(driveyes_slave_map) - MC6809E(config, m_audiocpu, 3072000); /* Sound */ - m_audiocpu->set_addrmap(AS_PROGRAM, &namco_de_pcbstack_device::sound_map); - m_audiocpu->set_periodic_int(FUNC(namco_de_pcbstack_device::irq0_line_hold), attotime::from_hz(2*60)); - m_audiocpu->set_periodic_int(FUNC(namco_de_pcbstack_device::irq1_line_hold), attotime::from_hz(120)); + MCFG_DEVICE_ADD("audiocpu", MC6809E, 3072000) /* Sound */ + MCFG_DEVICE_PROGRAM_MAP(sound_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(namco_de_pcbstack_device, irq0_line_hold, 2*60) + MCFG_DEVICE_PERIODIC_INT_DRIVER(namco_de_pcbstack_device, irq1_line_hold, 120) configure_c68_namcos21(config); NAMCOS21_DSP(config, m_namcos21_dsp, 0); m_namcos21_dsp->set_renderer_tag("namcos21_3d"); - config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */ + MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); configure_c148_standard(config); NAMCO_C139(config, m_sci, 0); - 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(namco_de_pcbstack_device::screen_update)); - m_screen->set_palette(m_palette); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS_NAMCO480I + MCFG_SCREEN_UPDATE_DRIVER(namco_de_pcbstack_device, screen_update) + MCFG_SCREEN_PALETTE(m_palette) GFXDECODE(config, "gfxdecode", m_palette, gfx_namcos21); PALETTE(config, m_palette).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS); @@ -238,7 +239,7 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config) 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 uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |