diff options
Diffstat (limited to 'src/mame/drivers/jack.cpp')
-rw-r--r-- | src/mame/drivers/jack.cpp | 86 |
1 files changed, 45 insertions, 41 deletions
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp index 8e88f0c8440..5aaa0d113ad 100644 --- a/src/mame/drivers/jack.cpp +++ b/src/mame/drivers/jack.cpp @@ -910,28 +910,29 @@ MACHINE_RESET_MEMBER(jack_state,joinem) /***************************************************************/ -void jack_state::jack(machine_config &config) -{ +MACHINE_CONFIG_START(jack_state::jack) + /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(18'000'000)/6); - m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::jack_map); - m_maincpu->set_vblank_int("screen", FUNC(jack_state::irq0_line_hold)); + MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'000'000)/6) + MCFG_DEVICE_PROGRAM_MAP(jack_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jack_state, irq0_line_hold) - Z80(config, m_audiocpu, XTAL(18'000'000)/6); - m_audiocpu->set_addrmap(AS_PROGRAM, &jack_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &jack_state::sound_io_map); - m_audiocpu->set_irq_acknowledge_callback(FUNC(jack_state::jack_sh_irq_ack)); + MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'000'000)/6) + MCFG_DEVICE_PROGRAM_MAP(sound_map) + MCFG_DEVICE_IO_MAP(sound_io_map) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(jack_state, jack_sh_irq_ack) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(32*8, 32*8); - screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(jack_state::screen_update_jack)); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_jack); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_jack) + MCFG_SCREEN_PALETTE(m_palette) + + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, m_palette, gfx_jack) + PALETTE(config, m_palette).set_format(palette_device::BGR_233_inverted, 32); /* sound hardware */ @@ -944,28 +945,29 @@ void jack_state::jack(machine_config &config) aysnd.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); aysnd.port_b_read_callback().set(FUNC(jack_state::timer_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 1.0); -} +MACHINE_CONFIG_END -void jack_state::treahunt(machine_config &config) -{ +MACHINE_CONFIG_START(jack_state::treahunt) jack(config); - m_maincpu->set_addrmap(AS_OPCODES, &jack_state::decrypted_opcodes_map); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) +MACHINE_CONFIG_END -void jack_state::striv(machine_config &config) -{ +MACHINE_CONFIG_START(jack_state::striv) jack(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::striv_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(striv_map) MCFG_MACHINE_START_OVERRIDE(jack_state,striv) MCFG_MACHINE_RESET_OVERRIDE(jack_state,striv) /* video hardware */ - subdevice<screen_device>("screen")->set_screen_update(FUNC(jack_state::screen_update_striv)); -} + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_striv) +MACHINE_CONFIG_END /***************************************************************/ @@ -976,41 +978,43 @@ INTERRUPT_GEN_MEMBER(jack_state::joinem_vblank_irq) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -void jack_state::joinem(machine_config &config) -{ +MACHINE_CONFIG_START(jack_state::joinem) jack(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::joinem_map); - m_maincpu->set_vblank_int("screen", FUNC(jack_state::joinem_vblank_irq)); - m_maincpu->set_periodic_int(FUNC(jack_state::irq0_line_hold), attotime::from_hz(250)); // ??? controls game speed + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(joinem_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jack_state, joinem_vblank_irq) + MCFG_DEVICE_PERIODIC_INT_DRIVER(jack_state, irq0_line_hold, 250) // ??? controls game speed MCFG_MACHINE_START_OVERRIDE(jack_state,joinem) MCFG_MACHINE_RESET_OVERRIDE(jack_state,joinem) /* video hardware */ - subdevice<screen_device>("screen")->set_screen_update(FUNC(jack_state::screen_update_joinem)); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_joinem) - m_gfxdecode->set_info(gfx_joinem); + MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_joinem) PALETTE(config.replace(), m_palette, FUNC(jack_state::joinem_palette), 64); MCFG_VIDEO_START_OVERRIDE(jack_state,joinem) -} +MACHINE_CONFIG_END -void jack_state::unclepoo(machine_config &config) -{ +MACHINE_CONFIG_START(jack_state::unclepoo) joinem(config); /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::unclepoo_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(unclepoo_map) /* video hardware */ - subdevice<screen_device>("screen")->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) m_palette->set_entries(256); -} +MACHINE_CONFIG_END |