summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mastboy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mastboy.cpp')
-rw-r--r--src/mame/drivers/mastboy.cpp50
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 */