diff options
Diffstat (limited to 'src/mame/drivers/irobot.cpp')
-rw-r--r-- | src/mame/drivers/irobot.cpp | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/mame/drivers/irobot.cpp b/src/mame/drivers/irobot.cpp index 4c32df0c689..4ca24af4c99 100644 --- a/src/mame/drivers/irobot.cpp +++ b/src/mame/drivers/irobot.cpp @@ -282,11 +282,11 @@ GFXDECODE_END * *************************************/ -MACHINE_CONFIG_START(irobot_state::irobot) - +void irobot_state::irobot(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", MC6809E, MAIN_CLOCK / 8) - MCFG_DEVICE_PROGRAM_MAP(irobot_map) + MC6809E(config, m_maincpu, MAIN_CLOCK / 8); + m_maincpu->set_addrmap(AS_PROGRAM, &irobot_state::irobot_map); adc0809_device &adc(ADC0809(config, "adc", MAIN_CLOCK / 16)); adc.in_callback<0>().set_ioport("AN0"); @@ -295,20 +295,20 @@ MACHINE_CONFIG_START(irobot_state::irobot) X2212(config, "nvram").set_auto_save(true); /* video hardware */ - 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, 0*8, 29*8-1) - MCFG_SCREEN_UPDATE_DRIVER(irobot_state, screen_update_irobot) - MCFG_SCREEN_PALETTE("palette") + 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, 0*8, 29*8-1); + m_screen->set_screen_update(FUNC(irobot_state::screen_update_irobot)); + m_screen->set_palette(m_palette); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_irobot) - MCFG_PALETTE_ADD("palette", 64 + 32) /* 64 for polygons, 32 for text */ - MCFG_PALETTE_INIT_OWNER(irobot_state, irobot) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_irobot); + PALETTE(config, m_palette, 64 + 32); /* 64 for polygons, 32 for text */ + m_palette->set_init(FUNC(irobot_state::palette_init_irobot)); - MCFG_TIMER_DRIVER_ADD("irvg_timer", irobot_state, irobot_irvg_done_callback) - MCFG_TIMER_DRIVER_ADD("irmb_timer", irobot_state, irobot_irmb_done_callback) + TIMER(config, "irvg_timer").configure_generic(FUNC(irobot_state::irobot_irvg_done_callback)); + TIMER(config, "irmb_timer").configure_generic(FUNC(irobot_state::irobot_irmb_done_callback)); /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -316,19 +316,19 @@ MACHINE_CONFIG_START(irobot_state::irobot) /* FIXME: I-Robot has all channels of the quad-pokey tied together * This needs to be taken into account in the design. */ - MCFG_DEVICE_ADD("pokey1", POKEY, MAIN_CLOCK / 8) - MCFG_POKEY_ALLPOT_R_CB(IOPORT("DSW2")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + POKEY(config, m_pokey[0], MAIN_CLOCK / 8); + m_pokey[0]->allpot_r().set_ioport("DSW2"); + m_pokey[0]->add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("pokey2", POKEY, MAIN_CLOCK / 8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + POKEY(config, m_pokey[1], MAIN_CLOCK / 8); + m_pokey[1]->add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("pokey3", POKEY, MAIN_CLOCK / 8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + POKEY(config, m_pokey[2], MAIN_CLOCK / 8); + m_pokey[2]->add_route(ALL_OUTPUTS, "mono", 0.25); - MCFG_DEVICE_ADD("pokey4", POKEY, MAIN_CLOCK / 8) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END + POKEY(config, m_pokey[3], MAIN_CLOCK / 8); + m_pokey[3]->add_route(ALL_OUTPUTS, "mono", 0.25); +} |