diff options
Diffstat (limited to 'src/mame/drivers/rollrace.cpp')
-rw-r--r-- | src/mame/drivers/rollrace.cpp | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/mame/drivers/rollrace.cpp b/src/mame/drivers/rollrace.cpp index b05c7776697..b9e4655c71c 100644 --- a/src/mame/drivers/rollrace.cpp +++ b/src/mame/drivers/rollrace.cpp @@ -249,15 +249,15 @@ INTERRUPT_GEN_MEMBER(rollrace_state::sound_timer_irq) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -void rollrace_state::rollrace(machine_config &config) -{ +MACHINE_CONFIG_START(rollrace_state::rollrace) + /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(24'000'000)/8); /* verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &rollrace_state::rollrace_map); + MCFG_DEVICE_ADD("maincpu", Z80,XTAL(24'000'000)/8) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(rollrace_map) - z80_device &audiocpu(Z80(config, "audiocpu", XTAL(24'000'000)/16)); /* verified on pcb */ - audiocpu.set_addrmap(AS_PROGRAM, &rollrace_state::rollrace_sound_map); - audiocpu.set_periodic_int(FUNC(rollrace_state::sound_timer_irq), attotime::from_hz(4*60)); + MCFG_DEVICE_ADD("audiocpu", Z80,XTAL(24'000'000)/16) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(rollrace_sound_map) + MCFG_DEVICE_PERIODIC_INT_DRIVER(rollrace_state, sound_timer_irq, 4*60) ls259_device &mainlatch(LS259(config, "mainlatch")); mainlatch.q_out_cb<0>().set(FUNC(rollrace_state::flipx_w)); @@ -269,14 +269,14 @@ void rollrace_state::rollrace(machine_config &config) mainlatch.q_out_cb<6>().set(FUNC(rollrace_state::spritebank_w)); /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); - screen.set_size(256, 256); - screen.set_visarea(0, 256-1, 16, 255-16); - screen.set_screen_update(FUNC(rollrace_state::screen_update)); - screen.set_palette(m_palette); - screen.screen_vblank().set(FUNC(rollrace_state::vblank_irq)); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) + MCFG_SCREEN_SIZE(256, 256) + MCFG_SCREEN_VISIBLE_AREA(0,256-1,16, 255-16) + MCFG_SCREEN_UPDATE_DRIVER(rollrace_state, screen_update) + MCFG_SCREEN_PALETTE(m_palette) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, rollrace_state, vblank_irq)) GFXDECODE(config, m_gfxdecode, m_palette, gfx_rollrace); PALETTE(config, m_palette, FUNC(rollrace_state::rollrace_palette), 256); @@ -292,16 +292,16 @@ void rollrace_state::rollrace(machine_config &config) AY8910(config, "ay2", XTAL(24'000'000)/16).add_route(ALL_OUTPUTS, "rspeaker", 0.10); /* verified on pcb */ AY8910(config, "ay3", XTAL(24'000'000)/16).add_route(ALL_OUTPUTS, "lspeaker", 0.10); /* verified on pcb */ -} +MACHINE_CONFIG_END -void rollrace_state::rollace2(machine_config &config) -{ +MACHINE_CONFIG_START(rollrace_state::rollace2) rollrace(config); /* basic machine hardware */ -// subdevice<screen_device>("screen")->set_visarea(0, 256-1, 16, 255-16); -} +// MCFG_SCREEN_MODIFY("screen") +// MCFG_SCREEN_VISIBLE_AREA(0,256-1,16, 255-16) +MACHINE_CONFIG_END /*************************************************************************** |