summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/shanghai.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/shanghai.cpp')
-rw-r--r--src/mame/drivers/shanghai.cpp99
1 files changed, 49 insertions, 50 deletions
diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp
index 0493b7b0f53..f60a2c932fd 100644
--- a/src/mame/drivers/shanghai.cpp
+++ b/src/mame/drivers/shanghai.cpp
@@ -398,26 +398,26 @@ void shanghai_state::hd63484_map(address_map &map)
map(0x00000, 0x3ffff).ram();
}
-void shanghai_state::shanghai(machine_config &config)
-{
+MACHINE_CONFIG_START(shanghai_state::shanghai)
+
/* basic machine hardware */
- V30(config, m_maincpu, XTAL(16'000'000)/2); /* NEC D70116C-8 */
- m_maincpu->set_addrmap(AS_PROGRAM, &shanghai_state::shanghai_map);
- m_maincpu->set_addrmap(AS_IO, &shanghai_state::shanghai_portmap);
- m_maincpu->set_vblank_int("screen", FUNC(shanghai_state::half_vblank_irq));
+ MCFG_DEVICE_ADD("maincpu", V30, XTAL(16'000'000)/2) /* NEC D70116C-8 */
+ MCFG_DEVICE_PROGRAM_MAP(shanghai_map)
+ MCFG_DEVICE_IO_MAP(shanghai_portmap)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", shanghai_state, half_vblank_irq)
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(57);
- //m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- m_screen->set_size(384, 280);
- m_screen->set_visarea(0, 384-1, 0, 280-1);
- m_screen->set_screen_update("hd63484", FUNC(hd63484_device::update_screen));
- m_screen->set_palette("palette");
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(57)
+ //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_SIZE(384, 280)
+ MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
+ MCFG_SCREEN_UPDATE_DEVICE("hd63484", hd63484_device, update_screen)
+ MCFG_SCREEN_PALETTE("palette")
PALETTE(config, "palette", FUNC(shanghai_state::shanghai_palette)).set_format(palette_device::xBGR_444, 256);
- HD63484(config, "hd63484", 0).set_addrmap(0, &shanghai_state::hd63484_map);
+ MCFG_HD63484_ADD("hd63484", 0, hd63484_map)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -429,29 +429,29 @@ void shanghai_state::shanghai(machine_config &config)
ymsnd.add_route(1, "mono", 0.15);
ymsnd.add_route(2, "mono", 0.15);
ymsnd.add_route(3, "mono", 0.80);
-}
+MACHINE_CONFIG_END
-void shanghai_state::shangha2(machine_config &config)
-{
+MACHINE_CONFIG_START(shanghai_state::shangha2)
+
/* basic machine hardware */
- V30(config, m_maincpu, XTAL(16'000'000)/2); /* ? */
- m_maincpu->set_addrmap(AS_PROGRAM, &shanghai_state::shangha2_map);
- m_maincpu->set_addrmap(AS_IO, &shanghai_state::shangha2_portmap);
- m_maincpu->set_vblank_int("screen", FUNC(shanghai_state::half_vblank_irq));
+ MCFG_DEVICE_ADD("maincpu", V30, XTAL(16'000'000)/2) /* ? */
+ MCFG_DEVICE_PROGRAM_MAP(shangha2_map)
+ MCFG_DEVICE_IO_MAP(shangha2_portmap)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", shanghai_state, half_vblank_irq)
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(57);
- //m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- m_screen->set_size(384, 280);
- m_screen->set_visarea(0, 384-1, 0, 280-1);
- m_screen->set_screen_update("hd63484", FUNC(hd63484_device::update_screen));
- m_screen->set_palette("palette");
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(57)
+ //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_SIZE(384, 280)
+ MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
+ MCFG_SCREEN_UPDATE_DEVICE("hd63484", hd63484_device, update_screen)
+ MCFG_SCREEN_PALETTE("palette")
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 256);
- HD63484(config, "hd63484", 0).set_addrmap(0, &shanghai_state::hd63484_map);
+ MCFG_HD63484_ADD("hd63484", 0, hd63484_map)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -463,36 +463,35 @@ void shanghai_state::shangha2(machine_config &config)
ymsnd.add_route(1, "mono", 0.15);
ymsnd.add_route(2, "mono", 0.15);
ymsnd.add_route(3, "mono", 0.80);
-}
+MACHINE_CONFIG_END
-void shanghai_state::kothello(machine_config &config)
-{
+MACHINE_CONFIG_START(shanghai_state::kothello)
+
/* basic machine hardware */
- V30(config, m_maincpu, XTAL(16'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &shanghai_state::kothello_map);
- m_maincpu->set_vblank_int("screen", FUNC(shanghai_state::half_vblank_irq));
+ MCFG_DEVICE_ADD("maincpu", V30, XTAL(16'000'000))
+ MCFG_DEVICE_PROGRAM_MAP(kothello_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", shanghai_state, half_vblank_irq)
- z80_device &audiocpu(Z80(config, "audiocpu", XTAL(16'000'000)/4));
- audiocpu.set_addrmap(AS_PROGRAM, &shanghai_state::kothello_sound_map);
- audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb));
+ MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4)
+ MCFG_DEVICE_PROGRAM_MAP(kothello_sound_map)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("seibu_sound", seibu_sound_device, im0_vector_cb)
- config.m_minimum_quantum = attotime::from_hz(12000);
+ MCFG_QUANTUM_TIME(attotime::from_hz(12000))
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(57);
- //m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
- m_screen->set_size(384, 280);
- m_screen->set_visarea(0, 384-1, 0, 280-1);
- m_screen->set_screen_update("hd63484", FUNC(hd63484_device::update_screen));
- m_screen->set_palette("palette");
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(57)
+ //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
+ MCFG_SCREEN_SIZE(384, 280)
+ MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
+ MCFG_SCREEN_UPDATE_DEVICE("hd63484", hd63484_device, update_screen)
+ MCFG_SCREEN_PALETTE("palette")
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 256);
- hd63484_device &hd63484(HD63484(config, "hd63484", 0));
- hd63484.set_addrmap(0, &shanghai_state::hd63484_map);
- hd63484.set_external_skew(2);
+ MCFG_HD63484_ADD("hd63484", 0, hd63484_map)
+ MCFG_HD63484_EXTERNAL_SKEW(2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -512,7 +511,7 @@ void shanghai_state::kothello(machine_config &config)
seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym2203_device::write));
SEIBU_ADPCM(config, "adpcm", 8000).add_route(ALL_OUTPUTS, "mono", 0.80); // actually MSM5205
-}
+MACHINE_CONFIG_END
/***************************************************************************