diff options
Diffstat (limited to 'src/mame/drivers/klax.cpp')
-rw-r--r-- | src/mame/drivers/klax.cpp | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp index bec9aec2143..fe67297a324 100644 --- a/src/mame/drivers/klax.cpp +++ b/src/mame/drivers/klax.cpp @@ -194,66 +194,67 @@ GFXDECODE_END * *************************************/ -void klax_state::klax(machine_config &config) -{ +MACHINE_CONFIG_START(klax_state::klax) + /* basic machine hardware */ - M68000(config, m_maincpu, ATARI_CLOCK_14MHz/2); - m_maincpu->set_addrmap(AS_PROGRAM, &klax_state::klax_map); + MCFG_DEVICE_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2) + MCFG_DEVICE_PROGRAM_MAP(klax_map) EEPROM_2816(config, "eeprom").lock_after_write(true); WATCHDOG_TIMER(config, "watchdog"); /* video hardware */ - GFXDECODE(config, m_gfxdecode, "palette", gfx_klax); + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_klax) PALETTE(config, "palette").set_format(palette_device::IRGB_1555, 512).set_membits(8); - TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8, 8, TILEMAP_SCAN_COLS, 64, 32); - m_playfield_tilemap->set_info_callback(FUNC(klax_state::get_playfield_tile_info)); + MCFG_TILEMAP_ADD_STANDARD("playfield", "gfxdecode", 2, klax_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,32) ATARI_MOTION_OBJECTS(config, m_mob, 0, m_screen, klax_state::s_mob_config); m_mob->set_gfxdecode(m_gfxdecode); - SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) /* note: these parameters are from published specs, not derived */ /* the board uses an SOS-2 chip to generate video signals */ - m_screen->set_raw(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240); - m_screen->set_screen_update(FUNC(klax_state::screen_update_klax)); - m_screen->set_palette("palette"); - m_screen->screen_vblank().set(FUNC(klax_state::video_int_write_line)); + MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240) + MCFG_SCREEN_UPDATE_DRIVER(klax_state, screen_update_klax) + MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, klax_state, video_int_write_line)) /* sound hardware */ SPEAKER(config, "mono").front_center(); - OKIM6295(config, "oki", ATARI_CLOCK_14MHz/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); -} + MCFG_DEVICE_ADD("oki", OKIM6295, ATARI_CLOCK_14MHz/4/4, okim6295_device::PIN7_HIGH) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) +MACHINE_CONFIG_END void klax_state::bootleg_sound_map(address_map &map) { map(0x0000, 0x7fff).rom(); } -void klax_state::klax2bl(machine_config &config) -{ +MACHINE_CONFIG_START(klax_state::klax2bl) klax(config); - m_maincpu->set_addrmap(AS_PROGRAM, &klax_state::klax2bl_map); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(klax2bl_map) - config.device_remove("oki"); // no 6295 here + MCFG_DEVICE_REMOVE("oki") // no 6295 here - z80_device &audiocpu(Z80(config, "audiocpu", 6000000)); /* ? */ - audiocpu.set_addrmap(AS_PROGRAM, &klax_state::bootleg_sound_map); + MCFG_DEVICE_ADD("audiocpu", Z80, 6000000) /* ? */ + MCFG_DEVICE_PROGRAM_MAP(bootleg_sound_map) - m_gfxdecode->set_info(gfx_klax2bl); + MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_klax2bl) // guess, probably something like this // 2 x msm at least on bootleg set 2 (ic18 and ic19) - MSM5205(config, "msm", 375000); /* ? */ -// msm.vck_legacy_callback().set(FUNC(klax_state::m5205_int1)); /* interrupt function */ -// msm.set_prescaler_selector(msm5205_device::MSM5205_S96_4B); /* 4KHz 4-bit */ -// msm.add_route(ALL_OUTPUTS, "mono", 0.25); -} + MCFG_DEVICE_ADD("msm", MSM5205, 375000) /* ? */ +// MCFG_MSM5205_VCLK_CB(WRITELINE(*this, klax_state, m5205_int1)) /* interrupt function */ +// MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S96_4B) /* 4KHz 4-bit */ +// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) + +MACHINE_CONFIG_END /************************************* * |