diff options
Diffstat (limited to 'src/mame/drivers/mastboy.cpp')
-rw-r--r-- | src/mame/drivers/mastboy.cpp | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/src/mame/drivers/mastboy.cpp b/src/mame/drivers/mastboy.cpp index 816492a6d9f..d110cc2bd75 100644 --- a/src/mame/drivers/mastboy.cpp +++ b/src/mame/drivers/mastboy.cpp @@ -806,14 +806,13 @@ void mastboy_state::machine_reset() std::fill(&m_vram[0], &m_vram[m_vram.bytes()], 0); } +void mastboy_state::mastboy(machine_config &config) +{ + Z180(config, m_maincpu, 12000000/2); /* HD647180X0CP6-1M1R */ + m_maincpu->set_addrmap(AS_PROGRAM, &mastboy_state::mastboy_map); + m_maincpu->set_addrmap(AS_IO, &mastboy_state::mastboy_io_map); - -MACHINE_CONFIG_START(mastboy_state::mastboy) - MCFG_DEVICE_ADD("maincpu", Z180, 12000000/2) /* HD647180X0CP6-1M1R */ - MCFG_DEVICE_PROGRAM_MAP(mastboy_map) - MCFG_DEVICE_IO_MAP(mastboy_io_map) - - EEPROM_2816(config, "earom"); + EEPROM_2816(config, m_earom); LS259(config, m_outlatch); // IC17 m_outlatch->q_out_cb<0>().set(FUNC(mastboy_state::irq0_ack_w)); @@ -825,28 +824,27 @@ MACHINE_CONFIG_START(mastboy_state::mastboy) ADDRESS_MAP_BANK(config, "bank_c000").set_map(&mastboy_state::bank_c000_map).set_options(ENDIANNESS_LITTLE, 8, 22, 0x4000); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(6000000.0f / 384.0f / 282.0f) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1) - MCFG_SCREEN_UPDATE_DRIVER(mastboy_state, screen_update) - MCFG_SCREEN_PALETTE("palette") - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, mastboy_state, vblank_irq)) - - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_mastboy) - MCFG_PALETTE_ADD("palette", 0x100) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(6000000.0f / 384.0f / 282.0f); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(256, 256); + screen.set_visarea(0, 256-1, 16, 256-16-1); + screen.set_screen_update(FUNC(mastboy_state::screen_update)); + screen.set_palette(m_palette); + screen.screen_vblank().set(FUNC(mastboy_state::vblank_irq)); + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_mastboy); + PALETTE(config, m_palette, 0x100); // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_SAA1099_ADD("saa", 6000000 ) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - MCFG_DEVICE_ADD("msm", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(*this, mastboy_state, adpcm_int)) /* interrupt function */ - MCFG_MSM5205_PRESCALER_SELECTOR(SEX_4B) /* 4KHz 4-bit */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_CONFIG_END + SAA1099(config, "saa", 6000000).add_route(ALL_OUTPUTS, "mono", 0.50); + + MSM5205(config, m_msm, 384000); + m_msm->vck_legacy_callback().set(FUNC(mastboy_state::adpcm_int)); /* interrupt function */ + m_msm->set_prescaler_selector(msm5205_device::SEX_4B); /* 4KHz 4-bit */ + m_msm->add_route(ALL_OUTPUTS, "mono", 0.50); +} /* Romsets */ |